summaryrefslogtreecommitdiff
path: root/src/library/page.rs
AgeCommit message (Collapse)Author
2021-03-17Formatting and documentation โœจLaurenz
2021-03-12Fix pagebreak-in-box bug โœ”Laurenz
2021-03-12Refactor execution context ๐Ÿ—Laurenz
- The execution context is a lot more structured: Instead of a magic stack of arbitrary objects there are static objects for pages, stacks and paragraphs - Page softness/keeping mechanic is now a lot simpler than before
2021-03-11Better expansion behaviour ๐ŸชLaurenz
This makes expansion behaviour inheritable by placing it into the area and passing it down during layouting instead of computing some approximation of what we want during execution.
2021-03-10Move around library types ๐ŸššLaurenz
2020-11-25Merge some modules ๐ŸฅžLaurenz
2020-10-19Allow configuration of directions in page and box โ†—Laurenz
2020-10-11Refactor layouting base ๐ŸชLaurenz
2020-10-10Switch back to custom geometry types, unified with layout primitives ๐ŸžLaurenz
2020-10-07Move deco, pass and feedback into diagnostics module โ†ฉLaurenz
2020-10-07Evaluation and node-based layouting ๐Ÿš€Laurenz
2020-10-05Streamline generic layouting primitives ๐Ÿ›ซLaurenz
2020-10-04Small improvements ๐ŸชLaurenz
2020-10-04Better argument parsing ๐Ÿฅ™Laurenz
2020-10-04Style nits ๐ŸŽˆLaurenz
2020-10-04Separate state and constraints ๐ŸงถLaurenz
2020-10-03Int, Float, Relative and Linear values ๐Ÿ‰Laurenz
2020-10-03Port to kurbo ๐ŸŽ‹Laurenz
2020-10-01Rename table to dict โœLaurenz
2020-08-30Format everything with rustfmt! ๐Ÿ’šLaurenz
2020-08-17Tidy up library functions ๐ŸงบLaurenz
2020-08-16Add Value type and replace dyn-nodes with call-exprs ๐Ÿ—Laurenz
- In addition to syntax trees there are now `Value`s, which syntax trees can be evaluated into (e.g. the tree is `5+5` and the value is `10`) - Parsing is completely pure, function calls are not parsed into nodes, but into simple call expressions, which are resolved later - Functions aren't dynamic nodes anymore, but simply functions which receive their arguments as a table and the layouting context - Functions may return any `Value` - Layouting is powered by functions which return the new `Commands` value, which informs the layouting engine what to do - When a function returns a non-`Commands` value, the layouter simply dumps the value into the document in monospace
2020-08-16Remove tuples and objects in favor of tables ๐Ÿ›ขLaurenz
This refactores the parser tests to make them more concise and flexible with regards to spans.
2020-08-14Desugar body into last argument ๐ŸฉLaurenz
2020-08-04Refactor function parsing โ™ปLaurenz
2020-08-04Par nodes ๐ŸงณLaurenz
2020-08-03Formatting, documentation and small improvements ๐ŸงฝLaurenz
2020-08-02Replace body! macro with functions ๐ŸงฐLaurenz
2020-08-02Refactor model into tree ๐Ÿ›’Laurenz
2020-08-02Refactor argument parsing ๐Ÿ”ฌLaurenz
2020-08-02Unify font and page functions ๐Ÿ’•Laurenz
- Removes font weight and width warnings for now, will be added again later - Adds a bit hacky get_first function for tuples, will be refactored soon anyway
2020-08-01Raw lengths ๐ŸšฒLaurenz
Replace unitless length with raw f64 and introduce length type with unit.
2020-07-29Move, rename and switch some things (boring) ๐ŸššLaurenz
- Problems -> Diagnostics - Position -> Pos - offset_spans -> Offset trait - Size -> Length (and some more size types renamed) - Paper into its own module - scope::Parser -> parsing::CallParser - Create `Decorations` alias - Remove lots of double newlines - Switch from f32 to f64
2020-07-27Refactor parser ๐Ÿš‡Laurenz
2020-07-26Rename errors to problems and make error! macro more ergonomic ๐ŸงผLaurenz
Also adds a `warning!` macro.
2020-02-04Merge `Parsed` and `Layouted` types into `Pass` with `Feedback` ๐ŸŒ๐ŸŽข๐ŸŒšLaurenz
2020-02-04Streamline Key + Value traits ๐ŸŒŠLaurenz
2020-01-26Document everything ๐Ÿ“œLaurenz
2020-01-24Reorganize modules ๐ŸงฑLaurenz
2020-01-24Non-fatal argument parsing ๐ŸŒ‹Laurenz
2019-12-04Expand functionality of function! macro ๐Ÿ›ฐLaurenz
2019-11-30Refactor layouting base โ™ปLaurenz
2019-11-19First half of flex refactoring ๐ŸฅLaurenz
2019-11-18Page style modification functions ๐Ÿ“œLaurenz
- `page.size` - `page.margins`