Solo 支持 Hexo/Jekyll 数据导入

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

启动时导入指定目录

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 构思 - 分布式社区网络)。

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

    1435 引用 • 10056 回帖 • 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 更新了该帖

相关帖子

优质回帖

欢迎来到这里!

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

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

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

  • 其他回帖
  • Blackman99

    如果我没有/opt/solo 文件夹呢,创建就可以吗
    image.png

    1 回复
  • biuaxia
    该回帖仅作者和楼主可见
    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 更新了该回帖
  • 查看全部回帖