GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置
GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置
前言
此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客、poem_of_sunshine和frantic1048,他们写得都很好,内容流程完善,但在具体实施过程中小白还是会遇到很多问题,因此本文结合现有的教程,再进一步指出整个操作过程中所可能遇到的问题,也为自己留个纪念。
本文架构
本文将从以下几个方面进行描述:
一、安装环境
1.1 Windows安装环境
本文基于Windows7 32位操作系统
1.2 安装软件系列
在整个安装配置过程中,所需要的软件清单如下所示,点击相应软件可直接从网站下载。
1.3 安装步骤
1.3.1 Python安装
进官网下载python2.7 Windows安装版本,我用的是python2.7.6,msi类型,直接点击安装文件进行安装,安装路径自己选,安装好之后,将安装路径加入到系统环境变量PATH中,例如我安装的路径如下:
C:\Program Files\Python27\
1.3.2 setuptools安装
安装此插件的主要目的当然就是为了大名鼎鼎的easy_install了撒,它与pip齐名,呆会也要装起。在我用python setup.py install
过程中,一开始出现了编码错误问题,python的默认编码为ascii,有网上资料说改Python的默认编码为utf-8就可以,即在出现编码错误的文件中执行如下语句:
- import sys
- reload(sys)
- sys.setdefaultencoding("utf8")
但这方法在我的系统中无效,最后解决方法是下载.exe类型的setuptools进行安装,下载地址如上软件清单链接,此过程中安装很顺利。安装好后在python安装目录下的Scripts文件夹会有一些关于easy_install的文件,所以要将此路径加到系统环境变量PATH,我的路径如下:
- {python install path}/scripts/
1.3.3 Pip安装
pip我是直接用easy_install安装的,安装命令: easy_install pip
。安装好之后也会在Scripts文件夹生成一些Pip的可执行文件。
1.3.4 Git Bash安装
Git 客户端的安装,直接选择默认安装就行了,Git版本不能太低。
Pelican是用PIP安装的,一开始安装时也出现一些错误,就是PIP默认使用国外镜像,在获取安装源过程中会出现握手超时现象,即镜像不稳定,后来查相关资料找到国内清华大学的镜像安装源,其网址如下:
- http://e.pypi.python.org/simple/
在Pip安装时指定此路径即可,速度搜搜的,很爽很稳定,指定格式如下:
- pip install pelican -i http://e.pypi.python.org/simple/
安装其它相关python包时也可以这样安装,速度有保证。
1.3.5 Markdownpad2安装
此软件是Window下比较好的Markdown编辑器,不过是收费的,为了满足大家的使用需求,对于我等穷屌丝只能找些破解软件用用,所以在网上找了相关的破解文件,请点击此下载。破解方法已经在下载的文件包中有所说明,这里也提一下,分两步:
首先,将user.config放在如下格式路径中:
- %LOCALAPPDATA%\MarkdownPad2\MarkdownPad2.exe_Url_bakzl5xvna20knbzwksj2a0nyzlicvaa\2.3.2.34663\
- e.g: c:\users\{username}\AppData\Local\MarkdownPad2.exe_Url_2o2l2qlnbxt2ueyxs3lr3txdmzazbghc\2.3.2.34664\
其次,运行下Patch.exe注册机程序,Patch下安装主目录中的Markdownpad2程序即可。注:运行此patch之前务必不要先启动Markdownpad2程序
最后,启动Markdownpad2即可享受专业版的服务了。
1.3.6 Make 安装
下载完Make后,直接放到一个文件夹,将此路径添加到系统环境变量PATH中,重启或注销电脑后就可以进行make操作了
二、Pelican配置
配置Pelican,首先需要新建一个BLOG目录,然后执行pelican-quickstart
,具体步骤如下:
- mkdir blog
- cd blog
- pelican-quickstart
在执行完pelican-quickstart
后,在blog目录会产生如下目录结构的文件:
- blog/
- |--content #存储所写的blog文件目录,
- | └──(blog pages) #博客文件,如*.md后缀的文件
- |--output #执行make publish之后,会将博客文件转换成相应的html文件及相应的存储目录
- | └──.git #执行git init之后,产生的远程仓库目录
- | └──author #作者目录,存放pelicanconf.py中指定的Author文件
- | └──category #分类目录,默认目录文件为misc,在编辑器中指定
- | └──feeds #目录,pelicanconf.py中FEED_RSS指定的XML文件
- | └──pages #目录,pelicanconf.py中ARTICLE_URL指定格式分类文件
- | └──tag #目录,存放编辑器开头所指定的Tag
- | └──theme #目录,存放博客模板文件
- | └──archives.html,authors.html,categories.html,index.html, tags.html
- |——pelican-plugins #目录,pelican插件
- |——develop_server.sh #pelican简易web服务器操作文件
- |——fabfile.py # 与make类似,可用fab publish, fab server命令
- |——Makefile #make 命令文件
- |——pelicanconf.py #主要的pelican配置文件
- |——publishconf.py #发布配置文件,可有可无
2.1 Git远程仓库配置
要将blog部署到git上,必须在本地建立一个git仓库,同时必须确保在github server端有远程仓库,名字一般为username.github.io
。本地操作命令如下:
- cd output
- git init #产生一个.git文件夹
- git remote add origin https://github.com/username.github.io.git#将远程仓库配置到本地
2.2 Pelican常规配置
对于Pelican常规配置,主要配置选项如下,具体说明可参考getpelican网站的命令说明。
- Author=u""
- SITENAME=u""
- SITEURL=u""
- GITHUB_URL=u""
- ARCHIVES_URL=u""
- ARTICLE_URL=u""
- ARTICLE_SAVE_AS=u""
- DEFAULT_LANG=u"zh"#默认语言设置
- DATE_FORMAT={"zh":("zh_CN","%Y-%m-%d,%a"),}#日期格式设置,可按自己喜好设定
- DEFAULT_PAGINATION=5 #默认的分页数量
- TIME_ZONE = u"Asia/Shanghai"#时区设置
2.3 Pelican进阶配置
一些进阶设置可以帮助更好的管理blog,比如用到Google的Analytical,第三方的Disqus评论系统,还有Feed、插件、Blogroll及Social设置,如果还想要导航菜单项,还可设置MENUITEMS
等,下面一一介绍:
2.3.1 Feed设置
Feed的设置方便博客的订阅,在pelicanconf.py中需添加如下命令:
- FEED_RSS = u"feeds/all.rss.xml"
- CATEGORY_FEED_RSS=u"feeds/%s.rss.xml"#为分类添加Feed
2.3.2 Plugin设置
可以根据需要添加相应的插件,插件可从github克隆,克隆命令如下:
- git clone git://github.com/getpelican/pelican-plugins.git
比如要设置Sitemap插件,然后在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",
- }
- }
2.3.3 Theme设置
- git clone https://github.com/getpelican/pelican-themes.git
- cd pelican-themes
- pelican-themes -i bootstrap2 #可换成你自己的theme
2.3.4 Analytical设置
需要到Google的Analytical申请一个账号,记录下追踪ID,然后在pelicanconf.py中添加如下命令:
- GOOGLE_ANALYTICS = u"UA-********-*" #ID以UA开头
2.3.5 Disqus
第三方评论系统有很多,这里选用很流行的Disqus作为第三方评论系统,同样需要到Disqus官网申请账号,然后填写两处:
- Site name: {your git account name}.github.io
- Admin URL: {Shortname}.disqus.com
记下Shortname,然后在pelicanconf.py中添加如下命令行:
- DISQUS_SITENAME = u"{Shortname}" #填入你的Shortname
2.3.6 独立域名设置
如果你有独立域名,则可用自己的域名去访问github博客,在godaddy上可用支付宝购买,同时我们用dnspod进行动态域名解析,步骤如下:
步骤1:修改godaddy中的NameServers的两个地址为dnspod的DNS地址:
- f1g1ns1.dnspod.net
- f1g1ns2.dnspod.net
步骤2:在Dnspod中添加一条A记录,指向github URL
- 207.97.227.245
步骤3:在Pelican主目录,即上面创建的blog/output目录,添加CNAME文件,在文件中添加你的独立域名
2.3.7 Menu Item设置
在你的博客中,可设置相应的菜单项,菜单项是通过MENUITEMS设置的,具体如下所示:
- MENUITEMS = (("ITEM1","http://github.com"),
- ("ITEM2",URL),
- ......)
2.3.8 BlogRoll和Social设置
设置一些Blog链接,通过设置LINKS
实现,具体如下:
- LINKS = (("Github", "https://github.com"),
- ("Cnblogs", URL),)
- SOCIAL = (("博客园", "http://www.cnblogs.com"),
- ("Github','http://github.com"),)
三、Markdown博客编写
利用Markdownpad编辑器可方便进行Markdown格式的博客编写,编写格式如下所示:
- Date: 2013-11-27
- Title: pelican install
- Tags: pelican
- Category: Pelican
- Slug: pelican-install
- 【blog正文内容】
在编好之后,执行如下命令:
- make publish # 将.md发布到output目录
- make server # 在本机查看预览博客,localhost:8000
如果要一次性部署到github,可以配置Makefile文件中的github,要修改两处,一处是将$(PUBLISHDIR)
替换成$(CONFFILE)
,另一处增加一些git命令,具体如下所示:
- publish:
- $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
- github: publish
- cd $(OUTPUTDIR) && git add . ;
- cd $(OUTPUTDIR) && git pull origin master;
- cd $(OUTPUTDIR) && git commit -m 'commit';
- cd $(OUTPUTDIR) && git push origin master
最后,只要进行Makefile
的同级目录,执行make github
即可完成一次性部署。注:在此过程中,可能要输入github username 和 password,要避免重复输入,请查看我的另一篇博客。
四、安装配置出错问题集绵
在安装过程中,出现一些错误,在此统一写出来,以留个纪念
4.1 Setuptools问题
此问题在上述有所提到,就是用python setup.py install
安装时提示编码出错,最后重新下载.exe文件安装解决此问题,编码本身暂时还未找到有效解决方法。
4.2 Pelican握手超时问题
此问题上述也有所提及,就是国外镜像不稳定导致,换成清华镜像后就好了
4.3 Git pull & push问题
在Git pull和Git push过程中出现如下图所示问题:
即以https进行git操作时,会出现libcurl库不支持https的错误,此错误主要是由于现有libcurl库不支持ssl所致,解决方法是下载支持ssl的libcurl,然后将相应的.dll文件拷贝到c:\windows\system32中即可。
4.4 Makefile问题
此问题主要是由于自己粗心大意造成,但也贴出来以免大家也犯同样的错误,其实也很简单,就是忘记将publish
项的$(PUBLISHDIR)替换成$(CONFFILE)了,后果就是.git文件夹被破坏。
4.5 Code block 红框问题
在提交blog时,markdown语法中的code块对中文出现红框问题,主要是因为因为Pelican是使用pygment处理代码高亮的,而pygment的高亮颜色定义就在当前使用的主题目录中的pygment.css这个文件里,要修改代码高亮的配色就要通过修改这个文件来实现。现在打开它,可以看到里面是对代码的各种类型的内容的风格定义,其中有一行如下:
- .highlight .err { border: 1px solid #FF0000 } / Error /
根据内容可以看出这是规定书写错误的代码的文本样式,可是平时代码中有的字符也会被识别成错误的代码,所以就造成了代码块中时不时出现恼人的红框的问题,原因清楚了,现在要解决它就很容易了,直接删掉那行中的border样式就可以了。如果你跟我一样完全不需要给这类代码规定特殊样式的话,直接删掉那行即可。
五、总结
写了几个小时,终于把这篇博文写完了,主要是对markdown语法还不了解,边学边写,好得完成了,还有些部分是对pelican主页进行布置,这块自己也没有很多经验,以后会逐步深入,希望此篇blog能对初学者有所帮助。
备注:搭建好的博客如链接所示: www.zendwind.com
GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置的更多相关文章
- Jira7.10.1在Windows环境下的安装和配置
jira安装的环境准备 1. jira7.10的运行是依赖java环境的,也就是说需要安装jdk并且要是1.8以上版本: Java -version 2. 还需要为jira创建对应的数据 ...
- Windows环境下QWT安装及配置
** 1.QWT下载路径 **:https://sourceforge.net/projects/qwt/ 主要下载这三个文件:qwt-6.1.2.zip.qwt-6.1.2.pdf,qwt-6.1. ...
- 4.windows环境下如何安装memcached教程(转载+自己整理)
Memcached 是一个开源免费高性能的分布式内存对象缓存系统,能够加快网站访问速度和减轻数据库压力,本文向大家介绍下windows环境下如何安装memcached.百度经验:jingyan. ...
- 01.1 Windows环境下JDK安装与环境变量配置详细的图文教程
01.1 Windows环境下JDK安装与环境变量配置详细的图文教程 本节内容:JDK安装与环境变量配置 以下是详细步骤 一.准备工具: 1.JDK JDK 可以到官网下载 http://www.or ...
- windows环境下如何安装memcached教程
Memcached 是一个开源免费高性能的分布式内存对象缓存系统,能够加快网站访问速度和减轻数据库压力,本文向大家介绍下windows环境下如何安装memcached. 工具/原料 memcach ...
- Github相册博客搭建
前一段时间我看见一个问答,大概意思就是程序员都是怎么用自己的专业技能逗女朋友或表白的. 看了很多,有写定时关机脚本恶搞的,也有简单写个html展示的,其中最著名的就是几年前有个人写了个网页记录他们在一 ...
- Hexo+Github个人博客搭建 | 实战经验分享
概述 第一次尝试搭建属于自己的博客,并且成功了,非常开心. 很久之前就想搭建一个博客,可是也一直没有行动,最近在逛B站的时候发现一个up主(CodeSheep)的一个视频 <手把手教你从0开始搭 ...
- [原创]python MySQLdb在windows环境下的安装、出错问题以及解决办法
版权声明:本文为博主原创文章,未经博主允许不得转载. 问题:windows下安装MySQLdb的方法 解析:python没有php那种集成环境,比如wamp那种集成软件直接把所有需要的东西全部一次性搭 ...
- Windows环境下的安装gcc
Windows具有良好的界面和丰富的工具,所以目前linux开发的流程是,windows下完成编码工作,linux上实现编译工作. 为了提高工作效率,有必要在windows环境下搭建一套gcc,gdb ...
随机推荐
- angularJS前端分页插件
首先在项目中引入 分页插件的 js 和 css: 在html页面引入 相关js 和 css: 在控制器中引入分页插件中定义的 module[可以打开pagination.js查看,可以看到 其实,在插 ...
- Linux环境下用Weblogic发布项目【一】 -- 安装Weblogic
一.Weblogic安装系统环境: 1.前提条件: a.在笔记本[Windows7]上安装远程连接Linux软件:F-Secure SSH File Transfer Trial[简写为:FSSH] ...
- ACE反应器(Reactor)模式(2)
转载于:http://www.cnblogs.com/TianFang/archive/2006/12/18/595808.html 在Socket编程中,常见的事件就是"读就绪" ...
- 如何在Linux上安装QQ
我一直无法解决Ubuntu QQ问题,而最近我重装ubuntu之后在网络上找到与QQ相关的内容,网上有大神开发出了新版的wineQQ,解决了我们对QQ的需求.经过尝试,完成了QQ安装 如图 安装的是 ...
- Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 题解
Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 题目链接:https://codeforces.com/contest/1130 ...
- syslog大小限制
位置 /etc/logrotate.d/rsyslog 相关配置信息察看man logrotate size k/M/G /var/log/syslog { rotate daily missingo ...
- bzoj 1111 [POI2007]四进制的天平Wag 数位Dp
1111: [POI2007]四进制的天平Wag Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 302 Solved: 201[Submit][St ...
- CMDB资产管理系统开发【day26】:CMDB上节回顾
一.上节知识点回顾 服务器设计了一个表结构 开发了一个客户端 二.后台创建缓存区表 客户端连接服务器,在服务器的下面看报错信息 因为URL都没有写,所以我找不到呀 1.在MadKing\url.py ...
- sublime 常用插件 感觉比较全了 够用了
插件介绍 Package Control 功能:安装包管理 简介:sublime插件控制台,提供添加.删除.禁用.查找插件等功能 使用:https://sublime.wbond.net/instal ...
- idea中设置springboot热部署
在idea中设置springboot热部署,项目修改的时候不用手动重启应用 1,pom中添加依赖 <dependency> <groupId>org.springframewo ...