more prep.
This commit is contained in:
1 parent
c53f40e604
commit
20d5ea092d
10 files changed
+104
-44
No files matched your search
@@ -12,12 +12,15 @@ Open **this repo root** as the Obsidian vault. Quartz is only the publisher; it
|
||||
|
||||
```
|
||||
archive/ # public — primary sources
|
||||
threads/ # Twitter/X and similar
|
||||
threads/<handle>/<YYYY-MM-DD-slug>/
|
||||
# one thread: index.md is the author's chain
|
||||
sources/ # talks, pages, other records
|
||||
canvases/ # public — .canvas maps
|
||||
notes/ # public — authored / distilled writing
|
||||
templates/ # not published
|
||||
meta/ # not published — conventions, local attachments
|
||||
meta/ # not published — conventions
|
||||
assets/ # not published, gitignored — working media
|
||||
secrets/ # not published, gitignored — cookies, host keys
|
||||
private/ # not published, not pushed
|
||||
publish/ # tracked overlay: quartz.config.yaml
|
||||
site/ # local Quartz clone (gitignored; own remotes)
|
||||
@@ -34,7 +37,9 @@ site/ # local Quartz clone (gitignored; own remotes)
|
||||
| `type` | `archive` \| `canvas` \| `note` |
|
||||
| `source` | `twitter` \| `youtube` \| `odysee` \| `article` \| `original` \| `other` |
|
||||
| `source_url` | original URL |
|
||||
| `author` | original author |
|
||||
| `author` | original display name |
|
||||
| `handle` | username without `@` |
|
||||
| `post_id` | Twitter status id |
|
||||
| `date` | original date `YYYY-MM-DD` |
|
||||
| `archived` | capture date |
|
||||
| `status` | `draft` \| `review` \| `published` |
|
||||
@@ -50,9 +55,11 @@ Templates: `templates/archive-source.md`, `templates/authored-note.md` (Template
|
||||
Images: absolute HTTPS URLs on your image host. Do not commit local binaries for published notes.
|
||||
|
||||
```md
|
||||

|
||||

|
||||
```
|
||||
|
||||
Keep local copies in `assets/` (not committed). Do not point notes at `assets/` or `./media/`.
|
||||
|
||||
YouTube and tweets (Quartz Obsidian-flavored Markdown):
|
||||
|
||||
```md
|
||||
@@ -108,12 +115,12 @@ Open http://localhost:8080
|
||||
|
||||
## 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.
|
||||
1. New thread: create `archive/threads/<handle>/<YYYY-MM-DD-slug>/`. Templater → `archive-source` → save as `index.md` (the author's chain). Off-spine replies get their own notes in that folder. See `notes/How threads are organized.md`.
|
||||
2. Transcribe posts in order. Upload images to the image host; paste HTTPS URLs. Optional YouTube/Odysee/tweet embeds.
|
||||
3. Distill in `notes/` with `authored-note`. Wikilink the archive record.
|
||||
4. Set `draft: false` and `status: published`
|
||||
4. Set `draft: false` and `status: published` when the capture has been reviewed.
|
||||
5. Preview: `cd site; npx quartz build -d .. --serve`
|
||||
6. Commit and push `main` (vault + `publish/`, never `site/`)
|
||||
6. Commit and push `main` (vault + `publish/`, never `site/`, never `assets/` or `secrets/`)
|
||||
|
||||
Threadwell remotes: `origin` → https://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`.
|
||||
|
||||
@@ -4,6 +4,8 @@ type: archive
|
||||
source: twitter
|
||||
source_url: https://x.com/
|
||||
author: ""
|
||||
handle: ""
|
||||
post_id: ""
|
||||
date: 2026-08-22
|
||||
archived: 2026-08-22
|
||||
status: published
|
||||
@@ -12,13 +14,14 @@ tags:
|
||||
- archive
|
||||
- twitter
|
||||
- how-to
|
||||
description: Worked example of an archived thread note. Replace this when real threads land.
|
||||
description: Worked example of a spine note. Real threads use a folder per thread.
|
||||
aliases:
|
||||
- example-thread
|
||||
in_reply_to: ""
|
||||
---
|
||||
|
||||
> [!info] Provenance
|
||||
> Replace this file with a real thread. The shape is what matters: frontmatter, then posts in order, then optional media.
|
||||
> Stub for the note shape. A real thread is a folder: `archive/threads/<handle>/<YYYY-MM-DD-slug>/index.md` plus optional branch notes. See [[How threads are organized]].
|
||||
|
||||
## Source
|
||||
|
||||
@@ -36,13 +39,13 @@ aliases:
|
||||
|
||||
## Media
|
||||
|
||||
Images use absolute URLs on the image host:
|
||||
Images use absolute HTTPS URLs:
|
||||
|
||||
```md
|
||||

|
||||

|
||||
```
|
||||
|
||||
Optional live tweet (not a substitute for the transcript):
|
||||
A live tweet embed is optional and is not the archive:
|
||||
|
||||
```md
|
||||

|
||||
@@ -50,4 +53,5 @@ Optional live tweet (not a substitute for the transcript):
|
||||
|
||||
## Related
|
||||
|
||||
- How folders work: [[How threads are organized]]
|
||||
- Distilled note: [[What this archive is for]]
|
||||
@@ -8,6 +8,8 @@ tags:
|
||||
- archive
|
||||
---
|
||||
|
||||
One note per thread. Transcribe the posts in order. Do not rely on a live embed as the only copy.
|
||||
Threads are filed by author handle, then by date and title. The main note in each folder is that author's own chain. Replies live beside it.
|
||||
|
||||
Example: [[How to archive a thread]]
|
||||
How to read a folder: [[How threads are organized]].
|
||||
|
||||
Example of the note shape (single spine, no branches): [[How to archive a thread]]
|
||||
@@ -8,6 +8,7 @@
|
||||
{"id":"canvases","type":"file","file":"canvases/index.md","x":400,"y":-80,"width":280,"height":80},
|
||||
{"id":"notes","type":"file","file":"notes/index.md","x":400,"y":80,"width":280,"height":100},
|
||||
{"id":"example-thread","type":"file","file":"archive/threads/How to archive a thread.md","x":760,"y":-40,"width":300,"height":80},
|
||||
{"id":"how-organized","type":"file","file":"notes/How threads are organized.md","x":1100,"y":-40,"width":320,"height":80},
|
||||
{"id":"example-note","type":"file","file":"notes/What this archive is for.md","x":760,"y":80,"width":300,"height":80}
|
||||
],
|
||||
"edges":[
|
||||
@@ -19,6 +20,7 @@
|
||||
{"id":"e6","fromNode":"archive","fromSide":"right","toNode":"sources","toSide":"left"},
|
||||
{"id":"e7","fromNode":"threads","fromSide":"bottom","toNode":"example-thread","toSide":"top"},
|
||||
{"id":"e8","fromNode":"notes","fromSide":"right","toNode":"example-note","toSide":"left"},
|
||||
{"id":"e9","fromNode":"example-thread","fromSide":"bottom","toNode":"example-note","toSide":"top","label":"distills"}
|
||||
{"id":"e9","fromNode":"example-thread","fromSide":"bottom","toNode":"example-note","toSide":"top","label":"distills"},
|
||||
{"id":"e10","fromNode":"example-thread","fromSide":"right","toNode":"how-organized","toSide":"left","label":"folder shape"}
|
||||
]
|
||||
}
|
||||
@@ -12,5 +12,6 @@ An archive of material that is not reliably web-indexed: Twitter/X threads, talk
|
||||
- [[archive/index|Archive]] — objective records of threads and other sources
|
||||
- [[canvases/index|Canvases]] — maps and relationship diagrams
|
||||
- [[notes/index|Notes]] — authored essays and syntheses
|
||||
- [[How threads are organized]] — how a thread folder is laid out
|
||||
|
||||
Start a new record from the templates in `templates/`. Public folders publish by default; set `draft: true` to keep a note off the site.
|
||||
+15
-8
@@ -10,16 +10,20 @@ draft: true
|
||||
| Field | Values | Notes |
|
||||
| --- | --- | --- |
|
||||
| `type` | `archive` \| `canvas` \| `note` | Required |
|
||||
| `source` | `twitter` \| `youtube` \| `odysee` \| `article` \| `original` \| `other` | Archive + media notes |
|
||||
| `source_url` | URL | Canonical original |
|
||||
| `author` | string | Original author, not you |
|
||||
| `source` | `twitter` \| `discord` \| `youtube` \| `odysee` \| `article` \| `original` \| `other` | Archive + media notes |
|
||||
| `source_url` | URL | This note's post, not always the thread root |
|
||||
| `author` | string | Display name |
|
||||
| `handle` | string | Username without `@` |
|
||||
| `post_id` | string | Twitter status id (spine root or branch root) |
|
||||
| `date` | `YYYY-MM-DD` | Original publication date |
|
||||
| `archived` | `YYYY-MM-DD` | When you captured it |
|
||||
| `status` | `draft` \| `review` \| `published` | Human workflow |
|
||||
| `draft` | `true` \| `false` | Quartz omit-from-site flag |
|
||||
| `tags` | list | Prefer `archive`, `twitter`, `note`, topic slugs |
|
||||
| `tags` | list | Ingest: `archive`, `twitter`, handle. Topics by hand |
|
||||
| `description` | string | Search / OG preview |
|
||||
| `aliases` | list | Extra names |
|
||||
| `in_reply_to` | string | Foreign parent of a spine, if any |
|
||||
| `parent_post_id` | string | Branch notes only: post this branch replies to |
|
||||
|
||||
`draft: true` hides the page from the built site. It does **not** hide the file from a public GitHub repo. Truly private material goes in `private/` (gitignored).
|
||||
|
||||
@@ -28,24 +32,27 @@ draft: true
|
||||
| Path | Published | Role |
|
||||
| --- | --- | --- |
|
||||
| `archive/` | yes | Primary sources |
|
||||
| `archive/threads/<handle>/<YYYY-MM-DD-slug>/` | yes | One Twitter thread. `index.md` is the author's chain |
|
||||
| `canvases/` | yes | `.canvas` maps |
|
||||
| `notes/` | yes | Authored writing |
|
||||
| `templates/` | no | Templater / core templates |
|
||||
| `meta/` | no | Vault rules, local attachments |
|
||||
| `assets/` | no, gitignored | Working media before upload |
|
||||
| `secrets/` | no, gitignored | Cookies and image-host credentials |
|
||||
| `private/` | no, gitignored | Never publish, never push |
|
||||
| `site/` | no, gitignored | Local Quartz clone (own remotes) |
|
||||
| `publish/` | no | Tracked Quartz overlay |
|
||||
|
||||
A thread folder holds `index.md` (spine) and one markdown file per off-spine reply tree. Reading guide: `notes/How threads are organized.md`.
|
||||
|
||||
# Images
|
||||
|
||||
Always absolute HTTPS URLs on the image host. Do not commit local binaries for published notes.
|
||||
Always absolute HTTPS URLs on the image host (catbox after upload). Do not commit local binaries for published notes. Working files sit in `assets/` (gitignored), not in `meta/attachments/` except unrelated Obsidian drops.
|
||||
|
||||
```md
|
||||

|
||||

|
||||
```
|
||||
|
||||
Scratch files may sit in `meta/attachments/` (gitignored).
|
||||
|
||||
# Video
|
||||
|
||||
YouTube / tweet (Quartz OFM):
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: How threads are organized
|
||||
type: note
|
||||
source: original
|
||||
date: 2026-08-23
|
||||
status: published
|
||||
draft: false
|
||||
tags:
|
||||
- note
|
||||
- how-to
|
||||
description: How archived Twitter/X threads are filed and read.
|
||||
---
|
||||
|
||||
Threads are grouped by **author handle**, then by **date and a short title**.
|
||||
|
||||
```
|
||||
archive/threads/<handle>/<YYYY-MM-DD-slug>/
|
||||
index.md ← the author's own chain (the spine)
|
||||
YYYY-MM-DD-who-slug.md ← one file per reply that left that chain
|
||||
```
|
||||
|
||||
## Spine
|
||||
|
||||
`index.md` is only what the author posted as a single chain: each post replies to the previous one of theirs. Posts are numbered **1/** **2/** in that order. Other people do not appear in this numbering.
|
||||
|
||||
If the first post is a reply to someone else, that other tweet is quoted at the top as context. It is not numbered as part of the spine.
|
||||
|
||||
## Branches
|
||||
|
||||
A reply from someone else, or a second chain the author started from an earlier post, is its own note in the same folder. Follow-ups on that reply stay in that note, including if the original author answers there.
|
||||
|
||||
The spine links out under the post that grew the branch. Each branch note links back to `index`.
|
||||
|
||||
## Tags
|
||||
|
||||
Every imported thread starts with `archive`, `twitter`, and the author's handle. Topic tags (`vulkan`, `crt`, `alsa`, …) are added by hand when the thread is reviewed.
|
||||
|
||||
## Images
|
||||
|
||||
Pictures on the site are ordinary HTTPS URLs. Working copies of files live outside what GitHub Pages serves. A note that is still being prepared is marked `draft: true` and does not appear on the site.
|
||||
|
||||
## Reading
|
||||
|
||||
Start at [[archive/threads/index|Threads]], pick a handle, then a date. The spine is the essay. Branch files are the conversation around it.
|
||||
@@ -21,6 +21,8 @@ Threadwell holds material that search engines and platform pages do not keep rel
|
||||
| `notes/` | Your writing. What it means. |
|
||||
| `canvases/` | Spatial maps between the two. |
|
||||
|
||||
An authored note should [[How to archive a thread|link the archive record]] instead of pasting the thread again.
|
||||
How a thread is filed: [[How threads are organized]].
|
||||
|
||||
An authored note should wikilink the archive record instead of pasting the thread again.
|
||||
|
||||
Set `draft: true` until a note is ready. `archive/`, `canvases/`, and `notes/` publish otherwise.
|
||||
@@ -10,3 +10,5 @@ tags: []
|
||||
Essays and syntheses. Link back to [[archive/index|archive]] records instead of restating the primary source.
|
||||
|
||||
Use the `authored-note` template. Example: [[What this archive is for]]
|
||||
|
||||
Convention: [[How threads are organized]]
|
||||
@@ -4,14 +4,19 @@ type: archive
|
||||
source: twitter
|
||||
source_url:
|
||||
author:
|
||||
handle:
|
||||
post_id: ""
|
||||
date: <% tp.date.now("YYYY-MM-DD") %>
|
||||
archived: <% tp.date.now("YYYY-MM-DD") %>
|
||||
status: draft
|
||||
draft: true
|
||||
tags:
|
||||
- archive
|
||||
- twitter
|
||||
description:
|
||||
aliases: []
|
||||
in_reply_to: ""
|
||||
parent_post_id: ""
|
||||
---
|
||||
|
||||
> [!info] Provenance
|
||||
@@ -23,26 +28,10 @@ aliases: []
|
||||
- Author:
|
||||
- Posted:
|
||||
|
||||
## Record
|
||||
## Thread
|
||||
|
||||
**1/**
|
||||
|
||||
## Media
|
||||
|
||||
```md
|
||||

|
||||
```
|
||||
|
||||
YouTube:
|
||||
|
||||
```md
|
||||

|
||||
```
|
||||
|
||||
Odysee:
|
||||
|
||||
```html
|
||||
<iframe width="560" height="315" src="https://odysee.com/$/embed/SLUG/CLAIM" allowfullscreen></iframe>
|
||||
```
|
||||
|
||||
## Related
|
||||
|
||||
- Spine: [[index]]
|
||||
Reference in new issue
Block a user