WORK-019
ID:WORK-019Status:done

Build audio Rune

Priority:mediumComplexity:unknown
claude/align-sidenav-styling-4MuxV View source
Branches 3
History 3
  1. ebe0c64
    Content editedby Claude
    Migrate plan files to {% ref %} xref syntax (WORK-021)
  2. 7902f75
    Content editedby Claude
    Mark gallery, track+playlist, and audio work items as done
  3. d275b2a
    Created (done)by Claude
    Add work items for 16 unbuilt runes from SPEC-008

Summary

Self-hosted audio player with waveform visualization, chapters, and transcript. For podcasts, music, audiobooks, and sound design hosted on your own server. Schema.org: AudioObject.

Attributes

NameTypeDefaultRequiredDescription
srcStringYesAudio file URL
titleStringNoTrack title
artistStringNoArtist/speaker name
durationStringNoISO 8601 duration
waveformBooleantrueNoShow waveform visualization
chaptersStringNoWebVTT chapters file URL

Content Model

  • Paragraph → description/show notes
  • Ordered list → chapter markers (if no WebVTT file): 1. 00:00 — Introduction
  • Blockquotes → transcript excerpts

Transform Output

  • typeof: Audio
  • Tag: <figure>
  • Properties: src, title, artist (span), duration (span, formatted), waveform, chapters
  • Refs: player (audio element), chapterList (ol), transcript (div), caption (figcaption)

Status

Already implemented. Full schema, config, CSS, and tests exist:

  • Schema: runes/media/src/tags/audio.ts (98 lines)
  • Config: runes/media/src/config.ts (Audio)
  • CSS: packages/lumina/styles/runes/audio.css (195 lines)
  • Type: runes/media/src/schema/audio.ts (Audio class)
  • Tests: runes/media/test/audio.test.ts
  • Supports: src, playlist linking, title, artist, waveform, inline chapters, rf-audio web component