I'm using Sinatra to build a site and that site will have, among other things, a blog area that I'll infrequently post articles to.
What I'd ideally like to do is have a directory of markdown files that the articles are in and to publish a new article, I'd just add a new markdown file.
The main /articles
page would loop through that directory and pull the title from the markdown file's metadata.
---
title: This is my title
excerpt: This is an excerpt from the article
---
So, what I'm not sure of here is how to approach this. How would I loop through a directory of markdown files and properly display them?
FWIW, I'm using a "classic style" Sinatra app here.
Top comments (3)
Here's a blog that's done in Sinatra, similar to what you describe: github.com/cesarsalazar/Sinatra-Ma...
To read the frontmatter, you'd need to read the file and parse out the YAML:
YAML should load the frontmatter at the beginning of the file and ignore the rest.
This is perfect. Thanks Ryan!
I just re-read the code, and realized you'll probably want to load the file into a variable before running RDiscount on it. Otherwise you'll be trying to parse an HTML file instead of the original markdown file.