Skip to content

Touying 0.6.3

Choose a tag to compare

@OrangeX4 OrangeX4 released this 17 Mar 03:34
· 69 commits to main since this release
8eb87b1

A major bugfix release, fixing many long-standing bugs and introducing many practical features.

Features

  • feat: add #jump(n, relative: bool) as unified animation control; redefine #pause/#meanwhile as sugar
  • feat: add #handout-only for inline content and <touying:handout> label for handout-exclusive slides (#286)
  • feat: add handout-subslides to control which subslides appear in handout mode (#288)
  • feat: add #touying-raw for animated code block reveals (#283)
  • feat: add full-screen speaker notes mode with slide thumbnail (show-only-notes) (#281)
  • feat: support arbitrary aspect ratios (e.g. 16-10) across all themes and speaker-note second screen (#280)
  • feat: add #item-by-item animation for list, enum, and terms (#278)
  • feat(recall): add subslide parameter to #touying-recall (#285)
  • feat: add default-composer to config-common for global slide layout configuration (#284)
  • feat: add cover-fn parameter to uncover for external package integration (e.g. Fletcher) (#267)
  • feat: minislides can be displayed inline (#228)
  • theme: improve appearance of long author lists in university and stargazer theme (#242)
  • theme(simple): make simple-theme respect color configuration for deco-format (#252)
  • theme(aqua,stargazer): add extra parameter to title-slide (#291)

Fixes

  • fix: prevent ghost-slide blank pages from touying-set-config anchor regression (#289)
  • fix: styled content on first slide no longer creates extra slides (#287)
  • fix: remove unoutlined headings from navigation
  • fix: fix #meanwhile being ignored inside grid cells, boxes, and other containers (#274)
  • fix: fix config: parameter silently ignored across all themes (#273)
  • fix: fix slides after #show/#set rules not rendering subsequent slides (#268)
  • fix: fix title page PDF page label causing pdfpc presenter notes mismatch (#277)
  • fix: fix duplicate label error for labeled footnotes with #pause animations (#275)
  • fix: fix #pause inside #speaker-note body (nested list items) (#282)
  • theme(dewdrop): fix body content under level-1 heading was silently dropped (#279)
  • theme(stargazer): update stargazer theme margins and fix #259

Documentation

  • docs(BIG CHANGE): refactor docs website and add references page
  • docs: reduce README noise, improve first impression (#297)
  • docs: restructure docs + add docs-preview CI for PRs (#296)
  • docs: comprehensive docstring improvements across all source files (#294)

Miscellaneous

  • chore: add copilot-setup-steps.yml and improve copilot-instructions.md (#292)

Theme Migration Guide

For theme developers upgrading to v0.6.3:

  1. Move config to the last position in utils.merge-dicts to allow user overrides:

    // Before
    self = utils.merge-dicts(self, config, config-page(...))
    
    // After
    self = utils.merge-dicts(self, config-page(...), config)
  2. Replace paper with utils.page-args-from-aspect-ratio to support arbitrary aspect ratios:

    // Before
    config-page(paper: "presentation-" + aspect-ratio, ...)
    
    // After
    config-page(..utils.page-args-from-aspect-ratio(aspect-ratio), ...)