今天我将谈一下我这个博客是如何搭建的。在我们开始之前,我希望你熟悉使用 Github 并且可以搭建一个 Python 虚拟环境来进行开发。如果你不能做到这些,我推荐你去学习一下 Django Girls 教程,它包含以上和更多的内容。
今日我将谈一下我这个博客是怎么建立的。在咱们开端之前,我期望你了解运用 Github 而且能够建立一个 Python 虚拟环境来进行开发。假如你不能做到这些,我引荐你去学习一下 Django Girls 教程,它包括以上和更多的内容。
这是一篇协助你发布由 Github 保管的个人博客的教程。为此,你需求一个正常的 Github 用户账户 (而不是一个工程账户)。
你要做的***件事是创立一个放置代码的 Github 库房。假如你想要你的博客只是指向你的用户名 (比方 rsip22.GitHub.io) 而不是一个子文件夹 (比方 rsip22.github.io/blog),你有必要创立一个带有全名的库房。
Github 截图,翻开了创立新库房的菜单,正在以 'rsip22.github.io' 姓名创立一个新的库房
我引荐你运用 README
、用于 Python 的 .gitignore
和 一个自由软件许可证 初始化你的库房。假如你运用自由软件许可证,你依然具有这些代码,可是你使得其他人能从中获益,答应他们学习和复用它,而且更重要的是答应他们享有这些代码。
已然库房现已创立好了,那咱们就克隆到本机中将用来保存代码的文件夹下:
$ git clone https://github.com/YOUR_USERNAME/YOUR_USERNAME.github.io.git
而且切换到新的目录:
$ cd YOUR_USERNAME.github.io
由于 Github Pages 偏好运转的方法是从 master 分支供给文件,你有必要将你的源代码放到新的分支,避免 Pelican 产生的静态文件输出到 master 分支。为此,你有必要创立一个名为 source 的分支。
$ git checkout -b source
用你的体系所装置的 Pyhton 3 创立该虚拟环境(virtualenv)。
在 GNU/Linux 体系中,指令或许如下:
$ python3 -m venv venv
或许像这样:
$ virtualenv --python=python3.5 venv
而且激活它:
$ source venv/bin/activate
在虚拟环境里,你需求装置 pelican 和它的依靠包。你也应该装置 ghp-import (来协助咱们发布到 Github 上)和 Markdown (为了运用 markdown 语法来写文章)。运转如下指令:
(venv)$ pip install pelican markdown ghp-import
一旦完结,你就能够运用 pelican-quickstart
开端创立你的博客了:
(venv)$ pelican-quickstart
这将会提示咱们一系列的问题。在答复它们之前,请看一下如下我的答案:
> Where do you want to create your new web site? [.] ./
> What will be the title of this web site? Renata's blog
> Who will be the author of this web site? Renata
> What will be the default language of this web site? [pt] en
> Do you want to specify a URL prefix? e.g., http://example.com (Y/n) n
> Do you want to enable article pagination? (Y/n) y
> How many articles per page do you want? [10] 10
> What is your time zone? [Europe/Paris] America/Sao_Paulo
> Do you want to generate a Fabfile/Makefile to automate generation and publishing? (Y/n) Y **# PAY ATTENTION TO THIS!**
> Do you want an auto-reload & simpleHTTP script to assist with theme and site development? (Y/n) n
> Do you want to upload your website using FTP? (y/N) n
> Do you want to upload your website using SSH? (y/N) n
> 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) y
> Is this your personal page (username.github.io)? (y/N) y
Done. Your new project is available at /home/username/YOUR_USERNAME.github.io
关于时区,应该指定为 TZ 时区(这里是悉数列表: tz 数据库时区列表)。
现在,持续往下走并开端创立你的***篇博文!你或许想在你喜欢的代码修改器里翻开工程目录而且找到里边的 content
文件夹。然后创立一个新文件,它能够被命名为 my-first-post.md
(别忧虑,这只是为了测验,今后你能够改动它)。在文章内容之前,应该以元数据开端,这些元数据标识标题、日期、目录及更多,像下面这样:
.lang="markdown" # DON'T COPY this line, it exists just for highlighting purposes
Title: My first post
Date: 2017-11-26 10:01
Modified: 2017-11-27 12:30
Category: misc
Tags: first, misc
Slug: My-first-post
Authors: Your name
Summary: What does your post talk about? Write here.
This is the *first post* from my Pelican blog. **YAY!**
让咱们看看它长什么样?
进入终端,产生静态文件而且发动服务器。要这么做,运用下面指令:
0
$ cd YOUR_USERNAME.github.io
当这条指令正在运转,你应该能够在你喜欢的 web 浏览器地址栏中键入 localhost:8000
来拜访它。
博客主页的截图。它有一个带有 Renata's blog 标题的头部,***篇博文在左面,文章的信息在右边,链接和交际在底部
适当简练,对吧?
现在,假如你想在文章中放一张图片,该怎么做呢?好,首要你在放置文章的内容目录里创立一个目录。为了引证简略,咱们将这个目录命名为 image
。现在你有必要让 Pelican 运用它。找到 pelicanconf.py
文件,这个文件是你装备体系的当地,而且增加一个包括你的图片目录的变量:
1
$ cd YOUR_USERNAME.github.io
保存它。翻开文章而且以如下方法增加图片:
2
$ cd YOUR_USERNAME.github.io
你能够在终端中随时按下 CTRL+C
来中止服务器。可是你应该再次发动它并查看图片是否正确。你能记住怎么样做吗?
0
$ cd YOUR_USERNAME.github.io
在你代码竣工之前的***一步:你应该保证任何人都能够运用 ATOM 或 RSS 流来读你的文章。找到 pelicanconf.py
文件,这个文件是你装备体系的当地,而且修改关于 RSS 流产生的部分:
4
$ cd YOUR_USERNAME.github.io
保存一切,这样你才能够将代码上传到 Github 上。你能够经过增加一切文件,运用一个信息(“first commit”)来提交它,而且运用 git push
。你将会被问起你的 Github 登录名和暗码。
5
$ cd YOUR_USERNAME.github.io
还有...记住在最开端的时分,我给你说的怎样避免 Pelican 产生的静态文件输出 master 分支吗。现在对你来说是时分产生它们了:
6
$ cd YOUR_USERNAME.github.io
你将会被再次问及 Github 登录名和暗码。好了!你的新博客应该创立在 https://YOUR_USERNAME.github.io
。
假如你在过程中任何一步遇到一个过错,请从头读一下这篇手册,测验并看看你是否能发现过错产生的部分,由于这是调试的***步。有时乃至一些简略的东西比方一个错字或许 Python 中过错的缩进都能够给咱们带来费事。说出来并向网上或你的社区求助。
关于怎么运用 Markdown 来写文章,你能够读一下 Daring Fireball Markdown 攻略。
为了获取其它主题,我主张你拜访 Pelican 主题。
这篇文章改编自 Adrien Leger 的运用一个 Bottstrap3 主题来建立由 Github 保管的 Pelican 博客。