Commit Graph

865 Commits

Author SHA1 Message Date
Martin Haug ee12bf6716 Iterate over target regions instead in columns loop 2021-12-27 13:41:57 +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
Martin Haug 738ff7e1f5 Reduce the size of the `FramesEntry` struct and bump edition 2021-12-13 15:56:14 +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 2982020480 Bump pdf-writer 2021-12-04 21:55:23 +01:00
Martin Haug d971ac9a8c Add a producer info for the PDF 2021-12-02 17:24:52 +01:00
Laurenz bfa9962632 Remove baseline weirdness 2021-12-02 14:48:12 +01:00
Laurenz f3bdc9d3da Syntax highlighting 2021-11-30 18:55:50 +01:00
Laurenz e4e4c1876f Fix square and circle width & height 2021-11-29 16:13:53 +01:00
Laurenz 67705e2038 Fix vertical image expansion 2021-11-29 15:09:29 +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 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 304d9dd110 Small style changes 2021-11-24 17:00:10 +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 02f114d072 Remove decorum 2021-11-22 15:50:35 +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 e869c899bc More intuitive auto image sizing in grid 2021-11-17 22:29: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 0cdf17216f Abstraction for fr resolving 2021-11-16 18:15:47 +01:00
Laurenz 79638d4bbd Don't wrap already layoutable nodes into flows/pars unnecessarily 2021-11-16 12:47:14 +01:00
Laurenz 73c4701749 Introduce `SizedNode` 2021-11-16 11:40:42 +01:00
Laurenz 0e0f340502 Revert page and inline levels 2021-11-16 10:41:30 +01:00
Laurenz bc118634ac Remove alignment from stack 2021-11-16 10:22:46 +01:00
Laurenz 210c4d9373 Move `lang` functionality into `par` 2021-11-16 00:37:33 +01:00
Laurenz 370802de13 Simplify `FlowNode` a bit 2021-11-16 00:32:41 +01:00
Laurenz 972c940e07 Introduce `FlowNode` 2021-11-16 00:12:43 +01:00
Martin Haug bcde4a3e51 Fix a grid constraint 2021-11-27 15:05:26 +01:00
Martin Haug 5677766715 Fix some comments 2021-11-24 20:07:44 +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 63c274e7f6 Make clippy happier and remove `Str` 2021-11-15 17:06:43 +01:00
Laurenz 8a38899c98 Tidying 2021-11-14 15:06:34 +01:00
Laurenz 14048937b8 Search for fonts in the project directory 2021-11-14 13:13:27 +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 95866d5fc9 Tidy up AST 2021-11-08 01:37:49 +01:00
Laurenz 8117ca9950 Deduplicate trivia search 2021-11-06 15:49:39 +01:00
Laurenz 41bdafb578 Faster parser 2021-11-06 15:49:39 +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 f0c9635db5 Notes 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 42afb27cef Add documentation 2021-11-05 13:44:50 +01:00
Martin Haug 49fb3cd4e2 Code Review: Life is Like a Box of Iterators 2021-11-05 13:44:50 +01:00
Martin Haug 7d34a548cc Reorganize syntax module 2021-11-05 13:44:50 +01:00
Martin Haug 2e7d359e59 Unicode escape error moved to tokenizer 2021-11-05 13:44:49 +01:00
Martin Haug c569e14c07 Improve error handling 2021-11-05 13:44:49 +01:00
Martin Haug 1c0ac793d2 Slim `NodeKind` memory footprint 2021-11-05 13:44:49 +01:00
Martin Haug 84d35efee3 Less owning, more iterating 2021-11-05 13:44:49 +01:00
Martin Haug 4875633acf Change parser 2021-11-05 13:44:49 +01:00
Laurenz ea6ee3f667 Fix page breaks in lists and enums 2021-11-02 10:42:32 +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 feff013abb More useful `Spec` helpers 2021-10-31 14:40:15 +01:00
Laurenz 564cb7e989 Fix panic in pad node 2021-10-31 13:51:28 +01:00
Laurenz 4645d1a517 Switch to borrowed strings in `split_lines` 2021-10-29 16:36:09 +02: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 5c534fb428 Simplify node construction 2021-10-26 17:14:11 +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 b42ecbd6a6 Simplify decorations 2021-10-23 20:24:35 +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