wordpress如何使用vim和markdown写blog


$TOC$

开始试用了一下wp-markdown插件,高亮和部分语法支持不太好。而且以前的syntax highlight插件语法都乱了,如果使用,需要重新编辑,所以放弃了。

网上搜了一下,很巧的是发现了11年底,当时一个老同事写的blog,介绍了vimrepress和vim-markdown,可以满足我的要求,但太久了,vimrepress当前是3.2.1,重写了很多代码。所以重新整合了一下。同事的文章,当时针对的是linux,我在Mac osx中,还是遇到了一些问题,本文主要针对Mac osx中的安装,和一些问题的解决办法。

这位Brother的原文:
<http://blog.pkufranky.com/2011/11/使用vim和markdown撰写blog并发布到wordpress/>

##安装vim插件
### 1. 安装vimrepress
我的vim使用的vundle管理的,在vimrc.bundle中添加:

Bundle 'zencodex/VimRepress'

或者在我的github上下载,**都是已经修改好的,无需再改**:

git clone https://github.com/zencodex/VimRepress.git

放到~/.vim 中

新版本的账号配置文件有变化,放弃了vimrc中的方式,但BlogOpen命令有bug,仍然需要VIMPRESS,解决方法是删除blog_guess_open(what)中以下代码:

~~~.diff
- for i, p in enumerate(vim.eval("VIMPRESS")):
-    if what.startswith(p["blog_url"]):
-        blog_index = i
~~~

账号配置,cat $HOME/.vimpressrc

:::.vim
[Blog0]
blog_url = http://www.blogurl.com/
username = username
password = password

为了让BlogPreview预览的效果支持语法高亮,我添加css到head中,位置vimrepress.py:508行
~~~.html
<link rel="stylesheet" type="text/css" media="all" href="http://www.yinqisen.cn/wp-content/themes/zenblog/ui/css/pygments_style.css" />
~~~

这样在浏览器中预览就有语法高亮了。

### 2. 安装vim-markdown
方法和vimrepress类似,vimrc.bundle中添加

Bundle 'hallison/vim-markdown'

## 语法高亮css样式表
可以用我现成的样式表,下载地址:

wget http://www.yinqisen.cn/wp-content/themes/zenblog/ui/css/pygments_style.css

或者利用pygments生成

sudo pip install pygments

生成命令,这部分是参考博文中未提及的,高级用法可以网上查找

pygmentize -S default -f html

## vim中python path的问题

vim 中的python path默认只选取系统中的,不管你系统path中采用哪个路径下的Python。这样就会产生一个问题,比如我用的MacPorts安装的python,很多site packages都是在/opt/local/目录下。如果你的python用的是系统自带的,那可以忽略这个问题。

在bashrc中,添加PYTHONPATH就可以了,如下:

export PYTHONPATH=/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

通过下面方式,验证vim 中python path是否正确,打开vim,输入:

:py import sys;print sys.path

如果site packages路径对,那就OK了。

其他如$TOC$,CodeHilite,fenced code block的支持,可以参考原博文,这里就不多说了,不过要想产生更漂亮的代码高亮,还是fenced code block更好。

转自:http://www.yinqisen.cn/blog-440.html

猜你喜欢

转载自wyk86485480.iteye.com/blog/2323521