Octopress + GitHub Page 搭建个人博客
Tips:博客已搬家,新地址:http://wanxudong.top
首先说明两个关键术语:
Octopress
Octopress是基于Jekyll的博客框架。他们的关系就像jQuery与js的关系一样。- 它为我们提供了现成的美观的主题模板,并且配置简单,使用方便,大大降低了我们建站的门槛。
What is Octopress?(摘自Octopress官方文档)
Octopress is Jekyll blogging at its finest.
- Octopress sports a clean responsive theme written in semantic HTML5, focused on readability and friendliness toward mobile devices.
- Code blogging is easy and beautiful. Embed code (with Solarized styling) in your posts from gists, jsFiddle or from your filesystem.
- Third party integration is simple with built-in support for Pinboard, Delicious, GitHub Repositories, Disqus Comments and Google Analytics.
- It’s easy to use. A collection of rake tasks simplifies development and makes deploying a cinch.
- Ships with great plug-ins some original and others from the Jekyll community — tested and improved.
Note: Octopress requires a minimum Ruby version of 1.9.3-p0.
GitHub Pages
GitHub Pages是 GitHub 提供的一项服务。它用于显示托管在 GitHub 上的静态网页。所以我们可以用 Github Pages 搭建博客,当然我们也可以把项目的文档和主页放在上面。
大致思路是通过Octopress生成本地静态博客网页,然后将静态网页布置到GitHub提供的GitHub Pages上面。
安装
下面是具体的安装步骤(这里使用RVM安装,还可以通过rbenv安装,Octopress给出的官方安装文档:Octopress Setup):
查看ruby版本
1 |
|
如果ruby版本 >= 1.9.3-p0 ,跳过RVM和Ruby的安装。
安装RVM
1 |
|
安装Ruby 1.9.3
1 |
|
安装 Octopress
将 Octopress的项目clone到本地:
1 |
|
更新ruby源,将官方的ruby源替换成国内淘宝的源。
1 |
|
接下来,安装依赖:
1 |
|
最后安装 Octopress
1 |
|
修改Octopress初始配置
1 |
|

可以看到如下代码:
1 |
|
确保在octopress目录,执行命令
1 |
|
在浏览器输入localhost:4000可看到生成的博客。
Tips: 最好把里面的twitter相关的信息全部删掉,否则由于GFW的原因,将会造成页面load很慢。
部署到GitHub Pages上
在 GitHub 上创建一个New repository,Repository name即项目名称命名规则为 userName.github.io,userName必须与用户名称一致。

Tips:最好不要勾选README,免得同步到远程仓库的时候需要做额外的pull操作。
将本地代码仓库同步到GitHub.
1 |
|
绑定远程仓库
1 |
|
创建一篇文章
1 |
|
生成新的文章在source/_posts/目录下
1 |
|
这个时候会在目录里看到.markdown后缀的文件,我们可以通过一些第三方的Markdown编辑器打开。在这里我使用的是Mou(下载地址:这里),Mou附带实时预览,文档说明里也将markdown语法说的很详细,这里不再赘述。
编辑完成后生成静态站点,终端执行命令:
1 |
|
预览本地的站点,执行指令:
1 |
|
在浏览器打开localhost:4000 查看网页效果效果。如果没有问题可以将静态站点同步到 GitHub远程仓库中。执行命令
1 |
|
打开GitHub稍等一会儿,就会看到我们的静态网页已经被同步到GitHub仓库的master分支上了。浏览器访问访问username.github.io,就会发现个人博客已经创建成功。
最后,创建source分支。Octopress的Git仓库(repository)有两个分支,分别是master和source。
source分支存储的是生成博客的源文件,在octopress根目录下。master分支存储的是博客网站本身master的内容,在根目录的_deploy文件夹内,当你push源文件时会忽略,它使用的是rake deploy命令来更新的。
1 |
|
git操作代码如下:
1 |
|
Tips: 关于Octopress的个性化配置和在多台设备间同步使用,会在之后的文章中更新。
原文地址:http://wanxudong.top/blog/2017/04/07/octopress-plus-github-page-da-jian-ge-ren-bo-ke/
参考文章:
- 象写程序一样写博客:搭建基于github的博客
- 制作个人博客站(一):Mac系统下使用 Octopress + GitHub Pages 搭建个人博客
- octopress博客搭建和个性化配置
- Octopress重装或者多台电脑上并行写作同步
Octopress + GitHub Page 搭建个人博客的更多相关文章
- (踩过的坑)使用Github Page搭建个人博客
最近需要搭建一个网站,作为导航网址,但是自己的域名备案还要等上几天,就想着有没有别的办法来搭建一个公网可以访问的网站. Github Page的话是一个github个人主页,完全适合用来搭建普通网站. ...
- github page+jekyll搭博客初体验
div.oembedall-githubrepos { border: 1px solid #DDD; list-style-type: none; margin: 0 0 10px; padding ...
- 基于 Hexo + GitHub Pages 搭建个人博客(一)
前言:我的博客写作之路 15 年刚上大学,第一次接触公众号,就萌生了创建一个公众号写点东西,但最终不了了之. 很快到了 16 年,开始接触网上各大博客网站,接触最多的当属 CSDN,萌生了注册一个博客 ...
- 【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客
本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...
- 使用 github + jekyll 搭建个人博客
github + jekyll 本地写markdown,然后push到github,就成了博客 其实我一早就知道这两者可以搭建个人博客,因为本人有个很好的习惯——每天都会去看看一些热门文章,了解行业最 ...
- 基于 Hexo + GitHub Pages 搭建个人博客(二)
在 基于 Hexo + GitHub Pages 搭建个人博客(一) 这篇文章中,我们已经知道如何使用 Hexo + GitHub Pages 搭建一个个人博客,GitHub 为我们提供了免费的域名和 ...
- 使用github pages搭建个人博客
一.环境准备 使用Github Pages搭建个人博客,一劳永逸,可以让我们更加专注于博客的撰写.博客的更新是通过将新建或改动的博客放在指定文件夹并推送到远程Github仓库来完成的,所以我们本地需要 ...
- 使用Hexo + GitHub Pages 搭建个人博客
一.前言 之前是在CSDN上写博客的,但是无奈其广告满天飞,还有因为个人不太喜欢CSDN博客里的一些东西,加上看到很多技术大牛都有自己的个人博客,于是乎!便想着搭建一个自己的个人博客.其实之前写博客还 ...
- Linux下使用 github+hexo 搭建个人博客06-next主题接入数据统计
之前说了 next 主题的优化和接入评论系统.让我们完成了自己所需的页面风格和排版,也可让访问用户在每篇博文评论,完成博主和访问用户的交互. 本章我们继续讲解其他重要功能. 既然是一个网站,那么我们就 ...
随机推荐
- 16 - 文件操作-StringIO-BytesIO
目录 1 文件操作 1.1 open函数介绍 1.2 打开操作 1.2.1 mode模式 1.2.2 文件指针 1.2.3 缓冲区 1.2.4 encoding编码 1.2.5 其他参数 1.3 读写 ...
- MySQL指定使用某个索引查询语句
查询语句查询emp_no,所以先查询emp_no的索引使用primary select emp_no,salary from salaries use index(s_f_t) where emp_n ...
- caffe Python API 之BatchNormal
net.bn = caffe.layers.BatchNorm( net.conv1, batch_norm_param=dict( moving_average_fraction=0.90, #滑动 ...
- 10.python3标准库--加密
''' 加密可以保护消息安全,以便验证其正确性并保护消息不被截获. python的加密支持包括hashlib和hmac,hashlib使用标准算法生成消息内容签名,hmac则用于验证消息在传输过程中未 ...
- Nginx源码分析--epoll模块
Nginx采用epoll模块实现高并发的网络编程,现在对Nginx的epoll模块进行分析. 定义在src/event/modules/ngx_epoll_module.c中 1. epoll_cre ...
- [ python ] 匿名函数和高阶函数
匿名函数 描述: 关键字 lambda 定义的函数 语法: 函数名 = lambda 参数:返回值 返回值: 函数返回结果值 实例: 一个参数的匿名函数: func = lambda ...
- Shell语言系列之一:文件处理
前言   标准输入/输出可能是软件工具设计原则里最基本的观念了.有很多UNIX程序都遵循这一设计历练.默认情况下,他们会读取标准输入,写入标准输出,并将错误信息传递给标准错误输出. & ...
- mysql军规
总是在灾难发生后,才想起容灾的重要性.总是在吃过亏后,才记得曾经有人提醒过. 一,核心军规 不在数据库做计算,cpu计算务必移至业务层 控制单表数据量,单表记录控制在千万级 控制列数量,字段数控制在2 ...
- Linux 基础——常用的Linux网络命令
一.学Linux网络命令有什么好处 网络的出现,我们的生活更方便了,处理事情的效率也越来越高,也可以看到全世界文化的差异.同时我们接受新事物的信息越来越来强,新事物的信息也越来越来多.网络对于我们尔等 ...
- 进程自我保护 适用于WIN7 X64
//进程自我保护,注意只有X64 WIN7可用 #include <ntddk.h> #define PROCESS_TERMINATE 1 typedef struct _LDR_DAT ...