:::info Hexo is a good static blog framwork, but everytime you need to upload a new blog, you have to login to the shell to upload your markdown file or upload it to your repo then wait for a auto or manully regenerate. Hexo-Admin fix this problem perfectly by adding a online editing feature and a online deploy feature. :::
# Site title: Jindom's Blog subtitle: '一个记笔记的地方' description: '' keywords: author: Jindom language: zh-CN timezone: ''
# URL ## Set your site url here. For example, if you use GitHub Page, set url as 'https://username.github.io/project' url: https://blog.jinzz.cc permalink: :hash/ permalink_defaults: pretty_urls: trailing_index: true # Set to false to remove trailing 'index.html' from permalinks trailing_html: true # Set to false to remove trailing '.html' from permalinks
# Writing new_post_name: :title.md # File name of new posts default_layout: post titlecase: false # Transform title into titlecase external_link: enable: true # Open external links in new tab field: site # Apply to the whole site exclude: '' filename_case: 0 render_drafts: false post_asset_folder: false relative_link: false future: true highlight: enable: true line_number: false auto_detect: false tab_replace: '' wrap: true hljs: false prismjs: enable: false preprocess: true line_number: true tab_replace: ''
# Home page setting # path: Root path for your blogs index page. (default = '') # per_page: Posts displayed per page. (0 = disable pagination) # order_by: Posts order. (Order by date descending by default) index_generator: path: '' per_page: 20 order_by: -date
# Category & Tag default_category: uncategorized category_map: tag_map:
# Metadata elements ## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta meta_generator: true
# 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 ## updated_option supports 'mtime', 'date', 'empty' updated_option: 'mtime'
# Pagination ## Set per_page to 0 to disable pagination per_page: 10 pagination_dir: page
# Include / Exclude file(s) ## include:/exclude: options only apply to the 'source/' folder include: exclude: ignore:
Remember to change the theme settings in the _config.yml
The theme settings could be changed in theme/butterfly/_config.yml :::danger Please note that some function or feature in the theme setting may require to install additional npm package, otherwise the hexo generate command would fail RTFM: https://butterfly.js.org/posts/ceeb73f/ :::
Configure the Hexo-Admin
Enable the authentication
Go to Admin –> Settings in the http://server_ip:4000/admin/, and click “Setup authentification here”.
Type in necessary information, it will auto generate a config string, paste the config string in the end of the _config.yml file, restart hexo and it will enable authentication for Hexo-Admin backend.
Enable the deploy function
Create a hexo-deploy.sh in the root dir of the project, here is the example content.
hexo clean hexo generate hexo deploy
Then chmod g+x hexo-deploy.sh
Add deployCommand: './hexo-deploy.sh' in the admin section of the _config.yml file