Vim plugin to post from VIM to WordPress using Pandoc-Markdown.
It uses an special template in files, they are a mix between an INI header and
a MarkDown content. There is a template in templates
directory.
Install the plugin using Vundle, Pathogen (or other package management tool) or Manually. (see below)
When the plugin is installed, you can create a new blog entry using:
:NewWordPress
This will insert the template file in the file you are editing and switch the
filetype to drowmark
which automatically activates the drowmark
syntax
highlighting. This filetype is also activated when the extension of the file is
.wp
. The template contains all the information needed to fill the
configuration part.
When the blog entry is finished, it is possible to post in WordPress with the following command:
:PostWordPress
This will ask for the username and the password before publishing the post in WordPress.
All the URLs of the images are checked. If the URL of the image is a relative path to a local image, it's uploaded automagically and the URL is changed to the uploaded media file URL.
Installation could be done using a plugin manager or manually.
Copy the directories in you .vim
folder and you are done. Keep the
directories in the correct order. For example, put all the files in ftplugin
folder inside .vim/ftplugin
and so on.
Most of the plugin managers, like Vundle (I recommend this one) are able to
download the code of the plugin from gitHub and install it correctly, putting
the directory tree under .vim/bundle/droWMark
directory.
It is necessary to have Vim compiled with +python
option.
Dependencies for the python script are:
-
Panflute package, wich also depends on Pandoc
pip install panflute
-
Wordpress XML RPC
pip install python_wordpress_xmlrpc
-
ConfigParser package
pip install configparser
This is a very small project I've made mostly for myself. This means a couple of interesting things:
- It's flexible: New features could be added easily if requested.
- It's easy to contribute: Just make a pull request, open an issue or whatever you prefer.
Being a small project it's not always good. I only develop this plugin during my free time and, since I'm a freelance, it's very difficult to find free time for my own coding. Contributions are welcome.
It keeps python code as separate as possible from VIM. Python code is also callable from outside with the same functionality. VIM is only an interface to insert the parameters correctly.