操作系统:Mac OS / Linux
工具集:
1.Pelican——基于Python的静态网页生成器
2.马克飞象——Evernote出的Markdown文本编辑器
3.GoDaddy——域名供应商
4.DNSPod——提供免费域名解析注册服务
5.Github Pages——Github为每个注册用户提供300M的站点空间
6.Python——Pelican工具需要Python运行环境
7.Google Analytics——谷歌站点数据监测分析工具
8.Google Custom Search——谷歌自定义搜索引擎可用作站内搜索工具
9.Google Webmasters——谷歌站长工具
10.Disqus——用来提供博客评论功能
11.Sitemap——站点地图,供谷歌,百度等搜索引擎收录
12.七牛云存储——静态资源管理,上传自动生成网盘直链
最终效果展示:欢迎访问我的博客:https://jiang-hao.com
一、使用Github Pages创建个人博客页面
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。GitHub可以托管各种git库的站点。通过GitHub Pages生成的静态站点,可以免费托管、自定义主题、并且自制网页界面。
1.首先到Github进行账号注册:https://github.com/。
2.注册后登录Github,右上角点击“Creat a new repo”,跳转到新页面后填写相关内容,注意版本库名使用'username.github.io'的格式,这里将username替换成自己的用户名即可。
3.设置和选择好页面模板后就可以生成然后发布新网页了。
4.创建SSH密钥并上传到Github。
*以上内容都很简单,有问题可以参照:
关于Github注册登录:通过GitHub创建个人技术博客图文详解1
关于Github页面生成:通过GitHub创建个人技术博客图文详解2
关于SSH认证:Windows/Mac下使用SSH密钥连接Github
官方文档:Github官方文档在这里
二、安装Python、Pelican和Markdown
Pelican是一套开源的使用Python编写的博客静态生成, 可以添加文章和和创建页面, 可以使用MarkDown reStructuredText 和 AsiiDoc 的格式来抒写, 同时使用 Disqus评论系统, 支持 RSS和Atom输出, 插件, 主题, 代码高亮等功能, 采用Jajin2模板引擎, 可以很容易的更改模板。
1.安装Python。最新的Mac OS 一般都自带Python环境。在终端输入"python"即可确认Python版本。如有需要可以到官网安装:http://www.python.org/。
2.安装Pelican。可以从github克隆最新的代码安装, 并且建议在virtualenv下使用。首先建立 virtualenv(Python虚拟环境):
virtualenv pelican # 创建
cd pelican
sh bin/activate # 激活虚拟环境
从github克隆最新代码安装Pelican:
git clone git://github.com/getpelican/pelican.git # 下载代码
cd pelican
python setup.py install
3.安装Markdown:
pip install markdown
三、创建博客骨架
接下来将通过初始化Pelican设置来生成一个基本的博客框架。
1.搭建博客目录:
mkdir blog
cd blog
pelican-quickstart
2.根据提示一步步输入相应的配置项,不知道如何设置的接受默认即可,后续可以通过编辑pelicanconf.py文件更改配置。完成后将会在根目录生成以下文件:
.
|-- content # 所有文章放于此目录
│ └── (pages) # 存放手工创建的静态页面
|-- develop_server.sh # 用于开启测试服务器
|-- Makefile # 方便管理博客的Makefile
|-- output # 静态生成文件
|-- pelicanconf.py # 配置文件
|-- publishconf.py # 配置文件
3.进入output文件夹,把自己刚刚建好的username.github.io版本库clone下来,注意这里以及后文中的username要替换成自己的Github用户名:
cd output
git clone https://github.com/username/username.github.io.git
4.设置一键上传部署到Github。打开根目录下的Makefile文件,修改以下三个地方:
OUTPUTDIR=$(BASEDIR)/output/username.github.io
publish:
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
github: publish
cd OUTPUTDIR ; git add . ; git commit -am 'your comments' ; git push
5.设置完后,以后写完文章就可以通过在blog根目录下执行“make github”进行一键部署了。
四、通过Markdown试写博文并上传Github发布
Markdown是当下非常流行的一种文本编辑语法,支持HTML转换,书写博文排版也方便快捷。
1.写一篇文章:用马克飞象编辑器用Markdown语法来写一篇文章保存为.md格式放在content目录下。写完后,执行以下命令,即可在本机http://127.0.0.1:8000看到效果。
make publish
make serve
2.创建一个页面:这里以创建 About页面为例。在content目录创建pages子目录:
mkdir content/pages
*然后创建About.md并填入下面内容:
title: About Me
date: 2013-04-18
About me content
*注意上面title和date是.md文件的重要参数,需要写在文档开头。比如:
Title: Pelican+Github
Date: 2014-10-07 22:20
Modified: 2014-10-07 23:04
Tags: python, pelican
Slug: build-blog-system-by-pelican
Authors: Joey Huang
Summary: blablablablablablablabla...
Status: draft
相关介绍请参见官方文档:http://pelican-zh.readthedocs.org/en/latest/zh-cn/ 。完成后同样可以在本机http://127.0.0.1:8000看效果。
3.创建导航目录项:Menu Item设置。在你的博客中,可设置相应的菜单项,菜单项是通过pelicanconf.py设置的,具体如下所示:
MENUITEMS = (("ITEM1","http://github.com"),
("ITEM2",URL),
......)
五、安装主题
这里以主题bootstrap2为例,同样还在blog目录下:
git clone https://github.com/getpelican/pelican-themes.git
cd pelican-themes
pelican-themes -i bootstrap2
对应在在pelicanconf.py中添加主题选择条目:
THEME = 'bootstrap2'
六、安装第三方评论系统Disqus
在Disqus上申请一个站点,记住shortname。 在pelicanconf.py添加:
DISQUS_SITENAME = Shortname
七、添加Google Analytics
去Google Analytics申请账号并通过验证,记下跟踪ID(Track ID), 在pelicanconf.py添加:
GOOGLE_ANALYTICS = '跟踪ID'
八、添加Google Webmasters和百度站长收录
为了让博客被Google更好的收录,比如手动让Googlebot抓取、提交Robots、更新Sitemap等等。
1.在Google Webmasters上注册并通过验证。
2.添加sitemap插件。还是到/blog目录下执行:
cd ~/blog
git clone git://github.com/getpelican/pelican-plugins.git
*然后在pelicanconf.py里配置如下:
PLUGIN_PATH = u"pelican-plugins"
PLUGINS = ["sitemap"]
SITEMAP = {
"format": "xml",
"priorities": {
"articles": 0.7,
"indexes": 0.5,
"pages": 0.3,
},
"changefreqs": {
"articles": "monthly",
"indexes": "daily",
"pages": "monthly",
}
}
3.将make github命令后在output目录下生成的sitemap文件上传到Google Webmasters。
4.对于百度。它是宣称支持sitemap的,但是网上相关问题一大堆,要么格式不对要么就是抓取失败,要么突然不开放支持。在几次尝试失败以后,我是通过添加JavaScript代码来自动推送网站链接的。具体是在主题模板(base.html)面最后添加代码:
*我还是比较推崇这种方法的,因为比sitemap方法被抓取收录的时间短很多。谷歌的sitemap是xml格式。
九、添加谷歌/百度站内搜索
谷歌站内搜索
1.修改主题。找到这个主题的templates文件夹中的base.html,在