欢迎光临
我们一直在努力

简洁轻便的博客平台: Hexo详解

什么是Hexo

Hexo 是一个简单地、轻量地、基于Node的一个静态博客框架,可以方便的生成静态网页托管在github和Heroku上,引用Hexo作者 @tommy351 的话:

快速、简单且功能强大的 Node.js 博客框架。A fast, simple & powerful blog framework, powered by Node.js.

GitHub Pages是什么?

GitHub Pages 可以被认为是用户编写的、托管在github上的静态网页。由于它的空间免费稳定, 可以用于介绍托管在github上的Project或者搭建网站。有两种形式: Project Site 和 User/Org Site,二者之间的差异可以戳 GitHub Pages 。基于 GP 创建Site是很方便的,这有一个简单的教程: 学习 Github Page 教你分分钟搭建自己的博客

gp 生成的网站的默认域名是 username.github.io 或者username.github.io/project-name ,但gp是支持自定义域名的: Custom Domain Name 。购买域名之后,可以和默认的二级域名进行绑定,教程参考: 购买域名、设置DNS

更多关于gp的信息,可以戳: Github Pages Help

Hexo 的安装

由于 Hexo 是基于 Node ,安装前要先安装 Node。我的系统环境:

安装Hexo,要用全局安装,加-g参数。:

npm install -g hexo

查看版本:

查看命令帮助:

1、 help : 查看帮助信息

2、 init [文件夹名] : 创建一个hexo项目,不指定文件夹名,则在当前目录创建

3、 version : 查看hexo的版本

4、 --config config-path :指定配置文件,代替默认的_config.yml

5、 --cwd cwd-path :自定义当前工作目录

5、 --debug :调试模式,输出所有日志信息

6、 --safe :安全模式,禁用所有的插件和脚本

7、 --silent :无日志输出模式

安装好后,我们就可以使用Hexo创建项目了。

按照提示,切换到hexo-demo目录,运行 npm install 安装依赖,并启动Hexo服务器:

  1. hexo server
  2. //the same as
  3. //hexo s

这时端口4000被打开了,我们能过浏览器打开地址, http://localhost:4000/ 或者http://0.0.0.0:4000

Hexo的默认界面,Hexo2.4+后采用的默认主题是 Landscape

Hexo的配置

目录和文件

1、 scaffolds :模板文件夹,新建文章时,Hexo 会根据 scaffold 来建立文件。Hexo 有三种默认布局: postpagedraft ,它们分别对应不同的路径。新建文件的默认布局是 post ,可以在配置文件中更改布局。用 draft 布局生成的文件会被保存到 source/_drafts 文件夹。

2、 source :资源文件夹是存放用户资源的地方。

3、 source/_post :文件箱。(低版本的hexo还会存在一个 _draft ,这是草稿箱)除 _posts 文件夹之外,开头命名为 _ (下划线)的文件/ 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去

4、 themes :主题 文件夹。Hexo 会根据主题来生成静态页面。

5、 themes/landscape :默认的皮肤文件夹

6、 _config.yml :全局的配置文件,每次更改要重启服务。

低版本的Hexo还会生成scripts文件夹,里面用于保存扩展Hexo的脚本文件。

全局配置

可以在 _config.yml 中修改:

 

# Hexo Configuration

## Docs: http://hexo.io/docs/configuration.html

## Source: https://github.com/hexojs/hexo/

# Site 站点配置
title: Hexo-demo #网站标题
subtitle: hexo is simple and easy to study #网站副标题
description: this is hexo-demo #网栈描述
author: pomy #你的名字
language: zh-CN #网站使用的语言
timezone: Asia/Shanghai #网站时区
# URL #可以不用配置
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: http://yoursite.com #网址,搜索时会在搜索引擎中显示
    root: / #网站根目录
permalink: :year/:month/:day/:title/ #永久链接格式
permalink_defaults: #永久链接中各部分的默认值
# Directory 目录配置
source_dir: source #资源文件夹,这个文件夹用来存放内容
public_dir: public #公共文件夹,这个文件夹用于存放生成的站点文件
tag_dir: tags #标签文件夹
archive_dir: archives #归档文件夹
category_dir: categories #分类文件夹
code_dir: downloads/code #Include code 文件夹
i18n_dir: :lang #国际化文件夹
skip_render: #跳过指定文件的渲染,您可使用 glob 来配置路径
# Writing 写作配置
new_post_name: :title.md # 新文章的文件名称
default_layout: post #默认布局
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0 #把文件名称转换为 (1) 小写或 (2) 大写
render_drafts: false #显示草稿
post_asset_folder: false #是否启动资源文件夹
relative_link: false #把链接改为与根目录的相对位址
future: true
highlight: #代码块的设置
enable: true
line_number: true
auto_detect: 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 #每页显示的文章量 (0 = 关闭分页功能)
pagination_dir: page #分页目录
# Extensions 扩展
## Plugins: http://hexo.io/plugins/ 插件
    ## Themes: http://hexo.io/themes/ 主题
    theme: landscape #当前主题名称
# Deployment #部署到github
## Docs: http://hexo.io/docs/deployment.html
    deploy:
        type:

 

一般主题下有一个 languages 文件夹,用于对应 language 配置项。比如在 ejs 中有:

<%= __('tags') %>

language 的配置项是 zh-CN ,则会在 languages 文件夹下找到 zh-CN.yml文件中对应的项来解释。

修改全局配置时,注意缩进,同时注意冒号后面要有一个空格。

主题配置

主题的配置文件在 /themes/主题文件夹/_config.yml ,一般包括导航配置(menu),内容配置(content),评论插件,图片效果(fancybox)和边栏(sidebar)。

Hexo提高了大量的主题,可以在全局配置文件中更改主题:

# Extensions 扩展

## Plugins: http://hexo.io/plugins/ 插件

## Themes: http://hexo.io/themes/ 主题

theme: 你的主题名称

主题的文件目录必须在 themes 目录下。 Hexo主题更换教程

更多Hexo主题戳此: Hexo Themes

基本使用

写文章通过 new 命令新建一篇文章:

$ hexo new [layout] <title>

//same as

hexo n

 

其中layout是可选参数,默认值为 post

如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,需用引号括起来。

Hexo提供的layout在 scaffolds 目录下,也可以在此目录下自建layout文件。新建的文件则会保存到 source/_post 目录下。

然后启动服务器,便能看到刚刚发表的文章

发表的文章会全部显示,如果文章很长,就只要显示文章的摘要就行了。在需要显示摘要的地方添加如下代码即可:

 

以上是摘要
<!--more-->
以下是余下全文

 

以上是摘要

  1. <!--more-->
  2. 以下是余下全文
  3. 刷新,就能够看到只显示摘要了,同时会提供 Read More 的链接:
  4. 这个文字可以更改,在主题的配置文件( themes/主题文件夹/_config.yml )中,找到 Content
  5. # Content excerpt_link: Read More #可以更改成想要显示的文字 fancybox: true
  6. 此外,可以修改文章的参数,打开 scaffolds/post.md ,增加类别和描述:
  7. 再新建一篇文章,就能看到增加了文章参数:
  8. tagscategories 有多个,则用数组形式。
  9. 部署在部署之前,需要通过命令把所有的文章都做静态化处理,就是生成对应的html, javascript, css,使得所有的文章都是由静态文件组成的:
  10. hexo generate //same as hexo g
  11. 在本地目录下,会生成一个public的目录,里面包括了所有静态化的文件。
  12. 生成静态文件之后,如果要发布到github,还需要配置 deploy 指令。在全局的配置文件中找到 deploy
  13. # Deployment ## Docs: http://hexo.io/docs/deployment.html deploy: type: git repo: https://github.com/dwqs/dwqs.github.io.git branch: master
  14. 然后还要安装 hexo-deployer-git
  15. npm install hexo-deployer-git -S
  16. 最后利用hexo指令发布到github:
  17. hexo d //same as hexo deploy
  18. 在github上便能看到刚刚部署的静态web网站:
  19. 如果部署的是个人页,新建的仓库必须的 your-user-name.github.io
  20. 总结
  21. Hexo常用命令:
  22. hexo n == hexo new hexo g == hexo generate hexo s == hexo server hexo d == hexo deploy
  23. 文章使用的repo: https://github.com/dwqs/dwqs.github.io.git
  24. 访问地址: https://dwqs.github.io/使用的主题: https://github.com/dwqs/nx

    https://hexo.io/

赞(0)
版权归原作者所有,如有侵权请告知。达维营-前端网 » 简洁轻便的博客平台: Hexo详解

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址