HEXO与Github.io搭建个人博客

HEXO搭建
    HEXO是基于Node.JS的一款简单快速的博客框架,能够支持多线程,支持markdown,可以将生成的静态网页发布到github.io以及coding上。
要使用搭建HEXO博客,先安装hexo
1.安装node.js

sudo apt-get install -y python-software-properties software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

2.安装npm
    npm全名:Node Package Manager,是Nodejs的包管理器。
ubuntu16.04LTS自带nodejs和npm,但是版本较低,假如要安装最新的,先移除自带的。

sudo apt-get remove nodejs && sudo apt-get remove npm

再清理依赖包:

sudo apt-get autoremove

官网上下载nodejs:

cd  /opt && wget https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-x64.tar.xz
xz -d node-v4.4.5-linux-x64.tar.xz && tar vxf node-v4.4.5-linux-x64.tar

让任意目录可以访问,先配置环境变量

sudo vim /etc/profile

文件最后加上

export PATH=$PATH:/opt/node-v4.4.5-linux-x64/bin

也可以通过软链接,使得任意目录可访问
将node和npm链接到系统默认的PATH目录下的一个,软链接方式如下

ln -s /home/simon/node-v4.4.5-linux-x64/bin/node /usr/local/bin/node
ln -s /home/simon/node-v4.4.5-linux-x64/bin/npm /usr/local/bin/npm

同步文件配置:

source /etc/profile

查看版本:

node –version && npm –version

3.安装hexo
国外站点网速较慢,建议换成淘宝站点

npm install -g npm –registry=https://registry.npm.taobao.org
npm –version

接下来安装hexo-cli
切换到一个合适的目录下

npm install -g hexo-cli

下载完毕之后可以检测一下:
hexo –version
4.配置
hexo本地文件在安装插件的时候,最好都是用root身份执行,不然经常遇到一些问题
初始化本地路径

cd /home/simon/hexo && hexo init

生成node_modules

npm install

生成本地博客

hexo g
hexo server

在浏览器下输入http://localhost:4000,成功的话就生成hexo的标准界面

###部署到github
    新建一个repository,例如web(网上说要把名字设置成your_github_name.github.io这种格式,否则会404,但是我没有采用,也能生成)
修改hexo根目录下的_config.yml,新增关联仓库
deploy:
type: git
repository: https://github.com/yourID/web.git
branch: master
注意了,变量名之前要有两个空格,参数值前要有一个空格,通过:分割
假如格式不对,不能被识别,比如:
You should configure deployment settings in _config.yml first!

Available deployer plugins:
git

这样的错误
或者:FATAL remote: Repository not found.
完成之后,到github上完成部署
在项目的setting项找到Github Pages,生成项目
回到终端部署

hexo deploy

如果报错说缺少deployer:npm install hexo-deployer-git –save
打开 https://yourID.github.io/web/ 就可以看到效果,同时自己的github项目也会有文件更新
注:中途可能遇到github的配置问题,请尝试用ssh
ssh-keygen -C “username@email.com” -t rsa

Note: “username@email.com”需要更换成你在Github上注册的Email地址或者是Username
这样会在家目录生成一个公钥文件夹.ssh,其中id_rsa.pub是Github需要的SSH公钥文件。复制后粘贴到github上
hexo简写命令格式:

hexo g == hexo generate(生成静态网页)
hexo d == hexo deploy(部署)
hexo s == hexo server(测试)
hexo n xxx (new article)
hexo clean
hexo help

还有其他选项:
init 创建一个hexo项目
migrate 从其他系统向hexo迁移
version 查看hexo的版本
–config参数,指定配置文件,代替默认的_config.yml
–debug参数,调试模式,输出所有日志信息
–safe参数,安全模式,禁用所有的插件和脚本
–silent参数,无日志输出模式
hexo有许多的主题和插件,可以通过npm、git工具来进行下载,放在theme下
hexo根目录的目录及文件说明:

scaffolds 脚手架,也就是一个工具模板
scripts 写文件的js,扩展hexo的功能
source 存放博客正文内容
source/_drafts 草稿箱
source/_posts 文件箱
themes 存放皮肤的目录
themes/landscape 默认的皮肤
_config.yml 全局的配置文件
db.json 静态常量

_posts目录:Hexo是一个静态博客框架,因此没有数据库。文章内容都是以文本文件方式进行存储的,直接存储在_posts的目录。Hexo天生集成了markdown,我们可以直接使用markdown语法格式写博客,例如:hello-world.md。新增加一篇文章,就在_posts目录,新建一个xxx.md的文件。

themes目录:是存放皮肤的,包括一套Javascript+CSS样式和基于EJS的模板设置。通过在themes目录下,新建一个子目录,就可以创建一套新的皮肤,当然我们也可以直接在landscape上面修改。

###全局配置

_config.yml是全局的配置文件:很多的网站配置都在这个文件中定义。

站点信息: 定义标题,作者,语言
URL: URL访问路径
文件目录: 正文的存储目录
写博客配置:文章标题,文章类型,外部链接等
目录和标签:默认分类,分类图,标签图
归档设置:归档的类型
服务器设置:IP,访问端口,日志输出
时间和日期格式: 时间显示格式,日期显示格式
分页设置:每页显示数量
评论:外挂的Disqus评论系统
插件和皮肤:换皮肤,安装插件
Markdown语言:markdown的标准
CSS的stylus格式:是否允许压缩
部署配置:github发布
 
参考:http://www.tuicool.com/articles/y6JJV3Z(最详细)
http://www.cnblogs.com/purediy/archive/2013/03/07/2948892.html
http://www.aichengxu.com/other/10706481.htm
 
Technorati Tags: 博客

HEXO与Github.io搭建个人博客的更多相关文章

  1. 用Hexo在GitHub上搭建个人博客

    我用Hexo在GitHub上搭建好了自己的博客,我的这第一篇博客就来说说搭建的过程. 1 环境配置 本文使用环境如下: Windows 10 node.js v8.1.3 git v2.13.2 np ...

  2. HEXO+Git+Github+域名搭建个人博客

    搭建个人博客可以分为以下五个部分 一.搭建本地环境(个人为Win10) 1.安装Git,下载地址:点击 下载后,按提示进行安装即可,作用是:把本地的内容提交到github上去 注意:官网下载速度不是很 ...

  3. 使用Hexo在github上搭建个人博客

    最近正好在学习前端开发,想着搭建一个属于自己的个人博客,把自己的技能树整理整理,温故而知新. 如果你有前端开发经验,那么搭建这样的博客就很简单了. 一 什么是Hexo     Hexo 是一个快速.简 ...

  4. 关于采用github.io搭建个人博客

    创建github技术博客技术攻略 http://blog.csdn.net/renfufei/article/details/37725057/ 搭建一个免费的,无限流量的Blog----github ...

  5. 基于 Hexo + GitHub Pages 搭建个人博客(一)

    前言:我的博客写作之路 15 年刚上大学,第一次接触公众号,就萌生了创建一个公众号写点东西,但最终不了了之. 很快到了 16 年,开始接触网上各大博客网站,接触最多的当属 CSDN,萌生了注册一个博客 ...

  6. 基于 Hexo + GitHub Pages 搭建个人博客(二)

    在 基于 Hexo + GitHub Pages 搭建个人博客(一) 这篇文章中,我们已经知道如何使用 Hexo + GitHub Pages 搭建一个个人博客,GitHub 为我们提供了免费的域名和 ...

  7. 基于 Hexo + GitHub Pages 搭建个人博客(三)

    一.添加扫描二维码关注功能 打开 themes 目录下的 next 主题配置文件,找到 Wechat Subscriber 标签,将该标签下的配置改成如下形式: # Wechat Subscriber ...

  8. 使用Hexo + GitHub Pages 搭建个人博客

    一.前言 之前是在CSDN上写博客的,但是无奈其广告满天飞,还有因为个人不太喜欢CSDN博客里的一些东西,加上看到很多技术大牛都有自己的个人博客,于是乎!便想着搭建一个自己的个人博客.其实之前写博客还 ...

  9. 【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

随机推荐

  1. 【IdentityServer4文档】- 使用密码保护 API

    使用密码保护 API OAuth 2.0 协议允许资源拥有者给客户端密码授权:客户端向令牌服务发送用户密码,以获取代表该用户的访问令牌. 该规范建议仅将“资源所有者密码授予”用于“可信”(或旧版)应用 ...

  2. 解决zabbix使用中文是出现乱码的问题

       解决zabbix使用中文是出现乱码的问题 ①:上传windows的simhei.ttf字体到zabbix服务器的/usr/share/zabbix/fonts/目录下   ②:编辑/usr/sh ...

  3. 0330复利计算java版

    package compounding; import java.util.Scanner; public class compounding1_1 { public static void main ...

  4. (五)Jmeter中的属性和变量

    一.Jmeter中的属性: 1.JMeter属性统一定义在jmeter.properties文件中,我们可以在该文件中添加自定义的属性 2.JMeter属性在测试脚本的任何地方都是可见的(全局),通常 ...

  5. [转帖]Linux 的UTC 和 GMT

    1.问题 对于装有Windows和Linux系统的机器,进入Windows显示的时间和Linux不一致,Linux中的时间比Windows提前8个小时. 2.解决方法 修改/etc/default/r ...

  6. PHP中访问控制修饰符

    访问控制修饰符 形式: class  类名{ 访问控制修饰符  属性或方法定义: } 有3个访问修饰符: public公共的:在所有位置都可访问(使用). protected受保护的:只能再该类内部和 ...

  7. PHP中类中成员及常量

    类中成员概述 面向对象编程,是需要通过“对象”去做什么事情(以完成某种任务): 而: 对象总是来源于类: 所以: 面向对象的编程,一切都是从定义类开始: 类中成员分为3大类: 属性: 方法: 常量: ...

  8. 使用JMeter录制Web应用测试脚本

    环境 操作系统:Windows 7 工具:JMeter.Badboy 1. 使用代理录制Web性能测试脚本 使用代理录制脚本来创建测试计划无疑是一个简便的方法,代理所要完成的工作就是录制发往服务器的请 ...

  9. collection 在创建迭代器后 不能在添加数据 否则会出现并发问题

    collection 在创建迭代器后 不能在添加数据 否则会出现并发问题

  10. 【bzoj1067】[SCOI2007]降雨量 倍增RMQ

    题目描述 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和200 ...