快速开始
安装
首先登陆github网站,在github上建立一个repository,名字必须为xxx.github.io,xxx为你的账户名
打开控制台,用npm安装hexo(这里需要先安装node.js,如果没有安装的话请先去官网安装)。
npm i -g hexo
安装完成后查看
hexo -v
如果出现版本信息表示安装成功
创建一个hexo项目
现在在本地创建一个hexo项目,在项目文件夹下进入cmd命令行模式,输入:
hexo init
创建完成后,输入:
npm install
安装默认插件完成后,为了支持github,还需要安装另一个插件:
npm install hexo-deployer-git --save
然后生成web项目,输入:
hexo g
启动服务器预览效果,输入:
hexo s -o
浏览器预览访问http://localhost:4000/
这还只是本地项目,现在要发布到github上面去,我们需要配置项目目录下的_config.yml文件,打开它找到最后一行,我们把github的配置信息填上去。
deploy:
type: git
repo: git@github.com:dot123/dot123.github.io.git
branch: master
发布
生成SSH密钥点击查看
在GitHub上添加SSH密钥
打开id_rsa.pub,复制全文。点击Add SSH key,粘贴进去。
完成后我们开始发布博客吧!当前路径命令行下输入:
hexo d
按照提示输入github的登录名和密码,就可以看到成功信息。
稍等一会就可以输入网址xxx.github.io访问你的博客啦~~~
hexo目录结构
.
├── .deploy #需要部署的文件
├── node_modules #Hexo插件
├── public #生成的静态网页文件
├── scaffolds #模板
├── source #博客正文和其他源文件,404、favicon、CNAME 都应该放在这里
| ├── _drafts #草稿
| └── _posts #文章
├── themes #主题
├── _config.yml #全局配置文件
└── package.json
全局配置 _config.yml
# Hexo Configuration
## Docs: http://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/
# Site #站点信息
title: #标题
subtitle: #副标题
description: #站点描述,给搜索引擎看的
author: #作者
email: #电子邮箱
language: zh-CN #语言
# URL #链接格式
url: #网址
root: / #根目录
permalink: :year/:month/:day/:title/ #文章的链接格式
tag_dir: tags #标签目录
archive_dir: archives #存档目录
category_dir: categories #分类目录
code_dir: downloads/code
permalink_defaults:
# Directory #目录
source_dir: source #源文件目录
public_dir: public #生成的网页文件目录
# Writing #写作
new_post_name: :title.md #新文章标题
default_layout: post #默认的模板,包括 post、page、photo、draft(文章、页面、照片、草稿)
titlecase: false #标题转换成大写
external_link: true #在新选项卡中打开连接
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
highlight: #语法高亮
enable: true #是否启用
line_number: true #显示行号
tab_replace:
# Category & Tag #分类和标签
default_category: uncategorized #默认分类
category_map:
tag_map:
# Archives
2: 开启分页
1: 禁用分页
0: 全部禁用
archive: 2
category: 2
tag: 2
# Server #本地服务器
port: 4000 #端口号
server_ip: localhost #IP 地址
logger: false
logger_format: dev
# Date / Time format #日期时间格式
date_format: YYYY-MM-DD #参考http://momentjs.com/docs/#/displaying/format/
time_format: H:mm:ss
# Pagination #分页
per_page: 10 #每页文章数,设置成 0 禁用分页
pagination_dir: page
# Disqus #Disqus评论,替换为多说
disqus_shortname:
# Extensions #拓展插件
theme: landscape-plus #主题
exclude_generator:
plugins: #插件,例如生成 RSS 和站点地图的
- hexo-generator-feed
- hexo-generator-sitemap
# Deployment #部署,将 lmintlcx 改成用户名
deploy:
type: git
repo: 刚刚github创库地址.git
branch: master
注意
配置文件的冒号“:”后面有一个空格
repo: 刚刚github创库地址.git
hexo命令行使用
常用命令:
hexo help #查看帮助
hexo init #初始化一个目录
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成网页,可以在 public 目录查看整个网站的文件
hexo server #本地预览,'Ctrl+C'关闭
hexo deploy #部署.deploy目录
hexo clean #清除缓存,**强烈建议每次执行命令前先清理缓存,每次部署前先删除 .deploy 文件夹**
简写:
hexo n == hexo new
hexo g == hexo generate
hexo s == hexo server
hexo d == hexo deploy
新建文章
hexo new "标题"
在 _posts 目录下会生成文件标题.md
title: Hello World
date: 2015-07-30 07:56:29 #发表日期,一般不改动
categories: hexo #文章文类
tags: [hexo,github] #文章标签,多于一项时用这种格式
---
正文,使用Markdown语法书写
编辑完后保存,hexo server 预览
hexo部署
执行下列指令即可完成部署
hexo generate
hexo deploy
以下提示说明部署成功
[info] Deploy done: git
sitemap & rss
设置sitemap
1.安装hexo的sitemap网站地图生成插件
npm install hexo-generator-sitemap --save
npm install hexo-generator-baidu-sitemap --save
2.在你的hexo站点的_config.yml添加下面的代码
# hexo sitemap网站地图
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml
配置成功后,hexo编译时会在hexo站点根目录生成sitemap.xml和baidusitemap.xml
其中sitemap.xml适合提交给谷歌搜素引擎,baidusitemap.xml适合提交百度搜索引擎。
设置RSS
NexT中RSS有三个设置选项,满足特定的使用场景。更改主题配置文件,设定rss字段的值:
false:禁用RSS,不在页面上显示RSS连接。
留空:使用 Hexo生成的Feed链接。你可以需要先安装hexo-generator-feed插件。
具体的链接地址:适用于已经烧制过 Feed 的情形
hexo-generator-feed插件安装命令
npm install hexo-generator-feed --save
主题首页title的优化
更改index.swig文件,文件路径是your-hexo-site\themes\next\layout,将下面代码1
{% block title %} {{ config.title }} {% endblock %}
改成1
{% block title %} {{ config.title }} - {{ theme.description }} {% endblock %}
这时候你的首页标题会更符合网站名称 - 网站描述这习惯。
进阶,做了seo优化,把关键词也显示在Title标题里,可改成1
{% block title %} {{ theme.keywords }} - {{ config.title }} - {{ theme.description }} {% endblock %}
注意:别堆砌关键字,整个标题一般不超过80个字符,可以通过chinaz的seo综合查询检查。