使用Hexo搭建博客步骤详解

简介

hexo —— 简单、快速、强大的Node.js静态博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

特性

  • 风一般的速度
    Hexo基于Node.js,支持多进程,几百篇文章也可以秒生成。

  • 流畅的撰写
    支持GitHub Flavored Markdown和所有Octopress的插件。

  • 扩展性
    Hexo支持EJS、Swig和Stylus。通过插件支持Haml、Jade和Less.

基本配置和使用的工具

操作系统:Windows 7

使用的工具:GitNode.js

Git用于把部署在GitHub的内容获取至本地,Node.js用于安装Hexo。

基本步骤

安装Git

  • 安装 Git,目前支持 Linux/Unix、Solaris、Mac和 Windows 平台上运行

安装Node.js

  • 下载安装文件,nodejs官网,我这里下载的是node-v6.11.2-x64.msi.
  • 安装nodejs

    双击”node-v6.11.2-x64.msi”,开始安装nodejs,自定义安装在D:\dev\nodejs下面。

    在cmd控制台输入:node -v,控制台将打印出:v6.11.2,出现版本提示表示安装成功。

    该引导步骤会将node.exe文件安装到D:\dev\nodejs\目录下,并将该目录添加进PATH环境变量。

  • 安装相关环境

    npm install express -g
    npm install jade -g
    npm install mysql -g
    npm install coffee-script -g
    

    所有命令都是-g进行全局安装的,这样安装的安装包都在当前用户下,在磁盘的所有其他地方都可以访问到,比较方面。否则安装在当前目录下,只能在当前目录下使用。

    默认情况下上述组件都是安装在D:\dev\nodejs\node_modules文件夹下,这也是nodejs相关组件的自动查找路径。确认安装的命令:coffee -v,出现版本号表示成功安装。

以上环境基本就配置完成

安装Hexo

  • 这一步的前提是必须先安装 Node.js和Git

    1
    npm install hexo -g
  • 升级,更新hexo到最新版(升级仅需一步就把 Hexo 本体和所有相依套件安装完毕)

    1
    npm update hexo -g
  • 安装hexo-deployer-git,用于将博客的内容部署到git上

    1
    npm install hexo-developer-git --save
  • 初始化如果指定 <folder>,便会在目前的资料夹建立一个名为<folder>的新资料夹;否则会在目前资料夹初始化。在Git命令行窗口中输入(指定 的方法是):

    cd [需要指定的文件夹路径]
    
  • 跳转到对应的文件夹目录下后,进行初始化:

    hexo init
    
  • 初始化后对应的资料夹中有一下文件(_config.yml, theme/, source/, scaffolds/, package.json, .gitignore);文件作用:

    _config.yml:整个站点的配置,包括基本介绍,所使用的主题,关联的仓库等;

    theme/:所用的主题以及主题的配置;

    source/:目前所写的所有文章以及404页面等;

    scaffolds/:Hexo所提供的模板文件;

    package.json:说明站点使用了哪些包;

    gitignore:放置在git端时忽略的文件;

安装Markdown编辑器

  • 简介:Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式。git上上传的文本一般都是用Markdown编辑的,而且它的语法也很简单,所以这很实用。

  • 安装,下载地址,下载得到 markdownpad2-setup.exe,双击并完成安装。

  • 作用:由于使用Hexo写博客,其中博客文章的格式就是.md格式,需要使用Markdown编辑器完成编辑,将纯文本转化为html,在浏览器上显示出来。

  • Markdown语法说明

安装主题

可以到Hexo官网主题页去搜寻自己喜欢的theme。我安装的是hexo-theme-next。

next主题使用文档:http://theme-next.iissnan.com/

hexo的next主题个性化教程:打造炫酷网站

发布文章

1) 新建文章

在对应的博客文件夹下的git-bash命令行中运行以下命令

$ hexo new "filename"        #新建文章

新建文章之后,在博客对应的文件夹source\_posts中找到对应的.md文件,然后用Markdown编辑器打开,对文章内容进行编辑。

2)本地服务器上测试

保存文章后,在git-bash命令行中输入以下命令

1
2
3
4
5
6
7
# 清除Hexo的缓存,包括 (db.json) 和已生成的静态文件 (public)
$ hexo clean

$ hexo new "Hello World" # 创建新博客

$ hexo generate # 生成静态网站,或者hexo g命令
$ hexo s # 打开本地服务器

伺服器会跑在 http://localhost:port (port 预设为 4000,可在 _config.yml 设定),可在本地访问:http://localhost:4000

3)关联远程GitHub

  • 修改_config.yml配置文科,终端cd到blog(这个是本地存放博客的文件夹,如beatriceblog)文件夹下,打开_config.yml,找到文件的最后两行,修改成下边的样子:

    1
    2
    3
    4
    deploy:
    type: git
    repository: https://github.com/jeasonstudio/jeasonstudio.github.io.git
    branch: master
> 非常重要:在配置所有的_config.yml文件时(包括theme中的),在所有的冒号:后边都要加一个空格,否则执行hexo命令会报错> 出现下列错误的解决方案
1
2
3
4
5
# 生成网页时,出现错误:ERROR Local hexo not found in ~/blog   
npm install hexo --save

# 若执行命令hexo deploy仍然报错:无法连接git,则执行如下命令来安装hexo-deployer-git:
npm install hexo-developer-git --save
  • 关联GitHub账号及仓库

    • 根据已有的GitHub账号,配置本地Git(其实就是建立本地Git与服务器上GitHub账号的关联)

      • 在本地创建ssh key:在本地的git bash命令窗口输入下列命令,`your_email@youremail.com为你在github上注册的邮箱,如beatrice.qq.com`

        1
        $ ssh-keygen -t rsa -C [your_email@youremail.com]
      • 复制ssh key: ,输入上面的命令后,会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在C:\Users\[本机的用户名]下生成.ssh文件夹,进去,打开id_rsa.pub,所有的文件内容就是ssh key,复制下来。

      • 添加ssh key到Github:回到github网页上,进入 Account Settings(账户配置),左边选择SSH Keys,Add SSH Key,title随便填,粘贴电脑上生成的key,完成后就是下面的状态。

      • 验证是否成功,在git bash下输入:

        1
        $ ssh -T git@github.com
    > 如果是第一次生成ssh key的会提示是否continue,输入yes就会显示已成功连上github。- 本地仓库关联github- **设置username和email**,因为github每次commit都会记录他们
1
2
$ git config --global user.name [your name]
$ git config --global user.email [your_email@youremail.com]
- **关联远程GitHub仓库**,进入要上传的本地仓库所在目录,右键打开git bash窗口,添加远程地址:
1
2
3
4
$ git remote add origin git@github.com:yourName/yourRepo.git

# 例如,连接自己的博客远程仓库
git remote add origin git@github.com:dby124/dby124.github.io.git
> yourName和yourRepo表示你在github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote "origin"内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。 - **创建新本地git仓库**:进入要上传的本地仓库所在目录,然后执行 `git init` 以创建新的 git 仓库。
1
$ git init
  • 参考GitHub简明教程

4)部署到对应的网站上去

本地测试没有问题后,执行下面命令

1
2
$ hexo g                     # 生成静态网页
$ hexo d #上传到GitHub对应的仓库中

自动备份Hexo博客源文件

  • 安装shelljs模块

    1
    npm install --save shelljs

    模块安装完成,在blog根目录的scripts文件夹(如果没有就新建一个)下新建一个js文件,文件名随意取

  • 修改脚本内容中,hexo的根目录路径

    1
    cd('D:/nodejs/beatriceblog');    //此处修改为Hexo根目录路径

这样,每次更新博文并deploy到服务器上之后,备份就会自动启动并完成备份。

参考:hexo个人博客搭建教程

【Hexo+Github】域名和github绑定的问题

  • 本地端

    /blog/themes/landscape/source目录下新建文件名为:CNAME文件,注意没有后缀名!直接将自己的域名如:jeasonstudio.com写入。

    终端cd到blog目录下执行如下命令重新部署:

    1
    2
    3
    $ hexo clean
    $ hexo g
    $ hexo d
  • 域名解析

    • 如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录。
    • 登录你注册域名的网站,比如万网,在你购买的域名后边点击:解析 –> 添加解析
    • 记录类型:CNAME
    • 主机记录:将域名解析为example.com(不带www),填写@或者不填写
    • 记录值:yourname.github.io. (不要忘记最后的,yourname改为你自己的用户名),点击保存即可。

参考:【Hexo+Github】域名和github绑定的问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/242840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

32个最热CPLD-FPGA论坛

1. OPENCORES.ORG 这里提供非常多&#xff0c;非常好的PLD了内核&#xff0c;8051内核就可以在里面找到。进入后&#xff0c;选择project或者由http//www.opencores.org/browse.cgi/by_category进入。对于想了解这个行业动态人可以看看它的投票调查。http://www.opencores.org/…

师兄师姐就业分享会

华为算法工程师自我定位&#xff08;找一个岗位&#xff0c;好好准备)&#xff1b; 来自当年带我走上这条路的学长 。算法工程师对学术要求比较高&#xff0c;发过高水平论文优势很大 通常是月薪14k以上&#xff0c;年薪20万以上&#xff0c;只是一个概数&#xff0c;具体薪资详…

简单模块说明

接地模块&#xff08;Ground&#xff09;和终端模块&#xff08;Terminator&#xff09; 进入接地模块的帮助系统 右击选择帮助 接地模块表示&#xff1a;输入模块中没有值的部分 Ground 模块连接到其输入端口不连接到其他模块的模块。如果您使用具有未连接的输入端口的模块运…

毫米波雷达和车联网在未来无人驾驶中的应用和比较

来源&#xff1a;来自新加坡南阳理工大学电气与电子信息工程学院的陆亿泷教授&#xff0c;研究领域包括雷达、天线、微波工程、阵列信号处理、电磁计算、复杂问题的遗传算法优化等。会议时间&#xff1a;2017年8月9日 恩智浦恩智浦 半导体(NASDAQ:NXPI)致力于通过安全连接及基础…

机器学习总结

转摘的&#xff0c;忘记连接了朴素贝叶斯 P(A∩B)P(A)*P(B|A)P(B)*P(A|B) 所以有&#xff1a;P(A|B)P(B|A)*P(A)/P(B) 对于给出的待分类项&#xff0c;求解在此项出现的条件下各个目标类别出现的概率&#xff0c;哪个最大&#xff0c;就认为此待分类项属于哪个类别 工作原理 假…

贷款时,如何评估借款人的还款意愿

贷款有一个公式&#xff1a;正常还款还款能力还款意愿。也就是说借款人能不能正常还款&#xff0c;除了借款人的还款能力之外&#xff0c;借款人的还款意愿也有着至关重要的作用。因此贷款审核过程中&#xff0c;对借款人还款意愿的审核是很重要的一个环节&#xff0c;那信贷员…

FPGA时序分析和约束实例

FPGA时序分析和约束实例

数据库设计笔记——概述(一)

数据库数据库&#xff08;DataBase&#xff0c;DB&#xff09;是长期存储在计算机内&#xff0c;有组织的&#xff0c;可共享的数据集合。是存放数据的仓库&#xff0c;并且有组织&#xff0c;有管理。数据库管理系统数据库管理系统&#xff08;Database Management System&…

你应该知道的浮点数基础知识

本文从一个有趣而又令人意外的实验展开&#xff0c;介绍一些关于浮点数你应该知道的基础知识 文章欢迎转载&#xff0c;但转载时请保留本段文字&#xff0c;并置于文章的顶部 作者&#xff1a;卢钧轶(cenalulu) 本文原文地址&#xff1a;http://cenalulu.github.io/linux/about…

简单模块说明(二)

简单模块说明&#xff08;二&#xff09; 利用linmod函数提取状态矩阵 输入输出必须以 in模块和out模块代替 状态空间法的状态向量和状态变量不唯一的。 传递函数模块 得出其是个低通滤波器 零极点增益模块 使用零极点增益来表示传递函数 PID及二阶积分模块 几…

数据库设计笔记——有效设计数据库的目标(二)

参考《数据库设计解决方案》 数据设计关系到整个系统/软件的质量。数据库是一种存储数据的工具&#xff0c;允许以某种方式创建、阅读、更新和删除数据 理想的数据库特性CRUD创建、阅读、更新、删除&#xff08;必备的四个操作&#xff09;检索能快速、可靠地查找到数据库中的所…

GNU编译优化级别-O -O1 -O2 -O3

最近做一个算法的GPU加速&#xff0c;发现实际上使用gcc的-O3(最高级编译优化)选项&#xff0c;可以获得很高的加速比&#xff0c;我的程序里达到了3倍的样子&#xff0c;有时效果甚至比GPU加速好。因此小小学习了下GNU的编译优化。 附言一句&#xff0c;在进行调试的时候&…

数据库设计笔记——关系型数据库基础知识(三)

表的行称为元组&#xff0c;列称为属性&#xff0c;行列相交的部分称为单元&#xff1b;关系必须规范化&#xff0c;属性不可再分。&#xff08;每个属性必须是不可分割的最小数据单元&#xff0c;即表中不能再包含表&#xff09;&#xff1b;主键&#xff08;Primary Key&…

模块说明(三)

模块说明&#xff08;三&#xff09; 惯性环节、超前滞后环节 一般先使用连续列出传递函数&#xff0c;然后通过极性法或者双线线性不变法将连续转换为离散。 实例讲解 通常是通过电子电路对其进行补偿的。 记忆模块、零阶保持器、一阶保持器 离散PID 可参考连续PID…

数据库设计笔记——MySQL基础知识(四)

概述关系型数据库——由表来存储相关的数据&#xff0c;MySQL&#xff0c;SQL Server&#xff0c;Oracle等都是关系型数据库&#xff1b;元数据&#xff1a;用于集成并管理数据。MySQL数据库 用户数据库&#xff1a;用户根据需求创建数据库系统数据库information_schema&#x…

Python 数据科学入门

http://python.jobbole.com/85394/ Python 在数据科学领域越来越流行了。它的流行不无道理。 Python 容易学&#xff0c;有超强数据科学库&#xff0c;并且和 Hadoop 以及 Spark 等数据库和工具整合得非常好。Python 可以从头至尾完成一个数据科学项目&#xff0c;无论是读取…

哪些钱借了可以不还?

借钱竟然可以不还&#xff1f;这个估计很多人都不知道&#xff0c;但是在实际民间借贷中&#xff0c;确实是有一些借贷关系是不受法律保护的&#xff0c;那哪些债务还是不受法律保护的呢&#xff1f;&#xff08;一&#xff09;借款用于非法用途案例&#xff1a;任某在生意场上…

模块说明(四)

模块说明&#xff08;四&#xff09; 比较模块 判断一个矩阵是否为一个奇异矩阵&#xff0c;看其行列式是否为0 位设置与清零模块 位运算模块 按位运算 位提取、位移运算模块 检测模块 表查询库 表查询模块

C++等级考试知识点总结

第一章 C语言概述C是一种面向对象的程序设计语言抽象数据类型封装和信息隐藏以继承和派生方式实现程序的重用以运算符重载和虚函数来实现多态性以模板来实现类型的参数化 C是C语言的超集C继承了C语言简明、高效、灵活等众多优点以前使用C语言编写的大批软件可以不加任何修改&am…

reverse string

https://leetcode.com/problems/reverse-string/ Write a function that takes a string as input and returns the string reversed. Example: Given s “hello”, return “olleh”. 1. char* reverseString(char* s) {int i 0;int j strlen(s) - 1;while(i < j) …