Hello Hexo
Welcome to Hexo! Check documentation for more info.
以上一行字,表明我转投了Hexo的怀抱。
最初用的csdn,感觉自由度过低(不能任意DIY),很是不爽;
后来用飞行员的衡天主机搭了个WordPress,然而维护太繁琐。
累觉不爱的我听从Smoogle用了Hexo,现在想来静态blog也是极好。
用Markdown写博文,这才符合我这种屌丝码农的身份嘛……
绪论
Hexo是啥箇物事
Hexo是一个快速、简洁且高效的博客框架。
Hexo使用Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
Hexo由边个开发
出现问题谁背锅
如果您在使用过程中遇到问题,请查看问题解答,或者在GitHub、Google Group上正面刚作者。
搭建
安装Node.js
安装Git
安装Hexo
笔者以Windows为例
- 打开Git Bash,执行
$ npm install -g hexo
- 用
$ cd
跟$ ls
命令,进入一个文件夹作为Hexo的本地存储区域 - 执行
$ hexo init
- 执行
$ npm install
新建完成后,指定文件夹的目录如下:
1 | . ├── _config.yml ├── package.json ├── scaffolds ├── scripts ├── source │ ├── _drafts │ └── _posts └── themes |
其实到这里已经差不多了,剩下的只是如何去编辑、查看、发布。
起飞
部署前戏
- 修改
\_config.yml
的deploy部分,注意你在此处用的repository必须名为your_user_name.github.io
(忽略大小写)
1 | deploy: type: git repository: https://github.com/ChouUn/chouun.github.io.git branch: master |
- 执行
$ npm install hexo-deployer-git --save
安装部署插件 - 执行
$ hexo d -g
进行部署 - 打开
http://your_user_name.github.io
察看效果
ps. 新版本的hexo已经不再支持github,被新的git取代了。
pss. 过程中可能要求你调用这两个命令
1 | $ git config --global user.email "chouunsoft@gmail.com" |
psss. 为了避免命名空间冲突,每个用户对应唯一一个github.io,请对自己负责不要乱取名字
常用命令
1 | ### 完整命令 |
一般使用$ hexo n
新建文章,然后$ hexo s -g
实时察看效果,最后$ hexo d -g
部署到github上。
ps. $ hexo server -s
可以运行静态服务,以确认生成是否成功,如果有异步,$ hexo clean
以后再$ hexo d -g
一次。
标签插件
They’re ported from Octopress and can help you insert specific contents in posts quickly.
译:这些功能是沿袭Octopress,以便你快速插入特殊内容。
对书籍的引用
露と落ち、露と消えにし、我が身かな、浪速のことも、夢のまた夢。
1
{% blockquote Toyotomi Hideyoshi, 辞世の句 %} 露と落ち、露と消えにし、我が身かな、浪速のことも、夢のまた夢。 {% endblockquote %}
对网文的引用
[範例]【WB】減少洩漏、提高效率、數據系統
雖然我的系統很舊了,不過看最近在研究這東西的人還不少1
{% blockquote Weberkkk http://forums.wasabistudio.ca/viewtopic.php?t=23408 %} [範例]【WB】減少洩漏、提高效率、數據系統 雖然我的系統很舊了,不過看最近在研究這東西的人還不少 {% endblockquote %}
代码块
helloworldview raw 1
2
3
4
5
6
7#include <iostream>
using namespace std;
int main() {
cout << "!!!Hello World!!!" << endl; // prints !!!Hello World!!!
return 0;
}1
{% include_code helloworld lang:cpp helloworld.cpp %}
绑定域名
如果有自己的域名,在
\Hexo\source
内创建一个文件名为CNAME
(没有后缀)的文件,在里面加入自己的域名,如:xuzhenyang.com
,部署后就能在浏览器里进入自己的域名看到自己的博客啦~
CNAME文件,起到的只是一个跳转作用。此处利用chrome右键审核元素 -> Network
,勾上保留日志Preserve log
,打开自己的blog,你会发现一个Method为GET、Status为301的文件。
1 | Remote Address:103.245.222.133:80 Request URL:http://chouun.github.io/ Request Method:GET Status Code:301 Moved Permanently (from cache) Date:Fri, 07 Aug 2015 07:59:18 GMT Location:http://fateud.com/ Server:GitHub.com |
显然你需要一个自己的域名,不然填什么都是为别人做嫁衣。我的fateud.com
是从狗爹(GoDaddy)上入的。
win + R
输入cmd
回车,输入ping your_user_name.github.io
回车,得知自己ip是103.245.222.133- 登录DNSPod,添加你的域名,并添加两个A记录,名为
@
和www
,记录值为ip,保存 - 登录GoDaddy,点击My Account,选择你的域名,在
SETTINGS
里,管理Nameservers
,选择Custom
,添加记录f1g1ns1.dnspod.net
和f1g1ns2.dnspod.net
- 修改CNAME,为你的域名,不需要
www
等开头,如 - 坐等解析更新,不用心急,可以ping你的域名,判断是否成功。
- 有些人可能注意到了
mxbiz1.qq.com
之类的,网站邮件收发,我采用了腾讯的企业邮箱
七牛图床
图片容易拖慢博客的速度,加上github在国内访问时好时坏,同时为了方便博客的迁移,所以用上了七牛图床。七牛支持防盗链、日志,且自带处理功能,以完成水印、缩放、裁剪,甚至支持用户的深度定制。
每月免费额度:存储空间10GB、下载流量10GB、10万次PUT请求、100万次GET请求。不得不说是相当优厚的条件,还可以通过七牛邀请来获取额外额度。顺便提及一下「key-value 存储系统」。
Q:七牛云存储支持目录或文件夹概念么?
A:七牛云存储的服务端是一个 key-value 系统,而非树形结构,因此也没有“目录”或者“文件夹”的概念。
其中,value 是用户上传到七牛云存储的文件,key 是一个用户自定义的字符串,用于在服务端标识这个 value 这个文件。一个 key 对应一个 value,因此,在每个空间(Bucket)中,key 必须是唯一的。
key 中可以包含斜杠“/”,让你感觉起来像目录结构,比如 “a/b/c/d.txt” 这个 key,在服务端只对应一个文件,但它看起来像 a 目录下的 b 目录下的 c 目录下的文件 d.txt。实际上,服务端是不存在 a、b、c 三个目录的,也没法创建目录。
- 执行
$ npm install hexo-qiniu-sync --save
安装七牛插件 - 对七牛进行设置,详见gyk001/hexo-qiniu-sync;ak和sk参见密钥 - 账号设置 - 七牛云存储,要注意空间不能是
private
的,被坑了很久 - 运行
$ hexo qiniu s
进行第一次同步,/hexo
下会出现一个与local_dir
属性同名的文件夹,里面的分类你懂的 - 在文章中使用以下标签插入图片
1
{% qnimg exam.png title:图片标题 alt:图片说明 'class:class1 class2' %}
ps. 第二步中的urlPrefix
因人而异,比如我是http://7xjw62.com5.z0.glb.clouddn.com/
,所以你们别被坑了
pss. 因为对$ hexo deploy
的支持尚有问题,我们需要手动进行上传..
更多信息
Writing
Generating
Server
Deployment
Tag Plugins
编辑
安装Sublime
个人喜欢用稳定的Sublime 2,下载了官方原版(无限试用期)。
安装Package Control
按下Control + BackQuote
调出Console,键入一下代码并回车。所谓BackQuote就是~
键中的反引号。
- sublime 2
1 | import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation') |
- sublime 3
1 | import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read()) |
若是安装成功,重启后能在Preferences -> Package Settings
中找到Package Control
。
安装Markdown & Monokai
- 按下
Control + Shift + P
,键入Package Control: install Package
回车,键入Markdown Extended
回车,即可安装该Package。 - 同样操作,安装
Monokai Extended
。
配置Sublime
打开
Preferences -> Settings - User
,在一对{}
内的开头添加以下语句:1
"color_scheme": "Packages/Monokai Extended/Monokai Extended Bright.tmTheme", "theme": "Soda Dark.sublime-theme",
勾上
View -> Syntax -> Markdown Extended
- 重启之,随便开个
.md
文件看看高亮效果,下图仅供参考。
Markdown语法
因为篇幅有限,对于md的语法部分,原谅我不予赘述。
- 简体中文: http://wowubuntu.com/markdown/
- 繁体中文: http://markdown.tw/
- 英文原版: http://daringfireball.net/projects/markdown/syntax
- 密集排版: http://www.applecho.com/markdown-guide/
- 飞行员版: http://idlepilot.com/2015/07/12/Markdown常用语法/
主题
Jacman是为Hexo设计的一款清新且具有响应式的主题,拥有更丰富的特性并支持了很多的国内服务。Jacman始于Pacman修改而来。
安装
1 | $ git clone https://github.com/wuchong/jacman.git themes/jacman |
Jacman 需要 Hexo 2.7 及以上版本
启用
修改博客根目录下的配置文件_config.yml
,把theme
的值修改为 jacman
.
配置
修改/themes/jacman/_config.yml
中的配置。通过配置指南wiki了解更多
公式
$\frac{\partial u}{\partial t}
= h^2 \left(
\frac{\partial^2 u}{\partial x^2} +
\frac{\partial^2 u}{\partial y^2} +
\frac{\partial^2 u}{\partial z^2}
\right)$
以上公式由以下代码生成,调用了$Mathjax$的接口
1 | $\\frac{\\partial u}{\\partial t} = h^2 \\left( \\frac{\\partial^2 u}{\\partial x^2} + \\frac{\\partial^2 u}{\\partial y^2} + \\frac{\\partial^2 u}{\\partial z^2} \\right)$ |
此功能需要在配置里修改如下项mathjax: true
,抑或在每个文章中手动添加。
用一对$$
会单独占用一行,用一对$
会作为内容的顺延。
评论
该主题自带disqus和duoshuo支持,把shortname填上去即可。
1 | #### Comment duoshuo_shortname: fateud ## e.g. wuchong your duoshuo short name. disqus_shortname: chouun ## e.g. wuchong your disqus short name. |
支持
更多功能与信息请查阅:Jacman官网
参考
文档 | Hexo
hexo你的博客 | 不如
Hello Hexo | 飞行员手册
Daring Fireball: Markdown Syntax Documentation
配置Sublime Text使用Markdown,语法高亮,生成HTML_技术党
Sublime Text 2 入门及技巧 | Lucifr
MarkdownEditing:Sublime Text 2 的 Markdown 利器 | Lucifr