前言

记得从大二开始,就一直想搭个专属网站,当时使劲抠页面【前端页面是从QQ空间抠的,现在想抠估计没这么容易了】,写代码,忙活半天才把程序弄好。

可惜最终项目还是没上线,因为当时有两问题绕不开

  • 需要购买服务器【服务器太贵,现在便宜的阿里云服务器每月都需100左右】。
  • 需要运维管理【麻烦且危险,服务器宕了可能丢失数据】。

最近了解到 github + hexo 能完美解决上述问题,啥也不说了,直接开干 .


相关网站

搭建教程网上比比皆是,此处不累赘,下面是搭建过程中用到的相关网站:

hexo中文网站:https://hexo.io/zh-cn/docs/

hexo主题模板:https://www.zhihu.com/question/24422335

hexo+github搭建过程:http://www.jianshu.com/p/df3edc4286d2

Markdown 语法说明:http://www.appinn.com/markdown/

github绑定域名:http://www.jianshu.com/p/1d427e888dda


HEXO如何优化部署及管理

问题:使用hexo时,如果本地文件丢失或者想在其他电脑上修改博客怎么办?

方案:简单地说,每个想建立GitHub Pages的仓库,至少两个分支,一个hexo分支用来存放网站的原始文件,一个master分支用来存放生成的静态网页。

步骤如下:

1、创建仓库,Wasim37.github.io;

2、创建两个分支:master 与 hexo;

3、设置hexo为默认分支(因为我们只需要手动管理这个分支上的Hexo网站文件);

4、使用git clone git@github.com:Wasim37/Wasim37.github.io.git拷贝仓库;

5、在本地Wasim37.github.io文件夹下通过Git bash依次执行npm install hexo、hexo init、npm install 和 npm install hexo-deployer-git(此时当前分支应显示为hexo);

6、修改_config.yml中的deploy参数,分支应为master;

7、依次执行git add .、git commit -m “…”、git push origin hexo提交网站相关的文件;

8、执行hexo generate -d生成网站并部署到GitHub上。

本地修改

1、在本地对博客进行修改(添加新博文、修改样式等等)后,通过下面的流程进行管理:

依次执行git add .、git commit -m “…”、git push origin hexo指令将改动推送到GitHub(此时当前分支应为hexo);

2、然后才执行hexo generate -d发布网站到master分支上。

本地资料丢失或者想在其他电脑上修改博客

1、使用git clone git@github.com:Wasim37/Wasim37.github.io.git拷贝仓库(默认分支为hexo);

2、在本地新拷贝的Wasim37.github.io文件夹下通过Git bash依次执行下列指令:npm install hexo、npm install、npm install hexo-deployer-git(记得,不需要hexo init这条指令)。


安装错误记录

执行hexo d出现以下错误

解决方法:

_config.yml ——> deploy ——> repository

https://github.com/{username}/{username}.github.io.git 修改为

git@github.com:{username}/{username}.github.io.git


文章编辑工具

文章编辑工具一开始我使用的是subline,但因为没有快捷键及预览功能,后来选择了MarkdownPad。可最近发现新版的有道云笔记支持Markdown语法,果断换成了有道。

因为有道除了编辑功能,我更看重的是它对文章的二次备份.

有道云笔记MarkDown使用教程: http://note.youdao.com/iyoudao/?p=1895

其次文章图片如果不想托管在github,可以使用七牛云存储等图床工具。


模板自定义

我使用的博客主题为 icarus,对比可以发现,我在展示细节上做了一些自己的修改。

比如页面展示可以分为左中右三个区域,分别为profile-column,main-column和sidebar-column。

源代码三者宽度比例为3:7:3。为了突出正文,我改为了 2.3:8.4:2.3。

源代码文件位置为:icarus\source\css\ _variables.styl


文章目录

icarus主题模板的文章详细展示默认是不带有文章目录的

如果需要添加文章目录,可以参考http://www.jianshu.com/p/72408c410904

icarus主题添加文章目录,修改themes\icarus\layout\common\article.ejs文件即可。

<% if (!index && post.toc) { %>
修改为
<% if (!index && post.toc != false) { %>

每篇文章可以选择是否开放目录功能

...
title: Github+Hexo,搭建专属网站
categories:
- demo
toc: false
...

Github+Hexo,搭建专有博客的更多相关文章

  1. Linux下使用 github+hexo 搭建个人博客07-next主题接入搜索和站点管理

    这是搭建个人博客系统系列文章的最后一篇,如果你是从第一篇一路跟下来的,那么恭喜你,即将完成整个博客网站的搭建.OK,话不多说,开始我们的收官之战. 不知你想过没有,如果我们的文章少,一眼看完整个目录, ...

  2. Linux下使用 github+hexo 搭建个人博客06-next主题接入数据统计

    之前说了 next 主题的优化和接入评论系统.让我们完成了自己所需的页面风格和排版,也可让访问用户在每篇博文评论,完成博主和访问用户的交互. 本章我们继续讲解其他重要功能. 既然是一个网站,那么我们就 ...

  3. Linux下使用 github+hexo 搭建个人博客05-next主题接入评论系统

    静态站点拥有一定的局限性,因此我们需要借助于第三方服务来扩展我们站点的功能. 而评论系统是最常用于和网站用户交流的,因此本章讲解在 next 主题,如何接入评论系统. 参考网站:Next 使用文档,第 ...

  4. Linux下使用 github+hexo 搭建个人博客04-next主题优化

    上篇我们说了 hexo 的优化,针对的站点的优化. 本篇讲解 next 主题的优化,包括:使用语言.前端页面显示宽度.菜单.侧栏.头像.添加或取消动画效果.打赏功能等等. 让页面排版更符合我们所要的功 ...

  5. Linux下使用 github+hexo 搭建个人博客03-hexo配置优化

    上两张文章,我们说了 hexo 部署.主题的切换.博文的创建.MarkDown 简单使用和 hexo 部署到 GitHub Pages. 也说了我们会使用 next 主题做为我们后期博客的使用和维护. ...

  6. Linux下使用 github+hexo 搭建个人博客02-hexo部署到Github Pages

    之前的这篇文章<Linux下使用 github+hexo 搭建个人博客01-hexo搭建>,相信大家都知道怎么搭建 hexo ,怎么切换主题,并且完成了一篇博文的创建,以及 MarkDow ...

  7. Linux下使用 github+hexo 搭建个人博客01-hexo搭建

    为什么要搭建自己的博客系统? 原因有好几个吧,归类如下:1.自己搭建博客系统很有成就感,可以自己选定页面风格和页面排版: 2.自己搭建博客系统可以根据自己的需要添加各种插件功能,因此整体上比网上的第三 ...

  8. Windows下通过GitHub+Hexo搭建个人博客的步骤

    Windows下通过GitHub+Hexo搭建个人博客的步骤  https://blog.csdn.net/namechenfl/article/details/90442312 https://bl ...

  9. Github + Hexo 搭建个人博客

    参考博客: 我是如何利用Github Pages搭建起我的博客,细数一路的坑 使用Hexo+Github一步步搭建属于自己的博客(基础) Hexo 准备工作: 本机已安装好 git, npm 和 no ...

随机推荐

  1. Python爬虫入门 Urllib库的基本使用

    1.分分钟扒一个网页下来 怎样扒网页呢?其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS.CSS ...

  2. folly教程系列之:future/promise

         attension:本文严禁转载. 一.前言 promise/future是一个非常重要的异步编程模型,它可以让我们摆脱传统的回调陷阱,从而使用更加优雅.清晰的方式进行异步编程.c++11中 ...

  3. oracle调用array参数存储过程

    declare -- Non-scalar parameters require additional processing files tyt_gas2014_search; ,); temp1 t ...

  4. [bug] Cannot proceed because system tables used by Event Scheduler were found damaged at server start

    本地:mac 10.12.3  mysql 5.6 远程:linux 7.3    mysql 5.7.18.  (远程数据库yum安装,又5.6升级到5.7) 步骤:从本地数据库导出数据到远程数据库 ...

  5. macOS 下配置 MAMP 开发环境(Mac + Apache + Mysql + PHP)

    macOS 中已经内置了 PHP.Python.Ruby.Perl 等常用的脚本语言,以及 Apache HTTP 服务器,所以使用起来非常方便.本文以最新的 macOS Sierra 10.12 配 ...

  6. Linux系统优化

    前言:这篇博客主机讲下安装Linux系统后调优及安全设置 基础环境 一.使用网易163镜像做yum源 默认国外的yum源速度很慢,所以换成国内的. 先备份 下载163yum源:http://mirro ...

  7. 金山助手流氓软件-被进程sjk_daemon.exe坑死

    修改完Android工程代码,进入调试阶段时DDMS中报错:The connection to adb is down, and a severe error has occured. 由于之前也碰到 ...

  8. Android 窗口全屏

    全屏getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 取消全屏 getWindow().clearFlags(Wind ...

  9. 与64位版本的Windows不兼容,masm运行不了

    问题: 在Window64位运行不了的masm 解决方法: 1.下载DosBox0.74(当前最新): 2.安装后运行,运行后出现控制台: 3.在DosBox的控制台下运行 Mount x: x:/m ...

  10. 使用Dotfuscator加密混淆程序以及如何脱壳反编译

    混淆演示 首先介绍如何使用Dotfuscator对.net程序加密码混淆/加壳 C#或vb.net编写的应用程序或DLL. 这里随便创建了一个C#的命令行控制台程序.程序很简单,对当前的时间进行了AE ...