1257 Commits

Author SHA1 Message Date
Laurenz
5becb32ba4 Introduce page / block / inline levels 2021-10-23 20:23:47 +02:00
Laurenz
c627847cb3 Remove directions from grid 2021-10-23 20:22:47 +02:00
Laurenz
6690bc2354 Revise block node contract
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-23 20:22:47 +02:00
Laurenz
1e74f7c407 New ShapeNode
Replaces `BackgroundNode` and `FixedNode`
2021-10-23 20:22:47 +02:00
Laurenz
5f4dde0a6b Remove inline alignment from stack
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-23 20:22:47 +02:00
Laurenz
9ac125dea8 Rename State to Style and move it into its own module 2021-10-10 21:04:10 +02:00
Laurenz
d4cc8c775d Move paint and colors into geom 2021-10-10 20:26:58 +02:00
Laurenz
f4ed775df0 Make none spreadable 2021-10-10 12:16:28 +02:00
Laurenz
c0f5cd011f Slim down and organize paper sizes
Co-Authored-By: Martin <mhaug@live.de>
2021-10-07 14:11:56 +02:00
Laurenz
61fdc85b13 Refactor a bit 2021-10-05 23:23:09 +02:00
Laurenz
b69c0355ec Don't fit images to remaining height
Makes them really small if there's only little space left ...
2021-10-05 20:05:15 +02:00
Laurenz
3d0dcbea18 Error on out-of-range values in rgb 2021-10-05 19:55:15 +02:00
Laurenz
25b053ed93 Rename length to size in square() 2021-10-05 19:55:00 +02:00
Laurenz
ae05dc0876 Always use first positional argument in expect()
This changes `#h(100)` from "missing argument: spacing" to "expected linear, found integer".
2021-10-05 19:45:38 +02:00
Laurenz
0a23bfbc23 Add assert function 2021-10-05 19:37:38 +02:00
Laurenz
58d1cc68d9 Let h, v and pagebreak return template 2021-10-05 19:30:12 +02:00
Laurenz
155673c15e Paper longhand for page function 2021-10-05 19:23:45 +02:00
Laurenz
4ff1519bea Fill shorthand for font function 2021-10-05 19:19:55 +02:00
Laurenz
dcdcf53831 Rename insert/ to elements/ 2021-10-05 18:51:21 +02:00
Laurenz
5e06941c63 Iterate over grapheme clusters instead of chars 2021-10-05 17:57:30 +02:00
Laurenz
00be5d36c4 Change indent requirements to allow alignment
Previously the following wouldn't work correctly because "Fourth" would have been a child of "Third".
```
3. Third
⎵. Fourth
```
2021-10-05 17:25:58 +02:00
Laurenz
4b2c6334d0 Change precedence of range expression 2021-10-05 17:19:48 +02:00
Laurenz
c25c6a35b2 Simpler and more versatile row and column gutter arguments 2021-10-02 19:35:02 +02:00
Laurenz
1d60525690 Fix panic in grid due to empty auto row 2021-10-02 18:41:03 +02:00
Laurenz
2818ceee44 New default fonts 2021-09-30 22:50:14 +02:00
Laurenz
30f302f7ff Treat lone hashtag as text 2021-09-30 19:41:28 +02:00
Laurenz
9e78dbe525 Better function and closure pretty printing 2021-09-30 19:07:17 +02:00
Laurenz
6d26e15fbe Support else if 2021-09-30 19:07:06 +02:00
Laurenz
9e95502622 No hashtag before else anymore 2021-09-30 18:28:25 +02:00
Laurenz
989d344d3d Implement Display for Tracepoint 2021-09-29 00:10:39 +02:00
Laurenz
a0065eef86 Make file system loader serializable 2021-09-29 00:10:21 +02:00
Laurenz
2760e11145 Put rand behind layout cache feature 2021-09-29 00:09:41 +02:00
Laurenz
0e89facb53 Allow linear values for text edges 2021-09-28 10:53:54 +02:00
Laurenz
f1ab290572 Refactor line reordering from callback to iterator 2021-09-27 22:45:29 +02:00
Laurenz
ed0c804017 Add spacing capabilities to stack function
- Named argument `spacing` controls spacing between any two template arguments
- Arbitrary linears in the list can produce arbitrary spacing
2021-09-27 22:23:26 +02:00
Laurenz
e10b3d838a Fix panic due to bad alignments in stack function 2021-09-27 13:45:18 +02:00
Laurenz
ff37a2893d More useful incremental checks
Co-Authored-By: Martin <mhaug@live.de>
2021-09-27 11:40:28 +02:00
Laurenz
1982a0639e Expand all but last region for broken up auto rows 2021-09-27 11:39:31 +02:00
Laurenz
6c478face4 Fix paragraph constraints
Co-Authored-By: Martin <mhaug@live.de>
2021-09-27 11:38:18 +02:00
Laurenz
19e17cc6ac Simplify decoration handling 2021-09-26 12:43:45 +02:00
Laurenz
a493b9533a More useful Debug impls 2021-09-26 12:24:24 +02:00
Laurenz
72eb243e26 Simplify source file loading logic 2021-09-25 23:44:33 +02:00
Laurenz
5594868f8b Prevent paragraph from overflowing due to trailing linebreak 2021-09-25 23:35:27 +02:00
Laurenz
cdb9867e0d Highlight dots in variables 2021-09-25 21:53:56 +02:00
Laurenz
ea921aca5d Blocks directly in template also scope 2021-09-15 13:12:07 +02:00
Laurenz
5de791d9e6 Rename SyntaxTree to Markup
Also `SyntaxNode` -> `MarkupNode`.
2021-09-15 13:05:01 +02:00
Laurenz
c18321a4c2 Bugfix and tidying 2021-09-15 13:05:00 +02:00
Laurenz
87e776fceb Add BoolExt trait with flip method 2021-09-14 12:27:21 +02:00
Laurenz
18190f377a Reimplement Debug for layout nodes 2021-09-10 15:10:35 +02:00
Laurenz
b0b4607725 Set the correct base for grid cells 2021-09-10 15:10:34 +02:00