一步一步打造Geek风格的技术博客
Geek是什么
Geek更多的是一种精神,一种态度,一种对技术的理解与信念。他们无法忍受丑陋的代码,拙劣的技术。他们思路开阔,技术娴熟,他们不甘平庸,追求完美。他们不会囿于常识,他们敢于突破。在常人眼中,他们不走寻常路,享受各种非主流的技术。但在他们自己眼中,这些又是那么得自然与优美。他们用自己的行为诠释着自己对于技术的理解,用那份固执传达着自己的信念。
他们掌握并热爱着技术,叛逆、执着,崇尚自由。
为什么不选择CSDN、Wordpress、Jekyll等技术
我在CSDN上发表博文被和谐了一次,就不会允许这种事发生第二次。
Wordpress上手容易、功能强大、插件丰富。但是在我看来,这些优点同时也是它的缺点:太笨重、太无脑、不够酷、无用功能太多、可定制的粒度不够小。我更喜欢简洁快速粗暴的博客系统。
Jekyll非常棒,可惜它基于Ruby。对于Python爱好者而言,基于Python的Pelican显然更加可口。
卧薪尝胆
我在搭建这个博客的过程中学到了很多很多有意思的技术。
搭建环境为Mac OS X/Linux,Windows下可能会麻烦一些。
搭建过程中会涉及到的技术名词如下:
- Mac OS X
- Python
- Pip
- Pelican
- Jinja2
- Github
- Git
- Makefile
- Markdown
- Mou
- Google Analytics
- Google Custom Search
- Google Webmasters
- Picasa
- Disqus
- Rss
- Sitemap
- Godaddy
- Dnspod
- A记录
若对任何一个技术名词有疑问,请翻墙Google it.
初见端倪
开始动手。
Github入门指南
请参考http://blog.csdn.net/duxinfeng2010/article/details/8654690
使用Github Pages创建个人博客
Github为每一个用户分配了一个二级域名username.github.io,用户为自己的二级域名创建主页很简单,只需要在Github下创建一个名为username.github.io的版本库,并向其master分支提交网站静态页面即可。
- 登陆Github,创建一个名为username.github.io的版本库(将username替换成自己的Github账户名)。
- 点击Setting,选择一个自己喜欢的模板,最后点击发布public按钮。
- 耐心等待一段时间(不超过10分钟),登陆http://username.github.io,会发现自己的个人博客已经生成。
安装Pelican和Markdown
pip install pelican pip install markdown
搭建骨架
mkdir blog cd blog pelican-quickstart
根据提示一步步输入相应的配置项,不知道如何设置的接受默认即可,后续可以通过编辑pelicanconf.py文件更改配置)
以下是生成的目录结构:
blog/ ├── content # 存放输入的源文件 │ └── (pages) # 存放手工创建的静态页面 ├── output # 生成的输出文件 ├── develop_server.sh # 方便开启测试服务器 ├── Makefile # 方便管理博客的Makefile ├── pelicanconf.py # 主配置文件 └── publishconf.py # 主发布文件,可删除
进入output把自己刚刚建好的username.github.io版本库clone下来:
cd output git clone git@github.com:username/username.github.io.git
开始写博文
在content目录下用Markdown语法来写一篇文章,最好选择专业的Markdown编辑器,在Mac OS X下推荐使用Mou,在Linux/Windows下请Google。
用Markdown写博文截图如下:
左半边是正在用markdown写的博文,右边是即时预览效果。
写完后,执行以下命令,即可在本机http://127.0.0.1:8000看到效果。
make publish make serve
若要一键上传到Github,需要修改Makefile两处地方:
publish: $(PELICAN) $(INPUTDIR) -o $(OUTPUTDIR) -s $(CONFFILE) $(PELICANOPTS)github: publish cd OUTPUTDIR ; git add . ; git commit -am 'your comments' ; git push
以后写完文章执行make github就可以一键部署了。
如虎添翼
我们已经能成功地用markdown写出博文并部署到github了,但这远远不够。
管理图片
我觉得使用云相册比本地图片要方便的多,我使用Picasa来维护blog的所有图片。
挑选主题
安装主题,比如bootstrap2:
git clone https://github.com/getpelican/pelican-themes.git cd pelican-themes pelican-themes -i bootstrap2
选择主题,在pelicanconf.py中添加
THEME = 'bootstrap2'
安装第三方评论系统
在Disqus上申请一个站点,记牢Shortname。 在pelicanconf.py添加
DISQUS_SITENAME = Shortname
添加Google Analytics
去Google Analytics申请账号,记下跟踪ID。 在pelicanconf.py添加
GOOGLE_ANALYTICS = 跟踪ID
Google Analytics极其强悍,截图说明一切:
使用Google Webmasters
在Google Webmasters上注册即可。
这个就是Google站长工具,使用它的目的是为了让博客被Google更好的收录,比如手动让Googlebot抓取、提交Robots、更新Sitemap等等,各方面完爆百度站长工具。
截图如下:
添加插件
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",} }
使用Google站内搜索
请参考http://www.codenut.net/post/2013-06-30-cse
申请独立域名
- 在Godaddy上用支付宝花购买为期一年的顶级域名,并去修改Nameservers为这两个地址:f1g1ns1.dnspod.net、f1g1ns2.dnspod.net。
- 在Dnspod上添加新域名,并申请一条A记录指向Github Pages的ip:207.97.227.245;
- 在Pelican主目录新建CNAME文件,添上刚刚申请的域名,如我的www.lizherui.com
登峰造极
最后,如果感觉还不够味儿,可以参考Pelican官方文档和这个博客的完整源码。
Pelican : http://docs.getpelican.com/en/3.2
Source Code : https://github.com/lizherui/lizherui.github.io
Have fun!
一步一步打造Geek风格的技术博客相关推荐
- 如何搭建一个拥有个人域名又带点Geek味的独立博客
本文首发于个人博客:Lam's Blog - 如何搭建一个拥有个人域名又带点Geek味的独立博客,文章由MarkDown语法编写,可能不同平台渲染效果不一,如果有存在排版错误图片无法显示等问题,烦请移 ...
- 使用 GitHub, Jekyll 打造自己的免费独立博客
使用 GitHub, Jekyll 打造自己的免费独立博客 GitHub是一个代码托管网站,现在很多开源项目都放在GitHub上. 利用GitHub,可以让全球各地的程序员们一起协作开发.GitHub ...
- html简洁风格的个人博客网站模板(源码)
文章目录 1.设计来源 1.1 博客首界面 1.2 个人简介界面 1.3 日常记录界面 1.4 文章列表界面 1.5 文章信息界面 2.结构源码 2.1 目录结构 2.2 源代码 源码下载 作者:xc ...
- GitHub Pages + Hexo + NexT + Typora + WhatsNote打造完美个人知识共享博客
GitHub Pages + Hexo + NexT + Typora + WhatsNote打造完美个人知识共享博客 一.目标 二.理念 三.准备工作 1. 工具 2. 过程 四.实现过程 1. 搭 ...
- youleb多风格响应式博客wordpress主题模板
介绍: youleb多风格响应式wordpress主题模板,13种配色风格,功能强大,非常适合博客类型网站使用. 内置产品或作品展示页面,HTML5+CSS3,SEO代码布局CSS/JS压缩,体积小功 ...
- 博客园——打造不一样的个人博客
最近跑去博客园写文章了,一个原因是觉得博客园阅读体验更好,阅读时没有太多的干扰,可以定制主题界面,给人感觉更加舒适.这是我在博客园的博客首页. 点击跳转到我的博客园 主题美化方案 博客园默认或者官方提 ...
- php pacs,DICOM医学图像处理:WEB PACS初谈四,PHP DICOM Class – 只要踏出一步,路就在前方——zssure – CSDN博客...
背景: 预告了好久的几篇专栏博文一直没有整理好,主要原因是早前希望搭建的WML服务器计划遇到了问题.起初以为参照DCMTK的官方文档wwwapp.txt结合前两天搭建的WAMP服务器可以顺利的实现WM ...
- python 动态执行条件判断_【人生苦短,我学 Python】基础篇——条件判断与循环语句(Day12)_不积跬步,无以至千里!-CSDN博客...
原文作者:AI 菌 原文标题:[人生苦短,我学 Python]基础篇--条件判断与循环语句(Day12) 发布时间:2021-02-08 23:17:06 写在前面:大家好!我是[AI 菌],一枚爱弹 ...
- Visual Studio Code 使用 ESLint 增强代码风格检查 - gyzhao - 博客园
前言 在团队协作开发中,为了统一代码风格,避免一些低级错误,应该设有团队成员统一遵守的编码规范.很多语言都提供了Lint工具来实现这样的功能,JavaScript也有类似的工具:ESLint.除了可以 ...
最新文章
- 2020-09-25C++学习笔记引用2:二级指针形参与指针形参的使用方法和区别重难点,主看综合代码(1、指针形参2、引用形参3、二级指针形参4、指针引用形参)
- 探究Softmax的替代品:exp(x)的偶次泰勒展开式总是正的
- FJ的字符串java问题_蓝桥杯VIP试题 之 基础练习 FJ的字符串- JAVA
- 最长公共子序列(信息学奥赛一本通-T1265)
- 假设以带头结点的循环链表表示队列_数据结构·链表(C实现)
- 带你认识7种云化测试武器
- slotformatcombinations_R15 38.331 无线资源控制(RRC)协议规范.pdf
- python和c 的区别-python和c语言的主要区别总结
- Android StickHeaderRecyclerView - 让recyclerview头部固定
- Matlab 调用refprop(64位环境)和物性函数使用说明
- html点击按钮跳转到另一个界面_网页制作:一个简易美观的登录界面
- Zephry Uart Device详解
- YIT-CTF—隐写术
- IMO模型编程思维法(Input-Model-Output)
- 海昇智:拼多多推广创意图如何才能做好?
- 手机服务器异常修复,手机服务器异常
- SQL Server获取姓名拼音
- Mac电脑 zsh: command not found: vue
- clear 方法的解释及用法
- 苹果mac可引导系统镜像下载
热门文章
- Linux虚拟内存和进程虚拟地址空间简述
- SNMP功能开发简介 四 net-snmp动态监听自定义端口
- js 到 jsp 传输数据
- python画小猪乔治_小孩挑食难搞定?试下猪肉这样炒,简单5步超下饭,比牛肉还香嫩...
- 每三个数换行 用C语言表示,关于换行符:使用fscanf()读取每行3个数字的文件,为什么“%d%d%d%* c”和“%d%d%d”一样好?...
- php beego,MixPHP 2.2 / Beego 1.12 数据库查询性能对比
- 基于psr规范php框架,PHP-PSR规范
- 文本编辑器实现打开文件、保存文件、文件另存为、新建文件、软件关闭的功能
- c打印char* 数据_JAVA基础篇(数据类型)
- ajax error 400 4,jquery - ajax error 400 bad request - Stack Overflow