code.pablomurad.com

patchwork-turbo

Feeds patchwork with web pages, sites, other feeds, data files, documents, Go APIs and dependencies, written in Go

  1. c394743
    Import history from the Internet Archive, add the README
    
    - import-wayback lists a url track's captures (one per day at most, only
      when the bytes changed, the newest ones first), converts each with the
      track's selectors and feeds them to `patchwork snapshot` oldest first.
      The newest copy stays in the output folder, so the first live run's
      change becomes a revision with a note.
    - Tracks that follow one thing write out/<name>.md, so their slug is
      the track name.
    - README: what each track reads, how notes are built, politeness rules,
      limits.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    

    Pablo Murad

  2. 9e470ae
    Track Go APIs and dependencies
    
    - gocode: one page per package of a Go module with every exported
      declaration, its doc comment and no function bodies. Files are chosen
      for linux/amd64 so every machine writes the same pages; main packages,
      tests and nested modules are skipped. The note leads with what can
      break importers: "Breaking: changed func New, removed func Old.
      Changed: type Thing. Added: type Option".
    - deps: go.mod (with replace lines) and package.json dependencies, one
      per line; the note names what was updated, added and removed.
    - summary: the capped "a, b and 3 more" phrases shared by the notes.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    

    Pablo Murad

  3. 9e6502c
    Track data files and office documents
    
    - datamd: JSON, YAML and CSV become one list item per field, sorted, so
      patchwork's diff reads as field-level changes. Lists of objects are
      keyed by id, slug, key, name or title when one is unique, so adding an
      element doesn't renumber the rest. The revision note names the fields:
      "plans[Pro].price 49 → 59; added plans[Max].price".
    - officemd: DOCX and ODT headings, paragraphs, lists and tables. DOCX
      headings come from the style's outline level, which works whatever
      language the style names are in.
    - Pages can bring their own change summary; data tracks use it.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    

    Pablo Murad

  4. e02d112
    Add the skeleton and web tracks
    
    patchwork-turbo turns things that aren't Markdown pages into Markdown
    pages, written into a folder that a normal `patchwork serve` watches.
    The two never import each other.
    
    - config: turbo.yaml with strict keys and defaults; one source per track.
    - out: writes a page only when its content changed, atomically, with a
      revision note that names the time and what changed, so every real
      change becomes a revision and re-fetching costs nothing.
    - fetch: polite HTTP (robots.txt, per-host spacing, conditional GET,
      Retry-After, 2 MB cap).
    - htmlmd: HTML to Markdown blocks with selectors to pick and to ignore.
    - url, sitemap and feed tracks; once, run, check and init commands.
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    

    Pablo Murad