fn outline()
Parse the deck source (following includes) without rendering: slides, hidden, notes coverage, timing vs slot, CHECK markers, missing images, DOIs
fn render(force?: boolean)
quarto render the deck (R/knitr executes). Skipped when no input changed since the last build unless force=true
| Argument | Type | Required | Description |
|---|
| force? | boolean | no | Render even when inputs are unchanged |
fn check(sheets?: boolean, width?: number, height?: number)
Open the built deck in headless Chrome: every slide with all fragments shown, overflow beyond the slide box, contact sheets
| Argument | Type | Required | Description |
|---|
| sheets? | boolean | no | Make contact sheets |
| width? | number | no | |
| height? | number | no | |
fn export_pdf(out?: string, shrink?: boolean, quality?: number, dpi?: number, maxPx?: number, store?: boolean)
Print the built deck to PDF with headless Chrome and (macOS) shrink it with a Quartz filter for distribution
| Argument | Type | Required | Description |
|---|
| out? | string | no | Output PDF path (default: next to the deck) |
| shrink? | boolean | no | |
| quality? | number | no | |
| dpi? | number | no | |
| maxPx? | number | no | |
| store? | boolean | no | Also keep the PDF as swamp data |
fn source_add(pdf: string, key: string, citation: string, doi?: string)
Register a paper PDF as a deck source: copy it into sourcesDir, record citation, DOI, checksum, pages and the figure/table caption index
| Argument | Type | Required | Description |
|---|
| pdf | string | yes | Path of the PDF |
| key | string | yes | Short key, e.g. sbarra1959 |
| citation | string | yes | Source line as it should appear on the slide, e.g. 'Sbarra & Karnovsky, J Biol Chem 1959' |
| doi? | string | no | |
fn source_find(key: string, query: string)
Search a registered source's text (e.g. 'Table 1', a phrase); lists page and line of each hit
| Argument | Type | Required | Description |
|---|
| key | string | yes | |
| query | string | yes | |
fn source_page(key: string, page: number, dpi?: number, outPng?: string)
Render one page of a source as PNG (stored as data and written to outPng if given) to pick a crop box
| Argument | Type | Required | Description |
|---|
| key | string | yes | |
| page | number | yes | |
| dpi? | number | no | 72 dpi: 1 px = 1 PDF point, so pixel positions are crop points |
| outPng? | string | no | |
fn figure_crop(key: string, page: number, label: string, section: string, dpi?: number, trim?: boolean, pad?: number)
Crop a figure/table from a source page into assets/<section>/<key>_<label>.png and record its provenance (page, box, dpi, checksums)
| Argument | Type | Required | Description |
|---|
| key | string | yes | |
| page | number | yes | |
| label | string | yes | e.g. table1, fig2D |
| section | string | yes | Asset sub-folder, e.g. history |
| dpi? | number | no | |
| trim? | boolean | no | Shrink the box to the ink inside it (give a generous box) |
| pad? | number | no | Margin kept around the ink when trimming, in points |
fn journal(text: string, slide?: string, ref?: string)
Record a step of building the deck: a decision, the author's request, a change, with the reason. Capture the process, not just the result
| Argument | Type | Required | Description |
|---|
| text | string | yes | What and why, e.g. 'deleted Pasteur slide: off-message for this audience' |
| slide? | string | no | Slide title it concerns |
| ref? | string | no | |
fn slide_add(kind: enum, file: string, title: string, figure?: string, image?: string, citation?: string, minutes?: number, notes?: string, reference?: string, subtitle?: string, maxHeight?: number, after?: string)
Write a slide from a house pattern into a section file. paper = title is the message + ONE figure (from figure_crop) + one .src + notes with timing and full ref/DOI; section; statement
| Argument | Type | Required | Description |
|---|
| kind | enum | yes | |
| file | string | yes | Section .qmd relative to dir (created if missing) |
| title | string | yes | paper: the message; section: section title; statement: the sentence (markdown ok) |
| figure? | string | no | paper: '<key>-<label>' of a figure_crop record |
| image? | string | no | paper without a figure record: image path |
| citation? | string | no | |
| minutes? | number | no | |
| notes? | string | no | What you will say (speaker notes) |
| reference? | string | no | Full reference for the notes |
| subtitle? | string | no | |
| maxHeight? | number | no | |
| after? | string | no | Insert after the slide whose title contains this; default: append |
fn pptx_inventory(path: string)
List the slides of an old PowerPoint deck: titles, text, speaker notes, hidden, media
| Argument | Type | Required | Description |
|---|
| path | string | yes | .pptx, or .key (converted via Keynote) |
fn pptx_shapes(path: string, slide: number)
List the top-level shapes of one PowerPoint slide (ids for pptx_layer)
| Argument | Type | Required | Description |
|---|
| path | string | yes | |
| slide | number | yes | |
fn pptx_extract(path: string, slides: array, section: string, images?: boolean)
Pull the original images out of chosen slides of a PowerPoint deck into assets/<section>/ (full resolution); images=true also renders the slides through Keynote
| Argument | Type | Required | Description |
|---|
| path | string | yes | |
| slides | array | yes | Slide numbers |
| section | string | yes | |
| images? | boolean | no | Also render whole slides via Keynote (macOS) |
fn pptx_layer(path: string, slide: number, name: string, keep?: array, drop?: array, section: string, transparent?: boolean)
Export ONE PowerPoint slide with only chosen shapes (keep) or without some (drop) as PNG, via Keynote; transparent=true knocks out white. For layered animations
| Argument | Type | Required | Description |
|---|
| path | string | yes | |
| slide | number | yes | |
| name | string | yes | Layer name, e.g. probe, bg, call_up |
| keep? | array | no | Shape ids to keep (see pptx_shapes) |
| drop? | array | no | Shape ids to drop |
| section | string | yes | |
| transparent? | boolean | no | |
fn pptx_to_qmd(path: string, slides: array, file: string)
Write a .qmd stub for chosen PowerPoint slides (title, extracted images, old notes, a CHECK to sort each slide: reuse / redraw / re-crop)
| Argument | Type | Required | Description |
|---|
| path | string | yes | |
| slides | array | yes | |
| file | string | yes | Output .qmd relative to dir (must not exist) |
fn export_pptx(out?: string, scale?: number, store?: boolean)
PowerPoint version of the built deck: one full-bleed image per slide (all fragments shown) with the speaker notes. Looks exactly as rendered; not editable
| Argument | Type | Required | Description |
|---|
| out? | string | no | Output .pptx (default: next to the deck) |
| scale? | number | no | Screenshot scale (1.5 → 1920×1080) |
| store? | boolean | no | |
Resources
outline(infinite)— Static outline of the deck source
build(infinite)— Record of a Quarto render: input hash, versions, warnings
check(infinite)— Browser check of the built deck: slides, overflow
source(infinite)— A registered source PDF: citation, DOI, checksum, caption index
hits(7d)— Text search hits in a source
figure(infinite)— A figure/table cropped from a source into the deck assets, with provenance
journal(infinite)— How the deck was built: decisions, requests, changes, sources, figures, ported slides
slide(infinite)— A slide written from a house pattern
pptxInventory(infinite)— Slides of an old PowerPoint deck: titles, text, notes, media
pptxExtract(infinite)— Media and slide images pulled out of a PowerPoint deck into assets
layer(infinite)— A shape layer of a PowerPoint slide exported as PNG
pptxInfo(infinite)— Exported PowerPoint version of the deck
pdfInfo(infinite)— Exported PDF: path, pages, size