generated from inherentlee/11ty
Compare commits
19
Commits
7d5c6e6573
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4209ff3927 | ||
|
|
e8e544763f | ||
|
|
9df297946d | ||
|
|
1566f5c30b | ||
|
|
2257e5f6ed | ||
|
|
571819921c | ||
|
|
147ec683b6 | ||
|
|
d460fd8e09 | ||
|
|
c1e45e326b | ||
|
|
e174ec486f | ||
|
|
51000f7fa0 | ||
|
|
cfa2bb9150 | ||
|
|
679b3b291e | ||
|
|
66aba72fcc | ||
|
|
1a39752fa2 | ||
|
|
72b0d17aa3 | ||
|
|
015b6bfdd9 | ||
|
|
da4249f3d2 | ||
|
|
12017d0098 |
No files matched your search
@@ -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
|
||||
@@ -50,10 +50,6 @@ svg {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.stop img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.stop p {
|
||||
margin: 0;
|
||||
color: var(--color-text);
|
||||
|
||||
+3
-2
@@ -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
@@ -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);
|
||||
},
|
||||
});
|
||||
|
||||
Generated
+14
-2
@@ -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",
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
permalink: 404.html
|
||||
eleventyExcludeFromCollections: true
|
||||
---
|
||||
|
||||
# Content not found
|
||||
|
||||
Sorry, can't find this page. Return [home](/).
|
||||
+2
-1
@@ -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
@@ -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
@@ -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
@@ -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.
|
||||
|
||||

|
||||
@@ -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>
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
location: California, USA
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
location: California, USA (again)
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
location: "???"
|
||||
---
|
||||
@@ -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'
|
||||
---
|
||||
@@ -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.
|
||||
---
|
||||
@@ -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.
|
||||
---
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
location: "???"
|
||||
---
|
||||
Reference in new issue
Block a user