summaryrefslogtreecommitdiff
path: root/src/library
AgeCommit message (Collapse)Author
2021-10-26Trim `mailto:` and `tel:` from linksLaurenz
2021-10-25Replace `..` syntax with `range` functionLaurenz
2021-10-23Simplify decorationsLaurenz
2021-10-23Introduce page / block / inline levelsLaurenz
2021-10-23Remove directions from gridLaurenz
2021-10-23Revise block node contractLaurenz
Frames produced by block nodes are now always treated as exactly one per given region and a frame must not be larger than its respective region. Any overflow must be handled internally. This means that stack and grid don't need to search for fitting regions anymore, since the child has already does that for them. This commit further moves stack spacing into a new `SpacingNode`.
2021-10-23New `ShapeNode`Laurenz
Replaces `BackgroundNode` and `FixedNode`
2021-10-23Remove inline alignment from stackLaurenz
The current inline alignment is very broken and leads to lots of subtle weirdness. Getting rid of it simplifies the stack's interface a lot. At a later point either: - inline alignment will be added back in a better way, or - all nodes will be able to expand or align themselves, meaning that the stack's children take care of their alignment
2021-10-10Rename `State` to `Style` and move it into its own moduleLaurenz
2021-10-10Move paint and colors into `geom`Laurenz
2021-10-05Error on out-of-range values in `rgb`Laurenz
2021-10-05Rename `length` to `size` in `square()`Laurenz
2021-10-05Always use first positional argument in `expect()`Laurenz
This changes `#h(100)` from "missing argument: spacing" to "expected linear, found integer".
2021-10-05Add `assert` functionLaurenz
2021-10-05Let `h`, `v` and `pagebreak` return templateLaurenz
2021-10-05Paper longhand for page functionLaurenz
2021-10-05Fill shorthand for font functionLaurenz
2021-10-02Simpler and more versatile row and column gutter argumentsLaurenz
2021-09-28Allow linear values for text edgesLaurenz
2021-09-27Add spacing capabilities to stack functionLaurenz
- Named argument `spacing` controls spacing between any two template arguments - Arbitrary linears in the list can produce arbitrary spacing
2021-09-27Fix panic due to bad alignments in stack functionLaurenz
2021-09-15Bugfix and tidyingLaurenz
2021-09-10Rename `Arguments` to `Args`Laurenz
2021-08-31Make user-facing "debug" representation use Debug instead of DisplayLaurenz
2021-08-31More utility functionsLaurenz
- join("a", "b", "c", sep: ", ") - int("12") - float("31.4e-1") - str(10) - sorted((3, 2, 1))
2021-08-30Add abs() functionLaurenz
2021-08-30Lower- and uppercase string conversion functionsLaurenz
2021-08-29Allow body for font function once againLaurenz
2021-08-27Make font fallback disableableLaurenz
2021-08-24Switch from state to decorations for underline/strikethrough/overlineLaurenz
2021-08-23Links! (#43)Martin
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2021-08-21Shorter/clearer field name for geometry typesLaurenz
Size { width, height } => Size { w, h } Spec { horizontal, vertical } => Spec { x, y } Gen { cross, main } => Gen { inline, block }
2021-08-19Refactor layouting a bitLaurenz
Notably: - Handle aspect ratio in fixed node - Inline constraint inflation into pad node
2021-08-17Library functions behave more imperativelyLaurenz
- Templates scope state changes - State-modifying function operate in place instead of returning a template - Internal template representation contains actual owned nodes instead of a pointer to a syntax tree + an expression map - No more wide calls
2021-08-17More logical ordering and namingLaurenz
2021-08-17Make percentages for h and v relative to area instead of font sizeLaurenz
2021-08-16Convert single-field structs to tuple structsLaurenz
2021-08-14Separate type for string valuesLaurenz
2021-08-13Add file information to spansLaurenz
2021-08-12Array and dictionary indexingLaurenz
2021-08-10Minor refactoringsLaurenz
- Reorder parser methods and use `Pos` everywhere - Remove tab special handling for columns and adapt heading/list/enum indent handling - Don't panic when a file has an empty path
2021-08-09New source loading architectureLaurenz
2021-07-30Fatal errorsLaurenz
- Makes errors fatal, so that a phase is only reached when all previous phases were error-free - Parsing still recovers and can produce multiple errors - Evaluation fails fast and can thus produce only a single error (except for parse errors due to an import) - The single error that could occur during execution is removed for now - Removes Value::Error variant
2021-07-29Refactor stateLaurenz
2021-07-29Move font family and refactor alignmentLaurenz
2021-07-29Move EcoString and OptionExt into utilLaurenz
2021-07-25Merge font and par state into text stateLaurenz
2021-07-21Main context structLaurenz
2021-07-20FileId instead of Path + FileHashLaurenz
2021-07-11Simpler castingLaurenz