原文地址:→看过来

交流群

有相关问题的可进群提问

  1. Hexo交流群1:111868326(已满)
  2. Hexo交流群2:834751420(已满)
  3. Hexo交流群3:891467567(其他的前端问题也可以交流)

前言

其实平时自己写的文章并不多,偶尔看到一些东西会做点笔记,但是每次写的东西都会到处放,不好找,所以才想着自己搭建一个人博客网站,现在大家用hexo比较多,也比较方便,并且能使用的主题也很多,所以小花就用她啦~

本篇为从零开始的基础篇,其他SEO、评论系统、统计等请看Hexo博客添加SEO-评论系统-阅读统计-站长统计,本篇所包含的内容如下:

  1. 安装Git Bash
  2. 安装NodeJs
  3. 安装hexo
  4. 生成SSH并添加到github
  5. 部署项目
  6. 上传到github
  7. 绑定个人域名
  8. 修改及配置主题
  9. 添加RSS
  10. 添加评论
  11. 写文章部分

耍起来

由于小花的电脑在搭建博客之前就有了各种环境,但是对于没有任何基础的人来讲,我觉得还是从源头开始讲会好一点,就像教别人做菜,总得把所有的用料及步骤说清楚对吧?(大佬们可以自动忽略啊啊啊啊~)

1. 安装Git Bash

我一直不太喜欢在cmd中操作各种命令,所以挑了这个比较好使的Git Bash, 我的是windows环境,所以下载windows版本并安装就可以了。

  • 下载地址

  • 安装步骤:双击下载好的exe文件,一路next就好啦

  • 安装好后,打开gitbash,查看版本:

    • 命令:git version (写这篇博客的时候最新版本:2.12.2)

  • 然后你就可以在这里发挥你的聪明才智了

2. 安装NodeJs

Hexo是基于nodeJS环境的静态博客,里面的npm工具很有用啊,所以还是老老实实把这玩意儿装了吧

  • 下载地址(说明:LTS为长期支持版,Current为当前最新版)

  • 安装步骤:反正下载好msi文件后,双击打开安装,也是一路next,不过在Custom Setup这一步记得选 Add to PATH ,这样你就不用自己去配置电脑上环境变量了,装完在按 win + r 快捷键调出运行,然后输入cmd确定,在cmd中输入path可以看到你的node是否配置在里面(环境变量),没有的话你就自由发挥吧。

  • 查看版本:

    • 命令:node -v

  • 又到自由发挥的时候了

3. 安装hexo

看到这么多安装,千万不要紧张,小哥哥小姐姐们一定要稳住,别怕,因为后面的东西都是在gitbash中用npm工具安装就好了。

  • 先创建一个文件夹(用来存放所有blog的东西),然后cd到该文件夹下。

  • 安装hexo命令:npm i -g hexo

  • 安装完成后,查看版本:

  • 初始化命令:hexo init ,初始化完成之后打开所在的文件夹可以看到以下文件:

  • 解释一下:

    • node_modules:是依赖包
    • public:存放的是生成的页面
    • scaffolds:命令生成文章等的模板
    • source:用命令创建的各种文章
    • themes:主题
    • _config.yml:整个博客的配置
    • db.json:source解析所得到的
    • package.json:项目所需模块项目的配置信息
  • 做好这些前置工作之后接下来的就是各种配配配置了。

4. 搭桥到github

  • 没账号的创建账号,有账号的看下面。

    1. 创建一个repo,名称为yourname.github.io, 其中yourname是你的github名称,按照这个规则创建才有用哦,如下:



    1. 回到gitbash中,配置github账户信息(YourName和YourEail都替换成你自己的):



    1. 创建SSH

      在gitbash中输入:ssh-keygen -t rsa -C "youremail@example.com,生成ssh。然后按下图的方式找到id_rsa.pub文件的内容。

    1. 将上面获取的ssh放到github中:





    添加一个 New SSH key ,title随便取,key就填刚刚那一段。

    1. 在gitbash中验证是否添加成功:ssh -T git@github.com

    2. 完成下一步你就成功啦!

5. 一步之遥

  • 用编辑器打开你的blog项目,修改_config.yml文件的一些配置(冒号之后都是有一个半角空格的):
deploy:
type: git
repo: https://github.com/YourgithubName/YourgithubName.github.io.git
branch: master
  • 回到gitbash中,进入你的blog目录,分别执行以下命令:
hexo clean
hexo generate
hexo server

注:hexo 3.0把服务器独立成个别模块,需要单独安装:npm i hexo-server

  • 打开浏览器输入:http://localhost:4000

  • 接着你就可以遇见天使的微笑了~

6. 上传到github

  • 先安装一波:npm install hexo-deployer-git --save(这样才能将你写好的文章部署到github服务器上并让别人浏览到)
  • 执行命令(建议每次都按照如下步骤部署):
hexo clean
hexo generate
hexo deploy

注意deploy的过程中要输入你的username及passward。如下:

  • 在浏览器中输入http://yourgithubname.github.io就可以看到你的个人博客啦,是不是很兴奋!
  • 感觉gitbash中东西太多的时候输入clear命令清空。

7. 绑定个人域名

  • 不想绑定的自行忽略
  • 第一步购买域名:随便在哪个网站买一个就好了,小花是在阿里云购买的visugar.com, DNS也是顺道在那买的。
  • 第二步添加CNAME:在项目的source文件夹下新建一个名为CNAME的文件,在里面添加你购买的域名,比如我添加的是visugar.com,只能添加一个哦。
  • 到DNS中添加一条记录:



    其中ip地址为你的github的地址,可在cmd中ping一下就能看到(ping yourname.github.io):

  • 接着再次部署一下,用你购买的域名打开,就可以看到你的博客啦~

8. 修改及配置主题

  • hexo初始化之后默认的主题是landscape , 然后你可以去这个地址里面找到你想要的主题。在github中搜索你要的主题名称,里面都会有该主题的如何使用的介绍,按着来就好了,反正就是改改改!我选的是hueman,看起来挺不错,至少是我喜欢的类型。

  • 跟该主题相关的配置在themes/hueman/_config.yml里面,然后根据你的需要在这配配配就行了。

  • 有的东西我也不知道是啥玩意儿,你要多试多倒腾几次,就能意会啦

  • 下面是针对我所选的主题的两小点(别的主题我没看,可能也是类似):

    在导航栏添加点东西

    • 例如我添加了一个更新日志的模块。
    • 在主题的配置文件中,menu添加一栏:Board: /board
    • 然后在source中添加一个board,即对应上面的名字。然后再创建一个index.md,里面可以写你想写的内容。
    • 在主题的hueman/langulages/zh-CN.yml中的index适当的位置加:board: '更新日志',位置和名字是你自己设定。
    • 重新部署,然后就OK了

    在侧边栏添加点东西

    • 回到你的主题的配置文件中,找到widgets一栏,在你要添加的位置处添加一条你自定义的名称。例如我的叫communiation且放在了第二行。
    • 在上面所提到的zh-CN.yml文件中找到sidebar一栏,添加communiation: '你要设的名称'
    • hueman/layout/widget中添加一个communiation.ejs,填入模板
    <% if (site.posts.length) { %>
    <div class="widget-wrap widget-list">
    <h3 class="widget-title"><%= __('sidebar.communiation') %></h3>
    <div class="widget">
    <!--这里添加你要写的内容-->
    </div>
    </div>
    <% } %>

9. 添加RSS

  • 先安装rss相关插件:npm i hexo-generator-feed
  • 在你的项目的_config.yml配置文件下找到Extensions添加如下内容:
    # Extensions  #插件和主题
    ## Plugins: https://hexo.io/plugins/
    ## Themes: https://hexo.io/themes/
    #RSS订阅
    plugin:
    - hexo-generator-feed
    #Feed Atom
    feed:
    type: atom
    path: atom.xml
    limit: 20
  • 进入到你的主题的配置文件下,找到你的放rss的位置,添加/atom.xml即可。
  • 重新部署再打开就能看到效果啦~

10. 添加评论

20170812更新:

云更贴已在2017年8月1日停止服务,具体评论系统文章统计站长统计及百度SEO谷歌SEO什么的可参考Hexo博客添加SEO-评论系统-阅读统计-站长统计

此段已失效。

  • 先选一个你要使用的第三方评论系统,最好找个靠谱点的(我使用的是网易云跟帖)。
  • 在主题的配置文件下找到comment,添加一行,例如我添加的是yungentie: 此处自由发挥
  • 注册完评论系统后获取相应的代码,然后在主题的layout下找到comment新建一个ejs模板文件,名称自定义。

  • 找到你的article.ejs模板文件,加上<%- partial('comment/你刚刚取得名字') %>保存。
  • 重新部署,OK啦

11. 写文章部分

  • 新建文章:hexo new '文章名',然后你就可以在source/_posts路径下看到你创建的文章啦,编辑完成之后按照前面说的方式部署,在浏览器刷新就能看到你的文章了。
  • 关于具体的文章编辑你可以看下官网的介绍
  • 至于markdown,可以自行发挥啦~

小结一波

  • 在哪里跌倒,就在哪里趴下,休息一会儿你会发现新大陆的哦~
  • 本文针对的是从来没用hexo搭建过个人博客的小伙伴,不过文中获取会有一些小错误,欢迎大佬们指正,小花不胜感激!
  • 感觉我好啰嗦啊,可是没办法,我就是这么爱打字丫
  • 小花的博客

招摇撞骗(可自行忽略)

小花求赏→爱的辣条

hexo从零开始到搭建完整的更多相关文章

  1. hexo从零开始到搭建完整 转

    http://visugar.com/2017/05/04/20170504SetUpHexoBlog/ https://liuchi.coding.me/   look me 交流群 有相关问题的可 ...

  2. 基于 Hexo 从零开始搭建个人博客(二)

    阅读本篇前,请先配置好相应的环境,请仔细阅读教程 基于 Hexo 从零开始搭建个人博客(一). 原文链接:基于 Hexo 从零开始搭建个人博客(二) 前言 博客搭建过程遇到任何问题,优先在本页面搜索, ...

  3. 基于 Hexo 从零开始搭建个人博客(五)

    阅读本篇前,请先阅读前几篇文章: 基于 Hexo 从零开始搭建个人博客(一) 基于 Hexo 从零开始搭建个人博客(二) 基于 Hexo 从零开始搭建个人博客(三) 基于 Hexo 从零开始搭建个人博 ...

  4. 可能是最详细的 Hexo + GitHub Pages 搭建博客的教程

    前言:博主目前大三,Web 前端爱好者.写博客的好处,不是为了写而写,而是一个记录思想的过程.不要考虑它能带给你什么,而是你自己从中收获了什么. 最近刚好有空,于是就参照网上的各种教程,搭建了一个博客 ...

  5. Hexo博客搭建以及Next主题美化的经验之谈

    这并不是一篇博客搭建教程.内容主要包含个人对于Hexo博客搭建的心得,Next6.0主题美化的部分建议,以及摘录一些各种用于博客搭建的link. 在博客园3年6个月,确实也学到了很多,博客园也是目前为 ...

  6. Hexo + Github Pages搭建的个人博客

    这个不算是新手的搭建流程,如果你恰巧看见这篇文章,希望你已经安装好node.git等软件,因为第一步的环境搭建准备并没有详写,默认都会了.希望能解决你的问题. 步骤: 一. 搭建环境准备 二.安装he ...

  7. Hexo系列(一) 搭建博客网站

    写在前面的话:本系列文章主要参考 Hexo官方说明文档,同时结合自己在使用过程中的一些心得体会,撷取下来,和大家分享分享.好,下面闲话不多说,马上开始我们的 Hexo 之旅吧 温馨提醒:博主使用的操作 ...

  8. 基于Hexo和Github搭建博客

    搭建自己的个人博客. 准备工作 确保电脑需要已下载安装node和npm.查看安装是否成功,windows只需在命令行输入以下两条命令即可. 1 2 $ node -v $ npm -v 安装hexo ...

  9. [原创]HEXO博客搭建日记

    博客系统折腾了好久,使用过Wordpress,Ghost,Typecho,其中Typecho是我使用起来最舒心的一种,Markdown编辑+轻量化设计,功能不多不少刚好,着实让我这种强迫症患者舒服了好 ...

随机推荐

  1. 在Android中使用am和input命令在实际使用中的注意事项以及小技巧

    在Android使用到am和进行一些操作是非常方便的,比如一个重复自动的操作,具体用来实现一些什么是看个人需求了,接下来说对于am和input的使用. 本文适用于已经大概去了解了am和input的朋友 ...

  2. zoom动画,实现图片点击预览效果

    参考:https://developer.android.google.cn/training/animation/zoom.html 1.创建Views 下面的布局包括了你想要zoom的大版本和小版 ...

  3. 静态数据的初始化(Chapter5.7.2)

    先初始化主类中的静态数据,如果要用其他类来定义对象,则初始化对应的其他类. 实例化对象时,先初始化定义为static的数据,接着调用父类的构造函数(如果有父类),再初始化定义为非static的数据,最 ...

  4. Python入门(一):PTVS写Python程序,调试模式下input()提示文字乱码问题

    前两天写了Python入门(一),里面提到,使用VS2013+PTVS进行Python开发. 就在准备为第二篇写个demo的时候,发现了一个问题,各种解决无果,有些纠结 Python中输入函数是inp ...

  5. z-index用法总结

    一.定义: z-index 只适用于元素有定位的情况,表示层级 数值越大 层级越高 展示的位置越靠前. 二.用法: 1.同级关系: z-index值较大的元素将叠加在z-index值较小的元素之上 ( ...

  6. 常用 SQL 语句使用的总结

    --SQL 语句为表添加字段并设置默认值 alter table Student --表名 add fee --添加的字段名 int --字段类型 not null --是否为空 --默认值 --修改 ...

  7. node.js前后台交互示例 -- 使用node.js实现用户注册功能

    node.js环境自行搭建,参考菜鸟教程的node.js就可以. 1 通过ajax提交index.html中form表单 register.html文件如下: <!doctype html> ...

  8. 【one day one linux】grep工具

    grep  筛选功能 学习这些命令采用20/80原则,这样,可以达到使用%20的命令选项,处理80%的情况. #grep 的使用格式 grep [option] pattern file 那么接下来看 ...

  9. Unity属性的封装、继承、方法隐藏

    (一)Unity属性封装.继承.方法隐藏的学习和总结 一.属性的封装 1.属性封装的定义:通过对属性的读和写来保护类中的域. 2.格式例子: private string departname; // ...

  10. Select()和SelectMany()的区别

    Select与SelectMany的区别 Select() 和 SelectMany() 的工作都是依据源值生成一个或多个结果值. Select() 为每个源值生成一个结果值.因此,总体结果是一个与源 ...