Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/noahfrederick/vim-jekyll

Vim extensions for Jekyll 2+ sites
https://github.com/noahfrederick/vim-jekyll

jekyll neovim plugin vim

Last synced: 5 days ago
JSON representation

Vim extensions for Jekyll 2+ sites

Awesome Lists containing this project

README

        

# vim-jekyll

Vim extensions for Jekyll 2 sites.

*Note: this is a prerelease version, which may change or break frequently.*

## Features

Jekyll.vim provides conveniences for working with Jekyll 2 projects. It
automatically detects Jekyll projects providing a set of commands available in
Jekyll buffers:

| Command | Description |
|------------------------|-------------|
| `:Epost {name}` ... | Quickly jump to or create posts with this family of commands including `:Epost`, `:Spost`, `:Vpost`, and `:Tpost`. Completion is provided. See [projectionist.vim][projectionist] for details.
| `:Edraft {name}` ... | As above but for draft posts in `_drafts/`
| `:Eplugin {name}` ... | As above but for Jekyll plug-ins in `_plugin`
| `:Elayout {name}` ... | As above but for HTML layout files
| `:Einclude {name}` ... | As above but for HTML include files
| `:Econfig` ... | As above but for your `_config.yml` file
| `:Publish` | Publish a draft post to your `_posts/` directory, automatically prepending the publish date to the file name |
| `:Dispatch` | Build your site asynchronously via [dispatch.vim][dispatch] (it even acts intelligently in the presence of a Gemfile by running `bundle exec jekyll build`) |
| `:Start` | Start up Jekyll's server in a shell via [dispatch.vim][dispatch] (it even acts intelligently in the presence of a Gemfile by running `bundle exec jekyll serve`) |

### Planned Features

- A `:Jekyll` wrapper around the command-line utility with completion
- A `:Slug` command to update the current post's slug based on the `title` in the YAML frontmatter
- Templates for new posts and drafts
- A test suite

## Installation

### Dependencies

- [projectionist.vim][projectionist] provides the `:Epost` family of commands and file templates
- (optional) [dispatch.vim][dispatch] provides asynchronous commands for building your Jekyll site
- (optional) [liquid.vim][liquid] provides Liquid runtime files with Jekyll enhancements

[projectionist]: https://github.com/tpope/vim-projectionist
[dispatch]: https://github.com/tpope/vim-dispatch
[liquid]: https://github.com/tpope/vim-liquid

## Development

### Testing

Tests are written for [vspec][vspec], which can be installed via
[vim-flavor][vim-flavor]:

bundle install
vim-flavor install

The test suite can then be run via the rake task:

rake test

### Documentation

The documentation in `doc/` is generated from the plug-in source code via
[vimdoc][vimdoc]. Do not edit `doc/jekyll.txt` directly. Refer to the
existing inline documentation as a guide for documenting new code.

The help doc can be rebuilt by running:

rake doc

[buildimg]: https://travis-ci.org/noahfrederick/vim-jekyll.png?branch=master
[vspec]: https://github.com/kana/vim-vspec
[vim-flavor]: https://github.com/kana/vim-flavor
[vimdoc]: https://github.com/google/vimdoc