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
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
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
c25c6a35b2
Simpler and more versatile row and column gutter arguments
2021-10-02 19:35:02 +02:00
Laurenz
2818ceee44
New default fonts
2021-09-30 22:50:14 +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
0e89facb53
Allow linear values for text edges
2021-09-28 10:53:54 +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
5594868f8b
Prevent paragraph from overflowing due to trailing linebreak
2021-09-25 23:35:27 +02:00
Laurenz
ea921aca5d
Blocks directly in template also scope
2021-09-15 13:12:07 +02:00
Laurenz
b0b4607725
Set the correct base for grid cells
2021-09-10 15:10:34 +02:00
Laurenz
7f48e8fe66
Make user-facing "debug" representation use Debug instead of Display
2021-08-31 16:25:12 +02:00
Laurenz
3481d8cc81
More utility functions
...
- join("a", "b", "c", sep: ", ")
- int("12")
- float("31.4e-1")
- str(10)
- sorted((3, 2, 1))
2021-08-31 12:59:53 +02:00
Laurenz
ee84bf7408
Add abs() function
2021-08-30 16:59:09 +02:00
Laurenz
ff25573224
Lower- and uppercase string conversion functions
2021-08-30 16:39:16 +02:00
Laurenz
e4e79990da
Allow body for font function once again
2021-08-29 15:09:54 +02:00
Laurenz
fab8bedd29
Primitive raster glyph drawing
2021-08-27 14:08:32 +02:00
Laurenz
17ea0d4ba9
Make font fallback disableable
2021-08-27 14:08:31 +02:00
Laurenz
148a06c070
Switch from state to decorations for underline/strikethrough/overline
2021-08-24 00:41:15 +02:00
Martin
d546453880
Links! ( #43 )
...
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2021-08-23 23:56:33 +02:00
Laurenz
0806af4aec
Kerned PDF output
2021-08-23 13:21:44 +02:00
Laurenz
c0377de653
Shorter/clearer field name for geometry types
...
Size { width, height } => Size { w, h }
Spec { horizontal, vertical } => Spec { x, y }
Gen { cross, main } => Gen { inline, block }
2021-08-21 19:08:47 +02:00
Laurenz
0dd4ae0a7a
Prune derives
2021-08-21 17:30:21 +02:00
Laurenz
a6f260ca39
Refactor layouting a bit
...
Notably:
- Handle aspect ratio in fixed node
- Inline constraint inflation into pad node
2021-08-19 15:52:15 +02:00
Martin
fdab7158c9
Pattern properties ( #42 )
...
Included in this package are:
* Code review I: The unnamed review.
* Code Review II: How I met your review.
* Code Review III: Code, the final frontier. These are the voyages of the USS Review ...
2021-08-19 15:07:11 +02:00
Laurenz
594809e35b
Library functions behave more imperatively
...
- 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-17 22:20:37 +02:00
Laurenz
9a798ce6f6
Make percentages for h and v relative to area instead of font size
2021-08-17 00:17:28 +02:00
Laurenz
6ae6d86b9c
Separate type for string values
2021-08-14 15:55:39 +02:00
Laurenz
6a3385e4e7
Argument collection and spreading
2021-08-13 16:55:45 +02:00
Laurenz
144f208821
Add file information to spans
2021-08-13 14:33:58 +02:00
Laurenz
d002cdf451
Named arguments for user defined functions
2021-08-12 16:07:42 +02:00
Laurenz
ccb4be4da4
Make range-end exclusive
2021-08-12 14:54:52 +02:00
Laurenz
eaa3cbaa9c
Array and dictionary indexing
2021-08-12 13:56:23 +02:00