blob: d857e87ba05b64f42e476c186140e275a92d8067 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
[www.sacredheartsc.com](https://www.sacredheartsc.com/)
=========================
This repository contains the source for [www.sacredheartsc.com](https://www.sacredheartsc.com).
It consists of Markdown files and a custom static site generator build using pandoc and BSD `make(1)`.
# Requirements
- coreutils
- python3
- pandoc
- BSD make
# Instructions
First, install the `pip` requirements:
make install
You'll want to edit the [Makefile](Makefile) to set your site URL,
RSS feed title, etc.
Then, start writing markdown documents in the `src` directory. You can use
whatever naming convention and directory structure you like. Files ending in
`.md` will be converted to `.html` with the same path.
The `src/blog` directory is special. Markdown files in this directory are
used to populate the front-page blog listing in [index.md](src/index.md).
Before pandoc converts this file to HTML, the special string `__BLOG_LIST__`
is replaced with the output of [bloglist.py](scripts/bloglist.py).
This Python script produces a date-sorted markdown list of all your blog posts.
Each markdown file can have YAML frontmatter with the following metadata:
---
title: A boring blog post
date: YYYY-MM-DD
subtitle: an optional subtitle
heading: optional, if you want the first <h1> to be different from <title>
description: optional, short description for <head> and the blog listing
draft: if set, hides the post from the blog listing
---
You can change the resulting HTML by modifying the [template](templates/default.html).
Changing the format of the blog listing requires modifying the Python script.
Build the website by using the default target:
make
This will create a directory called `public` containing all your markdown files
rendered to HTML.
You also can run a local webserver, which listens on port 8000, using:
make serve
|