I think I just wrote my first Vim plugin. OK, it’s more a bunch of Vim functions slapped together than an actual plugin, but gotta start somewhere, right?
Last week I converted this blog to a static web site and I’m using Hugo as the static website engine. Writing posts is a lot easier now, plus it’s written in Go, which I started learning a few weeks ago.
Vim Hugo helper is a plugin, collection of Vim functions that help me while writing posts. It will hopefully speed up a few recurring tasks such as drafting and undrafting posts, inserting code highlight blocks, etc. I guess I’ll be adding more to it in the future, but for now it has a total of 5 functions.
Front matter reorder
Hugo posts have a front matter which is basically meta data for the content. Hugo will create the front matter out of an archetype which is a template of sorts for the front matter. One thing I don’t like is that when a new post is created, the meta data is sorted alphabetically so the
HugoHelperFrontMatterReorder function reorders it in the way that I do like.
HugoHelperUndraft functions simply draft and undraft posts by setting the
draft meta data in the front matter to either
Code highlight blocks
HugoHelperHighlight(‘language’) function inserts the highlight shortcode that comes built-in with Hugo and sets the language of the highlight block.
Setting the date of the post
HugoHelperDateIsNow function sets the
date meta data of the post to the current date and time.
It’s not much, definitely has room for improvements, but I used it even when writing this very post, so I guess this helper is helpful.