Project

preamble

0.01
No commit activity in last 3 years
No release in over 3 years
Allows you to add YAML front matter to your templates. Useful for adding metadata to static pages
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0
 Project Readme

Preamble

Introduction

The preamble gem lets you add a yaml preamble to your files, much like the Jekyll static site generator

Example

---
key1: value1
key2: [1, 2, 3]
---

Your body content goes here.

Usage

# load file with metadata and content
Preamble.load("./file.xyz") 

# load multiple files with metadata and content
Preamble.load_multiple("./file.xyz", "./file.abc") 

# save metadata and content
file = Preamble.new({"author" => "Lucky", "year" => 2014}, "My lucky diary.")
file.save("diary.txt")

# load, modify metadata, then save
file = Preamble.load('./file.xyz')
file.metadata["new_key"] = "factoid"
file.save('./file.xyz')

Output

The Preamble.load function returns a Preamble object. Your data will be in preamble.metadata, and the rest of the content will be in preamble.content.

preamble.metadata

{ "key1" => "value1", "key2" => [1, 2, 3] }

preamble.content

"\nYour body content goes here"

Notes

  1. The preamble must begin and end with three dashes '---'
  2. Whitespace can go above the preamble, but no content
  3. This gem is template-agnostic. It doesn't care what your body content is. It just gives it to you as a string.