Solo 支持 Hexo/Jekyll 数据导入

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

启动时导入指定目录

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 引用 • 10054 回帖 • 489 关注
  • 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 更新了该帖

相关帖子

优质回帖

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 88250

    Solo 的 SQL 可以的。

  • chenruhai

    是不是我按照你这样做,然后把数据拷到/opt/solo/markdowns 下就可以了?

  • MrLaibin

    solo 导入 pipe 文章,提示 org.b3log.latke.service.ServiceException: 非法的链接格式!

    1 回复
  • 88250

    麻烦私信我一下 md zip 包。

  • biuaxia

    @88250 请教下通过压缩包上传的形式导入 Hexo 的文章,提示我

    image.png

    这是什么原因呢?
    如果需要我上传的压缩包,请留下邮箱以便我及时发送。

  • biuaxia
    该回帖仅作者和楼主可见
    1 回复
  • 88250

    抱歉,最近没有时间看这个问题,从报错日志上来看,应该是 zip 压缩包的问题。

  • biuaxia 1

    已解决,系压缩包的编码问题导致,7zip 添加为压缩包时使用 cu=on 参数,强制中文文件名以 utf-8 编码即可。

请输入回帖内容 ...