The goal of blogyaml is to help batch editing tags of Markdown-based blog posts. The initial motivation is rOpenSci website.


You can install the development version from GitHub with:

How and why use this app

Here is how to launch the app.

The workflow shoud ideally be:

  • Have a local copy/clone of the website, and even work in a branch.

  • Update tags (adding tags to posts, creating new tags) by using the app.

  • Have a look at changes in a git editor before committing/pushing/merging them.

This sounds in my opinion more appealing than opening each post on its own, because one gets to see all posts at once. My goal is to make adding tags to posts as user-friendly as adding topics to GitHub repositories.

First step

After launching the app via blogyaml::edit_tags() you can select the folder where the posts to be modified are. You can pass the path to the function, or rely on its getting your current directory, as well as all directories under path.expand("~"). All of this made possible by shinyFiles.

Edit away

First load the tags, then edit, then click on “Save edits to posts YAML”. After that, go look at the folder where your posts are and check the edits with e.g. your favourite git interface. Note: I might record a small video of my screen.

What this app shouldn’t be used for

Standardization of tags (e.g. making all tags lowercase, or transforming all occurrences of “Community” into “community”) doesn’t need to happen manually via this app. It can be scripted using blogdown:::modify_yaml or similar helpers, cf this example.


The package uses a copy-pasted internal blogdown function hence the licence being GPL-3 like blogdown.


Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.