Taqta (Kazakh: тақта, "board") is an Are.na-style visual pinboard inside Obsidian. Collect images, video, links and text as square blocks organised into channels — each channel is a single Obsidian note, so everything stays local, portable, syncable and version-controllable.
Not affiliated with are.na — Taqta is a local, offline workspace inspired by Are.na. It does not sync with the are.na service.
Features
- Home — every channel as an equal-size card: name + stats (block count, last updated) on the left, a strip of content previews on the right.
- Channel — a grid of square blocks. The first cell is the add box: drop or choose files, paste a URL (image, video or link), or type text.
- Square blocks — any media is fitted to the square with
object-fit: contain: a tall image fills the height, a wide one fills the width — never cropped, stretched, or overflowing. - Real media — paste a URL and the media is downloaded into your assets
folder, with the title/headline pulled and the original URL kept as the source.
Uses
yt-dlpwhen available (Instagram, TikTok, YouTube, X, Reddit, Vimeo, …), falling back to Open Graph scraping. - Block detail — rename, add alt text, edit tags, see source / format / file size, download the original, or delete.
- Tags & filtering — hidden per-block tags; click chips on a channel to filter. Optional lightweight auto-tagging from title + domain.
- Reorder — drag blocks to reorder; order is persisted to the channel file.
- Export — one click writes a flat
CSV+JSONnext to the channel. - Native & cross-platform — pure TypeScript, no native deps, themed entirely by your active Obsidian theme. Works on desktop and mobile.
Data model
No separate database. Each channel is one markdown file:
--- taqta-channel: true title: reno created: 2026-06-01T10:00:00.000Z updated: 2026-06-22T12:30:00.000Z blocks: - id: lz3k9a2b type: image title: curtains source: https://instagram.com/p/… asset: Taqta/Assets/lz3k9a2b.jpg alt: linen curtains in afternoon light tags: [interior, curtains, instagram] width: 1080 height: 1350 fileSize: 217088 contentType: image/jpeg created: 2026-06-01T10:00:00.000Z --- Free-form channel description goes here.
The order of the blocks array is the display order. Reads/writes go through
Obsidian's official processFrontMatter API. Why frontmatter and not SQLite /
a table / one big JSON? The file stays a real, navigable Obsidian note (graph,
links, body description), the data is structured enough for arrays + multi-line
text + nested fields, and it syncs and diffs cleanly. Use Export when you
want a flat table for spreadsheets or scripts.
Media extraction (yt-dlp)
When a URL is pasted, the fetcher first tries a locally installed
yt-dlp — the de-facto media downloader that
already supports Instagram, TikTok, YouTube, X/Twitter, Reddit, Vimeo and
~1800 sites, so
real videos (not just a preview thumbnail) get saved, and new platforms are
supported automatically as yt-dlp adds them.
- Install it:
brew install yt-dlp/pipx install yt-dlp/winget install yt-dlp.ffmpegis recommended for high-res merges; Taqta prefers single-file formats so it works without ffmpeg for most social media. - Desktop only: yt-dlp runs as a subprocess (unavailable on mobile). There, and when yt-dlp isn't installed, Taqta falls back to the Open Graph preview.
- Set the binary path and verify it in Settings → Taqta → Media download → Check.
- For login-walled sites (e.g. Instagram), set Cookies from browser
(
chrome/safari/firefox/edge/brave).
Adding resolvers
Without yt-dlp, resolvers in src/resolvers/ read Open Graph / Twitter card tags.
To add a custom one, implement Resolver and register it before the catch-all
generic resolver in src/resolvers/index.ts#rebuild(). Download, asset storage,
dimensions and tagging are handled centrally.
Install (development)
npm install
npm run build # outputs main.jsCopy main.js, manifest.json, and styles.css into your vault at
<vault>/.obsidian/plugins/taqta/, then enable Taqta in Settings →
Community plugins. For live development use npm run dev (watch) and symlink the
folder into your vault.
Open with the ribbon grid icon or the command Taqta: Open home.
Settings
- Channels folder / Assets folder — where notes and downloaded media live
(default
Taqta/ChannelsandTaqta/Assets). - Preview thumbnails — how many previews show on a channel card.
- Suggest tags automatically — derive tags from title + domain on add.
- Use yt-dlp / yt-dlp path / Cookies from browser — real media extraction (with a Check button to verify the binary).
- User-Agent — sent when fetching link metadata.
License
MIT © djakish



























