ed c53f40e604
Deploy Quartz site to GitHub Pages / build (push) Canceled after 0s
Deploy Quartz site to GitHub Pages / deploy (push) Canceled after 0s
prepping
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 18:09:02 -04:00
2026-08-22 11:58:23 -04:00
2026-08-22 18:09:02 -04:00

Threadwell

Recovered threads and submerged records.

An Obsidian vault published with Quartz 5 to GitHub Pages. The site is a convenient host for Twitter/X threads and other material that is not reliably web-indexed.

Live (after Pages is enabled): https://ed94.github.io/Threadwell

Layout

Open this repo root as the Obsidian vault. Quartz is only the publisher; it lives in site/.

archive/              # public — primary sources
  threads/            # Twitter/X and similar
  sources/            # talks, pages, other records
canvases/             # public — .canvas maps
notes/                # public — authored / distilled writing
templates/            # not published
meta/                 # not published — conventions, local attachments
private/              # not published, not pushed
publish/              # tracked overlay: quartz.config.yaml
site/                 # local Quartz clone (gitignored; own remotes)
.obsidian/
.github/workflows/deploy.yml

archive/, canvases/, and notes/ are public by default. site/ is a separate git checkout of Quartz (originjackyzha0/quartz). Threadwell's only remote is Ed94/Threadwell.

Frontmatter

Field Values
type archive | canvas | note
source twitter | youtube | odysee | article | original | other
source_url original URL
author original author
date original date YYYY-MM-DD
archived capture date
status draft | review | published
draft true omits the page from the site
tags, description, aliases as usual

draft: true only hides a page from the site. A public GitHub repo still contains the file. Use private/ for anything that must not be pushed.

Templates: templates/archive-source.md, templates/authored-note.md (Templater placeholders).

Images and embeds

Images: absolute HTTPS URLs on your image host. Do not commit local binaries for published notes.

![](https://YOUR-IMAGE-HOST/archive/slug.png)

YouTube and tweets (Quartz Obsidian-flavored Markdown):

![](https://www.youtube.com/watch?v=VIDEO_ID)
![](https://x.com/user/status/ID)

Odysee (iframe; copy the embed URL from Odysee share):

<iframe width="560" height="315" src="https://odysee.com/$/embed/SLUG/CLAIM" allowfullscreen></iframe>

Remote URLs and iframes are left as-is in the static build.

Obsidian plugins

Plugin Why
Templater Fills dates/titles in the starter templates
Dataview Local queries by type / source / status (not rendered on the site)
Linter Consistent YAML
Media Extended Better in-vault YouTube playback
Advanced Canvas Stronger canvas editing; site still uses stock JSON Canvas

Core: Canvas, Templates (folder templates), Backlinks, Graph, Properties, Page preview.

See meta/obsidian-setup.md and meta/conventions.md.

Local preview

Needs Node 22+ and npm 10.9.2+.

cd C:\projects\Threadwell
.\publish\setup.ps1
cd site
npx quartz build -d .. --serve

Open http://localhost:8080

publish/setup.ps1 clones Quartz into site/ if needed, then copies publish/quartz.config.yaml over the stock config.

GitHub Pages

  1. Repo Settings → Pages → Source: GitHub Actions
  2. If an old github-pages environment blocks the first deploy, delete it under Settings → Environments. The workflow recreates it.
  3. Push main. CI clones Quartz into site/, applies publish/quartz.config.yaml, builds with -d ...
  4. Site: https://ed94.github.io/Threadwell

baseUrl lives in publish/quartz.config.yaml. Change it if you attach a custom domain.

Add content and republish

  1. New thread: Templater → archive-source → save under archive/threads/
  2. Transcribe posts in order. Host images. Optional YouTube/Odysee/tweet embeds.
  3. Distill in notes/ with authored-note. Wikilink the archive record.
  4. Set draft: false and status: published
  5. Preview: cd site; npx quartz build -d .. --serve
  6. Commit and push main (vault + publish/, never site/)

Threadwell remotes: originhttps://github.com/Ed94/Threadwell.git only. Quartz remotes live in site/ (cd site; git pull). After a Quartz pull, re-copy publish/quartz.config.yaml.

Quartz notes

Current major is Quartz 5. Edit publish/quartz.config.yaml, not the clone. Canvas uses @quartz-community/canvas-page. Drafts use @quartz-community/remove-draft.

Engine license: MIT (Quartz). Vault content: Unlicense (LICENSE).

S
Description
Recovered threads and submerged records
Readme Unlicense
42 KiB
Languages
PowerShell 100%