This commit is contained in:
2026-08-25 21:42:47 -07:00
parent cfa6c5fabf
commit 5796b1f07c
24 changed files with 585 additions and 50 deletions
+3 -3
View File
@@ -1,6 +1,6 @@
export default { export default {
title: "", title: "FediZineFest",
description: "", description: "A zine sharing project for the fediverse",
url: "", url: "fedizinefest.fyi",
author: "Lee Cattarin", author: "Lee Cattarin",
}; };
+6
View File
@@ -1,2 +1,8 @@
<footer> <footer>
<p>Brought to you by the
<a href="/years/2025#team">FediZineFest 2025 team</a>
</p>
<p>Site feedback? Questions?
<a href="mailto:lee.cattarin@gmail.com?subject=fediZineFest">Reach out to Lee</a>
</p>
</footer> </footer>
+4 -2
View File
@@ -5,19 +5,20 @@
{% set pageTitle = metadata.title %} {% set pageTitle = metadata.title %}
{% endif %} {% endif %}
<title>{{ pageTitle }}</title> <title>{{ pageTitle }}</title>
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8"> <meta charset="utf-8">
<!-- Meta --> <!-- Meta -->
<link rel="canonical" href="/" /> <link rel="canonical" href="/" />
<meta name="description" content="{{ metadata.description }}" /> <meta name="description" content="{{ metadata.description }}" />
<meta name="robots" content="index,follow" /> <meta name="robots" content="index,follow" />
<meta property="og:title" content="{{ pageTitle }}" /> <meta property="og:title" content="{{ pageTitle }}" />
<meta property="og:type" content="article" /> <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 }}" /> <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"> <link rel="icon" type="image/x-icon" href="/favicon.ico">
<meta property="og:image" content="" /> <meta property="og:image" content="" />
<meta property="og:image:alt" content="" /> <meta property="og:image:alt" content="" />
@@ -27,6 +28,7 @@
<!-- CSS --> <!-- CSS -->
<style>{% include "css/main.css" %}</style> <style>{% include "css/main.css" %}</style>
<style>{% include "css/zines.css" %}</style>
<style>{% getBundle "css" %}</style> <style>{% getBundle "css" %}</style>
{# {#
+12 -1
View File
@@ -1,4 +1,15 @@
<header> <header>
<nav> <nav aria-label="main navigation">
<a id="skip" href="#main">skip to content</a>
<ul>
{% for entry in collections.all | eleventyNavigation %}
<li>
<a href="{{ entry.url }}" title="{{ entry.title }}"
{% if entry.url == page.url %}aria-current="page"{% endif %}>
{{ entry.title }}
</a>
</li>
{% endfor %}
</ul>
</nav> </nav>
</header> </header>
+11
View File
@@ -0,0 +1,11 @@
<ul id="zine-container">
{% for zine in zines %}
<li>
<h2><a href="{{ zine.data.website }}">{{ zine.data.artist }}</a></h2>
<p>made a {{ zine.data.format }} zine called</p>
<h3>{{ zine.data.title }}</h3>
<p>and the original blurb was</p>
<blockquote>{{ zine.content | safe }}</blockquote>
</li>
{% endfor %}
</ul>
+183 -42
View File
@@ -1,60 +1,201 @@
:root { :root {
color-scheme: light dark; color-scheme: light dark;
--color-bg-light: #f0f0f0;
--color-text-light: #640054;
--color-header-light: #185370;
--color-warn-light: #fbcc0a;
--color-bg-dark: #1f1f1f;
--color-text-dark: #91c73b;
--color-header-dark: #ff9b37;
--color-warn-dark: #540033;
--color-text-main: #640054;
--color-text-header: #185370;
} }
/* numbered components are from https://www.joshwcomeau.com/css/custom-css-reset/ */ /* numbered components are from https://www.joshwcomeau.com/css/custom-css-reset/ */
/* 1. Use a more-intuitive box-sizing model */
*, *::before, *::after { *, *::before, *::after {
box-sizing: border-box; box-sizing: border-box; /* 1. Use a more-intuitive box-sizing model */
} }
/* 2. Remove default margin */
*:not(dialog) { *:not(dialog) {
margin: 0; margin: 0; /* 2. Remove default margin */
}
*:focus-visible {
outline: .2rem solid light-dark(var(--color-header-light), var(--color-header-dark));
outline-offset: .15rem;
background-color: light-dark(var(--color-header-light), var(--color-header-dark));
}
html {
height: 100%;
} }
/* 3. Enable keyword animations */
@media (prefers-reduced-motion: no-preference) { @media (prefers-reduced-motion: no-preference) {
html { html {
interpolate-size: allow-keywords; interpolate-size: allow-keywords; /* 3. Enable keyword animations */
} }
} }
body {
/* 4. Increase line-height */
line-height: 1.5;
/* 5. Improve text rendering */
-webkit-font-smoothing: antialiased;
}
/* 6. Improve media defaults */
img, picture, video, canvas, svg {
display: block;
max-width: 100%;
height: auto;
}
/* 7. Inherit fonts for form controls */
input, button, textarea, select {
font: inherit;
}
/* 8. Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
overflow-wrap: break-word;
}
/* 9. Improve line wrapping */
p {
text-wrap: pretty;
}
h1, h2, h3, h4, h5, h6 {
text-wrap: balance;
}
/*
10. Create a root stacking context
*/
#root, #__next { #root, #__next {
isolation: isolate; isolation: isolate; /* 10. Create a root stacking context */
}
body {
line-height: 1.5; /* 4. Increase line-height */
-webkit-font-smoothing: antialiased; /* 5. Improve text rendering */
font-family: sans-serif;
background-color: light-dark(var(--color-bg-light), var(--color-bg-dark));
color: light-dark(var(--color-text-light), var(--color-text-dark));
display: grid;
grid-template-rows: auto 1fr auto;
min-height: 100%;
}
main {
width: 60%;
margin: 0 auto 2rem;
}
@media (max-width: 1100px) {
main {
width: 80%;
}
}
@media (max-width: 650px) {
main {
width: 92%;
}
}
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 {
font: inherit; /* 7. Inherit fonts for form controls */
}
p, h1, h2, h3, h4, h5, h6 {
overflow-wrap: break-word; /* 8. Avoid text overflows */
}
h1, h2, h3, h4, h5, h6 {
text-wrap: balance; /* 9. Improve line wrapping */
color: light-dark(var(--color-header-light), var(--color-header-dark));
font-weight: bold;
line-height: 105%;
}
h1 {
margin: 5rem 0 2rem;
font-size: 3rem;
text-align: center;
}
@media (max-width: 650px) {
h1 { margin: 2rem 0; }
}
h2 {
font-size: 2rem;
padding-top: 3rem;
border-top: solid;
margin: 1.4rem 0;
}
h3 {
font-size: 1.4rem;
margin-top: 1rem;
}
p {
text-wrap: pretty; /* 9. Improve line wrapping */
}
p, ul {
margin: 1.5rem 0;
}
ul ul {
margin: .5rem 0;
}
@media (max-width: 650px) {
ul {
padding-left: 1.5rem;
}
}
a:link,
a:visited {
background-color: light-dark(var(--color-text-light), var(--color-text-dark));
color: light-dark(var(--color-bg-light), var(--color-bg-dark));
font-weight: bold;
padding: 0 .2rem;
text-decoration: none;
border-radius: .2rem;
}
/* makes the years page prettier */
h3 a:link,
h3 a:visited {
background-color: light-dark(var(--color-header-light), var(--color-header-dark));
}
h3 *:focus-visible {
outline: .2rem solid light-dark(var(--color-text-light), var(--color-text-dark));
background-color: light-dark(var(--color-text-light), var(--color-text-dark));
}
/* Header nav */
nav {
border-bottom: .25rem solid light-dark(var(--color-header-light), var(--color-header-dark));
font-size: 1.1rem;
}
#skip {
position: absolute;
left: -999px;
top: -999px;
}
#skip:focus-visible {
left: 1rem;
top: .5rem;
}
nav ul {
display: flex;
flex-flow: row wrap;
align-items: stretch;
justify-content: center;
list-style: none;
padding: 0;
margin: 0;
}
nav li {
margin: .5rem .5rem;
}
footer {
display: flex;
justify-content: space-between;
margin: 1rem auto 0;
padding: 1rem .5rem;
width: 100%;
flex-wrap: wrap;
border-top: .25rem solid light-dark(var(--color-header-light), var(--color-header-dark));
}
footer p {
margin: 0.5rem 0;
} }
+38
View File
@@ -0,0 +1,38 @@
#zine-container {
padding: 0;
}
#zine-container li {
list-style: none;
border-bottom: solid;
border-left: solid;
border-radius: 4px;
padding: 0 .4rem .4rem;
margin-bottom: 1rem;
}
#zine-container h2,
#zine-container p {
border: none;
display: inline;
}
#zine-container h2 a {
background-color: light-dark(var(--color-header-light), var(--color-header-dark));
line-height: 135%;
}
#zine-container h3 {
background-color: light-dark(var(--color-warn-light), var(--color-warn-dark));
color: light-dark(var(--color-text-light), var(--color-text-dark));
border-radius: 3px;
padding: 0 .2rem;
text-align: right;
line-height: 150%;
margin: .25rem 0 .75rem 0;
}
#zine-container blockquote {
margin: 0;
color: light-dark(var(--color-header-light), var(--color-header-dark));
}
+4
View File
@@ -1,5 +1,6 @@
import { attrs } from "@mdit/plugin-attrs"; import { attrs } from "@mdit/plugin-attrs";
import { eleventyImageTransformPlugin } from "@11ty/eleventy-img"; import { eleventyImageTransformPlugin } from "@11ty/eleventy-img";
import eleventyNavigationPlugin from "@11ty/eleventy-navigation";
import pluginFilters from "./_config/filters.js"; import pluginFilters from "./_config/filters.js";
@@ -40,6 +41,9 @@ export default async function (eleventyConfig) {
}, },
}); });
/* Navigation */
eleventyConfig.addPlugin(eleventyNavigationPlugin);
/* All filters from _config/filters.js */ /* All filters from _config/filters.js */
eleventyConfig.addPlugin(pluginFilters); eleventyConfig.addPlugin(pluginFilters);
+16 -1
View File
@@ -1,5 +1,5 @@
{ {
"name": "11ty", "name": "zinefest-11ty",
"version": "1.0.0", "version": "1.0.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
@@ -10,6 +10,7 @@
"devDependencies": { "devDependencies": {
"@11ty/eleventy": "^3.1.5", "@11ty/eleventy": "^3.1.5",
"@11ty/eleventy-img": "^6.0.4", "@11ty/eleventy-img": "^6.0.4",
"@11ty/eleventy-navigation": "^1.0.5",
"@mdit/plugin-attrs": "^0.25.1", "@mdit/plugin-attrs": "^0.25.1",
"luxon": "^3.7.2" "luxon": "^3.7.2"
} }
@@ -165,6 +166,20 @@
"url": "https://opencollective.com/11ty" "url": "https://opencollective.com/11ty"
} }
}, },
"node_modules/@11ty/eleventy-navigation": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-navigation/-/eleventy-navigation-1.0.5.tgz",
"integrity": "sha512-zb6xe29cM9viSdYtZywKIkJw2HIROyBINdBcFWC9uD0c/jYOTAex5nwy3HNEuh5t6/Ld/S9V4gEizfmeYuYpCQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"dependency-graph": "^1.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/11ty"
}
},
"node_modules/@11ty/eleventy-plugin-bundle": { "node_modules/@11ty/eleventy-plugin-bundle": {
"version": "3.0.7", "version": "3.0.7",
"resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-bundle/-/eleventy-plugin-bundle-3.0.7.tgz", "resolved": "https://registry.npmjs.org/@11ty/eleventy-plugin-bundle/-/eleventy-plugin-bundle-3.0.7.tgz",
+1
View File
@@ -12,6 +12,7 @@
"devDependencies": { "devDependencies": {
"@11ty/eleventy": "^3.1.5", "@11ty/eleventy": "^3.1.5",
"@11ty/eleventy-img": "^6.0.4", "@11ty/eleventy-img": "^6.0.4",
"@11ty/eleventy-navigation": "^1.0.5",
"@mdit/plugin-attrs": "^0.25.1", "@mdit/plugin-attrs": "^0.25.1",
"luxon": "^3.7.2" "luxon": "^3.7.2"
} }
+7
View File
@@ -0,0 +1,7 @@
---
title: Digital Bundle Purchase Successful
---
Your digital bundle purchase was successful.
(This page exists because Ko-fi requires a URL (or file) to be associated with a digital purchase.)
+60
View File
@@ -0,0 +1,60 @@
---
eleventyNavigation:
key: home
order: 1
title: FediZineFest
---
FediZineFest ran in [2025](/years/2025) and [2024](/years/2024). We're now looking at FediZineFest 2026-2027.
## What
A zine sharing and distribution project for the fediverse.
## Who
### Artists (cap of 20)
Provide physical and/or digital zines; receive payment and physical and/or digital zines.
In 2025, we tested an artist waitlist. Additional artists could be added to the pool as funds allow and to cover for drop-outs. We'll do this again for the 26/27 run.
### Backers (cap of 20 for physical zines; no cap for digital)
Provide payment; receive physical and/or digital zines.
## When
2026/2027 dates yet to be determined. Deadline structure as follows:
### Deadline 0
Artist sign-up closes.
### Deadline 1 (deadline 0 + 2 weeks)
Backer sign-up closes. Artists are informed of the number of physical zines needed.
### Deadline 2 (deadline 1 + 10 weeks)
Art submission deadline. Digital zines are submitted to digital drive; physical zines are in the mail.
### Deadline 3 (deadline 2 + 4 weeks)
Physical zines arrive at distributor (Lee).
### Deadline 4 (deadline 3 + 4 weeks)
Physical zines packaged and ready for shipment. Digital zines are organized and ready to share.
### Deadline 5 (deadline 4 + 4 weeks)
Physical zines arrive at recipients. Digital zines shared.
## Where
Anywhere that can ship to/from the US.
## Why
To bring folks together and share art.
+20
View File
@@ -0,0 +1,20 @@
---
eleventyNavigation:
key: get involved
order: 2
title: Get Involved
---
## Interest signups for 2026-2027
Sign up to [indicate interest in FediZineFest 2026/2027 as an artist, backer, or team member.](https://airtable.com/app76cWa9xMbzWFn3/pagM1TbZdmVLNQSf6/form)
## Leftovers
### 2025
Peruse [2025's leftover bundles.](https://ko-fi.com/inherentlee/shop/fedizinefest2025)
### 2024
Peruse [2024's leftover bundles.](https://ko-fi.com/inherentlee/shop/fedizinefest2024)
+89
View File
@@ -0,0 +1,89 @@
---
title: FediZineFest 2024 Guidelines
---
## Participants
- **artist:** someone who contributes one or more zines to the Fest
- **backer:** someone who contributes money to the Fest
All participants (both artists and backers) will receive:
- a package in the mail containing one copy of each physical zine submitted
- a link to a Dropbox or Google Drive (or similar) folder containing all digital zines submitted
### Participant caps
Total participants will be capped at 50. Artists will be capped at 30. Physical zine submissions will be capped at 20. This is for the sake of my and the artists sanity(s).
## For artists
### Zine submissions
**Zines do not have to be newly created for this event.** You may absolutely share zines you have previously created. However, please do not share zines that are already freely available in the same format - we want the backers to get a good deal.
While you may submit more than one zine, I ask that you limit **physical** zine submissions to **one zine**. This is to ensure that shipping doesnt become too unreasonable (for you OR me).
For the submission of a **physical** zine, you agree that:
- Your zine will be no larger than:
- For folks in the US: 8.5"x5.5" (a standard sheet of 8.5"x11" paper, folded once)
- For folks internationally: 21.0cm x 14.9cm (a standard sheet of A4 paper, folded once)
- The number of recipients will be confirmed by **Jan 26th, 2024**
- You will get these copies into the mail by **Mar 29th, 2024**
For the submission of a **digital** zine, you agree that:
- You will provide a print-friendly file (this may be either your only file, or one of two - a digital-only and a print-friendly variant) - print-friendly here means printable on the average home printer, so please no requirements for legal paper or other unusual sizes!
- You will provide your zine file(s) by **Mar 29th, 2024** via Google Drive or Dropbox or similar
### Payment
Please keep in mind that this is mostly an opportunity to share and receive zines. While you will receive payment, it wont be in significant amounts.
All transactions will use PayPal unless otherwise organized - reach out to me if PayPal is inaccessible to you. **If you cannot use PayPal, you must speak to me about it before signing up so as to ensure there is a way to pay you.**
## For backers
### Payment
As a backer, you agree that you will pay:
- A base payment of $50 - this will be split among all artists
- A shipping fee based on your location
- US: $15
- International: $30
## Timeline and deadlines
### Deadline 0: 12 Jan 2024
- For artist list formation
### Deadline 1: 26 Jan 2024
- (Deadline 0 + 2 weeks)
- For backer list formation
- For communication to be sent out to all artists detailing the number of recipients
### Deadline 2: 29 Mar 2024
- (Deadline 1 + 8 weeks)
- For art submissions
### Deadline 3: 19 Apr 2024
- (Deadline 2 + 3 weeks)
- For physical zines to arrive at distributor
### Deadline 4: 10 May 2024
- (Deadline 3 + 3 weeks)
- For physical zines to be packaged for shipment
- For digital zines to be organized and uploaded to shared drive
### Deadline 5: 31 May 2024
- (Deadline 4 + 3 weeks)
- For physical zines to arrive at recipients
- For email to be sent out to all recipients regarding where digital zines are located
+29
View File
@@ -0,0 +1,29 @@
---
title: FediZineFest 2024
---
## Overview
Read the [FediZineFest 2024 guidelines.](/years/2024/guidelines)
See the [FediZineFest 2024 zines.](/years/2024/zines)
## Statistics
FediZineFest 2024 completed with **25 artists** and **20 backers**. Artists contributed **16 physical** and **18 digital** zines. Artist payouts were roughly **USD35**. 5 artists were unable to complete work or dropped out.
## Things we learned
- Build in opt-outs for physical zines for artists and backers
- Build in opt-outs for payment for artists
- Read the fine print of services such as Jotform
- Include workarounds for Paypal
- Get general publicity information from artists - not just fedi handles
- Delegate! Delegate! Delegate!
- Block out more time between deadlines
## Team
- **Primary point of contact:** Lee
- **Help with zine creation:** Sanae
- **Help with digital formatting:** Aaron Rafik El Sabrout
+6
View File
@@ -0,0 +1,6 @@
---
title: FediZineFest 2024 Zines
---
{% set zines = collections["2024"] %}
{% include "zines.njk" %}
+3
View File
@@ -0,0 +1,3 @@
---
title: FediZineFest 2025 Guidelines
---
+36
View File
@@ -0,0 +1,36 @@
---
title: FediZineFest 2025
---
## Overview
Read the [FediZineFest 2025 guidelines.](/years/2025/guidelines)
See the [FediZineFest 2025 zines.](/years/2025/zines)
## Statistics
**19 artists** contributed **13 physical** and **16 digital** zines. **23 backers** contributed over **USD1500**.
This year, our payouts vary slightly according to two factors:
- whether the artist contributed physical zines
- whether the artist received physical zines
This was to help offset cost of printing. Final payouts will be calculated on June 6 (deadline 4), but at current, artists will receive anywhere from **USD95 to USD135** (if this math sounds wrong: there are artists who opted out of being paid).
5 artists were unable to complete work or dropped out.
## Things we learned
- **Using Airtable.** Make sure all coordinators are using the same information platform. In 2025, I allowed coordinators to opt out of learning a new platform. Next year, I'll put extra effort into making the platform accessible.
- **Shared email.** A shared email account for coordinators would make responding to artist questions easier and more seamless for artists.
- **Fedi handles.** This year, I aimed to get artist's websites for general publicity, rather than fedi handles. Collect both - fedi handles are useful for publicity as well as communication.
- **Digital cleanliness.** It would be nice to have uploaded digital zines follow a clear format like Author_Title or similar.
- **Deadlines.** The 4 week delays between some of the later steps? Those have already been necessary. One set of zines didn't arrive until 21 May despite being posted on time.
## Team
- **Physical Zine Coordinator:** Lee Cattarin — [leecat.art](https://leecat.art)
- **Digital Zine Coordinator:** Oona Leganovic — [@playinprogress on fedi](https://assemblag.es/@playinprogress)
- **Timeline Coordinator:** Jack — [@sodamnqueer on fedi](https://catcatnya.com/@sodamnqueer)
+6
View File
@@ -0,0 +1,6 @@
---
title: FediZineFest 2025 Zines
---
{% set zines = collections["2025"] %}
{% include "zines.njk" %}
+5
View File
@@ -0,0 +1,5 @@
---
title: FediZineFest 2026-2027
---
The interest form for 2026-2027 is open on the [signup page.](/signup)
+20
View File
@@ -0,0 +1,20 @@
---
title: Catalog of Years
eleventyNavigation:
key: all years
order: 4
---
## [FediZineFest 2026-2027](/years/2026-2027)
## [FediZineFest 2025](/years/2025)
### [2025 guidelines](/years/2025/guidelines)
### [2025 zines](/years/2025/zines)
## [FediZineFest 2024](/years/2024)
### [2024 guidelines](/years/2024/guidelines)
### [2024 zines](/years/2024/zines)
+9
View File
@@ -0,0 +1,9 @@
---
title: All FediZineFest Zines
eleventyNavigation:
key: zines!
order: 3
---
{% set zines = collections.zines %}
{% include "zines.njk" %}
+10
View File
@@ -0,0 +1,10 @@
---
artist: lee
site: "https://leecat.art"
format: physical
title: KESTREL
tags:
- 2025
---
2 color hand-printed zine with pictures of my dog
+6
View File
@@ -0,0 +1,6 @@
export default {
permalink: false,
tags: [
"zines"
],
};