hexo项目架子搭建教程


layout: photo
title: myhexo
date: 2019-08-02 11:09:09
tags:hexo

hexo搭建教程

###Hexo简介

Hexo是一款基于Node.js的静态博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在GitHub和Coding上,是搭建博客的首选框架。大家可以进入hexo官网进行详细查看,因为Hexo的创建者是台湾人,对中文的支持很友好,可以选择中文进行查看。

教程分三个部分,

第一部分:hexo的初级搭建还有部署到github page上,以及个人域名的绑定。

第二部分:hexo的基本配置,更换主题,实现多终端工作,以及在coding page部署实现国内外分流

第三部分:hexo添加各种功能,包括搜索的SEO,阅读量统计,访问量统计和评论系统等。

#第一部分
hexo的初级搭建还有部署到github page上,以及个人域名的绑定。

##Hexo搭建步骤
1.安装Git

2.安装Node.js

3.安装Hexo

4.GitHub创建个人仓库

5.生成SSH添加到GitHub

6.将hexo部署到GitHub

7.设置个人域名

8.发布文章
###1.安装Git
Git是目前世界上最先进的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。也就是用来管理你的hexo博客文章,上传到GitHub的工具。Git非常强大,我觉得建议每个人都去了解一下。廖雪峰老师的Git教程写的非常好,大家可以了解一下。Git教程

windows:到git官网上下载,Download git,下载后会有一个Git Bash的命令行工具,以后就用这个工具来使用git。

linux:对linux来说实在是太简单了,因为最早的git就是在linux上编写的,只需要一行代码

sudo apt-get install git

安装好后,用git --version来查看一下版本
###2.安装nodejs
Hexo是基于nodeJS编写的,所以需要安装一下nodeJs和里面的npm工具。

windows:nodejs选择LTS版本就行了。

linux:

sudo apt-get install nodejs
sudo apt-get install npm

安装完后,打开命令行

node -v
npm -v

检查一下有没有安装成功

顺便说一下,windows在git安装完后,就可以直接使用git bash来敲命令行了,不用自带的cmd,cmd有点难用。
###3. 安装hexo
前面git和nodejs安装好后,就可以安装hexo了,你可以先创建一个文件夹blog,然后cd到这个文件夹下(或者在这个文件夹下直接右键git bash打开)。

输入命令

npm install -g hexo-cli

依旧用hexo -v查看一下版本

至此就全部安装完了。

接下来初始化一下hexo

hexo init myblog

这个myblog可以自己取什么名字都行,然后

cd myblog //进入这个myblog文件夹
npm install

新建完成后,指定文件夹目录下有:

node_modules: 依赖包

public:存放生成的页面

scaffolds:生成文章的一些模板

source:用来存放你的文章

themes:主题

** _config.yml: 博客的配置文件**

hexo g
hexo server

打开hexo的服务,在浏览器输入localhost:4000就可以看到你生成的博客了。

使用ctrl+c可以把服务关掉。

###4.GitHub创建个人仓库

首先,你先要有一个GitHub账户,去注册一个吧。

注册完登录后,在GitHub.com中看到一个New repository,新建仓库

创建一个和你用户名相同的仓库,后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是xxxx.github.io,其中xxx就是你注册GitHub的用户名

点击create repository。

###5.生成SSH添加到GitHub
回到你的git bash中,

git config --global user.name "yourname"
git config --global user.email "youremail"

这里的yourname输入你的GitHub用户名,youremail输入你GitHub的邮箱。这样GitHub才能知道你是不是对应它的账户。

可以用以下两条,检查一下你有没有输对

git config user.name
git config user.email

然后创建SSH,一路回车

ssh-keygen -t rsa -C "youremail"

这个时候它会告诉你已经生成了.ssh的文件夹。在你的电脑中找到这个文件夹。

ssh,简单来讲,就是一个秘钥,其中,id_rsa是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。

而后在GitHub的setting中,找到SSH keys的设置选项,点击New SSH key
把你的id_rsa.pub里面的信息复制进去。

在gitbash中,查看是否成功

ssh -T git@github.com

###6. 将hexo部署到GitHub
这一步,我们就可以将hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开站点配置文件 _config.yml,翻到最后,修改为

YourgithubName就是你的GitHub账户

deploy:
  type: git
  repo: https://github.com/YourgithubName/YourgithubName.github.io.git
  branch: master

这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。

npm install hexo-deployer-git --save

然后

hexo clean
hexo generate
hexo deploy

其中 hexo clean清除了你之前生成的东西,也可以不加。
hexo generate 顾名思义,生成静态文章,可以用 hexo g缩写
hexo deploy 部署文章,可以用hexo d缩写

注意deploy时可能要你输入username和password。

###7. 设置个人域名
现在你的个人网站的地址是 yourname.github.io,如果觉得这个网址逼格不太够,这就需要你设置个人域名了。但是需要花钱。

注册一个阿里云账户,在阿里云上买一个域名,我买的是 fangzh.top,各个后缀的价格不太一样,比如最广泛的.com就比较贵,看个人喜好咯。

你需要先去进行实名认证,然后在域名控制台中,看到你购买的域名。

点解析进去,添加解析。

其中,192.30.252.153 和 192.30.252.154 是GitHub的服务器地址。

注意,解析线路选择默认,不要像我一样选境外。这个境外是后面来做国内外分流用的,在后面的博客中会讲到。记得现在选择默认!!

登录GitHub,进入之前创建的仓库,点击settings,设置Custom domain,输入你的域名fangzh.top

然后在你的博客文件source中创建一个名为CNAME文件,不要后缀。写上你的域名。

最后,在gitbash中,输入

hexo clean
hexo g
hexo d

过不了多久,再打开你的浏览器,输入你自己的域名,就可以看到搭建的网站啦!

接下来你就可以正式开始写文章了。

hexo new newpapername

然后在source/_post中打开markdown文件,就可以开始编辑了。当你写完的时候,再

hexo clean
hexo g
hexo d

就可以看到更新了。

#第二部分
hexo的基本配置,更换主题,实现多终端工作,以及在coding page部署实现国内外分流。

###1. hexo基本配置

在文件根目录下的_config.yml,就是整个hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述。

####网站

参数描述
title网站标题
subtitle网站副标题
description网站描述
author您的名字
language网站使用的语言
timezone网站时区。Hexo 默认使用您电脑的时区。时区列表。比如说:America/New_York, Japan, 和 UTC 。

其中,description主要用于SEO,告诉搜索引擎一个关于您站点的简单描述,通常建议在其中包含您网站的关键词。author参数用于主题显示文章的作者。

参数描述
url网址
root网站根目录
permalink文章的 永久链接 格式
permalink_defaults永久链接中各部分的默认值

在这里,你需要把url改成你的网站域名。

permalink,也就是你生成某个文章时的那个链接格式。

比如我新建一个文章叫temp.md,那么这个时候他自动生成的地址就是http://yoursite.com/2018/09/05/temp。

以下是官方给出的示例,关于链接的变量还有很多,需要的可以去官网上查找 永久链接 。

参数描述
:year/:month/:day/:title/2019/08/01/hello-world
:year-:month-:day-:title.html2013-07-14-hello-world.html
:category/:titlefoo/bar/hello-world

再往下翻,中间这些都默认就好了。

theme: landscape

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
  type: git
  repo: <repository url>
  branch: [branch]

theme就是选择什么主题,也就是在theme这个文件夹下,在官网上有很多个主题,默认给你安装的是lanscape这个主题。当你需要更换主题时,在官网上下载,把主题的文件放在theme文件夹下,再修改这个参数就可以了。

接下来这个deploy就是网站的部署的,repo就是仓库(Repository)的简写。branch选择仓库的哪个分支。这个在之前进行github page部署的时候已经修改过了,不再赘述。而这个在后面进行双平台部署的时候会再次用到。

Front-matter

Front-matter 是文件最上方以 — 分隔的区域,用于指定个别文件的变量,举例来说:

title: Hello World
date: 2013/7/13 20:46:25
---

下是预先定义的参数,您可在模板中使用这些参数值并加以利用。

参数描述
layout布局
title标题
date建立日期
updated更新日期
comments开启文章的评论功能
tags标签(不适用于分页)
categories分类(不适用于分页)
permalink覆盖文章网址
permalink覆盖文章网址

其中,分类和标签需要区别一下,分类具有顺序性和层次性,也就是说 Foo, Bar 不等于 Bar, Foo;而标签没有顺序和层次。

categories:
- Diary
tags:
- PS3
- Games

layout(布局)

当你每一次使用代码

hexo new paper

它其实默认使用的是post这个布局,也就是在source文件夹下的_post里面。

Hexo 有三种默认布局:post、page 和 draft,它们分别对应不同的路径,而您自定义的其他布局和 post 相同,都将储存到 source/_posts 文件夹。

布局路径
postsource/_posts
pagesource
draftsource/_drafts

而new这个命令其实是:

hexo new [layout] <title>

page

如果你想另起一页,那么可以使用

hexo new page board

系统会自动给你在source文件夹下创建一个board文件夹,以及board文件夹中的index.md,这样你访问的board对应的链接就是http://xxx.xxx/board

draft

draft是草稿的意思,也就是你如果想写文章,又不希望被看到,那么可以

hexo new draft newpage

这样会在source/_draft中新建一个newpage.md文件,如果你的草稿文件写的过程中,想要预览一下,那么可以使用

hexo server --draft

在本地端口中开启服务预览。

如果你的草稿文件写完了,想要发表到post中,

hexo publish draft newpage

就会自动把newpage.md发送到post中。

###2.更换主题

到这一步,如果你觉得默认的landscape主题不好看,那么可以在官网的主题中,选择你喜欢的一个主题进行修改就可以啦。

直接在github链接上下载下来,然后放到theme文件夹下就行了,然后再在刚才说的配置文件中把theme换成那个主题文件夹的名字,它就会自动在theme文件夹中搜索你配置的主题。

而后进入hueman这个文件夹,可以看到里面也有一个配置文件_config.xml,貌似它默认是_config.xml.example,把它复制一份,重命名为_config.xml就可以了。这个配置文件是修改你整个主题的配置文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值