hexoJava学习之路

使用 GitHubPages + Hexo + Next 搭建免

2017-11-05  本文已影响222人  innovatorCL

一、在 Github 创建 Git 仓库

二、安装Git

三、安装Nodejs

这里推荐先安装 nvm(相当于 Nodejs 的版本管理工具),然后用 nvm 安装 Nodejs,因为后面生成 博客静态页面 的时候需要用到 nvm,而安装 nvm 需要卸载电脑之前装过的 Nodejs

1.安装 nvm

2.安装 Nodejs

正在安装 安装完成 检查安装的版本

这就安装完了nodejs。

三、安装Hexo

四、创建本地博客

定位到目标目录

五、Next 主题安装

经过上面步骤创建完本地博客之后,基本的博客系统就已经搭建好了,自带了 landscape 主题。不过该主题不是很漂亮,在网上搜索了一下 Hexo 主题,选择了用户量较大的 Next

说明:在 Hexo 中有两份主要的配置文件,其名称都是 _config.yml 。 其中,一份位于站点根目录下(即 xxx.github.io 目录下),主要包含 Hexo 本身的配置;另一份位于主题目录下(位于 xxx.github.io/themes/next 目录下),这份配置有主题作者提供,主要用于配置主题相关的选项。为了描述方便,在以下说明中,将前者称为 “站点配置文件”, 后者称为 “主题配置文件”。

title: xxx # 博客的名字,也称站点名称
author: xxx # 作者名字
description: xxx # 对站点的描述,搜索引擎会抓取,可以自定义(这个还是加上比较好)language: zh-Hans # 语言 简体中文
theme: next # 配置主题
deploy: # 部署相关配置 
type: git # 使用 Git 提交 
repo: https://github.com/xxx/xxx.github.io.git # 就是存放博客的仓库地址
上述配置是必须要修改的,再次强调,键值之间一定要 ”**加空格**“,请在文本编辑器中搜索定位后再修改。

站点配置文件详细配置示例

# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/

# Site 这里的配置,哪项配置反映在哪里,可以参考我的博客
title: xxx # 博客的名字,也称站点名称
subtitle: xxx # 副标题
description: xxx # 对站点的描述,搜索引擎会抓取,可以自定义
author: xxx # 作者名字
language: zh-Hans # 语言 简体中文
timezone:  # 用默认的即可

# URL 
# 这项暂时不需要配置,绑定域名后,要创建 sitemap.xml 时再配置该项
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: # http://xxx.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
i18n_dir: :lang
skip_render:

# Writing 
# 文章布局、写作格式的定义,不修改
new_post_name: :title.md # File name of new posts
default_layout: post
titlecase: false # Transform title into titlecase
external_link: true # Open external links in new tab
filename_case: 0
render_drafts: false
post_asset_folder: false
relative_link: false
future: true
highlight:
  enable: true
  line_number: true
  auto_detect: false
  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: MMM D YYYY
time_format: H:mm:ss

# Pagination 
# 每页显示文章数,可以自定义
## Set per_page to 0 to disable pagination
per_page: 10
pagination_dir: page

# Extensions 
# 配置站点所用主题和插件,这里将默认主题注释,修改为 next
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: next
#theme: landscape

# 头像
# 注意:是 xxx.github.io/source 下的开始的相对路径,如果 source 文件夹下面没有 uploads 文件夹,那么新建一个。考虑到会博客中用很多图片,在 uploads 文件夹下请分好类,避免混乱
avatar: /uploads/images/avatar.jpg

# Deployment 
# 本地博客部署到 github 上要配置这里
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git # 使用 Git 提交
  repository: https://github.com/xxx/xxx.github.io.git # 就是存放博客的仓库地址

PS:
是不是有点迫不及待想看看效果了,那好,先在本地跑起来试试,步骤如下:

启动成功可以看到提示,按照提示用浏览器打开提示网址,即可看到你的
本地博客了,里面有一篇 Hello World

hexo s 启动本地服务

hexo s 命令成功提示,本地博客搭建完成 。在浏览器输入 http://localhost:4000/ 就可访问本地的博客了,真棒~

六、Next 主题个性化

个性化 NEXT 主题具体可以参考 官方文档。这里挑选一些属性进行更改,仅供参考。

Next 主题配置文件配置详解

Next 主题配置文件就是位于 xxx.github.io/themes/next 目录下,文件名为 _config.yml。老规矩,先备份一份 ”_config_bak.yml“,以防改错。

我的博客为例,阐述一下需要配置的地方:

# Set default keywords (Use a comma to separate)
# 设置关键字
keywords: "Android, 创新"

# Specify the date when the site was setup
# 设置博客开始时间
since: 2017

# When running the site in a subdirectory (e.g. domain.tld/blog), remove the leading slash (/archives -> archives)
# 设置菜单,就是[我的博客](http://innovatorCL.github.io)左侧那一列
menu:
  home: / # 在菜单上显示首页
  archives: /archives # 在菜单上显示 全部
  categories: /categories # 在菜单上显示 分类
  tags: /tags # 在菜单上显示 标签
  about: /about # 在菜单上显示 关于
  #commonweal: /404.html

# Schemes
# 设置风格
#scheme: Muse
#scheme: Mist
scheme: Pisces # 我的就是这个双栏风格

# Automatically Excerpt. Not recommand.
# Please use <!-- more --> in the post to control excerpt accurately.
auto_excerpt:
  enable: true # 设置是否显示阅读全文,文章较多的话,有必要设置为 true
  length: 150

# 一些第三方服务设置,这里只提一下”多说“,其他的请参考官方介绍
# Make duoshuo show UA
# user_id must NOT be null when admin_enable is true!
# you can visit http://dev.duoshuo.com get duoshuo user id.
duoshuo_info:
  ua_enable: true
  admin_enable: true
  user_id: 0 # **这里不要动,千万别动**
  admin_nickname: DIY-green

# Code Highlight theme
# Available value:
#    normal | night | night eighties | night blue | night bright
# https://github.com/chriskempson/tomorrow-theme
#highlight_theme: normal
# 代码高亮主题
highlight_theme: night eighties

# 打赏配置
# 打赏说明文本
reward_comment: 坚持原创技术分享,您的支持将鼓励我继续创作!
# 微信收款二维码
wechatpay: /uploads/images/wechat-reward-image.png
# 支付宝收款二维码
alipay: /uploads/images/alipay-reward-image.png

# 友情链接
links_title: Links
links:
  DIY-green简书: http://www.jianshu.com/users/0ad0a0afc409/latest_articles


# 订阅微信公众号
# Wechat Subscriber
#wechat_subscriber:
#  enabled: true
#  qcode: /uploads/wechat-qcode.jpg
#  description: 欢迎您扫一扫上面的微信公众号,订阅我的博客!
「分类」菜单

操作步骤:

---
title: 博客分类 
date: 2017-11-04 11:55:57
type: "categories" #将页面的类型设置为 categories,主题将自动为这个页面显示所有分类
comments: true #如果有启用多说 或者 Disqus 评论,默认页面也会带有评论。需要关闭的话,设置为 false
---

操作步骤:

---
title: 标签 
date: 2017-11-04 11:58:48
type: "tags" #将页面的类型设置为 tags,主题将自动为这个页面显示标签云
comments: true #如果有启用多说 或者 Disqus 评论,默认页面也会带有评论。需要关闭的话,设置为 false
---

注意事项:

七、写博客与发布

经过上述步骤,本地博客和主题设置已经完成,那么接下来就是写博客了。

你的博客文件需要存放到 xxx.github.io/source/_posts 文件夹中,在该文件夹下面可以按照你的博客分类建立一系列的文件夹来管理博客原文件。

操作步骤:

---
title: 个人博客搭建详解(Windows和Mac通用版)
categories:  #这里写的分类会自动汇集到 categories 页面上,分类可以多级,Hexo不支持指定多个同级分类,所以个人博客将是实用技术的二级分类
- 实用技术 # 一级分类
- 个人博客 # 二级分类 
tags:   #这里写的标签会自动汇集到 tags 页面上
- 实用 #可配置多个标签,注意格式
- 个人博客
---

>Hexo 是一个基于nodejs 的静态博客网站生成器,作者是来自台湾的 Tommy Chen,基于这个可以很方便地将个人源代码和静态网页区分,非常赞的框架。

>第一篇自己写的博客,好有成就感~~~

注意:分类和标签是自动维护的,关键是的文章要按照规定的格式写,如上格式,可以参考。

说明:Next 主题会自动生成目录,这也省了不少事。

注意事项:

八、替换自己的域名

如果你能做到上面一步,恭喜你已经差不多可以毕业了。本着极客的精神,自己的博客域名老是寄人篱下,总不是个滋味。所以推荐同学们去阿里云买一个自己的域名,将这个域名作为自己博客的域名,是不是瞬间变得高大上了,俨然一种极客的风范。

我们的 XXXX.github.io 域名重定向了,需要修改配置文件中的 url键值,不然访问你的域名的时候会被指到奇怪的 yoursite.com网站。

修改 url 键值 输入你的域名

添加方法可以参考这里

设置完 Github 仓库的重定向域名后,我们还要在阿里云添加域名解析。

操作步骤:

解析记录

注意,One More Thing:

因** Github Pages** 是有限制的,只允许一个域名跳转过来,而且这个域名必须声明在 CNAME文件中。所以,我们需要添加一个 CNAME
文件到项目的 master 中才行。但是对于 Hexo 3有一个坑,Hexo 3每次生成静态网页会完全覆盖之前的内容。如果我们直接创建一个新文件CNAME,填好域名,然后部署,会发现在下一次部署后这个文件就消失了,因为 HEXO 并不会自动生成 CNAME 文件,所以在部署时被覆盖删除了。

所以这里推荐:使用这个 CNAME 工具 hexo-generator-cname,它会自动在public 里生成一个 CNAME 文件。

添加完这一步后,我们就用命令行定位到 xxx.github.io目录,输入: hexo clean && hexo g && hexo d。这时你访问你自己注册的域名就会看到你的博客了,哈哈哈哈,是不是很想欢呼,做到这里恭喜你已经完全搭建好了你的个人博客,接下来就用内容让你的博客变得多姿多彩吧!

九、参考资料

如果喜欢我的文章,可以点点赞,你的鼓励将是我持续创作的动力,谢谢~

上一篇 下一篇

猜你喜欢

热点阅读