Laurenz
4ec3bcee48
Remove pins and memoization
2022-09-19 11:16:05 +02:00
Laurenz
0d12f2ab23
[WIP] Label and reference syntax
2022-09-07 11:07:17 +02:00
Laurenz
fc574b3945
New `Str` type with methods
2022-07-26 23:27:44 +02:00
Laurenz
1e9a5eda48
Rework array methods
2022-07-26 23:24:30 +02:00
Laurenz
ef866b0cd1
Move casting into separate module
2022-07-26 23:16:03 +02:00
Laurenz
7fb19d5ef8
Unified file loading errors
2022-06-14 20:07:27 +02:00
Laurenz
7a6c2cce77
Make radius configuration unconfusing
2022-06-14 17:17:54 +02:00
Laurenz
c81e2a5f56
Many fixes
2022-06-14 13:53:02 +02:00
Laurenz
2fe549c1ec
Fix inline math formula frame size
2022-06-13 14:07:48 +02:00
Laurenz
ed6550fdb0
Bump dependencies
2022-06-10 23:54:16 +02:00
Laurenz
08a6188123
Remove green/red distinction
2022-05-31 10:40:30 +02:00
Laurenz
ccb4753e24
Find optionally takes function instead of value
2022-05-30 10:33:51 +02:00
Laurenz
806d9f0d9a
Pure functions!
2022-05-26 17:14:44 +02:00
Laurenz
3e052e6e01
All methods for groups
2022-05-26 14:29:10 +02:00
Laurenz
a9869c212f
Locatable groups
2022-05-26 13:49:44 +02:00
Laurenz
66d8f4569a
Locate me!
2022-05-26 11:59:53 +02:00
Martin Haug
99cb655832
Intra-document links
2022-05-27 12:56:20 +02:00
Laurenz
0170913d54
Rebrand queries as memoization
2022-05-25 21:56:22 +02:00
Laurenz
30fdba4356
Move deps from context to VM
2022-05-25 14:56:37 +02:00
Laurenz
c010cbc17d
Move route from context to VM
2022-05-25 13:59:06 +02:00
Laurenz
6935cf8dfe
Virtual machine
2022-05-25 11:51:28 +02:00
Laurenz
3965e10281
Hack in ReX for now
2022-05-18 19:09:57 +02:00
Laurenz
a741bd6b83
Absolute paths
2022-05-16 17:56:36 +02:00
Laurenz
bc1bc91a33
Allow adding `none` and anything
2022-05-16 15:55:50 +02:00
Laurenz
1df621868f
Fix control flow bug
2022-05-13 16:39:41 +02:00
Laurenz
05c27a581e
Automatically display value in more places
2022-05-13 16:27:44 +02:00
Laurenz
64f8f981c2
Fix `Cast` implementation of `LayoutNode`
2022-05-12 11:42:09 +02:00
Laurenz
778aa4e7df
Mutable field access
2022-05-09 00:11:03 +02:00
Laurenz
1927cc86da
Set, show, wrap in code blocks
2022-05-09 00:03:57 +02:00
Laurenz
bfaf5447a7
Cast content from string
2022-05-06 10:05:11 +02:00
Laurenz
2a45650dcc
Keyed pairs
2022-05-04 23:12:31 +02:00
Laurenz
e674fd7e90
New raw theme & nicer debug representation
2022-05-04 22:14:57 +02:00
Laurenz
75472fee1a
Division for lengths
2022-05-04 22:14:51 +02:00
Laurenz
507c5fc925
Text replacement show rules
2022-05-04 00:14:31 +02:00
Laurenz
e18a896a93
Test recursive show rules
2022-05-03 16:43:44 +02:00
Laurenz
d59109e8ff
Support recursive show rules
2022-05-03 15:58:15 +02:00
Martin Haug
9b4397cdab
Tests for the new shape API
2022-05-02 18:25:53 +02:00
Martin Haug
7b6f3a0ab9
A new `Cast` implementation for `Sides`
...
Reinstate circle
2022-05-02 16:35:11 +02:00
Laurenz
f9e115daf5
New block spacing model
2022-04-30 14:12:28 +02:00
Laurenz
f7c67cde72
New document & flow building
2022-04-26 13:26:31 +02:00
Laurenz
2f33ad0e0a
Rename soft linebreak to justified linebreak
2022-04-24 21:38:23 +02:00
Laurenz
8fbb11fc05
Extract `model` module
2022-04-24 15:47:42 +02:00
Laurenz
e4ee14e54f
Extract methods into separate module
2022-04-24 15:27:06 +02:00
Laurenz
50e4002a2a
Split `show` into `realize` and `finalize`
2022-04-24 14:53:43 +02:00
Laurenz
04fb8b288a
Show rules with type ascribed object
2022-04-23 21:55:58 +02:00
Laurenz
7a2cc3e7d2
Field access
2022-04-19 16:37:16 +02:00
Laurenz
67e9313b91
Soft breaks and shy hyphens
2022-04-13 14:48:19 +02:00
Martin Haug
072543fc59
Introduce `NodeKind::Quote`
2022-04-12 22:35:04 +02:00
Laurenz
56968bc0d6
Merge text runs during paragraph layout
2022-04-12 17:49:22 +02:00
Laurenz
1101a8370f
Negative array indexing
2022-04-11 16:30:34 +02:00
Laurenz
938b0af889
Spreading into arrays and dictionaries
2022-04-11 15:52:57 +02:00
Laurenz
3cc026cf39
Reorder blocks
2022-04-11 18:08:40 +02:00
Laurenz
34fa8df044
Move language-related properties from `par` to `text`
...
Closes #67
2022-04-10 23:36:36 +02:00
Laurenz
29eb13ca62
Sum color and length into stroke
2022-04-09 12:02:35 +02:00
Laurenz
712c00ecb7
Em units
2022-04-08 15:45:14 +02:00
Laurenz
977ac77e6a
Start & end alignment
2022-04-08 15:01:55 +02:00
Laurenz
e1d7edb7c1
Property resolving
2022-04-08 14:48:02 +02:00
Laurenz
4bb6240b40
Make `Relative` generic
2022-04-07 18:04:29 +02:00
Laurenz
1192132dc0
Rename length-related types
...
`Fractional` => `Fraction`
`Relative` => `Ratio`
`Linear` => `Relative`
2022-04-07 16:19:51 +02:00
Laurenz
3d52387eea
Rework style chains
2022-04-07 11:07:00 +02:00
Laurenz
23d108c8e0
Font fallback
2022-04-03 13:55:58 +02:00
Laurenz
beca01c826
Methods
2022-03-18 23:43:58 +01:00
Laurenz
77d153d315
Add `in` and `not in` operators
2022-03-15 15:27:36 +01:00
Laurenz
ae0a56cdff
Non-returning error macro
2022-03-15 11:30:13 +01:00
Martin Haug
6f5b721fe5
CR: I'm gonna make him a refactor he can't refuse
2022-03-17 10:50:51 +01:00
Laurenz
288a926fea
Knuth-Plass and MicroType
2022-03-14 20:52:32 +01:00
Laurenz
2890a156d2
Remove classes and improve naming
2022-03-12 14:24:24 +01:00
Laurenz
5ac7eb3860
Rename template to content
2022-03-11 23:36:06 +01:00
Laurenz
5ce2a006b6
Consistent block naming
2022-03-11 12:22:27 +01:00
Laurenz
e6b532391d
More restructuring
2022-03-11 11:58:56 +01:00
Laurenz
3ca5b23823
Reorganize library
2022-02-28 23:54:34 +01:00
Martin Haug
4f09233bda
Enable join collection for control flow constructs
2022-02-28 15:41:38 +01:00
Martin Haug
9fde38a6f8
CR: I've a feeling we're not in Review anymore.
2022-02-28 14:22:49 +01:00
Martin Haug
8e0f5993f1
Make loops and functions react to control flow
2022-02-28 13:41:15 +01:00
Martin Haug
d007788db8
Introduce `EvalResult` for control flow
2022-02-28 13:18:29 +01:00
Laurenz
efde5cac88
Lower and upper on templates
2022-02-24 19:56:01 +01:00
Laurenz
ecd2bca606
List above & below
2022-02-24 19:15:49 +01:00
Laurenz
49c0bac44d
First-line indents
...
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-02-24 19:15:11 +01:00
Laurenz
f2f473a81f
Query cache
2022-02-23 17:17:00 +01:00
Laurenz
e1f29d6cb9
Rework the core context
2022-02-23 14:53:55 +01:00
Laurenz
2bf32c51bc
Remove layout cache
2022-02-22 12:42:02 +01:00
Laurenz
61761604e4
Page style list fix
2022-02-20 23:54:46 +01:00
Laurenz
61d1e1a683
Remove layout-cache feature
2022-02-18 17:33:13 +01:00
Laurenz
e01970b20a
Basic show rules
2022-02-18 16:57:53 +01:00
Laurenz
05ec0f993b
Headers and footers
2022-02-18 01:07:50 +01:00
Laurenz
acae6e2a54
List label styling
2022-02-18 01:06:20 +01:00
Laurenz
980f898d55
Automatic list numbering
2022-02-17 23:00:30 +01:00
Laurenz
261f387535
Accept closures for heading styling
2022-02-17 18:12:13 +01:00
Laurenz
35610a8c6a
Fallible layout
2022-02-17 17:41:45 +01:00
Laurenz
c5e67af22b
Merge eval and layout contexts into `Vm`
2022-02-17 17:32:56 +01:00
Laurenz
3d965ae6a4
Change default parameter of `Cast`
2022-02-17 14:31:02 +01:00
Laurenz
17e3353483
Make values sync
2022-02-17 14:09:26 +01:00
Laurenz
91e45458e3
Make values hashable
2022-02-17 12:50:54 +01:00
Laurenz
c7a9bac992
Better debug implementations for numeric types
2022-02-17 12:14:50 +01:00
Laurenz
ab95627d87
Switch to const generics for nodes
2022-02-17 13:28:04 +01:00
Laurenz
624471db61
Proper error messages for shorthands
2022-02-10 10:29:17 +01:00
Laurenz
e089b6ea40
Set rules for everything
2022-02-09 12:34:19 +01:00
Laurenz
68503b9a07
Redesigned template layout
2022-02-07 20:00:21 +01:00
Laurenz
9730e785a8
Tidy up
2022-02-07 14:19:13 +01:00
Laurenz
5d05c3f68a
Refactor and fix style folding
2022-02-05 12:41:42 +01:00
Laurenz
f9d3802492
Better debug representation for template
2022-02-03 14:27:20 +01:00
Laurenz
20a1fd8bc7
Remove root node
2022-02-02 20:33:19 +01:00
Laurenz
c5e05ac0ea
Rename `into_block` to `pack`
2022-02-02 17:17:41 +01:00
Laurenz
88e50a55af
Pass arguments to call and construct directly by value
2022-02-02 16:32:30 +01:00
Laurenz
d3ccd55d4b
Split up styled and sequence template
2022-02-02 16:18:10 +01:00
Laurenz
a7b403fd74
Rename `Node` to `Template`
2022-02-02 16:02:23 +01:00
Laurenz
bdb1c008f2
Allow set & show only directly in markup
2022-02-02 11:28:31 +01:00
Laurenz
7c33c1e691
Make `Add` for `Node` a bit more efficient
2022-02-02 10:40:33 +01:00
Martin Haug
fe70db1f4c
New color stuff
...
- CMYK function
- More default colors
- Interpret RGB values as sRGB
2022-02-08 21:12:09 +01:00
Laurenz
6a6753cb69
Better function representation
2022-02-01 12:26:13 +01:00
Laurenz
20b1a38414
Switch from `Rc` to `Arc`
2022-01-31 16:47:00 +01:00
Laurenz
8d1ce390e2
Rework strong and emph
...
- Star and underscore not parsed as strong/emph inside of words
- Stars/underscores must be balanced and they cannot go over paragraph break
- New `strong` and `emph` classes
2022-01-30 22:46:59 +01:00
Laurenz
aeb036f4dc
Fix that templates don't create a scope
2022-01-29 22:32:57 +01:00
Laurenz
24d513d891
Enable for loop over captured args
2022-01-29 21:36:25 +01:00
Laurenz
3cad6bf607
Allow to add `none` and node
2022-01-29 18:14:51 +01:00
Laurenz
5c53b9ff60
Support for `wrap`
2022-01-28 22:32:53 +01:00
Laurenz
9c906f92c5
Parse `break`, `continue` and `return` expression
2022-01-28 21:01:36 +01:00
Laurenz
76b1d4a93f
Parse `show` and `wrap` expressions
2022-01-28 20:02:42 +01:00
Laurenz
c183ed3c15
Mutex comes from tex and we don't want any
2022-01-27 23:07:10 +01:00
Martin Haug
4f66907d08
Add Code Block syntax highlighting
2022-01-27 22:04:45 +01:00
Laurenz
e74ae6ce70
Make all nodes into classes
2022-01-08 00:20:48 +01:00
Laurenz
0b62439090
Scoped styles
2022-01-07 13:26:51 +01:00
Laurenz
af014cfe5e
Tidy up styling
2022-01-07 10:46:55 +01:00
Laurenz
5fd9c0b0d7
Lift styles out of individual nodes
2022-01-05 23:55:06 +01:00
Laurenz
f7e8624b4c
Refactor
2022-01-05 15:06:42 +01:00
Laurenz
179a9f4798
Clarifications and small improvements
2021-12-30 17:02:19 +01:00
Laurenz
f174134aa2
Style chains
2021-12-30 12:12:19 +01:00
Laurenz
f5dcb84e36
Make clippy a bit happier
2021-12-30 12:00:12 +01:00
Laurenz
bd304b99e5
Tidying
2021-12-28 13:41:26 +01:00
Martin
7efdcdf247
Apply simple suggestions from code review
...
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-12-27 12:33:53 +01:00
Martin Haug
b22ce6f8b8
Introduce equal-width columns
2021-12-26 15:59:24 +01:00
Laurenz
438255519e
Review One: A Set Rules Story
2021-12-22 19:19:32 +01:00
Laurenz
11565a40b3
Set Rules Episode IX: The Rise of Testing
2021-12-21 00:20:24 +01:00
Laurenz
958f74f777
Set Rules Episode VIII: The First Macro
2021-12-16 14:43:02 +01:00
Laurenz
2a3d0f4b39
Set Rules Episode VII: The Set Awakens
2021-12-15 20:27:41 +01:00
Laurenz
244ad386ec
Set Rules Episode VI: Return of the Refactor
2021-12-15 12:49:20 +01:00
Laurenz
57f5c0a1b1
Set Rules Episode V: The Tests Strike Back
2021-12-15 11:12:38 +01:00
Laurenz
ae38be9097
Set Rules Episode IV: A New Fold
2021-12-15 11:11:57 +01:00
Laurenz
fe21c4d399
Set Rules Episode III: Revenge of the packer
2021-12-09 13:42:52 +01:00
Laurenz
40b87d4066
Set Rules Episode II: Attack of the properties
2021-12-07 16:36:39 +01:00
Laurenz
26bdc1f0f6
Set Rules Episode I: The Phantom Style
2021-12-05 12:54:03 +01:00
Laurenz
cae60ea0cc
Go back to wrapping inline nodes
2021-11-29 13:12:50 +01:00
Laurenz
50bd863471
More independent placed node
2021-11-26 23:51:18 +01:00
Laurenz
3a15922d2f
X/Y abstractions
2021-11-26 16:32:06 +01:00
Laurenz
393d74f9bb
Layout improvements
2021-11-25 20:51:16 +01:00
Laurenz
4f9e5819bb
2d alignments with plus operator
2021-11-23 12:45:20 +01:00
Laurenz
ed50661378
Castable optional and smart values
2021-11-29 16:47:35 +01:00
Laurenz
cef46e6c40
Strokes
2021-11-20 15:51:07 +01:00
Laurenz
5a59bb4821
Page fill
2021-11-18 12:50:28 +01:00
Laurenz
b2e6a29789
Refactoring
2021-11-18 00:58:32 +01:00