87 Commits

Author SHA1 Message Date
Zigzagill 87db0d71e5 Make project images clickable links, make pet calendar alt text more equitable 2026-05-19 21:22:19 -07:00
jjjj 6cad58a332 Enable individual zine sharing by link 2026-05-07 20:23:10 -07:00
jjjj 897ef35747 add signal 201 2026-05-07 19:51:13 -07:00
jjjj a9366cb48b allow zooming when reading zines 2026-03-30 20:58:57 -07:00
brookechr aba9f78b03 Merge pull request 'fixing out of order pages' (#5) from strawberry/discotech-101-pages-out-of-order into main
Reviewed-on: #5
2026-03-17 02:21:04 +00:00
brookechr 9beac5d1b1 fixing out of order pages 2026-03-16 19:19:54 -07:00
brookechr 207ba77559 Merge pull request 'Adding Signal 101 Zine and Making Some Capitalization/Naming Fixes for Other Zines' (#4) from strawberry/signal-101-zine into main
Reviewed-on: #4
2026-02-26 04:58:24 +00:00
brookechr e87c8efd66 updates to zine data file 2026-02-25 20:56:16 -08:00
brookechr e67d93768e signal 101 printable 2026-02-25 20:55:40 -08:00
brookechr ef95670283 rename printable 2026-02-25 20:55:01 -08:00
brookechr d0c7861a1b rename De-monopoly Cheatsheet to Brief Notes from a De-Monopoly DiscoTech 2026-02-25 20:54:23 -08:00
brookechr fdaf49d6ca adding signal 101 zine pages 2026-02-25 20:52:21 -08:00
jjjj 9ed1c4c5b8 add a new zine 2026-02-02 15:56:16 -08:00
jjjj 630f53ea5d 1. fix copyleft year and color in darkmode 2. remove duplicate ourprojects title 2026-01-26 21:48:58 -08:00
jjjj b08aaf416f remove duplicate entries in the projects page 2026-01-21 08:30:13 -08:00
jjjj d63fddc3ba Change printable zine permission so they can be downloaded; rename flipbookviewer to zineviewer 2026-01-21 08:20:25 -08:00
jordansullivan 65afc10fc6 Fixing all the stuff I effed up in rebasing 2026-01-19 22:44:08 -08:00
jordansullivan 8c771fac6a pet calendar updates 2026-01-19 22:44:08 -08:00
jordansullivan e42b75951a Add all the tutorial links babyyyy 2026-01-19 22:44:08 -08:00
jordansullivan f01be89d91 Create pet calendar page 2026-01-19 22:44:08 -08:00
jjjj d5412264dc rename ../ourprojectspages/... to just .../projects/... in the page route 2026-01-19 22:44:08 -08:00
jjjj 87351bafda add zines to our projects 2026-01-19 22:44:08 -08:00
jjjj 821ef086eb update bookclub page; rename What Were Working On to Our Projects in the code 2026-01-19 22:44:08 -08:00
jordansullivan bc4d1dc4db Merge pull request 'Create pet calendar page' (#3) from js/petcal into main
Reviewed-on: #3
2026-01-20 06:42:35 +00:00
ammaratef45 5b4e5694d6 Merge branch 'main' into js/petcal 2026-01-19 22:13:06 -08:00
jordansullivan 51ba08d267 Fixing all the stuff I effed up in rebasing 2026-01-19 21:47:23 -08:00
jordansullivan bedc9997ea pet calendar updates 2026-01-19 21:37:30 -08:00
jordansullivan aa14a03761 Add all the tutorial links babyyyy 2026-01-19 21:37:13 -08:00
jordansullivan 760c3d0794 Create pet calendar page 2026-01-19 21:36:10 -08:00
jjjj 152995cc0b rename ../ourprojectspages/... to just .../projects/... in the page route 2026-01-19 21:35:51 -08:00
jjjj 8680dcfd2b add zines to our projects 2026-01-19 21:35:34 -08:00
jjjj 6cffcd0113 update bookclub page; rename What Were Working On to Our Projects in the code 2026-01-19 21:34:04 -08:00
jjjj 5c6e8a60a0 Update Our Points of Unity 2026-01-19 21:32:54 -08:00
jjjj 717b91ed70 make navbar buttons less dark in light mode 2026-01-19 21:32:54 -08:00
jjjj 10da042ad2 1. Rename What we're working on to our projects 2. make them look clickable 2026-01-19 21:32:54 -08:00
jjjj 26a7be8070 remove stale alternatives 2026-01-19 21:32:54 -08:00
jordansullivan 5f4eb9a6f6 Add all the tutorial links babyyyy 2026-01-19 21:22:02 -08:00
jjjj 37d49af3e4 rename ../ourprojectspages/... to just .../projects/... in the page route 2026-01-18 22:38:15 -08:00
jjjj 956c42811d add zines to our projects 2026-01-18 21:56:55 -08:00
jjjj 8d2b02cc1a update bookclub page; rename What Were Working On to Our Projects in the code 2026-01-18 21:02:11 -08:00
jjjj edd81e5bd6 Update Our Points of Unity 2026-01-18 20:33:54 -08:00
jjjj a6d355a826 make navbar buttons less dark in light mode 2026-01-15 21:18:37 -08:00
jordansullivan 66378e97a9 Create pet calendar page 2026-01-15 21:10:16 -08:00
jjjj be46a62157 1. Rename What we're working on to our projects 2. make them look clickable 2026-01-15 20:50:38 -08:00
jjjj d6a89e76b0 remove stale alternatives 2026-01-15 20:31:54 -08:00
brookechr 9246961f22 Merge pull request 'updating readme with deployment info' (#2) from strawberry/readme-deployment-info-update into main
Reviewed-on: #2
Reviewed-by: ammaratef45 <ammaratef45@proton.me>
2025-10-17 04:22:59 +00:00
brookechr 26582aebbc addressing feedback 2025-10-16 21:22:14 -07:00
brookechr 255f360825 adding instructions for clone of sootie-config 2025-10-14 12:18:01 -07:00
brookechr 695431dbc0 updating readme with deployment info 2025-10-14 12:12:01 -07:00
brookechr 7c52ab5b78 adding discussion guide to book club 2025-10-13 22:33:46 -07:00
brookechr 314010cbf6 adjusting book club pic width 2025-10-13 20:12:52 -07:00
brookechr 977e5c84ca add details to readme 2025-10-13 19:52:16 -07:00
jjjj 05fcd26c6e update version to 0.0.8 2025-10-13 19:17:42 -07:00
brookechr ffd26c42ca fixing horizontal sizing issue in navbar 2025-10-09 19:54:42 -07:00
brookechr 0c440ac44c updating book club page 2025-10-09 19:52:03 -07:00
jjjj 57f322a7b0 update README with deployment instruction 2025-09-01 15:02:50 -07:00
jjjj 0e236f67a8 update tags 2025-09-01 13:31:39 -07:00
jjjj 726de1a0db strike through big tech option 2025-09-01 13:26:42 -07:00
jjjj a04e99c7f0 remove this website from what we are working on + add alternatives page 2025-09-01 13:17:24 -07:00
jjjj 2a9aeb5a46 add alt page 2025-08-19 16:08:26 -07:00
ammaratef45 e07d5a80c8 update to 0.0.6 version 2025-07-31 22:10:29 -07:00
ammaratef45 7b7b2edc87 update version to 0.0.3 2025-07-31 21:56:41 -07:00
ammaratef45 14e2e18f54 add a heart symbol to points of unity 2025-07-31 21:53:41 -07:00
ammaratef45 2d224b8f7d add build badge 2025-07-31 21:45:32 -07:00
ammaratef45 54a544b3c1 add .drone.yml 2025-07-31 21:40:50 -07:00
brookechr fe3ad8eea6 update README and get rid of astro embed 2025-06-16 21:02:43 -07:00
brookechr 635d4a1b21 Merge branch 'main' of https://git.coopcloud.tech/RTM/rtm-website 2025-06-13 17:21:34 -07:00
brookechr e39a0f3b30 update computer icon and add commented out calendar page 2025-06-13 17:21:26 -07:00
jjjj a3cc09bf2f add details for book club 2025-06-09 20:23:35 -07:00
jjjj dff21eb51a make the computer/people icon numbers not hard coded 2025-05-22 21:01:57 -07:00
jjjj 5a53feb817 1. remove ../public from asset links
2. add book club page
2025-05-22 20:36:44 -07:00
Ammar Hussein 7dbbfbe479 deployment configs and instructions 2025-05-15 19:57:46 -07:00
brookechr fd77268cbe polishing! 2025-05-08 19:07:23 -07:00
brookechr 9f3e1b21ef Merge branch 'main' of https://git.coopcloud.tech/RTM/rtm-website 2025-05-01 20:51:03 -07:00
brookechr e502445a8d movin pictures around 2025-05-01 20:51:01 -07:00
jjjj b1d955edc1 format the points of unity 2025-05-01 20:49:06 -07:00
jjjj 2991171654 fix computer and people icons 2025-05-01 20:44:27 -07:00
jjjj b6a68f5435 highlight the current page on the navbar 2025-05-01 20:25:42 -07:00
jjjj 25166508e5 add the sign up button 2025-05-01 19:59:21 -07:00
brookechr 8ed99cd3b2 navbar code cleanup 2025-05-01 19:55:42 -07:00
brookechr c3f941b5d2 h1 title styling 2025-05-01 19:55:04 -07:00
brookechr d44ce6b8a2 uppercase page names 2025-05-01 19:44:25 -07:00
jjjj c8c6b6f7cd Redirect to home page when clicking RTM 2025-05-01 19:26:46 -07:00
brookechr f908c69635 adding tailwind docs to readme 2025-05-01 19:26:05 -07:00
brookechr 5b56c3e8d8 making UI work 2025-05-01 19:22:40 -07:00
brookechr 67208841de Merge branch 'main' of https://git.coopcloud.tech/RTM/rtm-website 2025-05-01 18:51:17 -07:00
jjjj e07be531a4 add instruction to readme 2025-04-24 20:32:21 -07:00
17 changed files with 224 additions and 55 deletions
+55 -11
View File
@@ -55,7 +55,7 @@ version=<specify-version>
docker build --platform linux/amd64 -t git.coopcloud.tech/rtm/rtmwebsite:$version .
```
## Push the image to gitea registry
## Push the image to gitea registery
Check out [this documentation](https://docs.gitea.com/next/usage/packages/container) for how to login with gitea registery.
@@ -66,19 +66,63 @@ docker push git.coopcloud.tech/rtm/rtmwebsite:$version
At [our co-op cloud's packages site](https://git.coopcloud.tech/RTM/-/packages), click on "rtmwebsite" and check that the version mentioned is the version you specified!
## Deploy changes to resisttechmonopolies.online
## Update recipe
We use coop cloud tooling [private recipe](https://git.coopcloud.tech/RTM/rtm-astro-recipe) to deploy this website to our [fleet](https://git.coopcloud.tech/RTM/rtm-config) of lil cat-named machines.
We use a [private recipe](https://git.coopcloud.tech/RTM/rtm-astro-recipe) to deploy this website. This step needs Wireguard to be activated (download Wireguard and ask Sootie's owner to create a config for you and give you Docker permissions). The following examples will assume your name in Sootie's config is "blueberry"!
Read the "Fleet Setup and access" collectives page on our RTM nextcloud to get the `rtm-config` repo set up with the `rtm-astro-recipe` submodule and install the `abra` command line tool!
You will need to have wget (`brew install wget` on mac) and [abra](https://docs.coopcloud.tech/abra/) installed.
Then, in your `rtm-config` repo update the RTM website image version to the one you just built and published by running:
Create an SSH key to use with Sootie with the following command. Take note of the file where you save the key. The following examples will assume it is saved to `rtm` and that the `.ssh` directory is in your home directory (which you can find with the command `echo $HOME`).
``` bash
$ abra app config resisttechmonopolies.online # Change VERSION to the docker image you just pushed
$ abra app deploy -f resisttechmonopolies.online # Re-deploy the RTM website, now with your changes!
$ git add abra/servers/laylotta.resisttechmonopolies.online/resisttechmonopolies.online
$ git commit -m 'Updated website to x.x.x' # Publish this change to the rtm-config repo either via direct commit or a PR
```ssh-keygen -t ed25519```
Run the following commands to install the SSH key to Sootie as an authorized key:
```
ssh-copy-id -i $HOME/.ssh/rtm.pub blueberry@resisttechmonopolies.online
ssh -i $HOME/.ssh/rtm 'blueberry@resisttechmonopolies.online'
```
Done! Thank you for your contributions 🏋️⚡📖!
In the `$HOME/.ssh/config` file (which you may have to create if it does not exist), paste the following:
```
Host resisttechmonopolies.online
Hostname resisttechmonopolies.online
User blueberry
UseKeychain yes
IdentityFile ~/.ssh/rtm
```
You should now be able to SSH into Sootie with just the command `ssh resisttechmonopolies.online`
Run the following command (outside of the terminal in which you ran ssh in the previous step)
```abra server add resisttechmonopolies.online```
Clone the `sootie-config` repo into your `$HOME/.abra/servers/resisttechmonopolies.online` directory:
``` bash
git clone https://git.coopcloud.tech/RTM/sootie-config.git .
# DON'T FORGET THE . AT THE END OF THE COMMAND
```
Clone the `rtm-astro-recipe` repo into your `$HOME/.abra/recipes` directory:
```git clone https://git.coopcloud.tech/RTM/rtm-astro-recipe.git```
Update the version number to the latest in
``` bash
.abra/servers/resisttechmonopolies.online/resisttechmonopolies.online.env
```
Then
``` bash
abra app undeploy resisttechmonopolies.online
# wait 10 seconds
abra app deploy resisttechmonopolies.online
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.
+40
View File
@@ -0,0 +1,40 @@
import { useEffect, useState } from "react";
import { Check, Share2 } from "lucide-react";
import { Button } from "../ui/button";
interface ShareZineButtonProps {
zineId: string;
}
export function ShareZineButton({ zineId }: ShareZineButtonProps) {
const [copied, setCopied] = useState(false);
useEffect(() => {
if (!copied) return;
const timer = setTimeout(() => setCopied(false), 1500);
return () => clearTimeout(timer);
}, [copied]);
const handleClick = async (e: React.MouseEvent) => {
e.stopPropagation();
const url = `${window.location.origin}/projects/zines/${zineId}`;
await navigator.clipboard.writeText(url);
setCopied(true);
};
return (
<Button variant="outline" size="sm" onClick={handleClick}>
{copied ? (
<>
<Check />
Copied!
</>
) : (
<>
<Share2 />
Share
</>
)}
</Button>
);
}
+2
View File
@@ -1,6 +1,7 @@
import { Download } from "lucide-react";
import type { Zine } from "../../data/zines";
import { Button } from "../ui/button";
import { ShareZineButton } from "./ShareZineButton";
interface ZineCardProps {
zine: Zine;
@@ -46,6 +47,7 @@ export function ZineCard({ zine, onClick }: ZineCardProps) {
Printable
</a>
</Button>
<ShareZineButton zineId={zine.id} />
</div>
</div>
);
+1
View File
@@ -45,6 +45,7 @@ export function ZineGrid() {
<ZineViewer
pages={selectedZine.pages}
title={selectedZine.title}
zineId={selectedZine.id}
/>
)}
</DialogContent>
+4 -1
View File
@@ -2,6 +2,7 @@ import React, { useRef, useState, useCallback, forwardRef, useEffect } from "rea
import HTMLFlipBook from "react-pageflip";
import { ChevronLeft, ChevronRight, ZoomIn, ZoomOut, Minimize2 } from "lucide-react";
import { Button } from "../ui/button";
import { ShareZineButton } from "./ShareZineButton";
interface PageProps {
src: string;
@@ -25,13 +26,14 @@ Page.displayName = "Page";
interface ZineViewerProps {
pages: string[];
title: string;
zineId?: string;
}
const MIN_ZOOM = 1;
const MAX_ZOOM = 2.5;
const ZOOM_STEP = 0.5;
export function ZineViewer({ pages, title }: ZineViewerProps) {
export function ZineViewer({ pages, title, zineId }: ZineViewerProps) {
const flipBookRef = useRef<any>(null);
const [currentPage, setCurrentPage] = useState(0);
const totalPages = pages.length;
@@ -153,6 +155,7 @@ export function ZineViewer({ pages, title }: ZineViewerProps) {
<Minimize2 className="h-4 w-4" />
</Button>
)}
{zineId && <ShareZineButton zineId={zineId} />}
</div>
<div
+17
View File
@@ -93,4 +93,21 @@ export const zines: Zine[] = [
],
printablePdf: "/assets/zines/signal-101/printable.pdf",
},
{
id: "signal-201",
title: "Signal 201",
description: "Advanced usage of signal",
coverImage: "/assets/zines/signal-201/cover.jpg",
pages: [
"/assets/zines/signal-201/cover.jpg",
"/assets/zines/signal-201/page-1.jpg",
"/assets/zines/signal-201/page-2.jpg",
"/assets/zines/signal-201/page-3.jpg",
"/assets/zines/signal-201/page-4.jpg",
"/assets/zines/signal-201/page-5.jpg",
"/assets/zines/signal-201/page-6.jpg",
"/assets/zines/signal-201/page-7.jpg",
],
printablePdf: "/assets/zines/signal-201/printable.pdf",
},
];
+41 -43
View File
@@ -27,66 +27,64 @@ import "../styles/globals.css";
</div> -->
<div class="justify-items-center">
<img
src="/assets/book-club.jpg"
alt="stack of books"
width="280"
class="border"
/>
<a
href="/projects/bookclub/"
class="underline decoration-solid">Book Club</a
>
<a href="/projects/bookclub/">
<img
src="/assets/book-club.jpg"
alt="stack of books"
width="280"
class="border"
/>
<p class="underline decoration-solid">Book Club</p>
</a>
</div>
<div class="justify-items-center">
<img
<a href="/projects/alternatives/">
<img
src="/assets/computer.png"
alt="computer"
width="250"
class="border"
/>
<a href="/projects/alternatives/" class="underline decoration-solid">Big Tech Alternatives</a>
/>
<p class="underline decoration-solid">Big Tech Alternatives</p>
</a>
</div>
<div class="justify-items-center">
<img
src="/assets/zines-thumbnail.png"
alt="zines"
width="250"
class="border object-cover w-[250px] h-[250px]"
/>
<a href="/projects/zines/" class="underline decoration-solid">Zines</a>
<a href="/projects/zines/">
<img
src="/assets/zines-thumbnail.png"
alt="zines"
width="250"
class="border object-cover w-[250px] h-[250px]"
/>
<p class="underline decoration-solid">Zines</p>
</a>
</div>
<div class="justify-items-center">
<img
src="/assets/pet-calendar-2026-cover.jpg"
alt="photo collage of cats"
width="500"
class="border"
/>
<a
href="/projects/PetCalendar/"
class="underline decoration-solid">Pet Calendar</a
>
<a href="/projects/PetCalendar/">
<img
src="/assets/pet-calendar-2026-cover.jpg"
alt="photo collage of cats and dogs"
width="500"
class="border"
/>
<p class="underline decoration-solid">Pet Calendar</p>
</a>
</div>
<div class="justify-items-center">
<img
src="/assets/pihole.jpeg"
alt="pihole parts"
width="250"
class="border"
/>
<a
href="/projects/pihole/"
class="underline decoration-solid">Pihole Workshop</a
>
<a href="/projects/pihole/">
<img
src="/assets/pihole.jpeg"
alt="pihole parts"
width="250"
class="border"
/>
<p class="underline decoration-solid">Pihole Workshop</p>
</a>
</div>
</div>
</div>
</div>
+64
View File
@@ -0,0 +1,64 @@
---
import Navbar from "../../../components/Navbar";
import Footer from "../../../components/Footer";
import Layout from "../../../layouts/Layout.astro";
import { ZineViewer } from "../../../components/zines/ZineViewer";
import { zines, type Zine } from "../../../data/zines";
import "../../../styles/globals.css";
export async function getStaticPaths() {
return zines.map((zine) => ({
params: { id: zine.id },
props: { zine },
}));
}
interface Props {
zine: Zine;
}
const { zine } = Astro.props;
---
<Layout>
<main class="flex min-h-screen flex-col justify-between">
<div>
<Navbar client:load activePage="OurProjects" />
<div class="px-4">
<a
href="/projects/zines"
class="inline-block pb-4 pt-4 text-sm underline"
>
← Back to all zines
</a>
<ZineViewer
client:load
pages={zine.pages}
title={zine.title}
zineId={zine.id}
/>
</div>
</div>
<Footer />
</main>
</Layout>
<style>
:global(.flipbook-container) {
display: flex;
justify-content: center;
align-items: center;
min-height: 520px;
}
:global(.flipbook) {
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}
:global(.page) {
background-color: white;
display: flex;
align-items: center;
justify-content: center;
}
</style>