前言

记得从大二开始,就一直想搭个专属网站,当时使劲抠页面【前端页面是从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. GitHub+Hexo 搭建个人网站

    GitHub+Hexo 搭建个人网站 转自 https://www.sufaith.com/article/561.html 一.创建GitHub Pages站点 GitHub Pages是一种静态站 ...

  2. GitHub+Hexo 搭建个人网站详细教程

    原文链接 GitHub+Hexo 搭建个人网站详细教程 前言: 随着互联网浪潮的翻腾,国内外涌现出越来越多优秀的社交网站让用户分享信息更加便捷.然后,如果你是一个不甘寂寞的程序猿(媛),是否也想要搭建 ...

  3. Github+Hexo,搭建专有博客

    前言 记得从大二开始,就一直想搭个专属网站,当时使劲抠页面[前端页面是从QQ空间抠的,现在想抠估计没这么容易了],写代码,忙活半天才把程序弄好. 可惜最终项目还是没上线,因为当时有两问题绕不开 需要购 ...

  4. github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url)

    详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定了域名: http://www.chengxinsong.cn hexo+github博客网站源码(可以clo ...

  5. github+hexo搭建自己的博客网站(七)注意事项(避免read.me,CNAME文件的覆盖,手动改github page的域名)

    详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定域名可以查看:http://www.chengxinsong.cn 可以查看在github上生成的静态文件(如 ...

  6. 使用GitHub+hexo搭建个人独立博客

    前言 使用github pages服务搭建博客的好处有: 全是静态文件,访问速度快: 免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台: 可以随意绑定自己的域名,不仔细看的话 ...

  7. 使用GitHub+Hexo建立个人网站,并绑定自己的域名(Ubuntu环境下)

    参考链接: youngzn.github.io     hexo官网     博客:从jekyll到hexo    hexo建站小结  全过程  简洁过程 使用GitHub+Hexo建立个人网站,并绑 ...

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

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

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

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

随机推荐

  1. 《Algorithms Unlocked》读书笔记1——循环和递归

    <Algorithms Unlocked>是 <算法导论>的合著者之一 Thomas H. Cormen 写的一本算法基础. 书中没有涉及编程语言,直接用文字描述算法,我用 J ...

  2. package(1):tm

    tm包是R语言中为文本挖掘提供综合性处理的package,进行操作前载入tm包,vignette命令可以让你得到相关的文档说明.使用默认安装的R平台是不带tm  package的,在安装的过程中,它会 ...

  3. SQL编程的一些良好好习惯

    |转载自:cnblog |原文链接:http://www.cnblogs.com/MR_ke/archive/2011/05/29/2062085.html 我们做软件开发的,大部分人都离不开跟数据库 ...

  4. 淘宝内部分享:怎么跳出MySQL的10个大坑

    编者按:淘宝自从2010开始规模使用MySQL,替换了之前商品.交易.用户等原基于IOE方案的核心数据库,目前已部署数千台规模.同时和Oracle, Percona, Mariadb等上游厂商有良好合 ...

  5. .Net MVC4笔记之js css引用与压缩

    1.引用时,可以用即可以直接使用“~”来表示根目录. 引入js 引入js 引入css <link href="~/Content/uploadify/uploadify.css&quo ...

  6. nginx学习笔记——http module分析

         源码:nginx 1.12.0           nginx由于其高性能.扩充性好等特点在迅速走红,越来越多的公司采用nginx作web服务器.负载均衡.waf等 工作,一些基于nginx ...

  7. shell脚本基本知识点

    Shell 是一个用C语言编写的程序,它是用户使用Linux的桥梁.用户通过这个界面访问Linux操作系统内核的服务.Shell既是一种命令语言,又是一种程序设计语言. 1.Shell 环境 Shel ...

  8. LINQ TO XML初步了解

    最近简单的学习了一下LINT TO XML,写篇博客在这,方便以后查看~~ 1.常用到的类   XmlDocument --    文档(xml文件)     XmlElement    --     ...

  9. selenium操作拖拽实现无效果的替代方案

    如果碰到这种情况,无论你是直接通过draganddrop()还是分步执行clickandhold(),dragtoelement(),或通过by_offset位移都无法实现元素拖拽.只能物理模拟了 w ...

  10. GoldenGate实施步骤

    一.GoldenGate实施环境 source database:oracle 11.2.0.3 target  database:oracle 11.2.0.3 需要配置的进程如下: source ...