创建工作目录

首先使用pip安装pelican和markdown

pip install pelican markdown

然后创建目录

mkdir my_blog

接着进入目录cd my_blog,执行pelican-quickstart,当前目录内就会生成默认配置好的文件

修改配置

pelicanconf.py是博客的配置文件:

#!/usr/bin/env python
# -*- coding: utf-8 -*- #
from __future__ import unicode_literals AUTHOR = u'printR'
SITENAME = u"catmelo"
SITEURL = 'http://www.cnblogs.com/catmelo/' PATH = 'content'
TIMEZONE = 'Asia/Shanghai'
DATE_FORMATS = {'zh':'%Y-%m-%d %H:%M'} DELETE_OUTPUT_DIRECTORY = False
DEFAULT_LANG = u'zh' THEME = 'pelican-themes/pelican-bootstrap3'
PLUGIN_PATHS = ["plugins", "pelican-plugins"]
PLUGINS = ['tag_cloud', 'related_posts'] USE_FOLDER_AS_CATEGORY = True
#DEFAULT_CATEGORY = u'文章' SITELOGO = 'images/logo.png'
FAVICON = 'images/logo.png'
SITELOGO_SIZE = 14 ARTICLE_URL = 'posts/{category}/{slug}/'
ARTICLE_SAVE_AS = 'posts/{category}/{slug}/index.html'
PAGE_URL = 'pages/{slug}/'
PAGE_SAVE_AS = 'pages/{slug}/index.html' MD_EXTENSIONS = ['codehilite(css_class=highlight)','extra'] STATIC_PATHS = ['images', 'extra']
EXTRA_PATH_METADATA = {'extra/CNAME': {'path': 'CNAME'},} DISPLAY_ARTICLE_INFO_ON_INDEX = True
DISPLAY_TAGS_INLINE = False
DISPLAY_RECENT_POSTS_ON_SIDEBAR = True
SHOW_ARTICLE_CATEGORY = True
SHOW_DATE_MODIFIED = True
RELATED_POSTS_TEXT = u'相关文章' FEED_ALL_ATOM = None
CATEGORY_FEED_ATOM = None
TRANSLATION_FEED_ATOM = None
AUTHOR_FEED_ATOM = None
AUTHOR_FEED_RSS = None # Blogroll
LINKS = ((u'Github', 'http://github.com'),) # Social widget
SOCIAL = (('Github', 'http://github.com'),) DEFAULT_PAGINATION = 10 # Uncomment following line if you want document-relative URLs when developing
#RELATIVE_URLS = True

在Makefile文件里添加upload命令,方便上传到github:

...

html:
$(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)
upload:
cd $(OUTPUTDIR) && git add -A && git commit -am "update blog" && git push origin master ...

使用主题和插件

获取主题:git clone git://github.com/getpelican/pelican-themes.git

获取插件:git clone git://github.com/getpelican/pelican-plugins.git

修改pelicanconf.py文件,使主题和插件生效:

THEME = 'pelican-themes/pelican-bootstrap3' #直接指定主题目录
PLUGIN_PATHS = ["plugins", "pelican-plugins"] #pelican-plugins为插件总目录
PLUGINS = ['tag_cloud', 'related_posts'] #插件总目录里的插件(文件夹)名

上传到GitHub Pages

域名设置

content/extra/内添加CNAME文件,CNAME里只需写入一行域名,例如:github.com

修改pelianconf.py:

STATIC_PATHS = ['extra']
EXTRA_PATH_METADATA = {'extra/CNAME': {'path': 'CNAME'},}

git操作

cd output
git init
git remote add origin https://github.com/your_name/your_blog.git
git add -A
git commit -am "update blog"
git pull origin master
git push origin master

以后更新网站只需要执行:

cd my_blog
make html
make upload

添加logo和favicon(仅针对pelican-bootstrap3主题)

修改pelicanconf.py:

STATIC_PATHS = ['images', 'extra']

SITELOGO = 'images/logo.png'
FAVICON = 'images/logo.png'
SITELOGO_SIZE = 14

把图标logo.png放进content/images/里即可

使用pelican创建静态博客的更多相关文章

  1. Github Pages和Hexo创建静态博客网站

    Github Pages和Hexo创建静态博客网站 安装Node.js 本人是window环境,所以下载window版. 下载地址:https://nodejs.org/en/download/ 下载 ...

  2. Pelican搭建静态博客

    前言 一直以来都希望拥有属于自己的个人博客,随性发点信息,写点技术感想,记录自己的生活,重要的是不受广告的影响.不被河蟹.不会担心有一天被莫名其妙地消失. 之前看过一篇文章:"像黑客一样写博 ...

  3. 在windows下创建基于github的hexo静态博客

    最近边上的人都突然买起了域名搭起了个人网站,渣渣的我介于期末没事干也跟风搭了个静态博客.虽说博客基本不更新T T,嘛嘛回归正题. 首先准备工作: 1)安装nodejs 2)安装msysgit(虽然现在 ...

  4. Pelican+Github博客搭建详细教程

    操作系统:Mac OS / Linux 工具集: 1.Pelican--基于Python的静态网页生成器 2.马克飞象--Evernote出的Markdown文本编辑器 3.GoDaddy--域名供应 ...

  5. 【一】Ubuntu14.04+Jekyll+Github Pages搭建静态博客

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  6. github生成静态博客

    github生成静态博客很简单. 1.确认你知道你github的用户名,我的叫做chenxing12 2.创建一个项目名字叫做:用户名.github.io 我的用户名叫做chenxing12,所以我创 ...

  7. 使用coding、daocloud和docker打造markdown纯静态博客

    说起独立博客的技术演变,从数据库到纯文本放git是一大进步,从HTML到markdown又是一大进步. 解析技术有没有进步呢?既然markdown是纯文本了,再用PHP/Python/Ruby去实时解 ...

  8. Hexo搭建Github静态博客

    1. 环境环境 1.1 安装Git 请参考[1] 1.2 安装node.js 下载:http://nodejs.org/download/ 可以下载 node-v0.10.33-x64.msi 安装时 ...

  9. hexo —— 简单、快速、强大的Node.js静态博客框架

    hexo是一款基于Node.js的静态博客框架.目前在GitHub上已有1375 star 和 219 fork. 特性 风一般的速度 Hexo基于Node.js,支持多进程,几百篇文章也可以秒生成. ...

随机推荐

  1. Java_集合总结

    集合分类 Collection 接口是集合的父类 1.Set 集合 使用内部的排列机制(无序),存入集合的顺序和取出集合的顺序不一致,没有索引,存入集合的元素没有重复 HashSet集合 Linked ...

  2. 激活Windows

    额外的启动参数(键):/win=act – 在隐藏模式下运行程序,激活 Windows 并退出程序./ofs=act – 在隐藏模式下运行程序,激活 Office 并退出程序./wingvlk – 在 ...

  3. Servlet请求参数编码处理(POST & GET)

    小巧,但在中文语境下,还是要注意的. 以下是关键语句,注意转码的先后顺序,这源于GET是HTTP服务器处理,而POST是WEB容器处理: String name = request.getParame ...

  4. Clojure:两步发送iOS推送通知(apns)

    首先在project.clj中,添加对notnoop 类库的引用:[com.notnoop.apns/apns "0.2.3"] 然后使用如下方法就可以发送推送消息了: (ns d ...

  5. hive 报错/tmp/hive on HDFS should be writable. Current permissions are: rwx--x--x

    启动hive时报例如以下错误:/tmp/hive on HDFS should be writable. Current permissions are: rwx--x--x 这是/tmp/hive文 ...

  6. 2015 测试赛 同构 hihoCoder

    题目1 : 同构 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定2个树A和B,保证A的节点个数>=B的节点个数. 现在你需要对树A的边进行二染色. 一个好的染色 ...

  7. python 使用scapy编写DNS Fuzzer

    1. 描写叙述 使用scapy库,编写一个DNS Fuzzer工具,并測试.在这之前.先说明一下DNS协议请求包是封装在IP包中的UDP包(有些情况也可使用TCP)中.且UDP的端口为53. 进入sc ...

  8. ctags的基本操作总结

    ctags用法 说明: a.       ctags能够分析程序生成tags文件: b.         生成的tags文件,能够用 vi -t 查找结构体,数据类型,函数名所在位置.非常方便: ct ...

  9. IntelliJ IDEA 14注冊码

    User:xring Key:21423-V4P36-U7W8K-8CYUK-93HXA-MKGZ5 User:arix Key:52998-LJT74-J7YEX-UPVT3-Q5GUF-5G4B5 ...

  10. Python游戏server开发日记(一)目标

    到了新的环境.老大让我有空研究下一代server技术,作为一个长期任务. 新的server想达到的目标: 1.分布式系统,对象(Entity)之间的关系类似于Actor模型. 2.逻辑服务,是单进程. ...