quincyyhuang / hexo-node-admin

A Hexo management tool with responsive UI designed to make it easier for you to compose.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hexo Node Admin

A Hexo management tool with fully responsive UI designed to make it easier for you to compose and manage your posts and pages. If you like it, do not forget to Star. Many thanks.

Screenshots

Migrate from v0 to v1

Follow the Quick Start section and you should be good.

Hexo Version

Works with 4.x, 3.x, not sure if it works with 2.x or 1.x, you can give it a try :D.

Quick Start

  1. Clone this repository or download from Release
git clone https://github.com/quincyyhuang/hexo-node-admin
cd hexo-node-admin
  1. Install dependencies.
npm install
  1. Set up config.json.
{
    "root": "/",
    "host": "localhost",
    "port": 4001,
    "hexo_dir": "",     // Change this to the path to your hexo root folder, can be relative path, relative to hexo-node-admin folder
    "admin": {
        "plain": true,
        "username": "test",     // Change username
        "password": "test"      // Change password
    },
    "deploy": {
        "type": "default",
        "script": ""
    },
    "lang": "en-US",
    "jwt_secret": ""
}
  1. Start Hexo Node Admin and go to http://localhost:4001.
npm start

Secure the Admin

You can avoid using plain text password by setting admin.plain to false. Use any bcrypt generator to hash your password and paste the result in admin.password. You should also use HTTPS to secure the traffic if the admin is going to be exposed to the Internet.

Features

  • Support loading the admin on subdirectory. For example, '/admin' of your blog URL.
  • Support Post Asset Folder feature. You can upload and delete post assets.

Localization

Currently supported languages:

  • English (United States): en-US
  • 简体中文 Simplified Chinese (PRC): zh-CN
  • 正體中文 Traditional Chinese (Taiwan): zh-TW

Advanced Configuration

Change config.json to match your needs.

config value
root The root path for mounting the admin. Default to '/'. Can be set to subdirectory as '/admin'.
host The address to listen on. Default to 'localhost'. To listen on all, set to '0.0.0.0'.
port The port to listen on. Default to 4001.
hexo_dir Path to your hexo blog root folder. If using relative path, the path will be relative to the 'hexo-node-admin' folder.
admin.plain If using plain text password. Default to true. Set to false to use hashed password.
admin.username Username for login.
admin.password Password for login. If admin.plain == true, this is plain text password.If admin.plain == false, this needs to be a bcrypt-ed hash.
deploy.type Type for deployment. Default to 'default', this runs hexo deploy. Set to 'command' to run a single command. Set to 'script' to run a script.
deploy.script If deploy.type == 'command', this is the one line command to execute. If deploy.type == 'script', this is the path to the script.
lang Language to use. Default to 'en-US'. All available options please see localization section.
jwt_secret JSON web token secret. Default to empty, this will make the admin generate a random secret on every start. You can set it to any string.

Credits

This project is using React, React Redux, Material UI and JWT. Special credit to react-markdown-editor-lite. All third-party software follows their own licenses.

About

A Hexo management tool with responsive UI designed to make it easier for you to compose.

License:MIT License


Languages

Language:JavaScript 97.0%Language:HTML 2.2%Language:CSS 0.8%