Catalog
Catalog is a VS Code extension for editing .ctg bookshelf files as a structured table instead of raw text.
What It Does
- Opens
*.ctg files in a custom table editor by default.
- Lets you add, edit, and delete bookshelf entries with inline name and URL fields.
- Shows tag chips on each row plus a global tag bank with counts for quick reuse.
- Saves back to a plain-text
.ctg file in canonical CSV-like form.
- Falls back to a parse-error screen with a shortcut to reopen the file as raw text.
Each non-comment line is:
name,url,tag,tag,tag,...,tag
Example:
Logic Matters,https://www.logicmatters.net/,book,logic
CompilerGym,https://github.com/facebookresearch/CompilerGym,RL,AI,programming
A Compiler Writing Journey,https://github.com/DoctorWkt/acwj/tree/master,programming
Replay Webpage,https://replayweb.page/,misc
Archive Webpage,https://webrecorder.net/archivewebpage/,misc
Intuiting Pratt Parsing,https://louis.co.nz/2026/03/26/pratt-parsing.html,programming
Penger Wallpapers,https://penger.city/wallpapers/,art
MLU Explain,https://mlu-explain.github.io/,ML,AI,programming,maths
Parsing rules:
- Blank lines are ignored.
- Lines whose first non-space character is
# are ignored.
- Quoted CSV-style fields are supported.
- Quotes inside quoted fields must be escaped as
"".
- Multiline quoted fields are not supported.
Editing Behavior
Name and URL are required.
- URLs must be absolute
http:// or https:// links.
- Invalid draft edits stay in the webview until fixed and are not pushed back into the text document.
- Saving writes a canonical
.ctg file without preserving comments or blank lines.
Development
npm install
npm run compile
npm test
To debug locally:
- Run
npm run watch in one terminal.
- Press
F5 in VS Code to launch an Extension Development Host.
- Open or create a
.ctg file in the launched window.
Publishing extension:
vsce package
vsce publish