From 8678521eb5ff640bc19eb0b31037b4504cfed558 Mon Sep 17 00:00:00 2001 From: Incentive Date: Mon, 26 Jan 2026 23:36:24 -0500 Subject: [PATCH 1/7] Update README.md --- README.md | 54 ------------------------------------------------------ 1 file changed, 54 deletions(-) diff --git a/README.md b/README.md index 9f6b0da..6a95587 100644 --- a/README.md +++ b/README.md @@ -26,57 +26,3 @@ Static website for **[Circle With A Dot](https://circlewithadot.net)** — a sim └─ about/ └─ javascript/ └─ index.html ← LibreJS Web Labels page - ---- - -## Components - -### Click-to-copy - -Use anywhere to get a “copied!” UX and copy to clipboard: - - - https://example.com/inbox - - -### Relay stats widget (ActivityPub) - -`services/aprelay.js` tries these endpoints (in order) and fills `#instances`, `#jobs`, `#updated`: - -1. `https://relay-us-east.circlewithadot.net/relay-stats.json` -2. `/relay-stats.json` (same origin) - -Expected JSON: - - { "instances": 0, "jobs_per_min": 0, "updated": "2025-08-31T02:13:19Z" } - ---- - -## Release landing pages (Hyperfollow-style) - -Each release gets a simple landing page under `/releases/SLUG.html` that links out to Spotify/Apple/Bandcamp/PeerTube/etc. The release pages use `/releases/style.css`. - -### Add a new release - -1. Copy `releases/pessimist.html` to `releases/.html` (or start from a template). -2. Put the cover image in `images/` (e.g., `images/.png`). -3. Edit the page: - - Update ``, headings, description. - - Replace the cover image path + alt text. - - Paste platform links (clean URLs; no UTMs by default). -4. Optionally add a link on `index.html` pointing to the new release page. - -Notes: -- Icons live in `/images/icon_*.png`. Add more as needed and follow the same naming pattern. -- Use descriptive `alt` text and `aria-label`s for accessibility. - ---- - -## LibreJS & JavaScript licensing - -**LibreJS note:** All first-party JavaScript on this site is AGPL-3.0-or-later and labeled so the LibreJS add-on can verify and allow it. The Bandcamp embed on release pages loads third-party scripts that don’t publish LibreJS license markers, so LibreJS blocks that player by default (requiring whitelisting). I plan to replace the embed with a LibreJS-compatible approach (e.g., native `<audio>/<video>` with direct files) in a future update. - -## License - -- **Code** (HTML/CSS/JS): **AGPL-3.0-or-later** — see `LICENSE`. -- Media (art, audio) may have different licenses; see file-level notes where applicable. From dc2678bf50fa34ffa0852ff99677d822c130da13 Mon Sep 17 00:00:00 2001 From: James Osborne <incentive@circlewithadot.net> Date: Fri, 6 Feb 2026 00:10:17 -0500 Subject: [PATCH 2/7] update aprelay information, update index, add hosting services --- images/icon_gitea.png | Bin 0 -> 5011 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/icon_gitea.png diff --git a/images/icon_gitea.png b/images/icon_gitea.png new file mode 100644 index 0000000000000000000000000000000000000000..8b845701f7fc4d04a1bc97a61fd1197d0f3739c3 GIT binary patch literal 5011 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 literal 0 HcmV?d00001 From 54478ebccf54e7da22468fecb88cb35ce2c1a312 Mon Sep 17 00:00:00 2001 From: James Osborne <incentive@circlewithadot.net> Date: Fri, 6 Feb 2026 01:20:45 -0500 Subject: [PATCH 3/7] Website updates --- services/hosting.html | 155 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 services/hosting.html diff --git a/services/hosting.html b/services/hosting.html new file mode 100644 index 0000000..b467ed7 --- /dev/null +++ b/services/hosting.html @@ -0,0 +1,155 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8" /> + <title>Hosting & Administration — circlewithadot.net + + + + + + + +
+ + +
+

+ We provide limited-availability, case-by-case managed hosting and administration for organizations that want reliable + services without running the infrastructure in-house. We do not offer web design services. +

+ Current offerings include Nextcloud, Matrix (Synapse), Mastodon, and blockchain nodes. +

+ Every deployment includes a hardened setup, monitoring, updates, and backend support (server, containers, and proxy), + with optional offsite backups. +

+ Email james@circlewithadot.net with a short description of your needs to + request an estimate and schedule a call. +

+
+ +
+

Examples of services we run

+ +
+ Note: these are examples of platforms in our stack. Managed hosting offerings may vary by project. +
+
+ + +
+ + + + \ No newline at end of file From 7876974081b522220043ed62fde3d498e5c5e09a Mon Sep 17 00:00:00 2001 From: James Osborne Date: Fri, 6 Feb 2026 01:32:35 -0500 Subject: [PATCH 4/7] fix index and aprelay changes --- services/aprelay.html | 104 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 97 insertions(+), 7 deletions(-) diff --git a/services/aprelay.html b/services/aprelay.html index 5fdb140..1bbb935 100644 --- a/services/aprelay.html +++ b/services/aprelay.html @@ -87,6 +87,58 @@ color: #9aa0a6; font-size: 14px; } + + /* Homepage-style icon box for updates */ + .updates-title { + margin: 0 0 10px; + font-size: 16px; + color: #9aa0a6; + } + .updates-card .icon-row { + margin-top: 8px; + justify-content: flex-start; + gap: 18px; + flex-wrap: wrap; + } + .updates-note { + margin-top: 12px; + color: #9aa0a6; + font-size: 14px; + line-height: 1.5; + } + + /* Policy box (make it match the rest of the page sizing) */ + .policy-card { + font-size: 14px; + } + .policy-title { + margin: 0 0 10px; + font-size: 16px; + color: #9aa0a6; + } + .policy-card p { + margin: 0; + color: #e6e6e6; + line-height: 1.6; + font-size: 14px; + } + .policy-card ul { + margin: 10px 0 0 20px; + padding: 0; + color: #e6e6e6; + line-height: 1.6; + font-size: 14px; + } + .policy-card li { + margin: 6px 0; + font-size: 14px; + } + .policy-note { + margin-top: 12px; + color: #9aa0a6; + font-size: 14px; + line-height: 1.5; + } @@ -97,6 +149,7 @@ CIRCLE WITH A DOT +
@@ -139,19 +192,57 @@ Last update:

Built using Activity-Relay
-
- Only the above mentioned services are *officially* supported. Friendica and other instances may or may not work. +
+ Only the above mentioned services are officially supported. Friendica and other instances may or may not work. -
+ +
+

For relay updates, check here

+
+ + Mastodon + +
+
+ Follow @cwad for maintenance notices and relay-related updates. +
+
+ + +
+

Relay policy

+ +

+ This relay follows the spirit of the + Mastodon Server Covenant. + We aim to keep the relay safe, respectful, and usable for the broader Fediverse. +

+ +
    +
  • + We will remove any servers from the relay known to actively promote homophobia, transphobia, racism, + or any other form of bigotry. +
  • +
  • + We expect participating servers to be at minimum well maintained (e.g., reasonable upkeep, + responsive administration, and not persistently broken or abusive to federation). +
  • +
+ +
+ If a server on the relay becomes a problem, please reach out via the updates account above. +
+
+ +
- + From 071a5fb8f6cd3feab1b24cc0da37b91652acaefa Mon Sep 17 00:00:00 2001 From: Incentive Date: Fri, 6 Feb 2026 01:33:34 -0500 Subject: [PATCH 5/7] Update README.md --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 6a95587..d1d0455 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,6 @@ # circlewithadot.net -Static website for **[Circle With A Dot](https://circlewithadot.net)** — a simple site for my music, tech projects, and socials. I keep the pages minimal so visitors can get where they want quickly. This site is tailored to my needs; feel free to fork and adapt it to yours (within the terms of the **AGPL-3.0-or-later**). Some services I add might not be relevant to you, and that’s fine—contributions and ideas are always welcome. I am not an HTML/CSS/JS expert, but I hope some of this is useful for you. - -- No build step; plain **HTML/CSS/JS** -- Works on any static host / reverse proxy (Caddy, Nginx, HAProxy, etc.) -- **LibreJS-friendly**: first-party JS is labeled and a Web Labels page is provided +Static website for **[Circle With A Dot](https://circlewithadot.net)** — a simple site for music, tech projects, and socials. I keep the pages minimal so visitors can get where they want quickly. This site is tailored to my needs; feel free to fork and adapt it to yours (within the terms of the **AGPL-3.0-or-later**). Some services I add might not be relevant to you, and that’s fine—contributions and ideas are always welcome. I am not an HTML/CSS/JS expert, but I hope some of this is useful for you. --- From 55b4e9d88062be324888bc2785ede00216a0d7bd Mon Sep 17 00:00:00 2001 From: Incentive Date: Fri, 6 Feb 2026 01:33:48 -0500 Subject: [PATCH 6/7] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d1d0455..ea04fbf 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # circlewithadot.net -Static website for **[Circle With A Dot](https://circlewithadot.net)** — a simple site for music, tech projects, and socials. I keep the pages minimal so visitors can get where they want quickly. This site is tailored to my needs; feel free to fork and adapt it to yours (within the terms of the **AGPL-3.0-or-later**). Some services I add might not be relevant to you, and that’s fine—contributions and ideas are always welcome. I am not an HTML/CSS/JS expert, but I hope some of this is useful for you. +Static website for **[Circle With A Dot](https://circlewithadot.net)** — a simple site for music, tech projects, and socials. I keep the pages minimal so visitors can get where they want quickly. This site is tailored to my needs; feel free to fork and adapt it to yours (within the terms of the **AGPL-3.0-or-later**). Some services I add might not be relevant to you, and that’s fine—contributions and ideas are always welcome. --- From 1e11e31dd8861322461ea2134fbe9cac7043b11a Mon Sep 17 00:00:00 2001 From: James Osborne Date: Fri, 6 Feb 2026 21:16:13 -0500 Subject: [PATCH 7/7] add connected instances list to aprelay --- index.html | 23 +++--- services/aprelay.html | 29 ++++++-- services/aprelay.js | 34 +++++++++ services/aprelay_instances.json | 121 ++++++++++++++++++++++++++++++++ style.css | 53 ++++++++++++++ 5 files changed, 244 insertions(+), 16 deletions(-) create mode 100644 services/aprelay_instances.json diff --git a/index.html b/index.html index 2819b1a..cf2ebd8 100644 --- a/index.html +++ b/index.html @@ -74,7 +74,7 @@ @@ -127,16 +133,13 @@ - - - diff --git a/services/aprelay.html b/services/aprelay.html index 1bbb935..447707a 100644 --- a/services/aprelay.html +++ b/services/aprelay.html @@ -6,7 +6,6 @@