Jacman基于Pacman修改的Hexo主题
前言
Pacman是一款为Hexo打造的一款扁平化,有着响应式设计的主题。 由于Pacman已经暂停更新,加上Hexo已经升级为3.0,很多主题需要重新适配,而Jacman是基于Pacman修改而来,在前端设计样式和功能上做了很多合理的修改和完善,相信你也一定可以很快上手。
Jacman是一款基于Pacman修改并坚持更新的Hexo主题
更新历史
2015年12月30日 - 更新Jacman配置参数
2015年11月29日 - 更新Jacman配置细节
2015年03月22日 - 初稿
阅读原文 - http://wsgzao.github.io/post/hexo-pacman/
扩展阅读
Jacman - https://github.com/wuchong/jacman
HelloDog Index - http://wsgzao.github.io/index/#Hexo
主题安装
设置很简单,请参考原文中文说明
Jacman
http://wuchong.me/blog/2014/11/20/how-to-use-jacman/
配置yml
这是我自己的真实配置文件,请参考原文注释做修改
全局yml
# Hexo Configuration ## Docs: http://hexo.io/docs/configuration.html ## Source: https://github.com/hexojs/hexo/ # 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 'http://yoursite.com/child' and root as '/child/' url: http://wsgzao.github.io/ 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 ## http://momentjs.com/docs/#/displaying/format/ 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: http://hexo.io/plugins/ ## Themes: http://hexo.io/themes/ theme: jacman # Deployment ## Docs: http://hexo.io/docs/deployment.html 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
##### 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: - github-card - category - links - rss ## provide eight widgets:github-card,category,tag,rss,archive,tagcloud,links,weibo #### 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 # 代码高亮主题 # available: default | night highlight_theme: night #### 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 close_aside: true #close sidebar in post page if true mathjax: false #enable mathjax if true ### Creative Commons License Support, see http://creativecommons.org/ ### you can choose: by , by-nc , by-nc-nd , by-nc-sa , by-nd , by-sa , zero creative_commons: none #### 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: "Doing is better than perfect." ## the 2nd line weibo: ## e.g. wuchong1014 or 2176287895 for http://weibo.com/2176287895 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 https://www.douban.com/people/wuchong1014 zhihu: ## e.g. jark for http://www.zhihu.com/people/jark email: ## e.g. [email protected] twitter: ## e.g. jarkwu for https://twitter.com/jarkwu github: wsgzao ## e.g. wuchong for https://github.com/wuchong facebook: ## e.g. imjark for https://facebook.com/imjark linkedin: aowang ## e.g. wuchong1014 for https://www.linkedin.com/in/wuchong1014 google_plus: ## e.g. "111190881341800841449" for https://plus.google.com/u/0/111190881341800841449, the "" is needed! stackoverflow: ## e.g. 3222790 for http://stackoverflow.com/users/3222790/jark ## 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: Hexo: https://hexo.io/ Jark's Blog: http://wuchong.me GitHub: https://github.com/wsgzao LinkedIn: https://www.linkedin.com/in/aowang #### 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: 1503875 ## e.g. 1889330 your jiathis ID. tsina: 1913082125 ## 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. wuchong.me your google analytics site or set the value as auto. ## You MUST upgrade to Universal Analytics first! ## https://developers.google.com/analytics/devguides/collection/upgrade/?hl=zh_CN 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. ## https://www.google.com/cse/ ## 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: ## http://zn.baidu.com/ enable: false id: "3783770861532079376" ## e.g. "783281470518440642" for your baidu search id site: http://zhannei.baidu.com/cse/search ## your can change to your site instead of the default site swiftype: ## https://swiftype.com/ enable: true
内容发布
修改post预设格式
建议按照个人习惯修改hexo\scaffolds
中的post.md
title: {{ title }} date: {{ date }} categories: description:
生成文章
文章如含有有中文请修改编码为UTF-8
避免乱码
1.命令生成初始文章,文件名空格会自动加-
hyphen中横线
hexo n "hexo post"
2.在hexo\source\_posts
中编辑生成出来的hexo-post
文件
title: hexo post #可以改成中文的,如“新文章” date: 2015-01-14 21:31:42 #发表日期,可自定义修改排序 categories: blog #文章文类 tags: [博客,文章] #文章标签,可以加入多标签 --- #这里是正文,用Markdown书写
3.本地预览文章内容,登录localhost:4000
查看效果
hexo s
4.发布内容到public
文件夹,然后我选择手动复制同步到GitHub
hexo clean hexo g
导航栏添加自定义页面
1.命令手动生成自定义页面
hexo n page "about"
2.编辑hexo/source/about/index.md
内容
3.修改themes/jacman/_config.yml
文件
menu: 关于: /about
其它修改
RSS和sitemap
1.安装RSS和sitemap插件
npm install hexo-generator-feed@1 --save npm install hexo-generator-sitemap@1 --save
2.开启RSS和sitemap功能,编辑hexo/_config.yml
feed: type: atom #feed 类型 (atom/rss2) path: atom.xml #rss 路径 limit: 20 #在 rss 中最多生成的文章数(0显示所有)
3.修改thems/jacman/_config.yml
,编辑Widgets和rss
#### Widgets widgets: - rss rss: /atom.xml
4.手动提交生成出来的atom.xml
文件给搜索引擎
添加404页面
在GitHub根目录下如wsgzao.github.io
设置404.html即可,建议使用腾讯公益404
<html> <head> <meta charset="UTF-8" /> <title>404 | HelloDog</title> </head> <body> <script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8"></script> </body> </html>
网站统计
Jacman自带的选择足够了
站内搜索
已提交微搜索(swiftype也很不错)的Pull Request给Jacman,欢迎大家体验
微搜索 - http://tinysou.com/
swiftype - https://swiftype.com/
利用swiftype为hexo添加站内搜索v2.0
http://www.jerryfu.net/post/search-engine-for-hexo-with-swiftype-v2.html
常见错误
修改配置文件时注意
YAML
语法,参数冒号:
后一定要留空格
中文乱码请修改文件编码格式为
UTF-8
GitHub同步慢或者失败请使用翻墙代理加速