前言

记得从大二开始,就一直想搭个专属网站,当时使劲抠页面【前端页面是从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. 给指针malloc分配空间后就等于数组吗?【转】

    首先回答你的问题:严格的说不等于数组,但是可以认为它是个数组一样的使用而不产生任何问题. 不过既然这样,那它应该算是个数组吧.所以,一般我们都用“动态数组”这种名字来称呼这种东西. 要讲清楚这个东西, ...

  2. js 计时器小练-20160601

    今天要做一个计时器小练,所以我就做了练习,代码如下. // 初始化时间,以及定义全局量去接收计时器 var timer = 0; var t; var h, min, sec, millisec; / ...

  3. Linux:一位猫奴的意外产物

    作者:Vamei,严禁任何形式转载. 1991年年中,林纳斯·托瓦兹(Linus Torvalds)在自己房间里敲着键盘.他全神贯注地盯着14寸的黑色屏幕,都没感觉到自己的小猫Randi在扒自己的裤腿 ...

  4. MySQL数据库的安装布局

    首先我们要安装(mysql-5.0.18-win32_zip) 第一步:点击(Setup.exe) 第二步:开始安装(MySQL Server5.0版本) 1.点击(Next) 2.选Custom自定 ...

  5. Python 基础三 文件 函数

    今天回顾一下之前学的文件操作相关知识点,对于文件的操作,主要有一下几部分构成: 一.文件的基础知识 1.文件操作的基本流程 文件操作其实可以分成三大部分: 1.打开文件,获取文件句柄并赋予一个变量 2 ...

  6. linux 基础(1)

    第一章 Linux 基础知识(一) 一.硬件介绍: 由一条总线把CPU.内存和I/O设备串联起来并与其他设备进行通信.CPU负责运算,内存用于储存临时变量,硬盘用于储存数据.1.1处理器CPU 从内存 ...

  7. DirectFB的架构介绍

    **************************************************************************************************** ...

  8. phpmyadmin的初始账号密码是多少

    问这个问题,是不是有点弱智,但是这个问题确实阻塞了我那么几分钟. 实际上问题很简单,初始账号是root,密码为空

  9. 随机Prim法创建随机迷宫(C#实现)

    因为这两天想参加一个比赛,所以就在上网找素材,刚好看到了迷宫生成,就决定拿这个开刀了. 参考的原文地址为(来源页面) 源地址中是使用AS实现的,没学过AS,所以直接不会运行,于是就自己根据原文的概念进 ...

  10. FTP中MLST概要解读---解决获取ftpFile为null的另外一种方式

    零.引言 之前写FTP工具库,用的是ftp4j,他使用其他非常简单方便,但是在细节上提供的可选项比较少(当然也可能是我了解不够深刻) 最新的项目重写了FTP工具类,选择了apache net中的ftp ...