The nova is a hexo theme using swig template aimed to build your github project site conveniently.
The theme provided three layouts to demonstrate the page.
post
for blogproject
for github project pagepage
for other pagesresume
for resume pagesdonate
for danate pages
Nova also provided lots of helper scripts as plugins to co-work with the theme, e.g. donate, toc, project side bar.
Welcome to visit My blog (https://www.ieclipse.cn/en/) to see the demo.
Here is some special feature of Nova.
- Bootstrap responsible style
- Unique page ID for each page, there is nothing to worry about deploying blog to any site
- Multi-comment components support, include disqus, valine,
duoshuo,gentie,changyan,uayn3rd comment plugin - Encrypt/decrypt for private post
- Page views counter
- Donate
- Frontend code highlight and copy feature
- Mircodata supported
- Multi-language
- Mind style categories, resume
-
disable baidu search and url-submit,please use
hexo-generator-search
andhexo-submit-urls-to-search-engine
instead -
Update leancloud article views counter
Migrate: visit LeanCloud console,update Counter class,update pageId to xid,views to time。
- remove unvailable jiathis share
- remove material colors style (reduce css file size)
- change changyan comment to valine
- change zero clipboard to clipboard.js
- using nesting style
- pass w3c validations
Cd to your blog root directory
$ git clone git@github.com:Jamling/hexo-theme-nova.git themes/nova
Then
- Change site _config.yml set
theme: nova
to use the theme. - Make _config.nova.yml under blog dir to overide theme default config.
- Install dependencies under blog dir.
Nova theme used some 3rd plugins to help. Need to install these plugins in your site/blog before using nova.
npm install hexo-renderer-sass --save
npm install hexo-generator-i18n --save
npm install hexo-generator-github --save
npm install hexo-filter-highlight --save
npm install cheerio --save // hexo >= 5.0
npm install hexo-renderer-swig --save // hexo >= 5.0
- hexo-generator-github is unnecessary if no
project
layout page in your sources. - hexo-filter-highlight is unnecessary if you don't like the nova highlight solution.
Error: Cannot find module '../../../node_modules/cheerio'
Error: Cannot find module '../../../node_modules/lodash'
Since hexo 5.0, lodash and cheerio is removed from dependencies, please install them.
Add global js and css sample:
js_css:
- url: //cdn.bootcss.com/jquery/2.2.0/jquery.min.js
- url: //cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css
- url: css/nova.css
Configurate the site menus
menu:
- name: home
url: /
- name: project
url: /p/
- name: category
url: /categories/
- name: archive
url: /archives/
- name: about
url: /about/
the name will be translated.
# post widgets. see layout/post/widget_xxx.swig
post_widgets:
# - search
- category
- tag
- archive
- recent
post_widgets_show_count: true
post_widgets_recent_count: 5
# archive
archive:
type: yearly #yearly|monthly(defaut) see list_archives options
order: -1 # 1(asc)|-1(desc) defaut desc
format: YYYY
show_count: false # true|false, defaut true
amount: 5 # amount in post widgets
# toc
toc:
post: true
project: true
page: true
donate:
enable: true # whether enable page donate
The donate 2d-code image suggested to more than 200*200px and named to donate_aliplay.png, donate_wechat.png
Configure the html page layout, the master branch use bootstrap, so the gird css is bootstrap grid css.
layout:
index: # index some to post.
main: col-sx-12 col-sm-8 col-md-9 col-lg-9
widgets: col-sx-12 col-sm-4 col-md-3 col-lg-3 hidden-xs
page: #common page
main: col-sx-12 col-sm-8 col-md-9 col-lg-9
toc: col-sx-12 col-sm-4 col-md-3 col-lg-3 hidden-xs
p: #project
sidebar: col-sx-12 col-sm-12 col-md-2 col-lg-2
main: col-sx-12 col-sm-8 col-md-8 col-lg-8
toc: col-sx-2 col-sm-2 col-md-2 col-lg-2 hidden-xs
Please see nova layouts
Please see nova front-matter
Please see nova helpers
- hexo-renderer-sass helps to generate css.
- hexo-generator-i18n helps to generate multi-language sites.
- hexo-generator-github helps to generate project pages.
- hexo-filter-highlight Helps to highlight code block.
Please see nova plugins for more information.