前言
之前一直挺羡慕大牛们都有自己的博客,发表自己的生活感悟,技术文章,把自己的懂的东西分享给别人,帮助我们这些小白成长。所以一直以来都想自己也搭个博客,记录一下自己的学习过程,最好再对比我还要白的小白起到一点帮助作用。正巧最近有时间,于是乎便着手把这个博客搭建了起来。二话不多说,上搭建过程
前言二 (o_O)???
首先,博客是什么?博客,是自己自由表达的一个平台,也是对自己所学知识的记录,它更是人与人之间深度交流沟通的一种方式,同时,它还促进了科学发展、社会进步、人类繁荣。。。。额,吹的好像有点过分了。其实简单的说,博客就是公开的日记,随性的发点信息,写点技术感想。所以别犹豫了,赶紧搭建一个玩耍吧
正文
博客的搭建方式有很多种,其中最方便的就是使用像 wordpress 这种博客平台,源码上传服务器,创建数据库,稍作设置,浏览器访问,改主题,装插件,博客就搭好了,但是说起来容易,真正搭建时也会遇到各种各样的问题。不过不要紧,因为 wordpress 的用户很多,基本上遇到问题网上都能找到解决办法。
所以还是老规矩,哪里不会点哪里,既然 wordpress 搭建博客比较简单,那我们就采用另一种相对较复杂的方式搭建,也就是使用 Pelican + Github Pages 方式搭建,首先解释名词。
Github Pages
你可能没听过 Github Pages,但你一定或多或少的听说过 Github,Github 是一个面向开源及私有软件项目的托管平台,它就像是程序员的 Facebook,你可以把自己写的程序、脚本开源,然后放到 Github 上,其他人可以自由使用,也可以参与你的开源项目。Github Pages 可以理解成是用户编写的,托管在 Github 上的静态网页。
Pelican
Pelican是一个用Python语言编写的静态网页生成器,支持使用restructuredText和Markdown写文章,配置灵活,扩展性强,有许多优秀的主题和插件可供使用。类似的静态网页生成器还有很多,比如基于 Ruby 的 jekyll,基于 node-js 的 hexo 等,它们各有各的优点,如果熟悉 ruby 和 node-js 的朋友也可以选择这两个生成器。
创建 Github Pages
先去github注册一个账号,注册Github,登录后点击右上角的 “+” ,创建一个新的仓库(New repository),仓库名为 username.github.io ,其中 username 为自己的 Github 用户名,仓库名就是之后你博客的地址.
Github Pages 的官网有相关介绍 Github Pages
创建成功后使用浏览器访问 https://username.github.io 就可以访问到你的 Github Pages 首页了,但是因为仓库还是空的,你应该看到的是404页面。接下来转回本地
搭建Pelican环境
安装 git 和 virtualenv。pip 在安装 python 时应该已经被安装了
sudo pacman -S git # apt-get 用户使用 apt-get install git 安装 pip install virtualenv
使用 virtualenv 工具创建虚拟环境
virtualenv ~/virtualenv/pelican cd ~/virtualenv/pelican source bin/activate
安装 pelican 及可选安装包
pip install pelican pip install Markdown # 使用Markdown写博客就需要安装 pip install typogrify # 这个好像是排版用的,可以装一下,目前我还没用到
创建博客
mkdir myblog # 名字随意 cd myblog pelican-quickstart
执行上面的命令后会有一系列提示,根据提示对博客进行配置,配置流程大致如下:
> Where do you want to create your new web site? [.] > What will be the title of this web site? > Who will be the author of this web site? > What will be the default language of this web site? [en] > Do you want to specify a URL prefix? e.g., http://example.com (Y/n) > What is your URL prefix? (see above example; no trailing slash) > Do you want to enable article pagination? (Y/n) > How many articles per page do you want? [10] > Do you want to generate a Fabfile/Makefile to automate generation and publishing? (Y/n) > Do you want an auto-reload & simpleHTTP script to assist with theme and site development? (Y/n) > Do you want to upload your website using FTP? (y/N) N > Do you want to upload your website using SSH? (y/N) y > What is the hostname of your SSH server? [localhost] > What is the port of your SSH server? [22] > What is your username on that server? [root] > Where do you want to put your web site on that server? [/var/www] > Do you want to upload your website using Dropbox? (y/N) N > Do you want to upload your website using S3? (y/N) N > Do you want to upload your website using Rackspace Cloud Files? (y/N) N > Do you want to upload your website using GitHub Pages? (y/N) N Done.
其中大部分的内容默认就好,如果不知道如何填写也可以不填写,直接回车,因为这些内容之后都是可以在配置文件中修改的。创建完成后,你的博客目录看起来应该是这样的:
myblog/ ├── content # 自己想要发表的文章写完后放在这个目录下,这个目录及子目录下的所有md和rst文件将会被转成html文件 ├── develop_server.sh #这个是用来在本地运行一个服务器来实时查看生成的html文档的脚本 ├── fabfile.py # 这个是使用Python的fabric来实现文件上传的工具,即Deploy工具 ├── Makefile # 这个是使用是用来生成网站内容并上传的工具。 ├── output # 这个是从content目录生成的html目标文件的存放目录,之后上传到github上的就是这个文件夹下的内容 ├── pelicanconf.py # 这个是本地开发时的配置文件 └── publishconf.py # 这个是发布时的配置文件
配置博客
回到 myblog 目录,选择博客主题,部分主题在 主题预览处可以看到效果图。所有博客主题可以到 pelican主题开源库 下载,下载后放在 myblog 文件夹内就好,当然,你也可以将所有主题克隆到本地,逐一查看效果:
git clone https://github.com/getpelican/pelican-themes.git
选择好主题后需要修改配置文件,在配置文件中修改或添加自己的主题,比如我的博客选择的是 clean-blog 主题,则需要在我的 pelicanconf.py 文件中添加如下内容:
THEME = 'clean-blog'
不同的主题会有稍微不同的设置方法,主题中独有的特性会在主题文件夹内的 README.md 内标出,但大部分配置方式都遵循 pelican的官方文档 (这份文档是 pelican 3.3.0 版本的中文翻译版),使用 pelican 过程中遇到的问题可以到这里查阅文档,一般都可以解决
书写自己的第一篇文章,在 myblog/content 文件夹内创建一个 hello.md 文件,里面写入下列内容:
Title: Hello World !
Date: 2016-10-25 10:20 Category: test Tags: test Slug: hello Authors: me世界,你好 !
添加博客评论系统,由于我们的博客是静态页面,没有数据库,所以需要使用第三方社会化评论系统,国内知名的如多说、友言等,友言不支持https,多说的话配置起来相对麻烦。我使用的是国外disqus,因为基本上pelican所有主题都默认支持disqus,所以设置起来相对简单,唯一的缺点就是被我国拦在了墙外,需要访问者翻墙才能看到评论模块。设置过程:去 disqus 的官网注册账号,按照流程申请自己的shortname,然后在pelicanconf.py 内添加:
DISQUS_SITENAME = shortname # 这里的shortname填写自己的shortname
其他如分组、标签、站点地图,流量分析也都是类似的设置方法,详情请阅读 pelican 官方文档.
生成静态博客
这时可以先预览一下效果了,在 myblog 目录下执行:
pelican content -s pelicanconf.py cd output
Python 2 执行
python -m SimpleHTTPServer
Python 3 执行
python -m http.server
浏览器浏览 http://127.0.0.1:8000 就可以看到主题样式和自己的第一篇博客了。如果对博客样式细节方面有些不满意,可以自行修改主题文件夹内的html模板、css样式和js脚本,定制一个属于自己的博客。
部署博客站点
在 pelicanconf.py 中配置博客地址
SITEURL = 'https://username.github.io'
重新生成静态页面
cd ~/virtualenv/pelican/myblog/ pelican content -s pelicanconf.py
如果不放心,依然可以进入到 output 目录下开启服务本地预览.确定没问题了,推送自己的博客到Github Pages
cd output git init git add . git commit -m "test" git remote add origin [email protected]:username/username.github.io.git # 注意修改为自己的 git push origin master
输入用户名和密码后即可完成提交,之后访问 httpts://username.github.io 即可看到自己的博客。如果对git命令不熟悉,推荐阅读 廖雪峰的Git教程
以后发布博客就只需要用 Markdown 写一篇文章,然后放到 content 目录下,在 myblog 目录下执行
pelican content -s pelicanconf.py cd output git add . git commit -m "更新博客" git push origin master
如果你觉得每次输入用户密码很麻烦,也可以使用ssh方式,还可以自己修改 Makefile 文件简化发布流程.
这里只是介绍了博客搭建的流程,其他如插件和美化等自己根据自己需求和爱好自己设置就好。
作者: JenI 转载请注明出处,谢谢
Comments !