agentsclimarketplace

Export

Skill NatsuFox/Tapestry/skills/tapestry/export

Tapestry - 基于 Agent Skill Bundle 的轻量级书签知识库

Install
npx -y skills add NatsuFox/Tapestry --skill export

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Export knowledge base content to PDF, Markdown, or HTML files saved under _data/exports/. Use when a user wants to save or share KB content as downloadable files. Supports exporting a single document file, a single feed entry, a single note, or the entire knowledge base.

SKILL.md

4.1 KB, as published. Nobody here has run it

Tapestry Export

Export knowledge base content to portable file formats: $ARGUMENTS

When to use this skill

Use this skill when:

  • A user wants to export, save, download, or share knowledge base content
  • The user asks for a PDF, Markdown, or HTML version of a document or the whole KB
  • The user wants offline-readable files from the knowledge base
  • The user wants to share a chapter or article outside the viewer

Arguments

The argument string may contain any combination of:

  • format: pdf, markdown, html, or all (default: all)
  • scope: file, note, feed, or kb (default: kb)
  • target: a path or partial path to the target artifact (required for file, note, feed scopes)

Examples:

  • "pdf kb" — export the entire knowledge base as PDF
  • "html file _data/books/ai/chapter.md" — export one document as HTML
  • "all note _data/notes/2025/03/my-note.md" — export one note in all three formats
  • "markdown feed _data/feeds/2025/03/abc123.json" — export one feed entry as Markdown

Scope Resolution

ScopeSource filesNotes
fileSingle .md file under _data/books/Path provided by user
noteSingle .md file under _data/notes/Path provided by user
feedSingle .json file under _data/feeds/Exports the body field as Markdown
kbAll .md files under _data/books/ recursivelyEntire knowledge base

Workflow

  1. Parse the argument to determine format, scope, and target.
  2. Change to the project root directory.
  3. Run the export script:
# Export entire KB as PDF
python export/_scripts/export.py --format pdf --scope kb

# Export entire KB in all formats
python export/_scripts/export.py --format all --scope kb

# Export a single document as HTML
python export/_scripts/export.py --format html --scope file --target _data/books/topic/chapter/doc.md

# Export a single note as Markdown
python export/_scripts/export.py --format markdown --scope note --target _data/notes/2025/03/note.md

# Export a single feed entry in all formats
python export/_scripts/export.py --format all --scope feed --target _data/feeds/2025/03/abc123.json
  1. The script prints a JSON summary of all exported file paths to stdout.
  2. Report the output paths back to the user.

Output Location

All exported files are saved under _data/exports/:

_data/exports/
  markdown/   ← .md files
  html/       ← standalone .html files (self-contained, with embedded images)
  pdf/        ← .pdf files (requires playwright)

File names mirror the source path structure. For example: _data/books/ai/chapter/doc.md_data/exports/html/ai/chapter/doc.html

PDF Export Notes

PDF export uses Playwright (headless Chromium) to render the HTML to PDF. If Playwright is not installed, the script falls back to saving a self-printing HTML file (with window.onload = window.print()) and will notify the user to open it in a browser and use Print → Save as PDF.

To install Playwright:

pip install playwright && playwright install chromium

Rich Text Handling

  • Math (KaTeX): All exported HTML files include KaTeX CDN scripts for math rendering.
  • Images: Images are base64-encoded and embedded inline in HTML/PDF exports for full portability.
  • Code blocks: Syntax-highlighted HTML is preserved from the knowledge base renderer.
  • Tables: Standard HTML tables are preserved.

Resources

  • export/_scripts/export.py: Main export script.
  • display/_scripts/publish_viewer.py: Provides render_markdown_document() used for HTML rendering.
  • _src/config.py: TapestryConfig for resolving project and data paths.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.