Releases: touying-typ/touying
Release list
Touying 0.7.4
Features
- feat: adds
touying-reducewhich automatically looks up reducer bindings given a package (#363) - feat(i18n): add Polish locale for outline message (#372)
- feat: Left/Right keyboard navigation support (#352)
- feat: add
grid-sizeparameter tolazy-layoutfor quantized position grouping, improving robustness of column/row detection - feat: add
components.full-width-blockcomponent that spans the full page width by cancelling horizontal margins
Fixes
- fix (minor breaking change): set
lazy-layoutdefault tofalseforcols - fix: handle missing
fnfield in mark warning message gracefully - fix:
hidedoing unexpected things to headings (#366) - fix: export
touying-fn-wrapper-rawas part of the public API (#362) - fix: improved mark-warning, now also displayed as
magic.warningwhenenable-mark-warningisfalse(#348) - fix: warnings now emitted via
uniwarn(#359)
Touying 0.7.3
Minor Breaking Changes
- feat!: always attach
#speaker-note[]to the previous slide & defaultreceive-body-for-new-*-slide-fntofalse(#354)#speaker-note[]now always attaches to the slide above it, regardless of how that slide was created (explicit slide calls, heading-triggered section slides, or normal content slides). This eliminates the common pitfall where a#speaker-note[]placed after a slide would silently create an unwanted empty "ghost" slide.receive-body-for-new-section-slide-fnand its variants are now defaulted tofalse(previouslytrue).
Migration Guide
If you relied on content after = Section headings being absorbed into the section slide body, explicitly set receive-body-for-new-section-slide-fn: true in your config-common(...).
Features
- feat:
item-by-item-fnand presets for it (#347) - feat: improved
custom-progressive-outlineand newsection-relationshipand some other things (#345) - feat: better lazy-layout for mixed layouts (#355)
- feat: add
colsas alias ofside-by-sideand export some componentscols,lazy-xxxto outside (#356) - theme(metropolis): add outline-slide for metropolis (#349)
- feat: add warning for empty slide content height detection
Documentation
- docs: add multiple columns example and improve docs structure
Touying 0.7.1
Features
- feat(agents):
breakableandclipoptions to avoid slide overflow (#336) - feat(components): add
lazy-v(lazy-h) andlazy-layoutfor equalizing multi-column (-row) block heights (widths) (#339) - feat: additional
contactandextrafield inconfig-info(#342) - feat:
touying-get-configfunction (#333)
Fixes
Touying 0.7.0
Features
- major feature: a named waypoint feature (#298)
- feat(waypoint): start param and Waypoints in handout-subslides (#304)
- feat: auto, "h"-here string and inverse function for string subslide-numbers and waypoints (#301)
- feat: implicitly allow fn-wrapper based animation functions via reducer (#300)
Fixes
- fix: fix cover-with-rect breaking long lines of text when partially hidden and fallback functions for color/alpha cover (#328)
- fix: using explicit numbering in display-current-heading when style=auto (#329)
- fix: fix ghost slides with show rules. Fix proper consistent handling of show rules and defer keyword (#317)
- fix: alert not delayed (#316)
- fix: remove redundant nested text call (#324)
- fix: function alternatives-match takes into account parameter stretch (#320)
- fix: correctly handle page margin merge/precedence (#322)
- fix: fix cover spacing issues surrounding lists (#303)
- fix: correctly parses negative subslide indices (ints, arrays) for handout-subslides (#307)
- fix: slide function does not update via scoped import (#310)
Thanks for the contributions from @zral0kh, @Andrew15-5, @navdeeprana, and @Cemoixerestre.
Touying 0.6.3
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/#meanwhileas sugar - feat: add
#handout-onlyfor inline content and<touying:handout>label for handout-exclusive slides (#286) - feat: add
handout-subslidesto control which subslides appear in handout mode (#288) - feat: add
#touying-rawfor 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-itemanimation for list, enum, and terms (#278) - feat(recall): add subslide parameter to
#touying-recall(#285) - feat: add
default-composerto config-common for global slide layout configuration (#284) - feat: add
cover-fnparameter touncoverfor 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-configanchor regression (#289) - fix: styled content on first slide no longer creates extra slides (#287)
- fix: remove unoutlined headings from navigation
- fix: fix
#meanwhilebeing ignored inside grid cells, boxes, and other containers (#274) - fix: fix
config: parametersilently ignored across all themes (#273) - fix: fix slides after
#show/#setrules 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
#pauseanimations (#275) - fix: fix
#pauseinside#speaker-notebody (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.ymland improvecopilot-instructions.md(#292)
Theme Migration Guide
For theme developers upgrading to v0.6.3:
-
Move
configto the last position inutils.merge-dictsto allow user overrides:// Before self = utils.merge-dicts(self, config, config-page(...)) // After self = utils.merge-dicts(self, config-page(...), config)
-
Replace
paperwithutils.page-args-from-aspect-ratioto support arbitrary aspect ratios:// Before config-page(paper: "presentation-" + aspect-ratio, ...) // After config-page(..utils.page-args-from-aspect-ratio(aspect-ratio), ...)
Touying 0.6.2
Features
- feat: allow customisation of
components.checkerboard(#161)
Fixes
- fix: support ratio and relative margins for full-width headers (#256)
- fix: fix
magic.bibliography-as-footnotein Typst 0.14 (#249) - fix: theorion package is broken with Typst 0.14.0 (#237)
- fix: update
components.typand pass named arguments to grid (#207) - fix: fix
#meanwhilein cetz (#205) - fix: documentation contains unclosed raw text error (#187)
- fix: use correct circle symbol (#171)
- fix: use regex to override colors of equations (#167)
- fix:
show-hide-set-list-marker-nonewith full enum (#157) - fix: remove dump and label-it function for better cache
Miscellaneous
Touying 0.6.1
Added support for the theorion package, and used it as the default math theorem environment.
🌌 Theorion
Theorion (The Orion) is an out-of-the-box, customizable and multilingual theorem environment package for Typst. Quick start:
#import "@preview/theorion:0.3.0": *
#import cosmos.fancy: *
// #import cosmos.rainbow: *
// #import cosmos.clouds: *
#show: show-theorion
#theorem(title: "Euclid's Theorem")[
There are infinitely many prime numbers.
] <thm:euclid>
#theorem-box(title: "Theorem without numbering", outlined: false)[
This theorem is not numbered.
]Current features:
- Out-of-the-box styles 🎨:
- 📄 Simple - Clean and minimalistic
- 🌈 Rainbow - Colorful and vibrant
- ☁️ Clouds - Soft and elegant
- ✨ Fancy - Professional and polished
- Highly customizable ⚙️:
- Custom counters and numbering styles
- Configurable inheritance levels
- Custom theorem environments
- Custom rendering functions
- Built-in multilingual support 🌐
- Rich theorem environments 📚: theorem, definition, lemma, corollary, example, proof, and many more presets
- Theorem restatement 🔄:
#theorion-restate(filter: it => it.outlined and it.identifier == "theorem") - Additional features 📑:
- Theorem table of contents
- Appendix numbering adjustments
- Complete label and reference system
- Optional outline and numbering display
- Touying animation support
Touying 0.6.0
It's not a big update, but it's the first touying release since typst 0.13 was released.
Features
- feat: add auto style for display-current-heading.
- For users, you can use
show heading: set text(blue)to change color for heading in some themes likedewdrop. - For theme creator, you can use syntax like
utils.display-current-heading(level: 1, style: auto)to achieve the same result.
- For users, you can use
- feat: apply config-info information to
set document. - feat: set
stretch: falseby default foralternativesfunctions. This is a minor breaking change, but I think it would be more intuitive: no auto empty space.
Fixes
- fix: fix error with uncover using semi-transparent-cover
- fix: fix type string comparison #153
- fix: fix horizontal-line bug in typst 0.13.0
- refactor: fix display-current-short-heading
Touying 0.5.5
Touying 0.5.4
Features
- docs: improve param documentation and we have better hints for tinymist #98
- feat: fake frozon states support for
heading#124 - feat: add alpha-changing-cover and color-changing-cover #129
- feat: add effect function #111
- Example:
#effect(text.with(fill: red), "2-")[Something]will display[Something]if the current slide is 2 or later.
- Example:
- feat: add argument
config: (..)forxxx-slidefunctions - feat: add
alignargument for university theme
Fixes
- fix: also hide enum numbers with show-hide-set-list-marker-none #114
- fix: fixed progress bar not to break apart when global figure gutter is set nonzero #120
- fix: fixed frozen-counters bug with multiple #pause commands #124
- fix: fixed incorrect page num when draft is true #125
- fix: fix behaviors of fit-to-height and fit-to-width partially #131
- fix: duplicated footnotes in headings #132
- fix: do not hardcode page sizes #134
- fix: add default numbering for page #100
- refactor: move show-strong-with-alert to per-slide level #123
- refactor: remove unnecessary
config-page(fill: ...) - theme(metropolis): fix color of title page and fix #103
- theme(metropolis): fixed metropolis slide's header to return content if title is specified #126
- theme(metropolis): respect colors dict in metropolis theme #133
Thanks for the contributions from @enklht.