This is the source for brdsa.org. If you want to submit a post or fix some text, everything you need is on this page. If you want to work on the site itself, see HACKING.md.
Markdown files under src/lib/posts are served as their own pages under
/blog/[slug]. There are a few ways to get a post published:
| Method | Best for |
|---|---|
| Email contact@brdsa.org | Anyone. Send your text and a maintainer will handle publishing |
| GitHub issue (post submission template) | If you have a GitHub account but don't want to deal with files or branches |
| GitHub web editor | If you're comfortable with GitHub and want to submit a pull request directly |
| Local development | If you want to preview changes before submitting (see HACKING.md) |
You do not need to install anything to write for the site. The GitHub web editor is fine for posts, typo fixes, and link changes.
Name your file YYYY-MM-DD-your-title.md, for example
2026-04-15-may-day-march.md. The full filename without .md becomes the URL
slug, so that example is served at /blog/2026-04-15-may-day-march. Sort order
in the post listing comes from the date frontmatter field, not the filename.
- Go to
src/lib/posts/in the repository. - Click Add file → Create new file.
- Name the file following the convention above.
- Paste in frontmatter (see below) followed by your post body in Markdown.
- Scroll down to Commit changes, select Create a new branch, give the branch a name like
post/may-day-march, and click Propose changes. - Open the pull request. A maintainer will review and merge it.
If your post has an image, read Images in a post before you commit.
Every post starts with a YAML frontmatter block between --- lines. title is
the only required field; the rest are optional but recommended.
| Field | Required | Description |
|---|---|---|
title |
Yes | Displayed as the page heading and in post listings |
date |
Recommended | ISO date (YYYY-MM-DD), controls sort order in /blog |
description |
Recommended | 1-2 sentences shown in post listings and social/SEO previews |
author |
Recommended | Display name(s) |
imageUrl |
Optional | Filename only, e.g. my-photo.jpg. File must be in src/lib/images/ |
imageDescription |
Required if imageUrl is set |
Alt text. Describe what is in the image for screen readers |
hidden |
Optional | Set to true to hide the post from /blog, useful for drafts |
slug |
Optional | Override the URL slug. Defaults to the full filename without .md |
tags |
Optional | Array of tags, e.g. ["labor", "housing"] |
---
title: May Day March 2026
date: 2026-05-01
description: Join us on the streets for International Workers Day. Details inside.
imageUrl: may-day-2026.jpg
imageDescription: A crowd marching with red DSA flags on a sunny street
author: Jane D.
---
Join us this May Day as we take to the streets to seize the means of production and distribution...There are two ways to include an image, and they use different folders.
Header image, set with the imageUrl frontmatter field. Put the file in
src/lib/images/ and use only the filename:
imageUrl: may-day-2026.jpg
imageDescription: A crowd marching with red DSA flags on a sunny streetThese get resized and converted to modern formats automatically.
Inline images in the post body. Put the file in static/images/ and
reference it with a root-relative path:
Inline images are served as plain files with no processing. This folder is separate from the header image folder on purpose; see Images in HACKING.md for why.
To upload either kind through the GitHub web editor, navigate to the folder, click Add file → Upload files, then reference the file as shown above.
Recipes work like posts. Markdown files under src/lib/posts/recipes are served
as a FITE cookbook at /fite/recipes. Recipes support the post frontmatter
fields plus a few of their own:
---
title: Jay's Red Beans And Rice
source: https://docs.google.com/document/d/1FLn0jF6KJLsfWypjEu3w81kdl8Nu7P61HTMqpZvliyE/edit?usp=drive_link
difficulty: easy
cookTime: 3.5-4 hrs
description: Jay's tried and true red beans and rice.
feeds: 50
---Adding pages, changing styles, and anything touching the build is covered in HACKING.md.
Here's a link to the NTC template we used to use:
