Compare commits

..
19 Commits
Author SHA1 Message Date
inherentlee 4209ff3927 better filename system
continuous-integration/drone/push Build is passing
2026-09-24 20:40:06 -07:00
inherentlee e8e544763f try to fix the OG image
continuous-integration/drone/push Build is passing
2026-09-24 20:29:24 -07:00
inherentlee 9df297946d add two more stops for card one
continuous-integration/drone/push Build is passing
2026-09-24 20:24:59 -07:00
inherentlee 1566f5c30b sitemap
continuous-integration/drone/push Build is passing
2026-09-23 14:51:36 -07:00
inherentlee 2257e5f6ed sitemap
continuous-integration/drone/push Build is failing
2026-09-23 14:31:33 -07:00
inherentlee 571819921c 404 page
continuous-integration/drone/push Build is passing
2026-09-23 13:55:44 -07:00
inherentlee 147ec683b6 remove filename segment of image plugin
continuous-integration/drone/push Build is passing
2026-09-23 13:32:34 -07:00
inherentlee d460fd8e09 add card two link
continuous-integration/drone/push Build is passing
2026-09-23 13:20:05 -07:00
inherentlee c1e45e326b remove extraneous text
continuous-integration/drone/push Build is passing
2026-09-22 19:08:31 -07:00
inherentlee e174ec486f mogrify that shit
continuous-integration/drone/push Build is passing
2026-09-22 19:02:57 -07:00
inherentlee 51000f7fa0 completed card and some wording tweaks
continuous-integration/drone/push Build is passing
2026-09-22 19:01:08 -07:00
inherentlee cfa2bb9150 final stop for card two
continuous-integration/drone/push Build is passing
2026-09-22 18:50:23 -07:00
inherentlee 679b3b291e markdown-it-anchor
continuous-integration/drone/push Build is passing
2026-09-22 18:16:25 -07:00
inherentlee 66aba72fcc woops
continuous-integration/drone/push Build is passing
2026-09-22 18:09:58 -07:00
inherentlee 1a39752fa2 add (bad) img to stop 2
continuous-integration/drone/push Build is passing
2026-09-18 15:59:30 -07:00
inherentlee 72b0d17aa3 last signature on card two
continuous-integration/drone/push Build is passing
2026-09-18 12:04:59 -07:00
inherentlee 015b6bfdd9 add mystery stop markers
continuous-integration/drone/push Build is passing
2026-09-17 20:02:27 -07:00
inherentlee da4249f3d2 few small tweaks
continuous-integration/drone/push Build is passing
2026-09-17 20:01:53 -07:00
inherentlee 12017d0098 remove drone instructions 2026-09-17 19:49:07 -07:00
22 changed files with 110 additions and 121 deletions

No files matched your search

-93
View File
@@ -1,94 +1 @@
# Siblinghood of the Traveling Greeting Card
## full drone/submodule setup from scratch
### 1. create repo
in heckin gitea, create destination repo.
### 2. add dronefile to source repo
Filename: `.drone.yml`, in root of repo. Note the `<vars>` to replace.
```yaml
kind: pipeline
type: docker
name: default
steps:
- name: build
image: node:current
environment:
REPOSITORY: <dest-repo>
GIT_USER: <username>
GIT_TOKEN:
from_secret: GIT_TOKEN
commands:
- git config credential.helper '!f() { echo username=$GIT_USER; echo "password=$GIT_TOKEN"; };f'
- git submodule update --remote --init --merge
- npm install
- npm run build
- apt-get update && apt-get install -y rsync
- rsync -uavh _site/ $REPOSITORY --delete --exclude .git
- cd $REPOSITORY
- git checkout main
- git config --global --add safe.directory /drone/src/$REPOSITORY
- git add -A
- git commit -m "drone build $(TZ=':America/Los_Angeles' date)"
- git push
```
### 3. create PAT (one-time, not per repo)
in heckin, go to settings > applications, and create a PAT with read & write permissions to repositories.
### 4. activate project in drone and add PAT
in drone, find your project and activate it.
in the settings, I chose to disable pull requests and forks. I set my runner timeout to 15m.
you can set your PAT either as a project secret or an organization secret. In either case call it `GIT_TOKEN`.
### 5. first commit to submodule
assuming we are committing the _site folder...
```sh
cp -r _site ../temp
cd ../temp
git init
git add -A
git commit -m "first"
git remote add origin <remote-url>
git push -u origin main
```
### 6. add submodule to local repo
in root dir of local repo, add the submodule.
```sh
git submodule add <remote-url>
```
if you used the SSH url, set it to the HTTPS url.
```sh
git submodule set-url <dest-repo> <remote-url-https>
git add .gitmodules # the changes from submodule add are auto-staged, this config change isn't
```
commit your changes and push.
```sh
git commit -m "add submodule"
```
(commit your dronefile changes too.)
### 7. profit
if it doesn't work, cry
-4
View File
@@ -50,10 +50,6 @@ svg {
margin: 0;
}
.stop img {
width: 100%;
}
.stop p {
margin: 0;
color: var(--color-text);
+3 -2
View File
@@ -58,6 +58,7 @@ img, picture, video, canvas, svg {
display: block; /* 6. Improve media defaults */
max-width: 100%; /* 6. Improve media defaults */
height: auto; /* 6. Improve media defaults */
margin: 0 auto;
}
input, button, textarea, select {
@@ -76,7 +77,7 @@ p {
@media (max-width: 650px) {
p {
font-size: .9rem;
font-size: .95rem;
line-height: 1.3rem;
}
}
@@ -149,7 +150,7 @@ ul {
@media (max-width: 650px) {
ul {
font-size: .9rem;
font-size: .95rem;
line-height: 1.3rem;
}
}
+19 -9
View File
@@ -1,7 +1,11 @@
import { attrs } from "@mdit/plugin-attrs";
import { HtmlBasePlugin } from "@11ty/eleventy";
import { eleventyImageTransformPlugin } from "@11ty/eleventy-img";
import eleventyNavigationPlugin from "@11ty/eleventy-navigation";
import { attrs } from "@mdit/plugin-attrs";
import { markdownitLinkAttributes } from 'markdown-it-link-attributes';
import markdownitIdAttributes from "markdown-it-anchor";
import path from "node:path";
import pluginFilters from "./_config/filters.js";
@@ -11,7 +15,7 @@ export default async function (eleventyConfig) {
eleventyConfig.amendLibrary("md", (mdLib) => mdLib.use(attrs));
/* Markdown apply target="_blank" to all external links */
const milaOptions = {
eleventyConfig.amendLibrary("md", (mdLib) => mdLib.use(markdownitLinkAttributes, {
matcher(href) {
return href.match(/^https?:\/\//);
},
@@ -19,8 +23,13 @@ export default async function (eleventyConfig) {
target: "_blank",
rel: "external",
},
};
eleventyConfig.amendLibrary("md", (mdLib) => mdLib.use(markdownitLinkAttributes, milaOptions));
}));
/* Markdown apply ID attributes to headers */
eleventyConfig.amendLibrary("md", (mdLib) => mdLib.use(markdownitIdAttributes, {
level: [2, 3, 4],
tabIndex: false,
}));
/* Bundles */
/* CSS */
@@ -38,6 +47,9 @@ export default async function (eleventyConfig) {
/* Passthroughs */
eleventyConfig.addPassthroughCopy("./favicon.ico");
/* HTML base */
eleventyConfig.addPlugin(HtmlBasePlugin);
/* Images */
eleventyConfig.addPlugin(eleventyImageTransformPlugin, {
// output image formats
@@ -54,11 +66,9 @@ export default async function (eleventyConfig) {
},
},
filenameFormat: function (hash, src, width, format, options) {
// If you're building multiple widths
// const extension = path.extname(src);
// const name = path.basename(src, extension);
// return `${name}-${width}.${extension}`;
var dirname = path.dirname(src);
dirname = dirname.split("/img/");
if (dirname.length > 1) return `${dirname[1]}-${path.basename(src)}`;
return path.basename(src);
},
});
+14 -2
View File
@@ -1,11 +1,11 @@
{
"name": "siblinghood-11ty",
"name": "siblinghood",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "siblinghood-11ty",
"name": "siblinghood",
"version": "1.0.0",
"license": "AGPL-3.0-only",
"devDependencies": {
@@ -14,6 +14,7 @@
"@11ty/eleventy-navigation": "^1.0.5",
"@mdit/plugin-attrs": "^0.25.1",
"luxon": "^3.7.2",
"markdown-it-anchor": "^10.0.0",
"markdown-it-link-attributes": "https://github.com/lee0c/markdown-it-link-attributes/tarball/main"
}
},
@@ -1814,6 +1815,17 @@
"markdown-it": "bin/markdown-it.mjs"
}
},
"node_modules/markdown-it-anchor": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-10.0.0.tgz",
"integrity": "sha512-Q8g7Z6OBdH3eXF0lujFqukIxUvgCDZcjzCrJxmD6QiEzU1HWR9fVN+Bf6gxmM+0yrPFs+jUw8gNjLmUQqt6Eew==",
"dev": true,
"license": "Unlicense",
"peerDependencies": {
"@types/markdown-it": "*",
"markdown-it": "*"
}
},
"node_modules/markdown-it-link-attributes": {
"version": "4.0.1",
"resolved": "https://github.com/lee0c/markdown-it-link-attributes/tarball/main",
+1
View File
@@ -15,6 +15,7 @@
"@11ty/eleventy-navigation": "^1.0.5",
"@mdit/plugin-attrs": "^0.25.1",
"luxon": "^3.7.2",
"markdown-it-anchor": "^10.0.0",
"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](/).
+2 -1
View File
@@ -7,7 +7,8 @@ eleventyNavigation:
<h1>The Travels of <span class="card">Card One</span></h1>
<p><span class="card">Card one</span> has 16 total recipients. Its journey began in late December, 2025.</p>
<p><span class="card">Card one</span> has 16 total recipients. Its journey began in
<time datetime="2025-12-27">late December, 2025</time>.</p>
{% set stops = collections["1a"] %}
{% include "card.njk" %}
+3 -2
View File
@@ -2,12 +2,13 @@
title: card three's travels
eleventyNavigation:
key: card three
order: 1
order: 3
---
<h1>The Travels of <span class="card">Card Three</span></h1>
<p><span class="card">Card three</span> has 16 total recipients. Its journey began in late July, 2026.</p>
<p><span class="card">Card three</span> has 16 total recipients. Its journey began in
<time datetime="2026-07-20">late July, 2026</time>.</p>
{% set stops = collections["3"] %}
{% include "card.njk" %}
+4 -2
View File
@@ -2,12 +2,14 @@
title: card two's travels
eleventyNavigation:
key: card two
order: 1
order: 2
---
<h1>The Travels of <span class="card">Card Two</span></h1>
<p><span class="card">Card two</span> has 16 total recipients. Its journey began in early January, 2026.</p>
<p><span class="card">Card two</span> has 16 total recipients. Its journey began in
<time datetime="2026-01-06">early January, 2026</time> and ended in
<time datetime="2026-09-22">late September, 2026</time>. Yay!</p>
{% set stops = collections["2"] %}
{% include "card.njk" %}
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

+12 -6
View File
@@ -6,7 +6,7 @@ title: siblinghood of the traveling greeting card
a community-building project by [lee](https://leecat.art).{id="author"}
welcome to the siblinghood of the traveling greeting card.
welcome to the siblinghood of the traveling greeting card. We have completed [one card](#completed-cards).
[originated on the fediverse](https://flipping.rocks/@inherentlee/115645750535211187) with an idea from [noctiluca@scholar.social](https://scholar.social/@noctiluca).
@@ -16,7 +16,7 @@ send a greeting card around the world. Maybe more than one. We'll see.
## outline
from a group of participants, a random list will be formed. every person is given the address of the next person in the list (the last person receives the first person's address). First person picks a greeting card, signs it, and sends it to their designated recipient; that person receives, signs, sends on, etc.
from a group of participants, a random list will be formed. every person is given the address of the next person in the list (the last person receives the first person's address). The first person picks a greeting card, signs it, and sends it to their designated recipient; that person receives, signs, sends on, etc.
this continues on to the last person, who finally signs and sends back to the first, closing the loop and ending the adventure. The first person gets to keep the card they originally sent out.
@@ -24,7 +24,7 @@ if we want to, this can be easily re-run - add folks who want to be added, drop
### timeline
applications for round one (cards one and two) closed on <time datetime="2025-12-15">December 15th, 2025</time>. Round two (card three) closed on <time datetime="2026-05-01">May 1st, 2026</time>. You may still put in for future rounds, but be aware future rounds are not confirmed yet and will not be confirmed for at least 6 months.
applications for round one (cards one and two) closed on <time datetime="2025-12-15">December 15th, 2025</time>. Round two (card three) closed on <time datetime="2026-05-01">May 1st, 2026</time>. You may still put in for future rounds, but be aware future rounds are not confirmed yet and will not be confirmed until we have 16 more participants for a new card.
assignments (recipient address, order in loop) for cards one and two have been sent out as of <time datetime="2025-12-26">December 26th, 2025</time>. Assignments for card three have been sent out as of <time datetime="2026-06-04">June 4th, 2026</time>.
@@ -32,8 +32,6 @@ assignments (recipient address, order in loop) for cards one and two have been s
each cohort will be 16 people. When signups for the next round hit 16, I will confirm with all folks that they are still in; if so, we'll kick it off (if not, we'll wait for another person or two).
for the round that began <time datetime="2026-01-01">January of 2026</time>, we have 32 participants and will have two cards in circulation. All following rounds will kick off when 16 signups have been reached.
### on randomization
I will edit the list as needed to accommodate any mailing restrictions. I will also re-roll if I am placed first on the list.
@@ -87,8 +85,16 @@ I'll be doing my level best to track the card's movement, so as it is sent aroun
## I want in!
as stated above, signups for the rounds beginning <time datetime="2026-01-01">January 1st, 2026</time> and <time datetime="2026-06-04">June 4th, 2026</time> are closed. However, you may still sign up in case of future rounds.
as stated above, signups for the rounds beginning <time datetime="2026-01-01">January 1st, 2026</time> and <time datetime="2026-06-04">June 4th, 2026</time> are **closed**. However, you may still sign up in case of future rounds.
[sign up for the siblinghood of the traveling greeting card](https://airtable.com/appdoHZsRDUzgYu9q/pagsr9LVAqKx29gDl/form).
if airtable is in any way inaccessible to you, please [reach out directly to lee](https://leecat.art/contact).
## completed cards
### card two
<span class="card">[Card Two](/card-two)</span> kicked off in <time datetime="2026-01-06">early January, 2026</time> and finished its long and perilous journey in <time datetime="2026-09-22">late September, 2026</time>, spanning about 9 and a half months.
![two images stitched together. The first one shows the front of the card, which has a design of a cat peeking out from behind a question mark. The second shows the open card with all signatures and many stickers.](/img/two/16.png)
+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>
+3
View File
@@ -0,0 +1,3 @@
---
location: California, USA
---
+3
View File
@@ -0,0 +1,3 @@
---
location: California, USA (again)
---
+3
View File
@@ -0,0 +1,3 @@
---
location: "???"
---
+3
View File
@@ -1,3 +1,6 @@
---
location: Illinois, USA
img:
src: two/15.jpg
alt: the inside of a card with 16 signatures in many colors. It has a piece of paper on top that says 'sticker trove'
---
+6
View File
@@ -0,0 +1,6 @@
---
location: Oregon, USA
img:
src: two/16.png
alt: two images stitched together. The first one shows the front of the card, which has a design of a cat peeking out from behind a question mark. The second shows the open card with all signatures and many stickers.
---
+6
View File
@@ -0,0 +1,6 @@
---
location: Oregon, USA
img:
src: three/01.jpg
alt: An open greeting card with a pile of stickers and a couple signatures with doodles.
---
+3
View File
@@ -0,0 +1,3 @@
---
location: "???"
---