Skip to content

Releases: touying-typ/touying

Touying 0.7.4

Choose a tag to compare

@OrangeX4 OrangeX4 released this 06 Jun 03:57

Features

  • feat: adds touying-reduce which 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-size parameter to lazy-layout for quantized position grouping, improving robustness of column/row detection
  • feat: add components.full-width-block component that spans the full page width by cancelling horizontal margins

Fixes

  • fix (minor breaking change): set lazy-layout default to false for cols
  • fix: handle missing fn field in mark warning message gracefully
  • fix: hide doing unexpected things to headings (#366)
  • fix: export touying-fn-wrapper-raw as part of the public API (#362)
  • fix: improved mark-warning, now also displayed as magic.warning when enable-mark-warning is false (#348)
  • fix: warnings now emitted via uniwarn (#359)

Touying 0.7.3

Choose a tag to compare

@OrangeX4 OrangeX4 released this 23 Apr 09:03

Minor Breaking Changes

  • feat!: always attach #speaker-note[] to the previous slide & default receive-body-for-new-*-slide-fn to false (#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-fn and its variants are now defaulted to false (previously true).

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-fn and presets for it (#347)
  • feat: improved custom-progressive-outline and new section-relationship and some other things (#345)
  • feat: better lazy-layout for mixed layouts (#355)
  • feat: add cols as alias of side-by-side and export some components cols, lazy-xxx to 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

Choose a tag to compare

@OrangeX4 OrangeX4 released this 08 Apr 08:58

Features

  • feat(agents): breakable and clip options to avoid slide overflow (#336)
  • feat(components): add lazy-v (lazy-h) and lazy-layout for equalizing multi-column (-row) block heights (widths) (#339)
  • feat: additional contact and extra field in config-info (#342)
  • feat: touying-get-config function (#333)

Fixes

  • fix: fix fit-to-height and size-to-pt and allow text reflow (#332)
  • fix: fix waypoint markers (#341)

Touying 0.7.0

Choose a tag to compare

@OrangeX4 OrangeX4 released this 30 Mar 14:07

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

Choose a tag to compare

@OrangeX4 OrangeX4 released this 17 Mar 03:34
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), ...)

Touying 0.6.2

Choose a tag to compare

@OrangeX4 OrangeX4 released this 06 Mar 03:20

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-footnote in Typst 0.14 (#249)
  • fix: theorion package is broken with Typst 0.14.0 (#237)
  • fix: update components.typ and pass named arguments to grid (#207)
  • fix: fix #meanwhile in 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-none with full enum (#157)
  • fix: remove dump and label-it function for better cache

Miscellaneous

  • docs: update README, bump versions of deps, and fix comment docs
  • ci: add more tests, bump versions of tytanic, and update typstyle workflow (#221, #261)

Touying 0.6.1

Choose a tag to compare

@OrangeX4 OrangeX4 released this 25 Feb 10:19

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

Choose a tag to compare

@OrangeX4 OrangeX4 released this 20 Feb 11:20

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 like dewdrop.
    • For theme creator, you can use syntax like utils.display-current-heading(level: 1, style: auto) to achieve the same result.
  • feat: apply config-info information to set document.
  • feat: set stretch: false by default for alternatives functions. 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

Choose a tag to compare

@OrangeX4 OrangeX4 released this 19 Dec 13:20

Fixed bugs.

Touying 0.5.4

Choose a tag to compare

@OrangeX4 OrangeX4 released this 18 Dec 12:21

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.
  • feat: add argument config: (..) for xxx-slide functions
  • feat: add align argument 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.