summaryrefslogtreecommitdiff
path: root/src/library/page.rs
AgeCommit message (Collapse)Author
2022-02-28Reorganize libraryLaurenz
2022-02-23Rework the core contextLaurenz
2022-02-22Remove layout cacheLaurenz
2022-02-18Headers and footersLaurenz
2022-02-17Fallible layoutLaurenz
2022-02-17Merge eval and layout contexts into `Vm`Laurenz
2022-02-10Proper error messages for shorthandsLaurenz
2022-02-09Set rules for everythingLaurenz
2022-02-02Rename `Node` to `Template`Laurenz
2022-01-31Switch from `Rc` to `Arc`Laurenz
2022-01-17Basic tablesLaurenz
2022-01-08Make all nodes into classesLaurenz
2022-01-07Tidy up stylingLaurenz
2022-01-05Lift styles out of individual nodesLaurenz
2022-01-05RefactorLaurenz
2021-12-30Style chainsLaurenz
2021-12-30Make clippy a bit happierLaurenz
2021-12-28TidyingLaurenz
2021-12-27Apply simple suggestions from code reviewMartin
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-12-26Introduce equal-width columnsMartin Haug
2021-12-22Review One: A Set Rules StoryLaurenz
2021-12-21Set Rules Episode IX: The Rise of TestingLaurenz
2021-12-16Set Rules Episode VIII: The First MacroLaurenz
2021-12-15Set Rules Episode VII: The Set AwakensLaurenz
2021-12-15Set Rules Episode VI: Return of the RefactorLaurenz
2021-12-15Set Rules Episode IV: A New FoldLaurenz
2021-12-09Set Rules Episode III: Revenge of the packerLaurenz
2021-12-07Set Rules Episode II: Attack of the propertiesLaurenz
2021-12-05Set Rules Episode I: The Phantom StyleLaurenz
2021-11-30Syntax highlightingLaurenz
2021-11-26X/Y abstractionsLaurenz
2021-11-24Small style changesLaurenz
2021-11-29Castable optional and smart valuesLaurenz
2021-11-20StrokesLaurenz
2021-11-19Small fixesLaurenz
2021-11-18Page fillLaurenz
2021-11-16Revert page and inline levelsLaurenz
2021-11-15Make clippy happier and remove `Str`Laurenz
2021-11-02Reduce namespace pollutionLaurenz
2021-11-02Smallcaps, sub- and superscript, ligature ctrls...Martin Haug
2021-10-31Reorganize modulesLaurenz
Instead of separating functionality into layout and library, everything lives in the library now. This way, related things live side by side and there are no duplicate file names in the two directories.
2021-06-26Cleanse libraryLaurenz
- Remove doc-comments for Typst functions from library - Reduce number of library source files
2021-06-18Remove eat_ prefixLaurenz
2021-05-18Leaner argument parsingLaurenz
2021-05-17Tidy up layouting codeLaurenz
2021-03-27Better space coalescing logic 🌧Laurenz
This creates a smaller state machine helper type for softness coalescing, which does not own the resulting nodes. While this creates a bit more duplication in stack and par builder, it makes it a lot easier to integrate additional logic into the paragraph builder. Furthermore: - Line breaks are now "hard", that is, not coalesced with each other. - Text nodes with equal style are now merged allowing for example `f{}i` to form a ligature.
2021-03-25Refactor alignments & directions 📐Laurenz
- Adds lang function - Refactors execution context - Adds StackChild and ParChild enums
2021-03-21Syntax functions 🚀Laurenz
This adds overridable functions that markup desugars into. Specifically: - \ desugars into linebreak - Two newlines desugar into parbreak - * desugars into strong - _ desugars into emph - = .. desugars into heading - `..` desugars into raw
2021-03-19Scheduled maintenance 🔨Laurenz
- New naming scheme - TextNode instead of NodeText - CallExpr instead of ExprCall - ... - Less glob imports - Removes Value::Args variant - Removes prelude - Renames Layouted to Fragment - Moves font into env - Moves shaping into layout - Moves frame into separate module
2021-03-19Configurable font edges ⚙Laurenz
Adds top-edge and bottom-edge parameters to the font function. These define how the box around a word is computed. The possible values are: - ascender - cap-height (default top edge) - x-height - baseline (default bottom edge) - descender The defaults are chosen so that it's easy to create good-looking designs with vertical alignment. Since they are much tighter than what most other software uses by default, the default leading had to be increased to 50% of the font size and paragraph spacing to 100% of the font size. The values cap-height and x-height fall back to ascender in case they are zero because this value may occur in fonts that don't have glyphs with cap- or x-height (like Twitter Color Emoji). Since cap-height is the default top edge, doing no fallback would break things badly. Removes softness in favor of a simple boolean for pages and a more finegread u8 for spacing. This is needed to make paragraph spacing consume line spacing created by hard line breaks.