mirror of
https://github.com/gapmiss/substack-clipper.git
synced 2026-07-22 07:48:24 +00:00
No description
| .github/workflows | ||
| src | ||
| .gitignore | ||
| CONTRIBUTING.md | ||
| esbuild.config.mjs | ||
| eslint.config.mjs | ||
| LICENSE | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| release.mjs | ||
| styles.css | ||
| tsconfig.json | ||
| version-bump.mjs | ||
| versions.json | ||
Substack Clipper
Archive Substack posts as Obsidian-flavored Markdown with images, media, and threaded comments.
Features
- Saves any public Substack post as a Markdown note with YAML frontmatter
- Downloads images, videos, audio, podcast episodes, transcripts, and PDF attachments
- Fetches and renders threaded comments as a separate embeddable note
- Media files use
![[wikilink]]embeds for native Obsidian playback - Converts Substack footnotes to standard
[^N]Markdown footnotes - Strips CDN URL prefixes for clean image references
- Handles paywalled posts gracefully (saves the available preview)
- Works on desktop and mobile
Installation
Install from community.obsidian.md
From Obsidian's settings or preferences:
- Community Plugins > Browse
- Search for "Substack Clipper"
Manually:
- download the latest release archive
- uncompress the downloaded archive
- move the
substack-clipperfolder to/path/to/vault/.obsidian/plugins/ - Settings > Community plugins > reload Installed plugins
- enable plugin
or:
- download
main.js,manifest.json&styles.cssfrom the latest release - create a new folder
/path/to/vault/.obsidian/plugins/substack-clipper - move all 3 files to
/path/to/vault/.obsidian/plugins/substack-clipper - Settings > Community plugins > reload Installed plugins
- enable plugin
Usage
- Open the command palette (
Ctrl/Cmd + P). - Run Clip substack post.
- Paste a Substack post URL (must contain
/p/in the path). - The plugin fetches the post, downloads media, and creates the note.
Output structure
Substacks/
alice/
my-article.md
my-article-comments.md
my-article/
image.jpg
video.mp4
podcast.mp3
attachment.pdf
The main note includes frontmatter with title, subtitle, type, audience, date, comment count, and links to all media. Comments are embedded via ![[slug-comments]].
Settings
| Setting | Default | Description |
|---|---|---|
| Save directory | Substacks |
Vault-relative folder for saved posts |
| Download media | On | Download videos, audio, podcasts, and transcripts (images and attachments always download) |
| maxFileSize | 0 |
Skip media files larger than this (MB). 0 = no limit. Only visible when downloadMedia is enabled. |
| Download comments | On | Fetch and save threaded comments |
| Comment sort order | Most recent first | Sort order for comments (most recent, oldest, or best) |
| Save raw JSON | Off | Save the raw Substack API JSON |
| Save raw HTML | Off | Save the raw article HTML |
Building from source
git clone https://github.com/gapmiss/substack-clipper.git
cd substack-clipper
npm install
npm run build