hexo部署github和gitment操作简单介绍
优点:
- 快速高效
- 支持markdown
- 布局自定义简单,无广告
- 部署简单
因为想开始写博客,但又找不到好的博客平台,平时都看博客园和开源中国看博客文章,但博客园的那个皮肤是真有点难受,所以就想自己打个博客平台用着,然后blog的话还是发表到博客园,博客园叫 姚刚,有兴趣的关注一下,以后会出一些关于运维和oracle的文章
**本次环境:
个人笔记本+centos6.9 + node.js v8.9.4 + theme(NexT.Mist v5.1.4)+ githup + gitment **
因为第一次开始搭建,主要记录一下操作步骤,可能对原理和其他分析不太全面,请原谅,有不当的或错误的见解希望指正。反正博客刚开始也没有访问量,所以就不打算购买域名,将个人博客部署到githup就好。
正文
安装git
先安装git 或者node.js都行
#直接yum进行安装、
yum -y install git-core
#初始化
git config --global user.name "yao gang"
git config --global user.email "xxx@qq.com"
安装node.js
#下载适合自己平台的进行解压:https://nodejs.org/zh-cn/download/
#我装了minimal版,下载node.js源码进行编译安装,开始报错,没有gcc g++
yum -y install gcc gcc-c++ #注意是 gcc-c++ 而不是 g++
#开始编译
./configure --prefix=/usr/local/node.js.8.9.4
#报警告 WARNING: C++ compiler too old, need g++ 4.9.2 or clang++ 3.4 (CXX=g++)
#升级c++编译器gcc
#下载源码包进行编译安装 https://ftp.gnu.org/gnu/gcc/
#我下载 4.9.2,因为我怕版本太高其他依赖又可能出问题
wget http://gcc.skazkaforyou.com/releases/gcc-4.9.2/gcc-4.9.2.tar.gz;
tar -zxvf gcc-4.9.2.tar.gz
cd gcc-4.9.2
mkdir build
cd build
yum install gmp-devel mpfr-devel libmpc-devel
../configure --prefix=/usr
make && make install # 如果期间还出现问题,小的可以忽略,但需要安装成功,否则自行百度解决
#返回node.js.8.9.4目录下
./configure --prefix=/usr/local/node8.9.4
make && make install #直到安装成功
安装hexo
# 编辑 /etc/profile (使用vim)
vim /etc/profile
# 在底部添加 PATH 变量
export PATH=$PATH:/usr/local/node8.9.4/bin
# 保存退出,先按exit键,再按shift+:
wq
# 最后保存并使其生效即可
source /etc/profile
# 执行命令有输出即代表安装和环境配置成功
node --version # v8.9.4
配置hexo
# 创建目录
mkdir blog
# 切换目录
cd blog
# 安装 Hexo
npm install -g hexo-cli
# 查看
执行命令: hexo version # 有输出:
hexo-cli: 1.0.4
os: Linux 2.6.32-696.el6.x86_64 linux x64
http_parser: 2.7.0
node: 8.9.4
v8: 6.1.534.50
uv: 1.15.0
zlib: 1.2.11
ares: 1.10.1-DEV
modules: 57
nghttp2: 1.25.0
openssl: 1.0.2n
icu: 59.1
unicode: 9.0
cldr: 31.0.1
tz: 2017b
#安装hexo 插件
npm install hexo-generator-index --save
npm install hexo-generator-archive --save
npm install hexo-generator-category --save
npm install hexo-generator-tag --save
npm install hexo-server --save
npm install hexo-deployer-git --save
npm install hexo-deployer-heroku --save
npm install hexo-deployer-rsync --save
npm install hexo-deployer-openshift --save
npm install hexo-renderer-marked --save
npm install hexo-renderer-stylus --save
npm install hexo-generator-feed --save
npm install hexo-generator-sitemap --save
后面部署会用到 hexo-deployer-git --save,其他的好像不安装也行,我当时使用简单,并没有用到。
# 初始化 Hexo
hexo init
ls # 生成hexo工程: _config.yml db.json node_modules package.json package-lock.json public scaffolds source themes
# _config.yml hexo的主要配置文件
# db.json hexo的文件存储,以后的博客文章文件应该就是存储在这里
# node_modules node的模块
# package.json hexo的插件
# package-lock.json node的相关依赖
# public 后面部署就是部署这里的文件
# scaffolds 模板文件,可以编译下面的模板供后续使用,post、page 和 draft,默认是post
# source 使用hexo命令写作的博客页面都是在这下面,可以手动拷贝到此路劲下指定位置
# themes hexo的主题配置文件
这里介绍几个hexo命令
hexo init # 在当前路劲初始化hexo博客框架工程
hexo generate/hexo g # 后面是简写,讲hexo的 .md 博客文件通过 node.js 渲染生成静态页面
hexo deploy/hexo d # 将生成到public下面的静态文件部署到xx/blog/_config.yml 指定的地方,待会我会配置为githup的一个用户名仓库,省的购买域名,需要安装git部署插件
hexo server/hexo s # 启动hexo服务器,访问入口http://localhost:4000(注意防火墙)
hexo clean # 删除上面的db.json数据存储文件
hexo d -g # 先生成,接着部署到制定位置
hexo s -g # 先生成,接着在本地启动服务器
hexo new "我的hexo博客文章1" # 这就是博客的文章内容
hexo new page "测试页面1" # hexo new page "categories" hexo new page "categories"(主要用到这2个页面,当然你可以在丰富一些,这两个页面主要是用来做博客菜单按钮的跳转页面使用的)
这部分有点杂乱,但也是为了给新手说明一下配置文件,也可以看官网文档 https://hexo.io/zh-cn/docs/
上面我们初始化以后,执行 hexo s -g 会在public里面按默认的post布局生成静态的html、css、js等文件,访问 localhost:4000,即可看到原生最简单的hexo主页了。ctrol + c关闭服务器。
到这里,我们的hexo服务器已经基本完成,是不是很简单呢?如果你购买了域名的话,再设置一下喜欢的主题,就完成了。
配置githup
由于我的博客没有人气,所以舍不得买域名,就把它部署到github,使用它的用户域名吧,虽然在国外,其实速度也还好啦。你可以点击我的博客试试,可能你要翻墙才能访问
# 首先,需要注册github,然后创建仓库,仓库名需要 重点 注意一下: 用户名 + .github.io
# 例子:我的仓库名为: hd-yaogang.github.io 我的用户名是 :hd-yaogang
# 以后你的博客域名就是 xxx.github.io,我的就是 hd-yaogang.github.io
#设置hexo所在服务器可以使用git免密ssh部署到 github
#在hexo服务器生成rsa免密私钥和公钥
ssh-keygen -t rsa # 一直回车即可,然后执行命令
cat /root/.ssh/id_rsa.pub # 将输出的ssh-rsa到结束的一段内容,将这段内容保存到github
点进进入github仓库,再依次点击 settings-->Deploy keys-->add deploy key,然后随意设置key名字,将 /root/.ssh/id_rsa.pub 的内容粘贴到里面,点击保存完成即可。
部署hexo
# 首先测试一下git,执行命令
mkdir git_test
cd git_test
git clone git@git@github.com:hd-yaogang/hd-yaogang.github.io.git
默认会克隆主分支master,虽然是空的目录,但是也能验证git是否免密登录了
# 编辑hexo主要配置文件
[root@yg blog]# vim _config.yml # 注意你所在位置
# 找到下面,模仿着修改一下,注意type是git,注意:后面 有空格,注意配置文件的属性颜色能提示你对不对
deploy:
type: git
repo: git@github.com:hd-yaogang/hd-yaogang.github.io.git
branch: master
message: 'yg-blog 站点更新:{{now("YYYY-MM-DD HH/mm/ss")}}'
# 执行命令
hexo new “我的hexo 测试博客1”
hexo s -g # 访问http://localhost:4000
# 然后部署到git
hexo d -g # 访问 https://hd-yaogang.github.io ,已经显示博客了
配置hexo theme
[root@yg blog]# git clone --branch v5.1.2 https://github.com/iissnan/hexo-theme-next themes/next
# 下载next主题,也可以自己下载其他喜欢的,放到theme下面即可,这主题不错,后续根据自己需要再改一些
# 启用next主题
[root@yg blog]# vim _config.yml # 找到theme编辑为: theme: next
# 重新部署
hexo d -g # 刷新git的博客域名,多刷几次,可能有点慢,主题已经改变的很简洁。
主题的细节设置参考,很详细了:
http://theme-next.iissnan.com/theme-settings.html
http://www.jeyzhang.com/next-theme-personal-settings.html
http://shenzekun.cn/hexo的next主题个性化配置教程.html
http://michael728.github.io/2015/11/30/hexo-next-optimize/
配置gitment
hexo有很多评论插件,当时也没多研究,就直接上了gitment,可能看的教程简单吧,哈哈哈,但是他评论时候需要登录githup,而且刚开始部署时,这个插件时有时无,有时你刷一下博客评论就不见了。样式的话还不错,可以看我博客评论的样子 https://hd-yaogang.github.io
首先到github登录,然后依次点击-->账户-->settings-->Developer settings-->New Aouth App,名字叫 Gitment ,homeURL和AuthorizationURL都填写你的域名:https://hd-yaogang.github.io,后面会生成 client ID和 Client Secret,需要配置到hexo的主题配置文件中
然后创建一个空的仓库,名字是:gitment-comments
然后编辑主题配置文件:# 修改相应的,其余的和空着的不用管
gitment:
enable: true
mint: true
count: true
lazy: false
cleanly: false
language: zh-Hans # 这是指定插件为中文
github_user: hd-yaogang # 这是github用户名
github_repo: gitment-comments # 这是空的仓库名,用来存储评论内容
client_id: cc592528b859ff59a848 # 这是创建app时的id
client_secret: 80fe54cd8f5f7d58997cc268e376e1552c7020c7 # 这是创建app时的秘钥
proxy_gateway:
redirect_protocol:
# 再次部署
hexo d -g
结语
由于每个人能力与想法、环境各都不同,所以可能嫌我写的差,写的啰嗦,写的不好
但是慢慢来,希望有错误的话帮忙指出,谢谢!
hexo部署github和gitment操作简单介绍的更多相关文章
- hexo部署Github博客
例子:https://aquarius1993.github.io/blog/ 仓库:https://github.com/Aquarius1993/blog (前提是已经安装Xcode和git) 1 ...
- [Unity3D]EZGUI 操作简单介绍
官方的GUI根本无法跟EZGUI比,无论是资源还是易用性还是速度.EZGUI基于Mesh不占DrawCall.EZGUI是自动合并Mesh成为一个物体,并且贴图自动制作Atlas.所以效率高,CPU消 ...
- 使用Hexo搭建github博客步骤,超简便
categories: 工具 tags: git Windows 搭建博客 你只需要node环境和一个github账号就可以开工啦! 本教程适合于Windows环境,Mac教程也大同小异 利用hexo ...
- 使用Travis CI自动部署Hexo到GitHub
原文链接(转载请注明出处):使用Travis CI自动部署Hexo到GitHub 前言 使用 hexo + gitPages 搭建个人博客的人都知道,每当要发表一篇博文,第一步得手动使用 hexo g ...
- 博客 | 基于Travis CI实现Hexo在Github和Coding的同步自动化部署
文章目录 完成Hexo主题安装和配置 基于Travis CI实现同步部署 参考内容 相关链接 待补充 完成Hexo主题安装和配置 如果您还没有安装Hexo环境,请参考Hexo文档安装,也给出这样两篇博 ...
- Python + selenium + pycharm 环境部署细节 和selenium、Jenkins简单介绍
一.测试体系:Python + selenium + pycharm + Jenkins/docker 环境搭建: 1.安装python 3.4/3.5 2/3.6/ 3.7 2.配置环境变量 3.p ...
- Lua Go R HEXO Kotlin 简单介绍
Lua Lua使用C编写而成的脚本语言.同为脚本语言的Python拥有庞大的类库工具包,定位于独立开发,Lua极度精简化,没有提供太多功能包,必须与C.C++等语言混合使用,目的是为了快速并动态的嵌入 ...
- 使用Github SSH Key来避免Hexo部署时输入账户密码
博客原文:http://fengyao.me/2016/04/10/use-git-ssh-key-carry-hexo-deploy/ 前言 当hexo使用https方式连接Github时,每次执行 ...
- 【Hadoop离线基础总结】impala简单介绍及安装部署
目录 impala的简单介绍 概述 优点 缺点 impala和Hive的关系 impala如何和CDH一起工作 impala的架构及查询计划 impala/hive/spark 对比 impala的安 ...
随机推荐
- textarea显示源代码
textarea显示源代码 近期做的项目中,有需要显示源码的效果 最开始使用了很多冗余的办法,使用<pre></pre>和<code></code>标签 ...
- Specified key was too long max key length is 1000 bytes
Mysql建立索引时遇到一个问题就是索引字段长度太长,解决办法: 1.修改字段长度 : 2.修改mysql默认的存储引擎 ,修改为INNODB: https://www.2cto.com/databa ...
- Windows程序设计学习笔记(五)——菜单资源和加速键的使用
菜单可能是Windows提供的统一用户界面中最重要的一种方式,菜单通常在标题栏的下一行显示,这一栏叫做菜单栏,菜单栏中的每一项称之为菜单项,菜单栏中的每一个菜单项在激活时会显现一个下拉菜单(也可以说是 ...
- redux入门指南
前言:大概一个月没有写博客了,这两天正好是周末,就写点东西来梳理下之前几个月的所写与所得; 大概两个月前,学习了一下 redux ,还是一点难度的,花了我一天的时间来搞明白他, 但是都没怎么记录,今天 ...
- String常用的方法
l String: 字符串类,字符串是常量:它们的值在创建之后不能更改 l 方法 boolean equals(Object obj) 判断两个字符串中的内容是否相同 boolean equalsIg ...
- 使用 requirejs 打包 jQuery 插件 datetimepicker 的问题记录
网站之前用的时间选择 UI 实在太丑,而且功能单一,决定全站改用 https://github.com/xdan/datetimepicker/ 里面有好几个 js,奇怪的是,只有 /build 目录 ...
- web前端性能优化总结
网站的划分一般为二:前端和后台.我们可以理解成后台是用来实现网站的功能的,比如:实现用户注册,用户能够为文章发表评论等等.而前端呢?其实应该是属于功能的表现.并且影响用户访问体验的绝大部分来自前端页面 ...
- Codeforces Round #300(A.【字符串,多方法】,B.【思维题】,C.【贪心,数学】)
A. Cutting Banner time limit per test:2 seconds memory limit per test:256 megabytes input:standard i ...
- 斐波那契数列 Library
http://acm.tju.edu.cn/toj/showp3267.html3267. Library Time Limit: 1.0 Seconds Memory Limit: 6553 ...
- 【Zigbee技术入门教程-01】Zigbee无线组网技术入门的学习路线
[Zigbee技术入门教程-01]Zigbee无线组网技术入门的学习路线 广东职业技术学院 欧浩源 一.引言 在物联网技术应用的知识体系中,Zigbee无线组网技术是非常重要的一环,也是大家感 ...