前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >将博客从jekyll迁移到hexo

将博客从jekyll迁移到hexo

作者头像
羽翰尘
修改2019-11-26 16:44:11
5600
修改2019-11-26 16:44:11
举报
文章被收录于专栏:技术向技术向

本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/migrate_from_jekyll_to_hexo/

背景

大概是在2017年年末,当我看到大多数编程相关问题都是在博客中得到解决的,才想到要搭建个人博客。在解决问题的时候想到要分享到博客上,就会格外仔细,面对复杂问题时也会更有勇气。

无奈自己鉴赏水平低下,很多前端页面设计不好,奇丑无比。某天在观摩了朋友的主页后被惊艳到了,原来hexo的next可以这么美。于是就萌生了将博客迁移到hexo的想法。

迁移指南

这里可以找到各种博客系统迁移到hexo的详细步骤。

我原来的博客系统是jekyll,只需要复制粘贴即可。把_posts文件夹内的所有文件复制到source/_posts文件夹,并在_config.yml中修改new_post_name参数。

1

new_post_name: :year-:month-:day-:title.md

你也可以在new_post_name中加入/用来表示文件夹。

开始

具体怎么迁移呢?首先需要安装hexo及其依赖,我使用的是docker所以没有这个问题。

接着,在根目录运行如下命令

NOTE: 执行hexo init会清除git本地仓库

12

hexo init npm install

一些新文件就生成了,原来的post不会受影响。

一些指南

参考配置完成基本的网站设置。

参看next主题完成主题安装、设置、第三方接入。

在应用指南中碰到的问题

文章访问计数遇坑

以下适用于于选择valine评论系统的情况。

主题配置中可以找到如下内容:

123456789

leancloud_visitors: enable: false appid: # your leancloud application appid appkey: # your leancloud application appkey # Dependencies: https://github.com/theme-next/hexo-leancloud-counter-security # If you don't care about security in lc counter and just want to use it directly # (without hexo-leancloud-counter-security plugin), set the security to false. security: false betterPerformance: false

但实际上,配置其为 true并不能正常显示文章阅读量。debug之后发现是在前端js执行时没有正确获取appid,修bug可能需要花很长时间。

正确的做法是在comments中将visitor设置为true,整站流量使用不蒜子来统计,见增加全站访问计数一节。配置如下:

1234567891011

valine: enable: true # When enable is set to be true, leancloud_visitors is recommended to be closed for the re-initialization problem within different leancloud adk version. appid: # your leancloud application appid appkey: # your leancloud application appkey notify: false # mail notifier , https://github.com/xCss/Valine/wiki verify: false # Verification code placeholder: 无需注册,说点什么吧 # comment box placeholder avatar: mm # gravatar style guest_info: nick,mail,link # custom comment header pageSize: 10 # pagination size visitor: true # leancloud-counter-security is not supported for now. When visitor is set to be true, appid and appkey are recommended to be the same as leancloud_visitors' for counter compatibility. Article reading statistic https://valine.js.org/visitor.html

增加全站访问计数

主题配置按照如下修改:

12345678

busuanzi_count: enable: true total_visitors: true total_visitors_icon: user total_views: true total_views_icon: eye post_views: false post_views_icon: eye

更多配置

阅读排行

这篇博客中的步骤来即可,无坑。

在线聊天

这篇博客中的步骤来即可,无坑。

文章字数与阅读时间

参考 github,安装npm插件

1

npm install hexo-symbols-count-time --save

  1. 先在站点配置中做如下更改:

如果没有类似选项,需要自行加上

12345

symbols_count_time: symbols: true time: true total_symbols: true total_time: true

  1. 然后在主题配置中做如下修改:

123456

symbols_count_time: separated_meta: true item_text_post: true item_text_total: true awl: 4 wpm: 275

返回顶部箭头部分的滚动百分比

在这个issue里。

主题配置中做如下修改:

12

Scroll percent label in b2t buttonscrollpercent: true

增加原创版权声明

在文件 next\_config.yml中,做如下修改:

1234

creative_commons: license: by-nc-sa sidebar: true post: true

部署

习惯使用jeyll了,对hexo的部署方式有点不太理解。记录如下。

部署流程

网站配置文件中写好自己的git仓库后,就可以运行如下命令将网站部署到github上:

12

hexo ghexo d

观察log输出可以看出,首先生成静态文件输出到public文件夹,然后复制到.deploy_git文件夹,接着上传到仓库。即上传到仓库的文件是一个完整的静态网站,这与jekyll有很大区别.

同时部署到github和coding

站点配置_config.yml中的deploy做如下修改即可:

1234567

deploy: type: git repository: github: <your repo address> coding: <your repo address> branch: "master" #published message: "message" #leave this blank

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 迁移指南
    • 开始
      • 一些指南
        • 在应用指南中碰到的问题
          • 文章访问计数遇坑
          • 增加全站访问计数
        • 更多配置
          • 阅读排行
          • 在线聊天
          • 文章字数与阅读时间
          • 返回顶部箭头部分的滚动百分比
          • 增加原创版权声明
      • 部署
        • 部署流程
          • 同时部署到github和coding
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档