使用hexo撰写blog
Last updated
Was this helpful?
Last updated
Was this helpful?
推荐nvm
来管理node.js
版本,请参考
脚本在 ~/.nvm
目录下clone了nvm
的git仓库,并在~/.bash_profile
, ~/.zshrc
, ~/.profile
或 ~/.bashrc
中添加了
不过,如果你的用户目录下没有上述profile文件,则不会自动添加。例如,最新的macOS Catalina默认使用zsh,在用户目录下默认并没有自己的profile。请参考 进行设置。
升级
nvm
也可以使用上述安装命令,会自动检测当前系统已经安装的nvm
版本并使用git升级。如果在Mac OS X中执行
nvm
命令提示nvm: command not found
,则可能在执行上述脚本的时候,系统中尚未有~/.bash_profie
,请先执行touch ~/.bash_profile
,然后再执行一遍安装脚本
按照hexo官方文档,应该安装node.js的稳定版本
可以安装指定版本node(如果需要特定的兼容特性)
早期使用nodejs,例如,2016年2月测试在一些插件兼容性上使用最细的 v5.x 会产生异常,此外,在gitbook的运行中发现,使用 node v5.x 出现cpu资源占用较高问题。不过,我在2016年10月采用最简单的typing模版时,使用最新的
6.7.0
系列发现无法正常显示,所以还是当时指定采用了4.6.0如果使用安装,会在系统级别安装到
/usr/local
目录下,但是对于hexo安装,总是需要使用sudo权限,非常不方便。所以推荐使用nvm
作为node.js的包管理。
使用一段时间后,官方node.js长期稳定版本可能升级,例如,使用
可以看到
提示报错
此时还要再进行一次 nvm install 4.6.1
以便将当前活跃版本指向4.6.1
安装Hexo
先使用hexo
初始化目录,这个目录名字可以是任意名称,最好和你的网址同名。这里我使用自己的个人网站blog.huatai.me
启动服务
此时默认端口监听
4000
,可以通过参数-p 3999
修改监听端口(如果在主机上运行多个服务)
升级hexo
使用一段时间,官方软件版本有所更新,可以使用如下命令升级
不过,遇到升级了node.js版本之后,再执行hexo new "xxxx"
提示模块版本不一致
或
修改_config.yml
将theme
设置成typing
如果要更新:
发布需要设置自己账号的公钥,即将管理密钥设置为ssh公钥
在 _config.yml
中添加如下配置,表示使用github进行部署
安装git插件
创建一个新的post,使用如下命令(默认的layout是位于source/_posts
)
此时提示 INFO Created: ~/Documents/blog/huataihuang.github.io/source/_posts/18-Til-I-Die.md
,则编辑此文件来撰写blog。
撰写新的post之后,使用命令
g
表示generate
页面支持文章的大部分属性,除了分类和标签。
hexo内置支持了disqus评论功能,只需要在 _config.yml
配置中添加(需要先到disqus上申请域名)
我的blog的域名是 blog.huatai.me
,在反复折腾了几次VPS之后,还是决定专注blog撰写,将维护工作交给github处理。也就是将blog.huatai.me
域名指向huataihuang.github.io
。
再次进入 huataihuang.github.io
目录,执行
使用github issue撰写博客
jekyll 和 Octopress
jekyll是GitHub官方支持的Pages工具,基于Ruby,由于github巨大的影响力使用非常广泛。Octopress则是Jekyll的定制简化,但依然比较折腾。根据网上的一些评测,对于大量的文档创建,hexo相对速度较快。
考虑到每个人的生活是多面的,我准备使用
hexo
(typing
theme)来构建生活的blog,而使用jekyll
来构建偏向技术的blog。
解决方法是(参考 )
解决方法参考 原理类似,在程序目录执行删除模块目录,然后重新安装模块
最初,想回归最简单的文字主题,采用 ,参考 进行设置。不过,geekplux的似乎更为简洁,所以准备入手。
这个默认主题也不错,除了代码高亮不是很舒服,作为写个人博客还是很适合的。
github提供了一个服务,可以将自己账号名同名的repo作为对外展示blog的仓库。即在 上创建自己的账号,并以自己的账号名字+github.io
作为仓库名(参考)。例如,我的github账号是huataihuang
,则创建的仓库名字是huataihuang.github.io
默认使用的是 作为静态页面平台(使用Ruby生成静态blog)
d
表示 deploy
,即部署到github的页面,然后就可以通过访问 看到自己的页面
会在source/about中生成index.html。这个就叫做页面,不在文章列表显示,可以通过
参考
在hexo的source
目录下存放一个CNAME
文件,内容就是你希望托管的域名。这里我将blog.huatai.me
域名托管,所以这个CNAME
文件内容就是blog.huatai.me
(参考)
在域名服务商(我使用)的域名管理中添加一个CNAME记录
域名生效后,访问 就会访问 并且看到完全一致的页面
->生成rss
->生成sitemap
->嵌入pdf
->插入图片外链,并且同步你的文件到七牛云(暂未使用)
文档采用GitHub favored Markdown格式,可以支持等功能,非常适合代码分享。
没有想到的是,也有人直接使用,因为issue天然支持MarkDown并且可以开放式讨论,倒是也别有趣味。
参考
如果没有被墙,其实用记录碎片化的思绪,用撰写生活随笔,是非常惬意和轻松的事情。