Conversation
|
I have no idea how to make this a module. This works like a module, but it's a Should actual representation be the same as in Typst? |
|
Not sure what Lines 36 to 51 in bd66907 |
Co-authored-by: Laurenz <laurmaedje@gmail.com>
Co-authored-by: Laurenz <laurmaedje@gmail.com>
We currently don't use a comma after e.g. across the whole docs, so it would be inconsistent. According to the internet, both are fine in American English.
docs/reference/groups.yml
Outdated
| This is useful whenever you overrode a name from the global scope, e.g., | ||
| the [`text`] element. To still access the `text` element, write `std.text`. | ||
| This is useful whenever you overrode a name from the global scope (e.g. | ||
| the [`text`] element). To still access the `text` element, write `std.text`. |
There was a problem hiding this comment.
We currently don't use a comma after e.g. across the whole docs, so it would be inconsistent. According to the internet, both are fine in American English.
This is definitely a lie, or however you want to call it. I see 14 matches with rq -F 'e.g.,'. 37 matches with comma on the left, and 1 with surrounding commas.
This also comes after we agreed that Typst uses American English, and docs is supposed to do the same. I even proposed to change all occurrences, or something like that. Don't remember what was the resolution, but it definitely didn't happen (yet).
Lastly, the "according to" part doesn't cite anything, therefore doesn't hold any power. Literally, the first 2 links say that
In American English, a comma must come after “e.g.” to help segment it from the list of examples that come after it.
P.S. After looking at later commits, this issue is completely gone, so I don't understand what is even the reason for this commit.
There was a problem hiding this comment.
After looking at later commits, this issue is completely gone, so I don't understand what is even the reason for this commit.
Time goes forward :) The commits are in the order I made them in.
There was a problem hiding this comment.
What about the previous statements? Do I need to assume that you implicitly agree?
docs/reference/groups.yml
Outdated
| # Conditional access | ||
| You can also use this in combination with the [dictionary | ||
| constructor]($dictionary) to conditionally access global definitions. This | ||
| can, for instance, be useful to use new or experimental functionality (like | ||
| the [`target`] function) when it is available, while falling back to an | ||
| alternative implementation if used on an older Typst version. | ||
|
|
||
| ```example | ||
| #let target = dictionary(std).at( | ||
| "target", | ||
| default: () => "paged", | ||
| ) | ||
|
|
||
| #context if target() == "html" [ | ||
| HTML | ||
| ] else [ | ||
| Paged | ||
| ] | ||
| ``` | ||
|
|
||
| Make sure to use this functionality responsibly as the behavior of your code | ||
| can change with new Typst versions! | ||
|
|
There was a problem hiding this comment.
This example feels stretched/far-fetched, and not practical.
The part about dictionary is already covered in https://typst.app/docs/reference/foundations/dictionary/#constructor.
The outlined experimental nature means that this part or whole section must be rewritten once this function is not experimental anymore.
The "if used on an older" version argument is not actually why the hack was created. It's only because it's experimental and not available on the latest Typst version without a feature flag. Once it's available, there isn't much reason to use it, as you can't export to HTML in older versions anyway.
The example itself doesn't show practical use of the condition, other than diverging the output between the targets (even more), which is not what you would want.
And the responsibility sentence is not how Typst docs is written. If anything, these should be avoided, I think. Because if you wrote this in one place, you might as well write this for state, context, query, etc. I don't like it.
the behavior of your code can change with new Typst versions
Well, the point was to provide alternative implementation for older versions, why suddenly new versions are mentioned? Every, or almost every version so far had breaking changes. I don't see the reason to explicitly point out that you can hit a breaking change with this one. Moreover, if you don't have a polyfill, but just a standalone function, if it breaks, then it breaks. The warning is too generic and applicable to basically anything.
However, the backward compatibility part (i.e., a polyfill) might be useful with a better example. The only I can think of is new/deprecated functions like path/curve. Which I guess you can't really replicate, because it's very different in API. But things like tiling/pattern could work.
There was a problem hiding this comment.
How is it not practical? People are using it in practice. I decided to include this example despite its somewhat hacky nature in an attempt to start making the docs more practically useful rather than theoretically pristine.
The part about dictionary is already covered in https://typst.app/docs/reference/foundations/dictionary/#constructor.
Concepts can occur multiple times in the docs.
It's only because it's experimental and not available on the latest Typst version without a feature flag.
I know, hence "new or experimental functionality"
The example itself doesn't show practical use of the condition, other than diverging the output between the targets (even more), which is #5755.
It's just an example.
And the responsibility sentence is not how Typst docs is written.
That's entirely subjective. In my opinion, it is.
Every, or almost every version so far had breaking changes. I don't see the reason to explicitly point out that you can hit a breaking change with this one.
The point is that you can be hit by a non-breaking change if you're not careful.
There might be a better polyfill example, but you make it sound like its entirely absurd as-is, when it is in my view definitely not.
There was a problem hiding this comment.
Here's a different module lookup example that we've used for real: #dictionary(color.map).at("turbo") i.e. looking up color maps by string.
There was a problem hiding this comment.
How is it not practical? People are using it in practice.
If you used an already created snippet, an attribution (i.e., co-author) in commit would've been nice.
I decided to include this example despite its somewhat hacky nature in an attempt to start making the docs more practically useful rather than theoretically pristine.
Well that is news to me.
The example itself doesn't show practical use of the condition, other than diverging the output between the targets (even more), which is #5755.
It's just an example.
So is it a practically useful example, or just an example?
The point is that you can be hit by a non-breaking change if you're not careful.
I don't understand this.
There might be a better polyfill example
I already gave a few examples off top of my head.
but you make it sound like its entirely absurd as-is, when it is in my view definitely not.
What is "it"? I said that dictionary(std) can have a better example, if still included.
The target hack is very niche and temporary. Putting it in the docs is indeed undesirable. I don't like the way it's presented and used.
Since it's a new move for practicality,
#context if target() == "html" [
HTML
] else [
Paged
]should be revised, or entirely replaced with different polyfill. Not only does it make look like you can/should write
#context if target() == "html" [
Here is a content for HTML
] else [
Here is a completely different output for other targets.
]which is not what you should write, but it also uses the notorious [], that more and more users use without knowing (yet) about the implicit surrounding spaces. IMO, it should only be used in a strictly practical ways, to give away the correct use case where it's appropriate to use it over {}. If conditions with single words is not one of them.
There was a problem hiding this comment.
Here's a different module lookup example that we've used for real:
#dictionary(color.map).at("turbo")i.e. looking up color maps by string.
This module lookup is irrelevant for std (unless modified somehow) and can go into dictionary docs instead.
There was a problem hiding this comment.
Are we going with horizontal split?
#let tiling = dictionary(std).at("tiling", default: none)
#if tiling == none { tiling = pattern }
#let inverted-pattern = tiling(size: (35pt, 20pt), polygon(
fill: white,
stroke: 1pt,
(100%, 0%), (0%, 0%), (0%, 100%), (100%, 100%), // Border
(0%, 70%), (0%, 30%), (100%, 0%), (100%, 100%), // Pattern
))
#block(
width: 100%,
height: 20pt,
fill: gradient.linear(..color.map.rainbow),
rect(fill: inverted-pattern, width: 100%, height: 100%, stroke: 1pt),
)There was a problem hiding this comment.
I generally prefer the vertical split (i.e. side by side). I think we should also keep the tiling's complexity to a minimum as to not divert attention from the std usage).
There was a problem hiding this comment.
I still don't have the answer on how non-breaking change can break things, so I want to remove the warning with the exclamation mark. Adding a more neutral note can be the case.
There was a problem hiding this comment.
I generally prefer the vertical split
I don't like them, because most of the time, including this one, it makes slick one-liners become a huge and loong pile of lines, that no one would ever write, especially people that don't ever use or know about 80 char width etc. This partially can be fixed by just using the empty 32% of horizontal space. That's over 600 pixels.
There was a problem hiding this comment.
This horizontal:
#let tiling = dictionary(std).at("tiling", default: none)
#if tiling == none { tiling = pattern }
#let pattern = tiling(
size: (20pt, 20pt),
polygon(fill: white, stroke: 1pt, (10%, 50%), (90%, 90%), (90%, 10%))
)
#block(
width: 100%,
height: 20pt,
fill: gradient.linear(..color.map.rainbow),
// fill: gradient.linear(..color.map.turbo.slice(15, -20).rev()), // This actually is more rainbow-like than the "rainbow", but the red is not bright enough.
rect(fill: pattern, width: 100%, height: 100%, stroke: 1pt),
)Nice and compact. And interesting!
Or vertical:
#let tiling = dictionary(std).at(
"tiling",
default: none,
)
#if tiling == none {
tiling = pattern
}
#let pattern = tiling(
size: (20pt, 20pt),
polygon(
fill: white,
stroke: 1pt,
(50%, 10%),
(90%, 90%),
(10%, 90%),
),
)
#block(
width: 20pt,
fill: gradient.linear(
angle: 90deg,
..color.map.rainbow,
),
rect(
fill: pattern,
width: 100%,
height: 100%,
stroke: 1pt
),
)Literally 2+ times more lines. It's awful. To make it much shorter, you almost certainly must make the example boring. No one likes boring examples, unless it's a beginner tutorial or something like that. Right?
|
Thanks! |
Co-authored-by: Laurenz <laurmaedje@gmail.com>
… upstream (#1) * Numbering implementation refactor (typst#6122) * Pin colspan and rowspan for blank cells (typst#6401) * Clean up some parser comments (typst#6398) * Autocomplete fixes for math mode (typst#6415) * Update docs for gradient.repeat (typst#6385) * Document how to escape lr delimiter auto-scaling (typst#6410) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Improve number lexing (typst#5969) * Report errors in external files (typst#6308) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Table multiple headers and subheaders (typst#6168) * Use the shaper in math (typst#6336) * Standardize trailing slashes in docs route paths (typst#6420) * Make a more descriptive definition of `module` (typst#6380) * Specify which CSL style is not suitable for bibliographies (typst#6306) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Adjust source file API surface (typst#6423) * Do not force `math.mid` elements to have the Large math class (typst#5980) * List both YAML file extensions in bibliography docs (typst#6426) * Fix panic when test source is not found in world (typst#6428) * Use `codex::ModifierSet` (typst#6159) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Render `#super` as `<sup>`, `#sub` as `<sub>` in HTML (typst#6422) * Warning when watching stdin (typst#6381) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Fix untidy Cargo.lock * Warn when using variable fonts (typst#6425) * Check that all translation files are added to TRANSLATIONS and ends with newline (typst#6424) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Unify `EvalMode` and `LexMode` into `SyntaxMode` (typst#6432) * Consume `data` argument in `pdf.embed()` (typst#6435) * Better error message for compile time string interning failure (typst#6439) * Ensure that label repr is syntactically valid (typst#6456) * Hint for label in both document and bibliography (typst#6457) * Prefer `.yaml` over `.yml` in the docs (typst#6436) * Fix align link in layout documentation (typst#6451) * Fix param autocompletion false positive (typst#6475) * Encode empty attributes with shorthand syntax * Add `Duration::decompose` * Generic casting for `Axes<T>` * More type-safe color conversions * Add `typst_utils::display` * Support for generating native functions at runtime * Typed HTML API (typst#6476) * Consistent codepoint formatting in HTML and PDF error messages * Test runner support for HTML export errors * Turn non-empty void element into export error * Handle pre elements that start with a newline * Extract `write_children` function * Properly handle raw text elements * Fix stroke cap of shapes with partial stroke (typst#5688) * Adding Croatian translations entries (typst#6413) * Rewrite `outline.indent` example (typst#6383) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Use ICU data to check if accent is bottom (typst#6393) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Add docs for `std` module (typst#6407) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Improve equation reference example (typst#6481) * Add page reference customization example (typst#6480) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Bump `krilla` to current Git version (typst#6488) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Check that git tree is clean after build (typst#6495) * Also fix encoding of `<textarea>` (typst#6497) * Minor fixes to doc comments (typst#6500) * Fix typos in page-setup.md (typst#6499) * Support `in` operator on strings and modules (typst#6498) * Consistent sizing for `html.frame` (typst#6505) * Allow deprecating symbol variants (typst#6441) * Disallow empty labels and references (typst#5776) (typst#6332) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Fix nested HTML frames (typst#6509) * Basic support for text decoration functions in HTML (typst#6510) * Improve sentence in guide for LaTeX users (typst#6511) * Sort line items by logical order when constructing frame (typst#5887) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Fix panic when sampling across two coincident gradient stops (typst#6166) * Bump `typst-dev-assets` (typst#6514) * Acknowledgements (typst#6528) * Support HTML tests in test-helper extension (typst#6504) * Fix typo in Advanced Styling docs tutorial (typst#6517) * Fix typo in PDF standard CLI help (typst#6518) * Fix typo in PDF standard CLI help part 2 (typst#6531) * Fix minor typo in `array.product` docs (typst#6532) * Fix typos in calc module docs (typst#6535) * Use "subs" and "sups" font features for typographic scripts (typst#5777) * Use punctuation math class for Arabic comma (typst#6537) * Remove duplicate language computation (typst#6557) * Fix typo in PackageStorage (typst#6556) * Fix nightly warnings (typst#6558) * Fix minor typo in function docs (typst#6542) * Refer to json function instead of deprecated json.decode in groups docs (typst#6552) * Rewrite foundations of native elements (typst#6547) * Target-specific native show rules (typst#6569) * Construct library via extension trait instead of default & inherent impl (typst#6576) * Move `html` module to `typst-html` crate (typst#6577) * Fix typo of Typst domain in quote docs (typst#6573) * Anti-alias clip paths (typst#6570) * Use "displayed" instead of "repeated" to avoid ambiguity in numbering docs (typst#6565) * Ignore spans when checking for RawElem equality (typst#6560) * Add `default` argument for `str.first` and `str.last` (typst#6554) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Add completions subcommand (typst#6568) * Update Swedish translations based on defaults used for LaTeX and cleveref (typst#6519) * Move math styling to codex and add `math.scr` (typst#6309) * More consistent `Packed<T>` to `Content` conversion methods (typst#6579) * Support images in HTML export (typst#6578) * Fix tooltip for figure reference (typst#6580) * Complete movement of HTML export code to `typst-html` (typst#6584) * Handle `lower` and `upper` in HTML export (typst#6585) * Deduplicate labels for code completion (typst#6516) * Fix regression in reference autocomplete (typst#6586) * Use "whitespace" instead of "space" to denote block-level equation in docs (typst#6591) * Fix minor typo in text docs (typst#6589) * Rephrase docs for truncation of float/decimal to integer (typst#6543) * HTML frame improvements (typst#6605) * Change `enum.item.number` to `Smart` instead of `Option` (typst#6609) * Support setting fonts repeatedly with different `covers` (typst#6604) * Support intra-doc links in HTML (typst#6602) * Partially automate span assignment in native show rule (typst#6613) * Bump `zip` dependency (typst#6615) * Restore timing scopes for native show rules (typst#6616) * Slightly improve selector docs (typst#6544) * Add show rule for smallcaps in HTML (typst#6600) * Mention Tinymist in README.md (typst#6601) * Fix documentation oneliners (typst#6608) * Add rust-analyzer to flake devShell (typst#6618) * Add Lithuanian translations (typst#6587) * Bump CI Rust to 1.88 * Bump MSRV to 1.88 * Migrate to 2024 edition * Fix 2024 clippy warnings * Yeet `if_chain` macro * Reformat with 2024 edition * Add support for PDF embedding (typst#6623) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Add `pdf` extension to image autocompletions (typst#6643) * Fix bounding box computation for lines in curves (typst#6647) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Lint for iterations over hash types (typst#6652) * Create constructor methods for manifest types (typst#6625) * Remove unnecessary `comemo` dependency in `typst-syntax` (typst#6668) * Remove duplicate center alignment style for equations (typst#6667) * Fix incorrect `vline.x` docs (typst#6657) * Miscellaneous minor docs improvements (typst#6651) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Allow explicit autocomplete immediately after comma and colon (typst#6550) * Improve Guide for LaTeX users, Query Function, and replace invisible emojis (typst#6620) Co-authored-by: PgBiel <9021226+PgBiel@users.noreply.github.com> Co-authored-by: Laurenz <laurmaedje@gmail.com> * Hint that deprecated items will be removed in `0.15.0` (typst#6617) * Specify the standard smart quotes for `Arabic` (typst#6626) * Use `rustc-hash` for hash maps and sets (typst#6678) * Faster constraint checking in comemo (bumps comemo & krilla) (typst#6683) * Add `--target` argument for `typst query` (typst#6405) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Require parentheses in all function-like sub/superscripts (typst#6442) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Fix several wrong anchors in `$` docs link resolution (typst#6684) * Add `cargo testit` alias for running integration tests (typst#6682) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Update guides welcome text to refer to list instead of specific guides (typst#6685) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Prevent broken glyph assemblies when font data is incorrect (typst#6688) * Allow custom element names in HTML tag syntax (typst#6676) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Add interface to disable timer (typst#6695) Co-authored-by: Derived Cat <hooyuser@outlook.com> * Add support for drawing COLR glyphs in SVG export (typst#6693) * Apply aspect ratio correction for linear gradients in PDF export (typst#6689) * Wrap raw blocks in `<code>` tag additionally to `<pre>` tag (typst#6701) * Support for raw syntax highlighting in HTML export (typst#6691) * Ensure that whitespace is not collapsed in inline raw blocks (typst#6703) * Show aliases of citation styles in docs and completions (typst#6696) * Correct CeTZ spelling (typst#6706) * Add `title` element (typst#5618) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Make HTML data structures cheaper to clone (typst#6708) * Move `par`, `box`, and `block` to show rules in HTML export (typst#6709) * Support smartquotes in HTML export (typst#6710) Co-authored-by: Malo <57839069+MDLC01@users.noreply.github.com> * Avoid dangling reference output for HTML tests (typst#6711) * Support multiple fonts in math (typst#6365) * Add link to position field of grid.hline and grid.vline docs (typst#6670) * Rename `pdf.embed` to `pdf.attach` (typst#6705) * Include numbering in PDF bookmark (typst#6622) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Document escaping semicolon, valid identifiers, and `state` tips (typst#6674) Co-authored-by: Andrew Voynov <37143421+Andrew15-5@users.noreply.github.com> Co-authored-by: Yaksher <yaksher.git@gmail.com> Co-authored-by: Laurenz <laurmaedje@gmail.com> * Ensure table headers trigger rowbreak (typst#6687) * Fix phrasing of iff (if and only if) in docs (typst#6713) * Remove redundant "This can be" from stroke docs of curve and polygon (typst#6715) * Fix curve docs for fill (refer to curve instead of rectangle) (typst#6714) * Add span to `html.frame` node (typst#6716) * Fix return type of `missing_method` (typst#6718) * Encoding fixes for HTML raw text elements (typst#6720) * Update RelativeTo to include tiling in docs (typst#6730) * Add missing "the" for cmyk function of color docs (typst#6731) * Remove use of "last" and "end" for conic gradient circle docs (typst#6733) * Fix broken links in docs (typst#6734) * Simplify links in docs (typst#6732) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Bump hayro and krilla (typst#6741) * Deduplicate fallback smart quotes (typst#6747) * Move `is_inline` to `HtmlElem` (typst#6748) * Move grid cell locator creation to GridLayouter (typst#6746) * HTML whitespace protection (typst#6750) * Improve code snippets in Table Guide (typst#6658) * More accessible color scheme for raw blocks (typst#6754) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Use `stylistic-set: 1` in favor of `ss01` in docs and tests (typst#6766) * Implement fraction styles: vertical, skewed, and horizontal. (typst#6672) * Bump Rust to 1.89 in CI (typst#6775) Co-authored-by: Drodt <daniel.drodt@tu-darmstadt.de> Co-authored-by: Daniel Drodt <132357467+Drodt@users.noreply.github.com> * Fix typo in doc on quotes parameter of smartquote (typst#6779) * Fix logical order in bidirectional lines (typst#6796) * Extract `trim_weak_spacing` function (typst#6797) * Separate items for hyphens, fixing style of repeated hyphen (typst#6798) * Fix Unicode mapping of hyphenation artifacts (typst#6799) * Do not consider default ignorables when picking last resort font (typst#6805) * Compute width of shaped text on-demand (typst#6806) * Fix `sub` and `super` oneliners (typst#6791) * Ensure that hyphenation is possible after a tag (typst#6807) * Make links to `$grid` in `table` docs more specific (typst#6776) Co-authored-by: PgBiel <9021226+PgBiel@users.noreply.github.com> * Fix `repr` of `foo.with(..)` (typst#6773) * Fix case in docs serialization (typst#6808) * Add links and examples in the docs of `str` (typst#6751) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Hash page instead of frame for watch command (typst#6810) * Update nix flake and use nixfmt (typst#6827) * Update & fix tutorial part 3 & 4 example code (typst#6778) * Improve docs on customizing `raw` (typst#6000) Co-authored-by: Malo <57839069+MDLC01@users.noreply.github.com> Co-authored-by: Laurenz <laurmaedje@gmail.com> * Better handle large numbers (u128/i128) in deserialization (typst#6836) * Follow the comment on setting the `State`'s mask (typst#6642) * Allow augment line at the beginning and end of a matrix (typst#5806) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Fix slicing last n elements using count (typst#6838) * Fix auto hanging-indent for centered headings (typst#6839) * Use rust-analyzer from fenix toolchain in flake (typst#6826) * Type safety for logical indices in line layout (typst#6848) * Load linked bitmap images in SVG images (typst#6794) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Fix CJ-Latin space at manual line breaks (typst#6700) Co-authored-by: Laurenz Mädje <laurmaedje@gmail.com> * Allow multi-character symbols (typst#6489) Co-authored-by: Max <max@mkor.je> Co-authored-by: Laurenz <laurmaedje@gmail.com> * Keep end of line whitespace glyphs (typst#6866) * Fix punctuation in HTML placeholder (typst#6854) * Unify and document the behaviours of `{json,yaml,toml,cbor}.encode` (typst#6743) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Improve docs of various numbering parameters (typst#6757) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Document and test `Sides<T>` parameters (typst#6862) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Remove unused `Styles::set_family` (typst#6879) * Make clear that `Content::query_first` is naive (typst#6880) * Ensure correct tag nesting with grouping rules (typst#6881) * Avoid breaking after an empty frame (typst#6335) * Add test for default ignorables before a breakpoint (typst#6782) * Fix typos (typst#6878) * Improve the docs on function params of `array.{sorted,dedup}` (typst#6756) * Add a link from `math.vec` to `math.{arrow,bold}` in docs (typst#6867) * Add a disclaimer about embedding PDFs (typst#6888) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Improve examples in the docs for under/over functions (typst#6889) * Improve docs of `Celled<T>` params of `table` and `grid` (typst#6764) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Fix off by one in tag expansion (typst#6900) * More useful `Debug` impls for `Tag` and `Location` (typst#6901) * Fix potential crash in `Debug` impl of `Property` (typst#6902) * Fix `Debug` impl for end tags (typst#6906) * Make `select_where!` usable outside of typst-library (typst#6910) * Fix footnote links in presence of styling (typst#6912) * Consistently ignore styles for tags (typst#6911) * Expand tags even a bit more around groupings (typst#6909) * Don't warn for zero-sized horizontal spacing in HTML export * Use `singleton!` for `HElem::hole` * Add way to attach role to closest element in HTML export * Add logical parent mechanism to HTML export * Generalize mechanism for root styles to HTML export * Support footnotes in HTML export * Add `default` argument to `array.join` (typst#6932) * Replace the non-existent `$math.arrow` with `$math.accent` in the docs for vector (typst#6918) * Initial Hayagriva bump (typst#6920) Co-authored-by: Laurenz <laurmaedje@gmail.com> * Use different colors for object keys and string-based values in JSON listings (typst#6873) * Support for outline in HTML (typst#6606) * Use Title Case for Doc Pages (typst#6936) * Improve the docs for dictionary (typst#6899) * Add an illustration for `par.{leading,spacing}` in docs (typst#6915) Co-authored-by: Andrew Voynov <37143421+Andrew15-5@users.noreply.github.com> Co-authored-by: Laurenz <laurmaedje@gmail.com> * Initial plan --------- Co-authored-by: Sam Ireson <107627922+samuelireson@users.noreply.github.com> Co-authored-by: PgBiel <9021226+PgBiel@users.noreply.github.com> Co-authored-by: Ian Wrzesinski <133046678+wrzian@users.noreply.github.com> Co-authored-by: cAttte <26514199+cAttte@users.noreply.github.com> Co-authored-by: Andrew Voynov <37143421+Andrew15-5@users.noreply.github.com> Co-authored-by: Laurenz <laurmaedje@gmail.com> Co-authored-by: Tobias Schmitz <tobiasschmitz2001@gmail.com> Co-authored-by: Max <max@mkor.je> Co-authored-by: 3w36zj6 <52315048+3w36zj6@users.noreply.github.com> Co-authored-by: Malo <57839069+MDLC01@users.noreply.github.com> Co-authored-by: T0mstone <39707032+T0mstone@users.noreply.github.com> Co-authored-by: Lachlan Kermode <lachiekermode@gmail.com> Co-authored-by: Y.D.X. <73375426+YDX-2147483647@users.noreply.github.com> Co-authored-by: Ilia <43654815+istudyatuni@users.noreply.github.com> Co-authored-by: Noam Zaks <63877260+noamzaks@users.noreply.github.com> Co-authored-by: Wannes Malfait <46323945+WannesMalfait@users.noreply.github.com> Co-authored-by: Ivica Nakić <ssemigr@gmail.com> Co-authored-by: +merlan #flirora <flirora@flirora.xyz> Co-authored-by: Connor K <sigstackfault@gmail.com> Co-authored-by: Said A. <47973576+Daaiid@users.noreply.github.com> Co-authored-by: Florian Bohlken <flibbo@gmail.com> Co-authored-by: Robin <mewmew@users.noreply.github.com> Co-authored-by: Adrián Delgado <11708972+adriandelgado@users.noreply.github.com> Co-authored-by: frozolotl <44589151+frozolotl@users.noreply.github.com> Co-authored-by: Jassiel Ovando <jassielovando@protonmail.com> Co-authored-by: Patrick Massot <patrickmassot@free.fr> Co-authored-by: Erik <tinger@tinger.dev> Co-authored-by: pog102 <85764555+pog102@users.noreply.github.com> Co-authored-by: Laurenz Stampfl <47084093+LaurenzV@users.noreply.github.com> Co-authored-by: Niklas Eicker <git@nikl.me> Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com> Co-authored-by: Igor Khanin <igor@khanin.biz> Co-authored-by: hpcfzl <hopcfizl@gmail.com> Co-authored-by: zefr0x <65136727+zefr0x@users.noreply.github.com> Co-authored-by: Abdul-Rahman Sibahi <asibahi@users.noreply.github.com> Co-authored-by: 枚鴉 <ling@omots.io> Co-authored-by: Myriad-Dreamin <35292584+Myriad-Dreamin@users.noreply.github.com> Co-authored-by: Derived Cat <hooyuser@outlook.com> Co-authored-by: Sebastian Eberle <152992757+sebaseb98@users.noreply.github.com> Co-authored-by: Johann Birnick <6528009+jbirnick@users.noreply.github.com> Co-authored-by: Yaksher <yaksher.git@gmail.com> Co-authored-by: Tau <git@alice-carroll.pet> Co-authored-by: Martin Haug <mhaug@live.de> Co-authored-by: Théophile Cailliau <tjbcg@pm.me> Co-authored-by: Drodt <daniel.drodt@tu-darmstadt.de> Co-authored-by: Daniel Drodt <132357467+Drodt@users.noreply.github.com> Co-authored-by: ultimatile <ultimatile@users.noreply.github.com> Co-authored-by: Poh <167305720+pohlrabi404@users.noreply.github.com> Co-authored-by: Clemens Koza <clemens.koza@gmx.at> Co-authored-by: Siddhant Agarwal <68201519+siddhantdev@users.noreply.github.com> Co-authored-by: Philipp Niedermayer <eltos@outlook.de> Co-authored-by: Toon Verstraelen <Toon.Verstraelen@UGent.be> Co-authored-by: Eric Biedert <github@ericbiedert.de> Co-authored-by: Jan Romann <jan.romann@uni-bremen.de> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>




Closes #6395.
I did some sketches to get some idea of what should be included.