Published: 2016-04-13 10:22:00
By ytwan
In Items .
tags: Python
做个人网站的三个步骤
决定使用pelican来发布个人的博客,使用的过程中逐渐摸索了一些关于网站的东西,先使用pelican静态网站生成器做一个静态的网站
然后再使用Python中的flask框架来做一个相对复杂的网站。同时也关注Scrapy爬虫。Python中还有的就是作为数据预处理的一些小工具
机器学习的一些算法Panas。对于python的学习和使用,在训练中逐渐练习吧!
选择pelican的原因:语言,开发活跃,够轻量,有主题
第一步:搭建环境
在 Windows 操作系统下可能出现的问题会很多,但是源于自己目前用于娱乐的还是 Windows 系统,所以
环境还是在这下面搭建的。首先要下载安装 Python ,并将 Python 加入到环境变量的路径中去,注意 pip 也需要安装, python
环境的安装去谷歌就好。
0 . 操作系统,操作系统的位数
Windows 32bit
1 .Python 的版本以及位数
安装 Python 完成后,记得设置环境变量,设置环境变量自行百度
C : \ Python2 .7 \ ;
C : \ Python2 .7 \ Scripts \ ;
查看是否设置成功,打开命令提示符输入
python ,看到以下内容,可见我安装的是 32 位的
Python 2 .7.11 ( v2 .7.11 :6d1b6a68f775 , Dec 5 2015 , 20 :32:19 ) [ MSC v.1500 32 bit ( Intel ) ] on win32
输入 python -V 可以查看 Python 的版本
2 .git Github 账户
申请个 GitHub 账户,并下载 GitHub 软件
3 . 安装 pelican ,现在 pelican 是 3 .3.0 版本的,同时安装 markdown
( 1 )下载安装, cmd 运行下面的命令,安装 pelican
pip install pelican Markdown
( 2 )创建一个目录用来存放工程,转移到所在的目录
然后运行
pelican-quickstart
系统会给出一系列问题,比如你的博客网址啊,作者名字之类的,
运行命令之后,在当前目录下有以下的文件
blog /
├── content # 存放输入的源文件
│ └── ( pages ) # 存放手工创建的静态页面
├── output # 生成的输出文件
├── develop_server .sh # 方便开启测试服务器
├── Makefile # 方便管理博客的 Makefile
├── pelicanconf .py # 主配置文件
└── publishconf .py # 主发布文件,可删除
如果在 content 目录下创建了 pages 目录,这个目录下的页面都是用来作为顶部导航栏的静态存在。一般用于 About , Contact 之类的页面
涉及是否要自动生成并发布页面等相关问题。如果你回答“是”, 将会在您创建的项目根目录下生成 fabfile .py 和 Makefile 文件。
这些文件会记录安装过程中所做的相关设置,因此从一开始,就应该根据特定需求及其使用模式来设置相关信息。
第二步:生成静态的网页
因为需要使用make函数,所以安装了MinGW
MinGW - Minimalist GNU for Windows
下载 MinGW installation manager。这是是i686,是32位的。如果机器是64位的,则需要安装64位的。
<1>下载之后,在下载的文件夹下会有C:\My_Files\MinGW\bin下会有mingw-get
cd C:\My_Files\MinGW\bin
输入:mingw-get install gcc g++ mingw32-make 。安装完成后,并把mingw32备份后改名为make,并添加到环境变量路径中这样
<2>或者直接使用 MinGW installation manager点击鼠标进行安装,安装完成后,并把mingw32备份后改名为make,并添加到环境变量的路径中
在cmd中输入 make -version 。如果显示GNU Make 3.82.90 Built for i686-pc-mingw32 则表明安装成功。
安装64位的,查看mingw-w64-install.exe
把写好的文章放到D:\Coding\Blogs\content\articles中去
D:
cd D:\Coding\Blogs 注意在主目录即可,不需要到content内
然后
make html
在这里要说明的是在有些时候,我们要删除过去的内容,怎么办呢
在配置文件中有如下的内容,把命令前的注释符号去掉,make html,然后,在注释掉,在生成
###生成文件时是否删除 output 目录
#DELETE_OUTPUT_DIRECTORY =True
会报错,然后再注释掉保存后,在运行即可
第三步:上线Github
流程如下,至于配置的可以参照下面的注释
打开github,打开open in gitshell
###流程代码
cd D:\Coding\Blogs\output
git init
git add .
git commit -m "third com"
git remote rm origin
git remote add origin https://github.com/ytluck/ytluck.github.io.git
git push -u origin master
说明:
网上搜索说GitHub Pages分两种,一种是项目页面,可创建多个;另一种是用户页面,每个用户ID只能创建一个。两种都可以用来托管Pelican博客,这里以用户页面为例。
首先要创建新建一个Repository,Repository名字是 ytluck.github.io
注意,其中<ytluck.github.com>竟然不能用,网上有资料说可以使用com。但是据传言在我国境内,由于一些原因,不能使用。没办法只能使用一个io作为网站。这点可耽误了我不少时间
其中 ytluck 是我的用户ID。创建完要public
打开github,打开open in gitshell
然后在
cd D:\Coding\Blogs\output
# 在本地仓库目录,创建裸仓库先本地库的创建,在一个本地一个目录把要创建仓库的目录创建好:
git init
#把本地仓库先提交到一个分支,一般开始是 master
##更新所有 git add .
git add .
git commit -m "thid comm" //提交更新,并注释信息“first commit”
#提交远程服务器,//连接远程github项目
git remote rm origin
git remote add origin https://github.com/ytluck/ytluck.github.io.git
git push -u origin master
##如果出现错误,例如远程仓库比你的本地库更新,所以你得先 pull 下,再 push 就 ok 了。
git pull --rebase
git pull origin master
附录
关于文章的书写
文章书写使用的软件时MarkdownPad2.
如何给一篇文章指定一个特定模板
给一篇文章指定一个特定的模板也很简单,只需要在文章中添加如下元数据,
并且确保该模板文件在模板中存在即可
Template: template_name
如何将一篇文章设置为主页
根据上面的第5条很容易将一篇文章设置为网站的主页,如下代码即可实现将 content/pages/home.md设为主页
Title: [www.yulin]
Date: 2016-03-08
URL:
save_as: index.html
文章正文内容!
http://www.yanyulin.info/pages/2014/01/pelican_question.html
如何给一篇文章指定URL
在需要指定URL的文章或者页面中包括两个元数据`url`与`save_as`,例如以下代码
url: override/url/
save_as: override/url/index.html
这个代码指定了本篇文章的url为override/url/index.html
关于板式的设定
1.安装主题
对应在在pelicanconf.py中添加主题选择条目:
THEME = 'bootstrap2'
2.资源目录管理
使用目录名作为文章的分类名
USE_FOLDER_AS_CATEGORY = True
使用文件名作为文章或页面的slug(url)
FILENAME_METADATA = '(?P<slug>.*)'
页面的显示路径和保存路径,推荐下面的方式
ARTICLE_URL = '{category}/{slug}.html'
ARTICLE_SAVE_AS = ARTICLE_URL
PAGE_URL = '{slug}.html'
PAGE_SAVE_AS = PAGE_URL
CATEGORY_URL = '{slug}/index.html'
CATEGORY_SAVE_AS = CATEGORY_URL
TAG_URL = 'tag/{slug}.html'
TAG_SAVE_AS = TAG_URL
TAGS_SAVE_AS = 'tag/index.html'
参考:
pelican-quickstart https://github.com/getpelican/pelican-themes.git