zoukankan      html  css  js  c++  java
  • GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置

    GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置

    前言

    此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客poem_of_sunshinefrantic1048,他们写得都很好,内容流程完善,但在具体实施过程中小白还是会遇到很多问题,因此本文结合现有的教程,再进一步指出整个操作过程中所可能遇到的问题,也为自己留个纪念。

    本文架构

    本文将从以下几个方面进行描述:

    一、安装环境

    1.1 Windows安装环境

    本文基于Windows7 32位操作系统

    1.2 安装软件系列

    在整个安装配置过程中,所需要的软件清单如下所示,点击相应软件可直接从网站下载。

    1.3 安装步骤

    1.3.1 Python安装

    进官网下载python2.7 Windows安装版本,我用的是python2.7.6,msi类型,直接点击安装文件进行安装,安装路径自己选,安装好之后,将安装路径加入到系统环境变量PATH中,例如我安装的路径如下: 

    C:Program FilesPython27

    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%MarkdownPad2MarkdownPad2.exe_Url_bakzl5xvna20knbzwksj2a0nyzlicvaa2.3.2.34663
    e.g: c:users{username}AppDataLocalMarkdownPad2.exe_Url_2o2l2qlnbxt2ueyxs3lr3txdmzazbghc2.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.pyFEED_RSS指定的XML文件
    |   └──pages #目录,pelicanconf.pyARTICLE_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-********-*" #IDUA开头
    

    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:windowssystem32中即可。

    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

  • 相关阅读:
    JVM探秘1--JVM内存运行时区域划分
    skywalking学习之路---skywalking环境从零搭建部署
    ES6学习笔记之解构赋值
    ES6学习笔记之Symbol
    ES6学习笔记之块级作用域
    Vue开发警告[Vue warn]: Avoid replacing instance root $data. Use nested data properties instead.
    JavaScript实现归并排序
    Vue-cli3.x在开发环境中(router采用 history模式)出现Failed to resolve async component default: Error: Loading chunk {/d} failed.或者Uncaught SyntaxError: Unexpected token <错误
    vue-cli3.x中使用axios发送请求,配合webpack中的devServer编写本地mock数据接口(get/post/put/delete)
    uni-app开发微信小程序引入UI组件库(Vant-weapp)步骤
  • 原文地址:https://www.cnblogs.com/ballwql/p/pelican.html
Copyright © 2011-2022 走看看