Laurenz
2661f1a506
Round to nearest `u8` instead of flooring
2022-09-25 21:46:54 +02:00
Martin Haug
b14274d1e4
Methods to modify colors
2022-09-25 20:04:33 +02:00
Laurenz
f6adc45638
XML reading
2022-09-25 18:20:39 +02:00
Laurenz
fffb55f79a
JSON reading
2022-09-25 17:37:16 +02:00
Laurenz
ddd3b6a82b
Tracked memoization
2022-09-21 20:25:57 +02:00
Laurenz
3760748fdd
Refactor error handling
2022-09-20 19:49:47 +02:00
Laurenz
757a701c1a
A New World
2022-09-20 16:37:15 +02:00
Laurenz
e29f55bb29
Remove font store
2022-09-19 17:44:40 +02:00
Laurenz
30be75c668
Renaming
...
`Face` -> `Font`
`FaceId` -> `FontId`
`SourceFile` -> `Source`
2022-09-19 11:36:59 +02:00
Laurenz
4ec3bcee48
Remove pins and memoization
2022-09-19 11:16:05 +02:00
Laurenz
e5f958b921
Handle line comments nested in block comments
...
Fixes #76
2022-09-19 11:05:25 +02:00
Laurenz
b98004330b
Handle non-breaking spaces during justification
2022-09-19 10:28:06 +02:00
Laurenz
0d12f2ab23
[WIP] Label and reference syntax
2022-09-07 11:07:17 +02:00
Laurenz
9362c279de
CSV reading
2022-07-27 00:09:15 +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
0dacb2d151
Fix error messages on Windows
2022-06-14 18:18:28 +02:00
Laurenz
20b990d297
Anti-aliased image rendering
2022-06-14 17:20:31 +02:00
Laurenz
7a6c2cce77
Make radius configuration unconfusing
2022-06-14 17:17:54 +02:00
Laurenz
6832ca2a26
Ensure expressions can continue after a multiline block
2022-06-14 14:05:46 +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
7660978ee5
Move `Arc` into `Frame`
2022-06-12 20:51:31 +02:00
Laurenz
6e3b1a2c80
Make all fields of `Frame` private
2022-06-12 17:26:18 +02:00
Laurenz
ed6550fdb0
Bump dependencies
2022-06-10 23:54:16 +02:00
Laurenz
94b375ce55
Incremental renumbering
2022-06-01 13:49:02 +02:00
Laurenz
0a9172cb15
Enforce and make use of span ordering
2022-05-31 13:19:09 +02:00
Laurenz
9bbebd69dd
Numbered spans
2022-05-31 12:37:05 +02:00
Laurenz
08a6188123
Remove green/red distinction
2022-05-31 10:40:30 +02:00
Martin Haug
755d468198
Fix inline nodes and decorations
...
Also Code Review 👯♂️
2022-06-01 11:43:03 +02:00
Martin Haug
4e3036afcb
Sub- and superscripts
...
Fixes to PDF export I guess
Also improved rendition for non-Latin scripts
2022-05-31 22:56:08 +02:00
Laurenz
ccb4753e24
Find optionally takes function instead of value
2022-05-30 10:33:51 +02:00
Laurenz
90be79dc86
Page background and foreground
2022-05-28 00:26:24 +02:00
Laurenz
1a7ce3da02
Luma color
2022-05-27 16:09:43 +02:00
Laurenz
d4e59d4be1
Make justified break work for last line
2022-05-27 15:54:54 +02:00
Laurenz
736289b064
Ensure me is always contained in all
2022-05-27 14:20:05 +02:00
Laurenz
ae68a15a46
Print function for debugging
2022-05-27 14:19:58 +02:00
Laurenz
806d9f0d9a
Pure functions!
2022-05-26 17:14:44 +02:00
Laurenz
22214a1e0a
Test groups
2022-05-27 14:23:05 +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
c010cbc17d
Move route from context to VM
2022-05-25 13:59:06 +02:00
Laurenz
3309ff9fe5
Slim down context
2022-05-25 11:16:03 +02:00
Laurenz
018860da9c
Parse math fonts only once
2022-05-24 19:30:09 +02:00
Laurenz
08554380f8
Fix generated strong and emphasized text
2022-05-19 13:11:00 +02:00
Laurenz
5a7c901f21
Switch to New Computer Modern Math
2022-05-19 12:59:39 +02:00
Laurenz
3965e10281
Hack in ReX for now
2022-05-18 19:09:57 +02:00
Laurenz
242b01549a
Safe `eval` function
2022-05-16 20:22:48 +02:00
Laurenz
a741bd6b83
Absolute paths
2022-05-16 17:56:36 +02:00
Laurenz
6536e9e069
Table fill closure
2022-05-16 16:04:40 +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
3e9c63d685
Underline headings in raw theme
2022-05-13 13:52:26 +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
15ef72cca4
Fix empty heading
2022-05-04 23:34:02 +02:00
Laurenz
1bca9ccecb
Improve diagnostics
2022-05-04 23:26:15 +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
ba5622b7b9
Move smallcaps into separate function
2022-05-04 13:21:31 +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
6a8a0ec6ec
Code Review: Heap is Stack. Unsafe is Good.
...
Spaghetti Code is Style.
2022-05-03 12:59:41 +02:00
Martin Haug
33213abe7d
New page margins API
2022-05-02 18:48:32 +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
Martin Haug
84a4961a5d
Outset; fix folding
2022-05-01 14:56:07 +02:00
Laurenz
f9e115daf5
New block spacing model
2022-04-30 14:12:28 +02:00
Martin Haug
649c101f07
Add blind text function
2022-04-25 14:20:47 +02:00
Laurenz
7163b4a6c5
Soft pagebreak
2022-04-24 21:58:45 +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
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
255d4c620f
Automatic frame merging
2022-04-19 13:54:04 +02:00
Laurenz
a302105b9f
Fix duplicate RTL text and alignment + fr bugs
2022-04-18 12:37:22 +02:00
Laurenz
db820ae9aa
Repeat function
2022-04-17 12:11:00 +02:00
Laurenz
4494b443bb
Ellipsis
2022-04-16 23:06:47 +02:00
Laurenz
c5b3f8ee98
Switch to `unscanny`
2022-04-16 22:23:57 +02:00
Laurenz
2db4b603db
Fix bug with enums starting at zero
2022-04-14 13:24:48 +02:00
Laurenz
b274155c6d
Improve language and add region controls
2022-04-13 16:01:24 +02:00
Laurenz
d025854457
Make language non-optional with english as default
2022-04-13 15:01:19 +02:00
Laurenz
67e9313b91
Soft breaks and shy hyphens
2022-04-13 14:48:19 +02:00
Laurenz
2279c26543
Smart quotes
...
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-04-13 13:08:46 +02:00
Laurenz
e8dd842c66
Fix bug with basically empty paragraph
2022-04-13 11:59:05 +02:00
Laurenz
002b6c5b3e
Don't hang quotes
2022-04-13 11:24:42 +02:00
Laurenz
c3a387b8f7
Segment by script
2022-04-12 22:23:08 +02:00
Laurenz
1101a8370f
Negative array indexing
2022-04-11 16:30:34 +02:00
Laurenz
cd62792c0a
Prevent duplicate named arguments and dictionary keys
2022-04-11 16:11:16 +02:00
Laurenz
938b0af889
Spreading into arrays and dictionaries
2022-04-11 15:52:57 +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
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
eb22eed31b
Make chinese justification less bad
2022-04-07 12:51:03 +02:00
Laurenz
3d52387eea
Rework style chains
2022-04-07 11:07:00 +02:00
Laurenz
20b4d590b3
Fix wrong `search_range` computation
2022-04-05 17:03:24 +02:00
Laurenz
b8233a9e01
Don't allow empty lists and enums
2022-04-05 15:10:15 +02:00
Laurenz
b865accae6
Don't allow headings to span multiple lines
2022-04-05 15:04:31 +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
Martin Haug
4d617bcd67
`LineNode`
2022-03-16 12:36:50 +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
e6b532391d
More restructuring
2022-03-11 11:58:56 +01:00
Laurenz
b71113d37a
Hyphenation
2022-03-08 19:49:26 +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
8e0f5993f1
Make loops and functions react to control flow
2022-02-28 13:41:15 +01:00
Laurenz
b0f4b13f6d
Basic justification
2022-02-25 20:48:38 +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
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
c7e52f2048
Refactor paragraph layout
2022-02-21 16:47:06 +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
c7a9bac992
Better debug implementations for numeric types
2022-02-17 12:14:50 +01:00
Laurenz
5965515a1e
Allow escaping of `-` and `.`
2022-02-10 13:19:03 +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
5d05c3f68a
Refactor and fix style folding
2022-02-05 12:41:42 +01:00
Laurenz
20a1fd8bc7
Remove root node
2022-02-02 20:33:19 +01:00
Laurenz
d3ccd55d4b
Split up styled and sequence template
2022-02-02 16:18:10 +01:00
Laurenz
bdb1c008f2
Allow set & show only directly in markup
2022-02-02 11:28:31 +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
Martin Haug
9a9c6f22c4
Add evasion of glyph shape for under- and overlines
2022-02-04 00:30:23 +01:00
Martin Haug
bd0d0e10d8
Harmonize non-negative int arguments
2022-02-03 11:32:16 +01:00
Martin Haug
3f76aadb1a
Add modulo
2022-02-03 11:32:16 +01:00
Martin Haug
e6a0447f9d
Add roman numeral and footnote formatting
2022-02-03 11:32:15 +01:00
Laurenz
20b1a38414
Switch from `Rc` to `Arc`
2022-01-31 16:47:00 +01:00
Laurenz
fa57d86ed9
Fix another parser bug
2022-01-31 13:57:15 +01:00
Laurenz
8f37189d6f
Fix incremental parsing bugs
2022-01-31 13:26:52 +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
d7072f378f
Also debug print syntax tree
2022-01-30 11:16:57 +01:00
Laurenz
aeb036f4dc
Fix that templates don't create a scope
2022-01-29 22:32:57 +01:00
Laurenz
44ebefbec2
Add `hide` class
2022-01-29 22:32:01 +01:00
Laurenz
24d513d891
Enable for loop over captured args
2022-01-29 21:36:25 +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
3a07603b66
Remove unnecessary group
2022-01-28 20:17:30 +01:00
Laurenz
76b1d4a93f
Parse `show` and `wrap` expressions
2022-01-28 20:02:42 +01:00
Martin Haug
4f66907d08
Add Code Block syntax highlighting
2022-01-27 22:04:45 +01:00
Laurenz
3739ab7720
Export into rendered images
2022-01-24 17:39:49 +01:00
Laurenz
db158719d6
Simplify CLI
2022-01-24 16:44:52 +01:00
Laurenz
36cae88799
Fix table panic
2022-01-18 13:46:56 +01:00
Laurenz
0c5243fa80
Basic tables
2022-01-17 16:01:01 +01:00
Laurenz
b3062ee880
Make use of new Rust 1.58 formatting feature
2022-01-13 18:43:18 +01:00
Laurenz
c7f52ed048
Add `even` and `odd` functions
2022-01-13 14:14:00 +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
f7e8624b4c
Refactor
2022-01-05 15:06:42 +01:00
Martin Haug
c994cfa7d8
Code Review: Your parsers were so preoccupied with whether they could
2022-01-04 00:21:33 +01:00
Martin Haug
98c96ba1cb
Fix parser / space / error bug
2022-01-02 14:46:08 +01:00
Martin Haug
5f114e18eb
Added a test framework for incremental parsing
...
Fix several errors:
- Indented markup is now reparsed right
- All end group errors will now fail a reparse
- Rightmost errors will always fail a reparse
2022-01-02 00:46:19 +01:00
Laurenz
f174134aa2
Style chains
2021-12-30 12:12:19 +01:00
Laurenz
5d5d8a21cf
Bump and lock dependencies
2022-01-01 12:23:00 +01:00
Martin Haug
7f7e14d95f
Minor changes to columns
2021-12-28 00:23:42 +01:00
Martin Haug
37328f11ed
Adjust column size and expansion handling
2021-12-27 19:01:36 +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
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
40b87d4066
Set Rules Episode II: Attack of the properties
2021-12-07 16:36:39 +01:00
Martin Haug
7c829c5c1b
Bump pdf-writer, svg2pdf and error messages
...
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-12-07 00:06:54 +01:00
Martin Haug
f15ee7efb6
Add SVG capabilities
2021-12-06 14:58:57 +01:00
Laurenz
bfa9962632
Remove baseline weirdness
2021-12-02 14:48:12 +01:00
Laurenz
e915cc4ef0
No more duplicate debug prints due to incremental tests
2021-11-29 23:22:53 +01:00
Laurenz
e4e4c1876f
Fix square and circle width & height
2021-11-29 16:13:53 +01:00
Laurenz
cae60ea0cc
Go back to wrapping inline nodes
2021-11-29 13:12:50 +01:00
Laurenz
e36b8ed374
Layout bugfixes
2021-11-29 12:06:38 +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
8a88f71cb1
Transformations
2021-11-23 22:04:08 +01:00
Laurenz
c77c5a0f0a
Simpler alignment resolving
2021-11-23 14:25:50 +01:00
Laurenz
4f9e5819bb
2d alignments with plus operator
2021-11-23 12:45:20 +01:00
Laurenz
d3f6040ced
Horizon alignment
2021-11-23 11:58:16 +01:00
Laurenz
0a974d86ba
Welcome to Tigerland
2021-11-22 15:26:56 +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
70c0dd7674
Small fixes
2021-11-19 13:16:43 +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
Laurenz
d9c529347d
Configurable paragraph alignment
2021-11-17 23:54:43 +01:00
Laurenz
095fa52be5
Placed node
2021-11-17 23:09:23 +01:00
Laurenz
89f2e71852
Align node
2021-11-17 17:09:19 +01:00
Laurenz
9a800daa82
Image fit modes
2021-11-16 21:32:29 +01:00
Laurenz
79638d4bbd
Don't wrap already layoutable nodes into flows/pars unnecessarily
2021-11-16 12:47:14 +01:00
Laurenz
0e0f340502
Revert page and inline levels
2021-11-16 10:41:30 +01:00
Laurenz
210c4d9373
Move `lang` functionality into `par`
2021-11-16 00:37:33 +01:00
Laurenz
0ad0fa5a05
RTL tracking test
2021-11-20 13:26:28 +01:00
Martin Haug
c020707ebc
Add tracking to font function
2021-11-20 12:36:03 +01:00
Laurenz
38c5c36241
Final touches
2021-11-08 13:06:11 +01:00
Laurenz
75fffc1f9b
Fine-grained capturing
2021-11-08 11:52:09 +01:00
Laurenz
515fe89c5e
Style changes
...
Co-Authored-By: Martin <mhaug@live.de>
2021-11-05 13:46:42 +01:00
Martin Haug
cf2e527a02
Code Review: No Patrick, question marks are not an instrument
2021-11-05 13:46:41 +01:00
Martin Haug
5c952d56d0
New error handling
2021-11-05 13:46:41 +01:00
Laurenz
65fac0e57c
Refactoring
...
Co-Authored-By: Martin <mhaug@live.de>
2021-11-05 13:46:41 +01:00
Martin Haug
1c0ac793d2
Slim `NodeKind` memory footprint
2021-11-05 13:44:49 +01:00
Martin Haug
4875633acf
Change parser
2021-11-05 13:44:49 +01:00
Laurenz
c4a87e5e7c
Number style -> type
2021-11-02 10:39:45 +01:00
Laurenz
072e7c710c
Reduce namespace pollution
2021-11-02 10:39:45 +01:00
Martin Haug
8ccb7d6f15
Smallcaps, sub- and superscript, ligature ctrls...
2021-11-02 10:39:45 +01:00
Laurenz
5b344b663a
Reorganize modules
...
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-10-31 15:52:35 +01:00
Laurenz
564cb7e989
Fix panic in pad node
2021-10-31 13:51:28 +01:00
Laurenz
1af194f383
Dedent code blocks
2021-10-29 16:26:47 +02:00
Laurenz
de6786eb28
Allow multiple template bodies
2021-10-29 16:04:55 +02:00
Laurenz
d1ecb7e52e
Add `move` function
2021-10-28 16:51:57 +02:00
Laurenz
fb0cd3df6e
Fr in stack and par
2021-10-26 14:56:10 +02:00
Laurenz
1ca4ff69e2
Trim `mailto:` and `tel:` from links
2021-10-26 14:51:57 +02:00
Laurenz
3968181622
Replace `..` syntax with `range` function
2021-10-25 13:38:32 +02:00
Laurenz
adf52a873f
Drop `iso-` prefix for A papers
2021-10-23 22:52:40 +02:00
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
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
Laurenz
8207c31aec
Minor refactorings
...
- 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-10 11:28:12 +02:00
Laurenz
3932bb2cb9
New source loading architecture
2021-08-09 11:26:41 +02:00
Laurenz
3c92bad9a7
Pretty-printed diagnostics with traceback
2021-08-01 00:00:36 +02:00
Laurenz
fbd3d19113
Call args span now includes parens
2021-07-31 22:41:06 +02:00
Laurenz
e35fca54a0
Change indent from 4 to 2 spaces
2021-07-30 18:49:20 +02:00
Laurenz
1ee1d078e2
Fatal errors
...
- 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-30 18:49:19 +02:00
Laurenz
2c6127dea6
Refactor state
2021-07-29 13:28:19 +02:00
Laurenz
7aa3d2c2d6
No more excessive region cloning
2021-07-26 00:29:37 +02:00
Laurenz
56cbf96fe2
Move incremental test into separate function
2021-07-26 00:08:08 +02:00
Laurenz
ec5384c97f
State-based monospace handling
2021-07-25 01:16:38 +02:00
Laurenz
adb71ee040
Move and refactor
2021-07-25 01:03:38 +02:00
Laurenz
b0e5212973
Fs builder methods + tidy up
2021-07-21 11:28:33 +02:00
Laurenz
9488b1b850
Main context struct
2021-07-21 11:28:29 +02:00
Laurenz
8000783f95
FileId instead of Path + FileHash
2021-07-20 18:35:05 +02:00
Laurenz
891e0c5fa6
Remove warnings from parsing and casting
2021-07-10 23:14:46 +02:00
Laurenz
36b3067c19
Eco string 🌱
2021-07-10 13:07:39 +02:00
Laurenz
9950627789
Even shorter error annotations
...
Error annotations are now relative to the first following non-comment line.
2021-07-09 10:50:25 +02:00
Laurenz
0c74290519
Compare functions and templates by identity
2021-07-08 23:36:20 +02:00
Laurenz
fd0b89a1d8
Rename Fill to Paint
2021-07-08 22:33:44 +02:00
Laurenz
7e2c217cbc
Rename some library arguments
...
- font
- color -> fill
- shorthands for families and size
- decoration functions
- color -> stroke
- strength -> thickness
- position -> offset
- invert offsets: now positive goes downwards just like the rest of typst
2021-07-08 21:42:36 +02:00
Laurenz
551e3af9d0
Replace using with from
2021-07-08 21:16:16 +02:00
Laurenz
5c327e249e
Switch to = for headings once again
2021-07-08 20:03:13 +02:00
Laurenz
f85e5aac64
URL special case for line comments
2021-07-08 19:37:38 +02:00
Laurenz
5a500fb8a7
Range operator
2021-07-08 19:12:07 +02:00
Laurenz
c5635d8a3f
Handle missing arguments to with expr
2021-07-08 18:56:52 +02:00
Laurenz
44d8028b49
Allow wide calls only directly in templates
2021-06-30 22:49:11 +02:00
Laurenz
17e8946884
Remove color literals ( #39 )
2021-06-30 22:32:24 +02:00
Laurenz
45812b7001
Merge pull request #35 from typst/wide-calls
...
Wide calls
2021-06-30 11:04:53 +02:00
Laurenz
d5d2b80699
Merge pull request #34 from typst/cfg-conditional
...
Put incremental compilation behind feature
2021-06-30 00:43:53 +02:00
Laurenz
2f44d10aa4
Make test separators commentable
2021-06-29 16:05:05 +02:00
Laurenz
b2fb42cc70
Make even more use of wide calls
2021-06-29 16:00:46 +02:00
Laurenz
32a6b673bc
Make use of wide calls
2021-06-29 13:49:50 +02:00
Laurenz
b89cd128ae
Wide calls
2021-06-29 13:49:50 +02:00
Martin Haug
21d919e2d2
Put incremental compilation behind feature
2021-06-29 12:33:24 +02:00
Martin Haug
e9960b8942
Code review: Reverse temperature
2021-06-27 18:58:31 +02:00
Martin
6f518c1728
Adjust comments
...
Co-authored-by: Laurenz <laurmaedje@gmail.com>
Update tests/typ/layout/stack.typ
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2021-06-27 18:58:28 +02:00
Martin Haug
9bd8b7ddac
Code review, new stack test
2021-06-27 18:06:39 +02:00
Martin Haug
6b6cdae7ce
Testing for incremental
...
Also, constraint bugfixes.
2021-06-27 12:31:27 +02:00
Laurenz
f64c772b6d
Fix capturing bug
2021-06-27 12:05:36 +02:00
Laurenz
422b8e640f
With expressions
2021-06-26 18:07:05 +02:00
Laurenz
d53c933e4d
Add box and block functions
2021-06-26 15:47:37 +02:00
Laurenz
63cf361496
Make font take everything as keyword arguments
2021-06-25 18:14:19 +02:00
Martin
80a9b300d1
Ref count the frames
2021-06-18 13:01:55 +02:00
Martin
7db78d83be
Levels
2021-06-18 13:00:36 +02:00
Laurenz
bca035172c
Join semantics
2021-06-18 11:59:05 +02:00
Laurenz
8b6391040e
Remove eat_ prefix
2021-06-18 11:58:43 +02:00
Laurenz
6967c6c80a
Len function for strings, arrays and dictionaries
2021-06-18 10:50:08 +02:00
Laurenz
e2cdda67dc
Refactor grid row layout
2021-06-15 16:34:41 +02:00
Laurenz
4c37ebb936
Give up on not implementing Eq and Ord
2021-06-12 18:24:31 +02:00
Martin
fec1f41106
Allow grid cells to span multiple regions. ( #30 )
2021-06-12 18:19:18 +02:00
Laurenz
4017b5a9f6
Push some nodes directly into the stack
2021-06-11 14:42:20 +02:00
Laurenz
4dbd9285c9
Basic enums
2021-06-11 14:00:06 +02:00
Martin Haug
c28708aa19
Text decorations
2021-06-10 23:15:51 +02:00
Laurenz
5611c26577
Restructure tests
2021-06-10 16:46:01 +02:00
Laurenz
bce553a991
Tidy up
2021-06-09 22:44:40 +02:00
Martin Haug
29cfef0a6d
Add a grid layouter
2021-06-09 22:44:40 +02:00
Martin Haug
73fa2eda2c
Introduce `fr`s
2021-06-09 22:44:40 +02:00
Laurenz
c7416f18bd
Move invalid syntax tests into appropriate places
2021-06-09 10:51:19 +02:00
Laurenz
edff2ae680
Remove template pretty printing
...
Was buggy and pretty useless anyway since it couldn't peek into function templates.
2021-06-09 10:45:49 +02:00
Laurenz
5afb42ad89
Lists with indent-based parsing
...
- Unordered lists with indent-based parsing and basic layout using stacks
- Headings are now also indent based
- Removes syntax functions since they will be superseded by select & transform
2021-06-09 00:37:13 +02:00
Laurenz
f26526ba75
Switch back to hashtags for headings
2021-06-07 18:17:47 +02:00
Laurenz
7218892c72
Refactor path handling
2021-06-01 12:55:07 +02:00
Martin Haug
37e0846037
Test cases for include and import
2021-05-31 22:33:40 +02:00