Solo 支持 Hexo/Jekyll 数据导入

本贴最后更新于 1631 天前,其中的信息可能已经水流花落

启动时导入指定目录

Solo v2.2.0 开始将支持对 Hexo/Jekyll 两款静态博客系统的文章导入,具体使用方法如下:

  1. 在 Solo 根目录下放置 markdowns 目录,里面放置待导入的一些 md 文件(可新建目录,方便标识,比如可将 Hexo 的 _posts 文件夹直接拷贝进来)
  2. 重启 Solo,启动后将逐篇进行自动导入,可通过日志查看导入情况
  3. 导入结束后原 md 文件将被重命名为 .md.{时间毫秒} 这样的格式,如不需要,可将这类后缀的文件删除
  4. 导入失败的 md 文件不会被重命名,可将日志和 md 文件反馈给我们,以帮助我们继续改进 💓
  5. 导入完成后会退出进程,需要再次启动 Solo

另外,目前仅支持已发布的 post,不支持 draft、page 等。

运行时通过上传 Markdown Zip 包导入

自 v4.2.0 起支持上传 Markdown Zip 包来导入文章,请在工具 - 其他 - 数据导入中选择上传即可。

技术实现细节

每个 md 文件都会按照 Hexo/Jekyll 定义的头部进行解析,已确定标题、标签等:

  • Hexo 头
  • Jekyll 头
  • 支持头信息中使用 descriptionsummaryabstract 作为文章摘要,如果没有的话将自动截取正文部分
  • 如果没有定义头信息,或者解析失败,则以文件名作为标题、Note 作为标签、当前时间作为发布时间进行导入,这也是导入普通 md 文件的规则

文章导入后为何时间不对?

可能是因为头部中的日期时间没有指定时区导致,可将原 md 文件日期后指定时区 +8,比如 date: 2020-01-01 20:23:03 +8,具体讨论细节请参考这里

  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1434 引用 • 10055 回帖 • 488 关注
  • Hexo

    Hexo 是一款快速、简洁且高效的博客框架,使用 Node.js 编写。

    21 引用 • 140 回帖 • 2 关注
  • Jekyll
    5 引用 • 83 回帖 • 1 关注
  • 导入
    2 引用 • 59 回帖
2 操作
88250 在 2020-06-16 18:27:26 更新了该帖
88250 在 2020-05-21 18:41:34 更新了该帖

相关帖子

优质回帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 收到,可以关注 Issue #141 · b3log/vditor

    1 回复
  • 其他回帖
  • scorpion

    不,我是白帽子 😏 静态博客不好分类,我都想换了,不想过多折腾插件之类的东西了。现在感觉要有所聚焦,不能啥都去乱,没时间啊

    1 回复
  • 对的,在 iphone 的 safari 上浏览时,代码会换行...但是安卓上看就会有横向滚动条,我觉得这种方式看得更舒服点。我这几天也在试着解决这个问题,但是前端还是太苦手了...😭

    1 回复
  • hongyuanqiu

    谢谢,楼主;我通过查询 docker volume 查到相关资料,现在我把能成功导入 markdown 的配置粘贴下来,希望能帮到其他人。

    docker run --detach -v /opt/solo/markdowns/:/opt/solo/markdowns/:ro --name solo --network=host \
    --env RUNTIME_DB="MYSQL" \
    --env JDBC_USERNAME="root" \
    --env JDBC_PASSWORD="" \
    --env JDBC_DRIVER="com.mysql.cj.jdbc.Driver" \
    --rm \
    --env JDBC_URL="jdbc:mysql://127.0.0.1:3306/solo?useUnicode=yes&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC" \
    b3log/solo --listen_port=668 --server_scheme=http --server_host=www.xx.site --server_port=666 
    
    2 回复
    1 操作
    hongyuanqiu 在 2019-09-08 14:41:01 更新了该回帖
  • 查看全部回帖