Hexo是一个博客框架,利用node.js生成静态网站。然后配合github pages托管静态网站发布。
搭建Hexo步骤
- 安装Git
https://git-scm.com/downloads 安装Git和Node.js
安装 Node.js 的最佳方式是使用 nvm。
cURL:1$ curl https://raw.github.com/creationix/nvm/master/install.sh | shWget:
1$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh安装完成后,重启终端并执行下列命令即可安装 Node.js。
1$ nvm install stable安装 Hexo
所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。1npm install -g hexo-cli
Hexo 建立网站
安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
新建完成后,指定文件夹的目录如下:
修改主目录下的_config.yml文件(theme文件夹下还有一个配置主题的_config.yml):
…
deploy:
type: git
repository: https://github.com/xxxxx/xxxxx.github.io.git
branch: master
…
这样一个hexo + github的博客框架基本上就搭建完成了。
使用
- 写第一篇博客:
在主目录下执行1hexo n[ew] [post] 第一篇博客
这样就在source/_post/
目录下新建了一个名为“第一篇博客.md“文件。
用vim直接编辑即可。
- 预览1hexo s[erver]
执行上面的命令即可自动打开浏览器,看到预览效果。
发布
12hexo g[enerate]hexo d[eploy]写草稿
1hexo n[ew] draft 草稿1
即可在source/_drafts/
目录下生成”草稿1.md“的文件
预览草稿
1hexo s[erver] --drafts将草稿转成正式博文
1hexo publish 草稿1
最佳实践
让默认生成的博客名称带上创建时间
这样做的目的是便于管理博客。查看源文件时一目了然。
- 修改方法
编辑_config.yml文件:123...new_post_name: :year-:month-:day-:title.md...
关联 GitHub, 让 Hexo 支持查看文章更新历史
(引自:http://moxfive.xyz/2016/01/10/hexo-post-version-control/)
显示文章更新时间
hexo配置不支持此项,一般是由主题来实现。比如可以修改next主题的配置文件_config.yml:
即可。
修改默认的博客模板,比如添加分类等等。
修改scaffolds/post.md这个文件即可。
添加评论功能
好评如潮的多说在17年3月21日宣布关闭项目。6月1日正式关停服务。
然后搜索一下可替代方案,发现了一个网友开发的基于github issue的评论系统:Gitment
以下内容引自原作者博客,红色部分是个人评论或说明。
1. 注册 OAuth Application
点击此处来注册一个新的 OAuth Application。其他内容可以随意填写,但要确保填入正确的 callback URL(一般是评论页面对应的域名,如 https://imsun.net)。 callback url 是指登录完成后去跳转的页面的域名,当然是返回我们的博客页面的域名
你会得到一个 client ID 和一个 client secret,这个将被用于之后的用户登录。2. 引入 Gitment
将下面的代码添加到你的页面:
123456789101112131415 <div id="container"></div><link rel="stylesheet" href="https://imsun.github.io/gitment/style/default.css"><script src="https://imsun.github.io/gitment/dist/gitment.browser.js"></script><script>var gitment = new Gitment({id: '页面 ID', // 可选。默认为 location.hrefowner: '你的 GitHub ID',repo: '存储评论的 repo',oauth: {client_id: '你的 client ID',client_secret: '你的 client secret',},})gitment.render('container')</script>
repo: '存储评论的 repo'
这一步需要先在你的github新建一个仓库。
我使用的是next主题,所以把这段代码加到了themes/next/layout/_partials/footer.swig
文件开头部分。
此时发布博客后就可以在文章的末尾看到评论的模块了。不过需要注意的是每篇文章都需要你手动先初始化评论,评论系统才可用,也可以理解为新建文章的评论系统默认是关闭的。