Compare commits

..
23 Commits
Author SHA1 Message Date
inherentlee ac0a2e6d96 rename project
continuous-integration/drone/push Build is passing
2026-09-24 08:29:35 -07:00
inherentlee a08262ea81 sitemap stuff
continuous-integration/drone/push Build is passing
2026-09-23 14:52:49 -07:00
inherentlee e91d19073b sitemap
continuous-integration/drone/push Build is failing
2026-09-23 14:30:56 -07:00
inherentlee eaec6b8f49 404 page
continuous-integration/drone/push Build is passing
2026-09-23 13:54:47 -07:00
inherentlee 588b66f1ff remove attr stuff
continuous-integration/drone/push Build is passing
2026-09-15 18:09:58 -07:00
inherentlee a35ddd1ccc add target=blank automation 2026-09-15 18:09:41 -07:00
inherentlee 857ae39afe fix og metadata
continuous-integration/drone/push Build is passing
2026-09-14 10:30:29 -07:00
inherentlee aaa1c48b54 fix passthrough
continuous-integration/drone/push Build is passing
2026-09-12 18:21:23 -07:00
inherentlee 4d6d5a19b2 update formgrid url
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is passing
2026-09-05 11:14:03 -07:00
inherentlee e15932fd9f fix build failure
continuous-integration/drone/push Build is passing
2026-08-27 13:30:29 -07:00
inherentlee 1b66eae5ec fix og preview image
continuous-integration/drone/push Build is failing
2026-08-27 13:27:51 -07:00
inherentlee d5ea28fb25 metadata
continuous-integration/drone/push Build is passing
2026-08-26 16:39:56 -07:00
inherentlee 75d83a70c6 fix the rounded corners on the svg yayyyy
continuous-integration/drone/push Build is passing
2026-08-25 13:31:35 -07:00
inherentlee e5a3d3828f svg for fedi and a few styling tweaks
continuous-integration/drone/push Build is passing
2026-08-24 11:42:21 -07:00
inherentlee bd4941b3d5 meh the editor doesn't like that huh
continuous-integration/drone/push Build is passing
2026-08-21 16:25:31 -07:00
inherentlee 589445e99b header and heading spacing/size 2026-08-21 16:25:18 -07:00
inherentlee f0289728a9 remove testing line
continuous-integration/drone/push Build is passing
2026-08-21 16:17:59 -07:00
inherentlee 6ed8a5fa9a list spacing 2026-08-21 16:17:27 -07:00
inherentlee c56fee18b0 Update content through Mattrbld
continuous-integration/drone/push Build is passing
2026-08-21 16:11:25 -07:00
inherentlee a8324f1e04 address
continuous-integration/drone/push Build is passing
2026-08-21 16:10:46 -07:00
inherentlee 9859447619 form spacing 2026-08-21 16:10:37 -07:00
inherentlee 975cb4f42c redirect page
continuous-integration/drone/push Build is passing
2026-08-21 15:02:24 -07:00
inherentlee 0ccdeb0741 porkbun and formgrid docs 2026-08-21 15:02:12 -07:00
16 changed files with 209 additions and 61 deletions

No files matched your search

+1 -1
View File
@@ -2,7 +2,7 @@
"autoquotes": null,
"brandColors": [],
"corsProxy": "/corsprox",
"name": "district-dharma",
"name": "District Dharma",
"sidebar": [
{
"label": "Dashboard",
+23 -4
View File
@@ -2,9 +2,30 @@
Home page for District Dharma based out of DC.
## Prerequisites
## Domain and hosting
1. **Heckin' Tech Gitea Personal Access Token (PAT)**
Your domain is managed via [Porkbun](https://porkbun.com).
Hosting is provided by [Heckin' Tech](https://heckin.technology).
## Contact form
You'll use [Formgrid](https://formgrid.dev) as your form backend. After creating an account, make a form (name is up to you).
### Setup
1. From the form, Lee needs the **form endpoint**. This can be found on the form's main page under "Copy submission endpoint," *or* on the settings page under "Endpoint information."
1. In the form settings, the **redirect URL** should be set to [districtdharma.org/contact-success](https://districtdharma.org/contact-success). This setting is found under "Redirect Settings." **Make sure to save your settings by scrolling back up the top section ("Form Configuration") and finding the save button!** This is unintuitive but necessary.
### Usage
Formgrid will email you when any submissions are received. **Receiving more than 50 submissions in a month will require a paid Formgrid subscription.**
## Managing content
### Prerequisites
1. **[Heckin' Tech](https://heckin.technology) Gitea Personal Access Token (PAT)**
1. Click on your user in the upper right and choose "Settings" from the dropdown
1. Go to "Applications" in the left-hand settings menu
1. Choose "Generate new token"
@@ -14,8 +35,6 @@ Home page for District Dharma based out of DC.
1. **Save your token somewhere secure. If lost, you must generate a new token**
1. **Repository access:** Lee will grant contributor permissions. Repository URL is [heckin.technology/inherentlee/district-dharma](https://heckin.technology/inherentlee/district-dharma)
## Managing content
### Content management system
Your content management system is Mattrbld. Mattrbld can be found at [mattrbld.com](mattrbld.com). The first time you access it (or access in a new browser, on a new machine, or with cookies wiped), you will need to give it the repository URL above and set up a user name. Feel free to just set your full name (spaces are ok). This will label your "commits" (changes) to the repository as you.
+2 -2
View File
@@ -1,6 +1,6 @@
export default {
title: "District Dharma Collective",
description: "",
url: "",
description: "Homepage for the District Dharma Collective out of DC",
url: "https://districtdharma.org",
author: "Lee Cattarin",
};
+6
View File
@@ -1,4 +1,10 @@
<footer>
<p>
<a title="Find us on Mastodon" href="https://dmv.community/@DistrictDharmaCollective">
<svg class="dark" xmlns="http://www.w3.org/2000/svg" aria-label="District Dharma on Mastodon" role="img" viewBox="0 0 512.00 512.00" fill="#5ca6ce" stroke="#5ca6ce"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><rect width="512" height="512" rx="15%"></rect><path d="m409 290c-5 24-43 50-85 56-86 11-137-6-137-6 3 13-4 54 70 52 31 0 58-7 58-7l2 27c-51 24-107 15-140 6-67-17-79-90-81-162v-59c0-74 49-96 49-96 50-24 180-22 222 0 0 0 49 22 49 96 0 0 1 55-7 93" fill="#202325"></path><path d="m358 202v91h-35v-88c0-18-8-27-23-27-18 0-27 11-27 33v47h-34v-47c0-22-9-33-27-33-15 0-23 9-23 27v88h-35v-91c0-18 5-60 52-60 39 0 50 37 50 37s10-37 50-37c45 0 52 42 52 60"></path></g></svg>
<svg class="light" xmlns="http://www.w3.org/2000/svg" aria-label="District Dharma on Mastodon" role="img" viewBox="0 0 512.00 512.00" fill="#0c436d" stroke="#0c436d"><g id="SVGRepo_bgCarrier" stroke-width="0"></g><g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g><g id="SVGRepo_iconCarrier"><rect width="512" height="512" rx="15%"></rect><path d="m409 290c-5 24-43 50-85 56-86 11-137-6-137-6 3 13-4 54 70 52 31 0 58-7 58-7l2 27c-51 24-107 15-140 6-67-17-79-90-81-162v-59c0-74 49-96 49-96 50-24 180-22 222 0 0 0 49 22 49 96 0 0 1 55-7 93" fill="#e4edf3"></path><path d="m358 202v91h-35v-88c0-18-8-27-23-27-18 0-27 11-27 33v47h-34v-47c0-22-9-33-27-33-15 0-23 9-23 27v88h-35v-91c0-18 5-60 52-60 39 0 50 37 50 37s10-37 50-37c45 0 52 42 52 60"></path></g></svg>
</a>
</p>
<p>© 2026</p>
<p><a href="/attribution/">site attribution</a></p>
</footer>
+3 -6
View File
@@ -13,15 +13,12 @@
<meta name="robots" content="index,follow" />
<meta property="og:title" content="{{ pageTitle }}" />
<meta property="og:type" content="article" />
<meta property="og:url" content="/" />
<meta property="og:url" content="{{ metadata.url }}{{ page.url }}" />
<meta property="og:description" content="{{ metadata.description }}" />
{#
<link rel="alternate" href="/feed.xml" type="application/atom+xml" title="{{ metadata.title }}">
<link rel="icon" type="image/x-icon" href="/favicon.ico">
<meta property="og:image" content="" />
<meta property="og:image:alt" content="" />
#}
<meta property="og:image" content="{{ metadata.url }}/img/logo-light.png" />
<meta property="og:image:alt" content="the district dharma logo, which depicts a stylized lotus flower under 3 dots, surrounded by an upper and lower curve, in two shades of blue" />
<meta name="generator" content="{{ eleventy.generator }}">
+1 -1
View File
@@ -5,7 +5,7 @@ layout: page.njk
{{ content | safe }}
<form action="https://formgrid.dev/api/f/842wiwnz" method="POST" class="contact-form">
<form action="https://formgrid.dev/api/f/kqv11qno" method="POST" class="contact-form">
<h2 class="center">Get in touch</h2>
<p class="center">All fields
<span aria-hidden="true">marked with an asterisk (<span class="red">*</span>)</span>
+3 -3
View File
@@ -1,7 +1,6 @@
form label {
display: block;
margin-top: 1rem;
margin-bottom: .5rem;
margin-block: .5rem;
font-weight: bold;
}
@@ -32,8 +31,9 @@ textarea:user-invalid:focus-visible {
}
.error {
margin-top: .5rem;
margin-block: .5rem;
visibility: hidden;
font-size: .9rem;
}
input:user-invalid + .error,
+42 -11
View File
@@ -31,7 +31,7 @@
*:focus-visible {
outline-offset: .12rem;
outline: .12rem solid var(--color-accent);
border-radius: .25rem;
border-radius: .25em;
}
html {
@@ -93,11 +93,10 @@ h1, h2, h3, h4, h5, h6, p {
h1, h2, h3, h4, h5, h6 {
text-wrap: balance; /* 9. Improve line wrapping */
font-family: serif;
font-family: Montserrat, sans-serif;
margin-block-start: 1em;
color: var(--color-accent);
font-variant: small-caps;
font-family: Montserrat;
font-weight: 400;
letter-spacing: 5%;
}
@@ -108,8 +107,13 @@ h1 {
margin-block-end: .6em;
}
h2 { font-size: 2rem; }
h3 { font-size: 1.8rem; }
h2 { font-size: 2.1rem; }
h3 { font-size: 1.7rem; }
h4 { font-size: 1.4rem; }
@media (max-width: 650px) {
h1 { font-size: 2.6rem; }
}
p {
text-wrap: pretty; /* 9. Improve line wrapping */
@@ -133,19 +137,37 @@ a:visited {
}
}
ul {
margin-block: 1.25rem;
}
ul p {
margin-block: 0;
}
/* Header/nav/footer */
header {
height: 20vh;
padding: calc(20vh / 8);
--height-base: 20vh; /* Variable height for desktop vs mobile */
}
@media (max-width: 650px) {
header{
--height-base: 12vh; /* Variable height for desktop vs mobile */
}
}
header {
height: var(--height-base);
padding: calc(var(--height-base) / 8);
background-color: var(--color-accent);
}
.logo {
height: 100%;
width: auto;
padding: calc(20vh / 30);
border: calc(20vh / 50) solid var(--color-accent);
border-radius: calc(20vh / 3);
padding: calc(var(--height-base) / 30);
border: calc(var(--height-base) / 50) solid var(--color-accent);
border-radius: calc(var(--height-base) / 3);
}
header a:focus-visible {
@@ -154,7 +176,7 @@ header a:focus-visible {
header a:focus-visible .logo {
border-color: var(--color-text);
outline: calc(20vh / 30) solid var(--color-accent-flipped);
outline: calc(var(--height-base) / 30) solid var(--color-accent-flipped);
}
@media (prefers-color-scheme: light) {
@@ -189,3 +211,12 @@ footer a:visited {
footer a:focus-visible {
outline: .15rem solid var(--color-accent-flipped);
}
footer a:has(svg) {
display: inline-block;
}
footer svg {
height: 2rem;
width: auto;
}
+27 -2
View File
@@ -1,12 +1,29 @@
import { attrs } from "@mdit/plugin-attrs";
import { HtmlBasePlugin } from "@11ty/eleventy";
import { eleventyImageTransformPlugin } from "@11ty/eleventy-img";
import { attrs } from "@mdit/plugin-attrs";
import { markdownitLinkAttributes } from 'markdown-it-link-attributes';
import path from "node:path";
import pluginFilters from "./_config/filters.js";
export default async function (eleventyConfig) {
/* Markdown HTML attribute parsing */
eleventyConfig.amendLibrary("md", (mdLib) => mdLib.use(attrs));
/* Markdown apply target="_blank" to all external links */
const milaOptions = {
matcher(href) {
return href.match(/^https?:\/\//);
},
attrs: {
target: "_blank",
rel: "external",
},
};
eleventyConfig.amendLibrary("md", (mdLib) => mdLib.use(markdownitLinkAttributes, milaOptions));
/* Bundles */
/* CSS */
eleventyConfig.addBundle("css", {
@@ -21,7 +38,12 @@ export default async function (eleventyConfig) {
});
/* Passthroughs */
eleventyConfig.addPassthroughCopy("./favicon.ico");
eleventyConfig
.addPassthroughCopy("favicon.ico")
.addPassthroughCopy("robots.txt");
/* HTML base */
eleventyConfig.addPlugin(HtmlBasePlugin);
/* Images */
eleventyConfig.addPlugin(eleventyImageTransformPlugin, {
@@ -38,6 +60,9 @@ export default async function (eleventyConfig) {
decoding: "async",
},
},
filenameFormat: function (hash, src, width, format, options) {
return path.basename(src);
},
});
/* All filters from _config/filters.js */
+63 -24
View File
@@ -5,13 +5,15 @@
"requires": true,
"packages": {
"": {
"name": "district-dharma",
"version": "1.0.0",
"license": "AGPL-3.0-only",
"devDependencies": {
"@11ty/eleventy": "^3.1.5",
"@11ty/eleventy-img": "^6.0.4",
"@mdit/plugin-attrs": "^0.25.1",
"luxon": "^3.7.2"
"luxon": "^3.7.2",
"markdown-it-link-attributes": "https://github.com/lee0c/markdown-it-link-attributes/tarball/main"
}
},
"node_modules/@11ty/dependency-tree": {
@@ -919,9 +921,9 @@
}
},
"node_modules/brace-expansion": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz",
"integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==",
"version": "1.1.21",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.21.tgz",
"integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1441,9 +1443,9 @@
}
},
"node_modules/gray-matter/node_modules/js-yaml": {
"version": "3.14.2",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
"version": "3.15.2",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.15.2.tgz",
"integrity": "sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1659,10 +1661,20 @@
}
},
"node_modules/js-yaml": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz",
"integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/nodeca"
}
],
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1"
@@ -1702,19 +1714,29 @@
}
},
"node_modules/linkify-it": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.2.tgz",
"integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/markdown-it"
}
],
"license": "MIT",
"dependencies": {
"uc.micro": "^2.0.0"
}
},
"node_modules/liquidjs": {
"version": "10.25.7",
"resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.25.7.tgz",
"integrity": "sha512-rPCjJLiD4eDhQjvv964AeXFC+HbeYBbZrd7Z82Q6hqv1lX7G+5w4SJcKLn9CAAAwHI4aS3dTdo083UB79K3pDA==",
"version": "10.29.0",
"resolved": "https://registry.npmjs.org/liquidjs/-/liquidjs-10.29.0.tgz",
"integrity": "sha512-pCVOhs6FLAR8su3ItJ07diN26t6W5dHQRnmTMy8HPyTFuv1+oSCVJIGp5pGjfQyOZfh50KswvKtMTp6p4JEIdw==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -1750,15 +1772,25 @@
}
},
"node_modules/markdown-it": {
"version": "14.1.1",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz",
"integrity": "sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==",
"version": "14.3.2",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.3.2.tgz",
"integrity": "sha512-sHHjZ5fJKlgrG4qns2YwVcdNep35h5fERrfkD2YNsb9UFk0UIHarbiTaHKVMlPuWAoiilyK8Fv/jAm11slsY7Q==",
"dev": true,
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/puzrin"
},
{
"type": "github",
"url": "https://github.com/sponsors/markdown-it"
}
],
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
"entities": "^4.4.0",
"linkify-it": "^5.0.0",
"entities": "^4.5.0",
"linkify-it": "^5.0.2",
"mdurl": "^2.0.0",
"punycode.js": "^2.3.1",
"uc.micro": "^2.1.0"
@@ -1767,6 +1799,13 @@
"markdown-it": "bin/markdown-it.mjs"
}
},
"node_modules/markdown-it-link-attributes": {
"version": "4.0.1",
"resolved": "https://github.com/lee0c/markdown-it-link-attributes/tarball/main",
"integrity": "sha512-AWUn7JiBi431HkZyXR2MRJxU0wQolHmG/TFCrRSq+w/q4mIzY7c3QKBF1eYEQwXx8IKLdmBVxZA37tp3S1ZkYQ==",
"dev": true,
"license": "MIT"
},
"node_modules/markdown-it/node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
@@ -2399,9 +2438,9 @@
"license": "MIT"
},
"node_modules/ws": {
"version": "8.20.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.20.1.tgz",
"integrity": "sha512-It4dO0K5v//JtTXuPkfEOaI3uUN87iYPnqo/ZzqCoG3g8uhA66QUMs/SrM0YK7/NAu+r4LMh/9dq2A7k+rHs+w==",
"version": "8.21.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.21.3.tgz",
"integrity": "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==",
"dev": true,
"license": "MIT",
"engines": {
+2 -1
View File
@@ -13,6 +13,7 @@
"@11ty/eleventy": "^3.1.5",
"@11ty/eleventy-img": "^6.0.4",
"@mdit/plugin-attrs": "^0.25.1",
"luxon": "^3.7.2"
"luxon": "^3.7.2",
"markdown-it-link-attributes": "https://github.com/lee0c/markdown-it-link-attributes/tarball/main"
}
}
+8
View File
@@ -0,0 +1,8 @@
---
permalink: 404.html
eleventyExcludeFromCollections: true
---
# Content not found
Sorry, can't find this page. Return [home](/).
+3 -3
View File
@@ -2,8 +2,8 @@
title: Attribution
___mb_schema: /.mattrbld/schemas/page.json
---
This site is built using [{{ eleventy.generator }}](https://www.11ty.dev/){target="_blank"} by [Lee Cattarin](https://leecat.art){target="_blank"}. It is hosted by [heckin' technology](https://heckin.technology/){target="_blank"}.
This site is built using [{{ eleventy.generator }}](https://www.11ty.dev/) by [Lee Cattarin](https://leecat.art). It is hosted by [heckin' technology](https://heckin.technology/).
The header font is [Monserrat](https://fonts.google.com/specimen/Montserrat){target="_blank"}. The body font is [Atkinson Hyperlegible Next](https://www.brailleinstitute.org/freefont/){target="_blank"}, developed by the Braille Institute.
The header font is [Monserrat](https://fonts.google.com/specimen/Montserrat). The body font is [Atkinson Hyperlegible Next](https://www.brailleinstitute.org/freefont/), developed by the Braille Institute.
This site is created [without the use of generative AI](https://declare-ai.org/1.0.0/none.html){target="_blank"}.
This site is created [without the use of generative AI](https://declare-ai.org/1.0.0/none.html).
+5
View File
@@ -0,0 +1,5 @@
---
title: Form submitted successfully
___mb_schema: /.mattrbld/schemas/page.json
---
Thanks for reaching out to District Dharma! You'll hear back from us soon. Until then, feel free to return to the [home page](/).
+3 -3
View File
@@ -22,14 +22,14 @@ After a short break, we move into a dharma talk and discussion rooted in whateve
## When we meet
We gather on the first and third Sunday of each month, from 10:30 am to noon, at 1633 Q Street NW, Washington, DC — in the heart of Dupont Circle.
We gather on the first and third Sunday of each month, from 10:30 am to noon, at [1633 Q Street NW, Washington, DC](https://maps.app.goo.gl/FHmY7spH5rAMUu7Q6) — in the heart of Dupont Circle.
### Upcoming meetings
- 6 September 2026
- 20 September 2026
## Come sit with us
+17
View File
@@ -0,0 +1,17 @@
---
permalink: sitemap.xml
layout: false
eleventyExcludeFromCollections: true
---
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
{% for page in collections.all %}
{% if page.data.permalink != false %}
{% set absoluteUrl %}{{ page.url | htmlBaseUrl(metadata.url) }}{% endset %}
<url>
<loc>{{ absoluteUrl }}</loc>
<lastmod>{{ page.date | htmlDateString }}</lastmod>
</url>
{% endif %}
{% endfor %}
</urlset>