SHUYE

HEXO配置

title: Jacman基于Pacman修改的Hexo主题
date: 2015-03-22 17:11:20
categories: Hexo

description: Jacman 基于 Pacman 主题修改而来

前言

由于Pacman已经暂停更新,加上Hexo已经升级为3.0,很多主题需要重新适配,而Jacman是基于Pacman修改而来,在前端设计样式和功能上做了很多合理的修改和完善,相信你也一定可以很快上手。

Jacman是一款基于Pacman修改并坚持更新的Hexo主题。


更新历史

2015年03月22日 - 初稿

阅读原文 - Pacman为Hexo量身定制的响应式主题

扩展阅读

  • Jacman - wuchong/jacman · GitHub
  • HelloDog Index - 索引 | Index

主题安装

设置很简单,请参考原文中文说明

Jacman

如何使用 Jacman 主题


配置yml

这是我自己的真实配置文件,请参考原文注释做修改

全局yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Hexo Configuration
## Docs: Configuration
## Source: hexojs/hexo · GitHub
# Site
title: HelloDog
subtitle: Keep Calm and Carry On
description: HelloDog是一个基于Github和Hexo的静态Blog,希望用简单而清晰的写作方式Markdown分享自己的心得体会。
author: wsgzao
language: zh-CN
timezone:
# URL
## If your site is put in a subdirectory, set url as 'yoursite.com' and root as '/child/'
url: HelloDog
root: /
permalink: post/:title/
permalink_defaults:
# Directory
source_dir: source
public_dir: public
tag_dir: tags
archive_dir: archives
category_dir: categories
code_dir: downloads/code
i18n_dir: :lang
skip_render:
# Writing
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
enable: true
line_number: true
tab_replace:
# Category & Tag
default_category: uncategorized
category_map:
tag_map:
# Date / Time format
## Hexo uses Moment.js to parse and display date
## You can customize the date format as defined in
## Moment.js | Docs
date_format: YYYY-MM-DD
time_format: HH:mm:ss
# Pagination
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page
# Extensions
## Plugins: Plugins
## Themes: Themes
theme: jacman
# Deployment
## Docs: Deployment
deploy:
type:
# Others
index_generator:
per_page: 5 ##首页默认10篇文章标题 如果值为0不分页
archive_generator:
per_page: 0 ##归档页面默认10篇文章标题
yearly: true ##生成年视图
monthly: true ##生成月视图
tag_generator:
per_page: 0 ##标签分类页面默认10篇文章
category_generator:
per_page: 0 ###分类页面默认10篇文章
feed:
type: atom ##feed类型 atom或者rss2
path: atom.xml ##feed路径
limit: 20 ##feed文章最小数量

主题yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
##### Menu
menu:
主页 | Home: /
索引 | Index: /index
归档 | Archives: /archives
简介 | About: /about
## you can create `tags` and `categories` folders in `../source`.
## And create a `index.md` file in each of them.
## set `front-matter`as
## layout: tags (or categories)
## title: tags (or categories)
## ---
#### Widgets
widgets:
- category
- tag
- links
- douban
- rss
## provide seven widgets:category,tag,rss,archive,tagcloud,links,weibo,douban
#### RSS
rss: /atom.xml ## RSS address.
#### Image
imglogo:
enable: true ## display image logo true/false.
src: img/logo.png ## `.svg` and `.png` are recommended,please put image into the theme folder `/jacman/source/img`.
favicon: img/favicon.ico ## size:32px*32px,`.ico` is recommended,please put image into the theme folder `/jacman/source/img`.
apple_icon: img/jacman.jpg ## size:114px*114px,please put image into the theme folder `/jacman/source/img`.
author_img: img/author.jpg ## size:220px*220px.display author avatar picture.if don't want to display,please don't set this.
banner_img: #img/banner.jpg ## size:1920px*200px+. Banner Picture
### Theme Color
theme_color:
theme: '#ea6753' ##the defaut theme color is blue
#### index post is expanding or not
index:
expand: false ## default is unexpanding,so you can only see the short description of each post.
excerpt_link: Read More
#### Author information
author:
intro_line1: "Hello, I'm OX. This is my blog on GitHub." ## your introduction on the bottom of the page
intro_line2: "Try to do better." ## the 2nd line
weibo: ## e.g. wuchong1014 or 2176287895 for Sina Visitor System
weibo_verifier: ## e.g. b3593ceb Your weibo-show widget verifier ,if you use weibo-show it is needed.
tsina: ## e.g. 2176287895 Your weibo ID,It will be used in share button.
douban: ## e.g. wuchong1014 or your id for 黑桃杰克
zhihu: ## e.g. jark for 黑桃Jark
email: ## e.g. imjark@gmail.com
twitter: ## e.g. jarkwu for https://twitter.com/jarkwu
github: wsgzao ## e.g. wuchong for wuchong (Jark) · GitHub
facebook: ## e.g. imjark for https://facebook.com/imjark
linkedin: aowang ## e.g. wuchong1014 for 伍翀 | LinkedIn
google_plus: ## e.g. "111190881341800841449" for https://plus.google.com/u/0/111190881341800841449, the "" is needed!
stackoverflow: ## e.g. 3222790 for User Jark - Stack Overflow
## if you set them, the corresponding share button will show on the footer
#### Toc
toc:
article: true ## show contents in article.
aside: true ## show contents in aside.
## you can set both of the value to true of neither of them.
## if you don't want display contents in a specified post,you can modify `front-matter` and add `toc: false`.
#### Links
links:
码农圈: 码农圈,一个面向程序员交流分享的新一代社区
Jark's Blog: Jark's Blog
#### Comment
duoshuo_shortname: wsgzao ## e.g. wuchong your duoshuo short name.
disqus_shortname: ## e.g. wuchong your disqus short name.
#### Share button
jiathis:
enable: false ## if you use jiathis as your share tool,the built-in share tool won't be display.
id: ## e.g. 1889330 your jiathis ID.
tsina: ## e.g. 2176287895 Your weibo id,It will be used in share button.
#### Analytics
google_analytics:
enable: false
id: ## e.g. UA-46321946-2 your google analytics ID.
site: ## e.g. http://wuchong.me your google analytics site or set the value as auto.
## You MUST upgrade to Universal Analytics first!
## Universal Analytics Upgrade Center
baidu_tongji:
enable: true
sitecode: c2c5fc7d844d0973d9f77abd87f49c3c ## e.g. e6d1f421bbc9962127a50488f9ed37d1 your baidu tongji site code
cnzz_tongji:
enable: false
siteid: ## e.g. 1253575964 your cnzz tongji site id
#### Miscellaneous
ShowCustomFont: true ## you can change custom font in `variable.styl` and `font.styl` which in the theme folder `/jacman/source/css`.
fancybox: true ## if you use gallery post or want use fancybox please set the value to true.
totop: true ## if you want to scroll to top in every post set the value to true
#### Custom Search
google_cse:
enable: false
cx: ## e.g. 018294693190868310296:abnhpuysycw your Custom Search ID.
## Custom Search Engine
## To enable the custom search You must create a "search" folder in '/source' and a "index.md" file
## set the 'front-matter' as
## layout: search
## title: search
## ---
baidu_search: ## 百度站内搜索_最专业的站内搜索工具
enable: false
id: "3783770861532079376" ## e.g. "783281470518440642" for your baidu search id
site: 页面不存在_百度搜索 ## your can change to your site instead of the default site
tinysou_search: ## 微搜索 - 最好用的站内搜索工具
enable: true
id: 4ac092ad8d749fdc6293

内容发布

修改post预设格式

建议按照个人习惯修改hexo\scaffolds中的post.md

1
2
3
4
title: {{ title }}
date: {{ date }}
categories:
description:

生成文章

文章如含有有中文请修改编码为UTF-8避免乱码

1.命令生成初始文章,文件名空格会自动加-hyphen中横线

1
hexo n "hexo post"

2.在hexo\source\_posts中编辑生成出来的hexo-post文件

1
2
3
4
5
6
title: hexo post #可以改成中文的,如“新文章”
date: 2015-01-14 21:31:42 #发表日期,可自定义修改排序
categories: blog #文章文类
tags: [博客,文章] #文章标签,可以加入多标签
---
#这里是正文,用Markdown书写

3.本地预览文章内容,登录localhost:4000查看效果

1
hexo s

4.发布内容到public文件夹,然后我选择手动复制同步到GitHub

1
2
hexo clean
hexo g

导航栏添加自定义页面

1.命令手动生成自定义页面

1
hexo n page "about"

2.编辑hexo/source/about/index.md内容
3.修改themes/jacman/_config.yml文件

1
2
menu:
关于: /about


其它修改

RSS和sitemap

1.安装RSS和sitemap插件

1
2
npm install hexo-generator-feed@1 --save
npm install hexo-generator-sitemap@1 --save

2.开启RSS和sitemap功能,编辑hexo/_config.yml

1
2
3
4
feed:
type: atom #feed 类型 (atom/rss2)
path: atom.xml #rss 路径
limit: 20 #在 rss 中最多生成的文章数(0显示所有)

3.修改thems/jacman/_config.yml,编辑Widgets和rss

1
2
3
4
5
#### Widgets
widgets:
- rss
rss: /atom.xml

4.手动提交生成出来的atom.xml文件给搜索引擎

添加404页面

在GitHub根目录下如http://wsgzao.github.io设置404.html即可,建议使用腾讯公益404

1
2
3
4
5
6
7
8
9
<html>
<head>
<meta charset="UTF-8" />
<title>404 | HelloDog</title>
</head>
<body>
</body>
</html>

网站统计

Jacman自带的选择足够了

站内搜索

已提交微搜索(swiftype也很不错)的Pull Request给Jacman,欢迎大家体验

微搜索 - 微搜索 - 最好用的站内搜索工具
swiftype - Swiftype - Site search and mobile app search

常见错误

  1. 修改配置文件时注意YAML语法,参数冒号:后一定要留空格
  2. 中文乱码请修改文件编码格式为UTF-8
  3. GitHub同步慢或者失败请使用翻墙代理加速
------ 本文结束 ------