From aca7b507b96d2f1a78c9fdd9c60de1832e829741 Mon Sep 17 00:00:00 2001 From: Felix Hass <75806385+BattleCh1cken@users.noreply.github.com> Date: Sat, 13 Jul 2024 19:29:46 -0400 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Reorganize=20the=20components=20?= =?UTF-8?q?and=20theme=20creation=20API=20(#45)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🚧 Start work on the reorg * ✨ Implement `make-glossary` * ✨ Implement `make-pro-con` * 💘 Break ci * 💚 Fix ci * 💚 Fix ci * 💘 Break ci * 💚 Fix ci * 👷 Ci will now cancel old workflows * 👷 Docs ci will now cancel past runs * 🚧 Started work on theme constructors and error handling * ✨ Wrote a constructor for cover * 💚 Workflows should no longer cancel each other * ✨ Make constructors for rules and admonitions * 🎨 Finish porting linear and radial to the new constructors * ⬆️ Update typstfmt * 📝 Recompile glossary * 🎨 Finally the formatting in this file makes sense * 🎨 Even more formatting * 🎨 Just went ahead and formatted everything * ✨ Implement decision matrix constructor * ✨ Rewrite the linear decision matrix * ✨ Port the radial decision matrix to the new constructor * :bug: Fixed breaking API change * 🎨 Various small formatting fixes * 📝 Render gallery * ✨ Implement plot and pie chart constructors * 📝 Add some extra comments to explain what the decision matrix constructor does * ✨ Added missing entry types to the linear theme * 📝 Started documentation update * 📝 Wrote the docs for the component constructors * 📝 Correctly outlined the documentation * 📝 Updated import utils comments * ✏️ Fixed typos * 📝 Update docs/src/developer_documentation/custom_themes.md Co-authored-by: RubyflameWarrior <104446839+RubyflameWarrior@users.noreply.github.com> * 📝 Update docs/src/developer_documentation/custom_themes.md Co-authored-by: RubyflameWarrior <104446839+RubyflameWarrior@users.noreply.github.com> * 📝 Update docs/src/developer_documentation/custom_themes.md Co-authored-by: RubyflameWarrior <104446839+RubyflameWarrior@users.noreply.github.com> * 📝 Replace a TODO comment with something clearer * 📝 Update utils/components.typ Co-authored-by: RubyflameWarrior <104446839+RubyflameWarrior@users.noreply.github.com> * :memo: Wrote the documentation for the theme constructors * :memo: Update utils/theme.typ Co-authored-by: RubyflameWarrior <104446839+RubyflameWarrior@users.noreply.github.com> * :memo: Update utils/theme.typ Co-authored-by: RubyflameWarrior <104446839+RubyflameWarrior@users.noreply.github.com> * :memo: Update themes/radial/components/gantt-chart.typ Co-authored-by: RubyflameWarrior <104446839+RubyflameWarrior@users.noreply.github.com> * :memo: Update docs/src/developer_documentation/custom_themes.md Co-authored-by: RubyflameWarrior <104446839+RubyflameWarrior@users.noreply.github.com> * :memo: Update themes/themes.typ Co-authored-by: RubyflameWarrior <104446839+RubyflameWarrior@users.noreply.github.com> * :memo: Added credit for the linear theme * :sparkles: Added admonition categories for the the edp steps * :bug: Fixed inconsistent spacing in the default TOC * :bug: The radial theme actually uses the constructors now * :sparkles: Add a participants field to the entry creation function * 💚 Fix CI --------- Co-authored-by: BestUsernameEver Co-authored-by: RubyflameWarrior <104446839+RubyflameWarrior@users.noreply.github.com> --- .github/workflows/ci.yml | 9 +- .github/workflows/docs.yml | 4 + .../developer_documentation/custom_themes.md | 225 ++++++----- .../project_architecture.md | 6 +- docs/src/reference.typ | 298 ++------------ entries.typ | 43 +- flake.lock | 165 +------- flake.nix | 6 +- gallery/linear-05.png | Bin 577063 -> 579535 bytes gallery/linear.typ | 140 +++++-- gallery/radial-4.png | Bin 551342 -> 550857 bytes gallery/radial-6.png | Bin 609793 -> 609862 bytes gallery/radial.typ | 88 +++-- internals.typ | 32 +- justfile | 6 +- lib.typ | 26 +- themes/default/components.typ | 179 +++++---- themes/default/default.typ | 67 +++- themes/linear/components/decision-matrix.typ | 134 +++---- themes/linear/components/glossary.typ | 41 +- themes/linear/components/pro-con.typ | 67 +--- themes/linear/components/toc.typ | 116 +++--- themes/linear/entries.typ | 329 +++++++++------- themes/linear/entry-types.typ | 4 +- themes/linear/format.typ | 112 +++--- themes/linear/linear.typ | 3 +- themes/linear/rules.typ | 16 +- themes/radial/components/admonitions.typ | 26 +- themes/radial/components/decision-matrix.typ | 60 +-- themes/radial/components/gantt-chart.typ | 77 ++-- themes/radial/components/glossary.typ | 11 +- themes/radial/components/graphs.typ | 113 +++--- themes/radial/components/pro-con.typ | 46 ++- themes/radial/components/team.typ | 5 +- themes/radial/components/toc.typ | 65 +-- themes/radial/components/tournament.typ | 60 +-- themes/radial/entries.typ | 83 ++-- themes/radial/format.typ | 56 ++- themes/radial/metadata.typ | 2 + themes/radial/rules.typ | 13 +- themes/themes.typ | 15 +- utils.typ | 176 +-------- utils/components.typ | 369 ++++++++++++++++++ utils/misc.typ | 43 ++ utils/theme.typ | 171 ++++++++ 45 files changed, 1952 insertions(+), 1555 deletions(-) create mode 100644 utils/components.typ create mode 100644 utils/misc.typ create mode 100644 utils/theme.typ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 05e7ee6..bd981aa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,9 @@ name: Tests +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + on: push: branches: main @@ -11,8 +15,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - with: - submodules: recursive - name: Install just from crates.io uses: baptiste0928/cargo-install@v2 with: @@ -22,6 +24,7 @@ jobs: id: setup-typst - name: Run checks run: | - just install + just package local + just package preview just gallery # TODO: run unit tests here diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index c161f07..8629083 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,5 +1,9 @@ name: GH Pages Deploy +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + on: push: branches: [stable] diff --git a/docs/src/developer_documentation/custom_themes.md b/docs/src/developer_documentation/custom_themes.md index ef1612e..a330e7b 100644 --- a/docs/src/developer_documentation/custom_themes.md +++ b/docs/src/developer_documentation/custom_themes.md @@ -31,15 +31,21 @@ This is just the recommended file structure, as long as you expose a theme varia ## The Theme Variable -Now that you've created your files, you can begin writing your theme. The first thing you should do is create a theme variable. Going back to our `foo` example, lets create a `foo-theme` variable in our `foo/foo.typ` file. +The first thing you should do is create a theme variable. Going back to our `foo` example, lets create a `foo-theme` variable in our `foo/foo.typ` file. ```typ // foo/foo.typ -#let foo-theme = (:) // currently a blank dictionary +// use this if you're developing inside the notebookinator +#import "/utils.typ" + +// use this if you're developing a private theme +#import "@local/notebookinator:1.0.1": * + +#let foo-theme = utils.make-theme() // will not currently compile ``` -Currently our theme is blank, and will do nothing. If we try to apply it right now, all functions will fall back onto the `default-theme`. +Themes are defined with the `make-theme` function found in the `utils` namespace. This function verifies that all of your inputs are correct, and will return a correctly structured theme. However, it requires that all of your theme functions are specified in order to compile, so that's the next thing we'll be doing. ### Creating The Entries @@ -67,14 +73,16 @@ We'll write these functions in the `foo/entries.typ` file. Below are some minima ```typ // foo/entries.typ -#let frontmatter-entry(ctx: (:), body) = { +// to import utils, see The Theme Variable section + +#let frontmatter-entry = utils.make-frontmatter-entry((ctx, body) => { show: page.with( // pass the entire function scope into the `page` function header: [ = ctx.title ], footer: context counter(page).display("i") ) body // display the users's written content -} +}) ``` ### Body @@ -82,14 +90,16 @@ We'll write these functions in the `foo/entries.typ` file. Below are some minima ```typ // foo/entries.typ -#let body-entry(ctx: (:), body) = { - show: page.with( - header: [ = Body header ], - footer: counter(page).display("1") +// to import utils, see The Theme Variable section + +#let body-entry = utils.make-body-entry((ctx, body) => { + show: page.with( // pass the entire function scope into the `page` function + header: [ = ctx.title ], + footer: context counter(page).display("i") ) - body -} + body // display the users's written content +}) ``` ### Appendix @@ -97,14 +107,17 @@ We'll write these functions in the `foo/entries.typ` file. Below are some minima ```typ // foo/entries.typ -#let appendix-entry(ctx: (:), body) = { - show: page.with( - header: [ = Appendix header ], - footer: counter(page).display("i") +// to import utils, see The Theme Variable section + +#let appendix-entry = utils.make-appendix-entry((ctx, body) => { + show: page.with( // pass the entire function scope into the `page` function + header: [ = ctx.title ], + footer: context counter(page).display("i") ) - body -} + body // display the users's written content +}) + ``` With the entry functions written, we can now add them to the theme variable. @@ -112,11 +125,13 @@ With the entry functions written, we can now add them to the theme variable. ```typ // foo/foo.typ +// to import utils, see The Theme Variable section + // import the entry functions #import "./entries.typ": frontmatter-entry, body-entry, appendix-entry -// store the entry functions in the theme variable -#let foo-theme = ( +// add the entry functions to the theme +#let foo-theme = utils.make-theme( frontmatter-entry: frontmatter-entry, body-entry: body-entry, appendix-entry: appendix-entry, @@ -134,10 +149,13 @@ Here's an example cover: ```typ // foo/entries.typ -#let cover(ctx: (:)) = [ - #set align(center) - *Foo Cover* -] +// to import utils, see The Theme Variable section + +#let cover = utils.make-cover(ctx => [ + #set align(center + horizon) + *Default Cover* +]) + ``` Then, we'll update the theme variable accordingly: @@ -145,11 +163,13 @@ Then, we'll update the theme variable accordingly: ```typ // foo/foo.typ +// to import utils, see The Theme Variable section + // import the cover along with the entry functions #import "./entries.typ": cover frontmatter-entry, body-entry, appendix-entry -#let foo-theme = ( - cover: cover, // store the cover in the theme variable +#let foo-theme = utils.make-theme( + cover: cover, // add the cover to the theme frontmatter-entry: frontmatter-entry, body-entry: body-entry, appendix-entry: appendix-entry, @@ -167,7 +187,9 @@ look like: ```typ // foo/rules.typ -#let rules(doc) = { +// to import utils, see The Theme Variable section + +#let rules = utils.make-rules((doc) => { set text(fill: red) // Make all of the text red, across the entire document doc // Return the entire document @@ -181,7 +203,9 @@ Then, we'll update the theme variable accordingly: #import "./rules.typ": rules // import the rules #import "./entries.typ": cover frontmatter-entry, body-entry, appendix-entry -#let foo-theme = ( +// to import utils, see The Theme Variable section + +#let foo-theme = utils.make-theme( rules: rules, // store the rules in the theme variable cover: cover, frontmatter-entry: frontmatter-entry, @@ -194,10 +218,10 @@ Then, we'll update the theme variable accordingly: With your base theme done, you may want to create some additional components for you to use while writing your entries. This could be anything, including graphs, tables, Gantt charts, or anything else your heart desires. We recommend including the following components by default: -- Table of contents `toc()` -- Decision matrix: `decision-matrix()` -- Pros and cons table: `pro-con()` -- Glossary: `glossary()` +- Table of contents `toc` +- Decision matrix: `decision-matrix` +- Pros and cons table: `pro-con` +- Glossary: `glossary` We recommend creating a file for each of these components. After doing so, your file structure should look like this: @@ -228,43 +252,45 @@ Then, import your `components.typ` into your theme's entry point: #import "./components/components.typ" // make sure not to glob import here ``` +All components are defined with constructors from the `utils` module. + ### Pro / Con Component -Pro / con components tend to be extremely simple. Define a function called `pro-con` inside your `foo/components/pro-con.typ` file: +Pro / con components tend to be extremely simple. Define a function called `pro-con` inside your `foo/components/pro-con.typ` file with the `make-pro-con` from `utils`: ```typ -#pro-con(pros: [], cons: []) = { - // implement your table here -} +// foo/components/pro-con.typ + +// to import utils, see The Theme Variable section + +#let pro-con = utils.make-pro-con((pros, cons) => { + // return content here +}) ``` -For examples on how to create a pro / con table, check out out how [other themes](https://github.com/The-Notebookinator/notebookinator/tree/main/themes) implement them. +This syntax might look a little weird if you aren't familiar with functional programming. `make-pro-con` takes a [`lambda`](https://typst.app/docs/reference/foundations/function/#unnamed) function as input, which is just a function without a name. This function takes two inputs: `pros` and `cons`, which are available inside the scope of the function like normal arguments would be on a named function. + +For examples on how to create a pro / con table, check out how [other themes](https://github.com/The-Notebookinator/notebookinator/tree/main/themes) implement them. ### TOC Component -The next three components are a bit more complicated, so we'll be spending a little more time explaining how they work. Each of these components requires some information about the document itself (things like the page numbers of entries, etc.). Normally fetching this data can be rather annoying, but fortunately the Notebookinator has created some utility functions to abstract this. +The next three components are a bit more complicated, so we'll be spending a little more time explaining how they work. Each of these components requires some information about the document itself (things like the page numbers of entries, etc.). Normally fetching this data can be rather annoying, but fortunately the Notebookinator's constructors fetch this data for you. -To get started with your table of contents, first define a function called `toc` in your `foo/components/toc.typ` file. +To get started with your table of contents, first define a function called `toc` in your `foo/components/toc.typ` file with the `make-toc` constructor. -However, unlike the `pro-con` function, this function will depend on the `print-toc` utility function. This looks like this: +Using the `make-toc` constructor we can make a `toc` like this: ```typ // foo/components/toc.typ -// Use this import if you're developing in the Notebookinator directly -#import "/utils.typ" - -// Use this import if you're using the notebookinator as an external dependency -#import "@local/notebookinator:1.0.1": utils +// to import utils, see The Theme Variable section -#let toc() = utils.print-toc((frontmatter, body, appendix) => { +#let toc = utils.make-toc((frontmatter, body, appendix) => { // ... } ``` -This syntax might look a little weird, so lets break it down. We're defining the function `toc`, which is equal to the `utils.print-toc` function. The `utils.print-toc` function takes 1 argument, and this argument is a function. We're choosing to pass in a [lambda](https://typst.app/docs/reference/foundations/function/#unnamed) function here, since this function only makes sense in the context of the table of contents (we won't need to call it in multiple places). - -Inside this lambda we have access to the frontmatter, body, and appendix variables. These variables are all [arrays](https://typst.app/docs/reference/foundations/array/), which dictionaries which all contain the same information as the `ctx` variables from [this](#creating-the-entries) section, with the addition of a `page-number` field, which is an [integer](https://typst.app/docs/reference/foundations/int/). +Using the constructor gives us access to three variables, `frontmatter`, `body`, and `appendix`. These variables are all [arrays](https://typst.app/docs/reference/foundations/array/), which are dictionaries that all contain the same information as the `ctx` variables from [this](#creating-the-entries) section, with the addition of a `page-number` field, which is an [integer](https://typst.app/docs/reference/foundations/int/). With these variables, we can simply loop over each one, and print out another entry in the table of contents each time. @@ -273,91 +299,94 @@ Here's what that looks like for the frontmatter entries: ```typ // foo/components/toc.typ -#import "/utils.typ" - -#let toc() = utils.print-toc((_, body, appendix) => { - // replace frontmatter with _ - // to indicate we aren't using it +// to import utils, see The Theme Variable section +#let toc = utils.make-toc((_, body, appendix) => { + // We replace the 'frontmatter' parameter with _ to indicate that we will not use it. + // _ replaces frontmatter to indicate we aren't using it heading[Contents] + stack( + spacing: 0.5em, + ..for entry in body { + ( + [ + #entry.title + #box( + width: 1fr, + line( + length: 100%, + stroke: (dash: "dotted"), + ), + ) + #entry.page-number + ], + ) + }, + ) - stack(spacing: 0.5em, ..for entry in body { - ([ - #entry.title - #box(width: 1fr, line(length: 100%, stroke: (dash: "dotted"))) - #entry.page-number - ],) - }) - - // TODO: do the same loop for the body entries as well -} + // You'll need to do something similar for the + // appendix entries as well, if you want to display them +}) ``` ### Decision Matrix Component -No data needs to be fetched for the decision matrix, however we do provide a helper function to calculate which choice has the highest score overall, and per category. +The decision matrix code works similarly. You can define one like this: ```typ -// foo/components/decision-matrix.typ - -#import "/utils.typ" - -#let decision-matrix(properties: (), ..choices) = { - let data = utils.calc-decision-matrix(properties: properties, ..choices) -} +#let decision-matrix = utils.make-decision-matrix((properties, data) => { + // ... +}) ``` -Once you've calculated your results, you can render a table displaying them. Here's a simple example to get you started, copied from the `default-theme`: +Inside of the function you have access to two variables, `properties`, and `data`. Properties contains a list of the properties the choices are being rated by, while `data` contains the choices alongside the scores for those choices. You can run a [`repr()`](https://typst.app/docs/reference/foundations/repr/) on either of those variables to get a better understanding of how they're structured. + +Here's a simple example to get you started, copied from the `default-theme`: ```typ -#let decision-matrix(properties: (), ..choices) = { - let data = utils.calc-decision-matrix(properties: properties, ..choices) +// to import utils, see The Theme Variable section - tablex( // table element - // the extra 2 columns account for the names of the choices and the total +#let decision-matrix = utils.make-decision-matrix((properties, data) => { + table( columns: for _ in range(properties.len() + 2) { (1fr,) }, - - [], // Blank box - - // first we'll display all of the names on the top row + [], ..for property in properties { ([ *#property.name* ],) }, - - // then we'll add an extra column for the total [*Total*], - - // then we'll add a row for each of the choices, and their scores - ..for choice in data { - // Override the fill if the choice has the highest score - let cell = if choice.values.total.highest { cellx.with(fill: green) } else { cellx } - (cell[*#choice.name*], ..for value in choice.values { - (cell[#value.at(1).value],) - }) + ..for (index, choice) in data { + let cell = if choice.total.highest { + table.cell.with(fill: green) + } else { + table.cell + } + ( + cell[*#index*], + ..for value in choice.values() { + (cell[#value.weighted],) + }, + ) }, - ) -} +}) ``` ### Glossary Component The glossary component is similar to the table of components in that it requires information about the document to function. -To get access to the glossary entries, you can use the `print-glossary` function provided by the `utils` to fetch all of the glossary terms, in alphabetical order. +To get access to the glossary entries, you can use the `make-glossary` function provided by the `utils` to fetch all of the glossary terms, in alphabetical order. The function passed into the `print-glossary` function has access to the `glossary` variable, which is an [array](https://typst.app/docs/reference/foundations/array/). Each entry in the array is a dictionary containing a `word` field and a `definition` field. Both are [strings](https://typst.app/docs/reference/foundations/str/). +Here's an example from the `default-theme`: + ```typ // foo/components/glossary.typ -// Use this import if you're developing in the Notebookinator directly -#import "/utils.typ" - -// Use this import if you're using the notebookinator as an external dependency -#import "@local/notebookinator:1.0.1": utils +// to import utils, see The Theme Variable section #let glossary() = utils.print-glossary(glossary => { stack(spacing: 0.5em, ..for entry in glossary { diff --git a/docs/src/developer_documentation/project_architecture.md b/docs/src/developer_documentation/project_architecture.md index 649bac2..3ea8571 100644 --- a/docs/src/developer_documentation/project_architecture.md +++ b/docs/src/developer_documentation/project_architecture.md @@ -20,7 +20,11 @@ decision matrices. template functions for printing out the entries and cover. - `glossary.typ`: Contains the user facing API for the glossary. - `globals.typ`: Contains all of the global variables for the entire project. -- `utils.typ`: Utility functions intended to help implement themes. +- `utils.typ`: Utility functions intended to help implement themes. Imports all of the functions located in `utils`. +- `utils/` + - `misc.typ`: Contains miscellaneous utility functions that don't fit in other categories + - `components.typ`: Contains the constructors used by themes to implement components + - `theme.typ`: Contains the constructors used to create themes - `themes/`: The folder containing all of the themes. - `themes.typ`: An index of all the themes are contained in the template - `docs.typ`: The entry point for the project documentation. diff --git a/docs/src/reference.typ b/docs/src/reference.typ index d35b1d7..ed82d89 100644 --- a/docs/src/reference.typ +++ b/docs/src/reference.typ @@ -1,11 +1,14 @@ // ------------- Template ------------------------- -#import "@preview/tidy:0.2.0" +#import "@preview/tidy:0.3.0" #import "@preview/gentle-clues:0.6.0": * +#import "@preview/codly:0.2.0": * -#set heading(numbering: "1.") - -#let show-module = tidy.show-module.with(show-outline: false, sort-functions: none, first-heading-level: 2) +#let show-module = tidy.show-module.with( + show-outline: false, + sort-functions: none, + first-heading-level: 1, +) #let def-arg(term, t, default: none, description) = { if type(t) == str { @@ -36,288 +39,63 @@ stack( dir: ltr, [/ #term: #t \ #description], - align(right, if default != none { [(default: #default)] }), + align( + right, + if default != none { + [(default: #default)] + }, + ), ) } -// ------------------ Document content ------------------------- +#set heading(numbering: "1.") -= Outline +#show: codly-init.with() +#codly() -#outline(title: none, indent: true, depth: 3) +// ------------------ Document content ------------------------- -= API Reference +#outline(title: none, indent: true, depth: 2) -== Template += Template #let template-module = tidy.parse-module(read("../../lib.typ")) #show-module(template-module) -== Entries += Entries #let entries-module = tidy.parse-module(read("../../entries.typ")) #show-module(entries-module) -== Glossary += Glossary #let glossary-module = tidy.parse-module(read("../../glossary.typ")) #show-module(glossary-module) -== Additional Datatypes - -=== Theme - -Themes are stored as dictionaries with the following fields: - -#def-arg( - "rules", - [``], - default: none, - [ The show and set rules that will be applied to the document ], -) -#def-arg( - "cover", - [``], - default: none, - [ A function that returns the cover of the notebook. Must take ctx as input. ], -) -#def-arg( - "frontmatter-entry", - [``], - default: none, - [ A function that returns a frontmatter entry. Must take ctx and body as input. ], -) -#def-arg( - "body-entry", - [``], - default: none, - [ A function that returns a body entry. Must take ctx and body as input. ], -) -#def-arg( - "appendix-entry", - [``], - default: none, - [ A function that returns a appendix entry. Must take ctx and body as input. ], -) - -=== Context - -Provides information to a callback about how it's being called. - -Context is stored as a dictionary with the following fields: - -#def-arg("title", [``], default: none, [The title of the entry]) -#def-arg( - "type", - [`` or ``], - default: none, - [The type of the entry. This value is used differently by different templates. - Refer to the template level documentation to see what this means for your theme.], -) -#def-arg( - "date", - [``], - default: none, - [The date at which the entry started.], -) -#def-arg( - "page-number", - [`` or ``], - default: none, - [The page number of the first page of the entry. Only available while using the - `print-toc()` utility function. ], -) - -== Default Theme - -The default theme contains all the basic components for an engineering notebook, -including a pros and cons table and a decision matrix template. - -#warning[ - This theme is very minimal, and is generally intended as a fallback for stuff - that other themes don't implement. -] - -=== Components - -#let default-components-module = tidy.parse-module(read("../../themes/default/components.typ")) -#show-module(default-components-module, first-heading-level: 3) - -== Radial Theme - -The Radial theme is a minimal theme focusing on nice, rounded corners. - -You can change the look of body entries by changing their type. The following -types are available: - -- `"identify"`: For entries about the identify stage of the engineering design - process. -- `"brainstorm"`: For entries about the brainstorm stage of the engineering design - process. -- `"decide"`: For entries about the decide stage of the engineering design - process. -- `"build"`: For entries about the build stage of the engineering design process. -- `"program"`: For entries about the programming stage of the engineering design - process. -- `"test"`: For entries about the testing stage of the engineering design process. -- `"management"`: For entries about team management -- `"notebook"`: For entries about the notebook itself - -Minimal starting point: - -```typ -// Import the template and theme here - -#show: notebook.with(theme: radial-theme) - -#create-frontmatter-entry(title: "Table of Contents")[ - #components.toc() -] - -#create-body-entry( - title: "Sample Entry", type: "identify", start-date: datetime(year: 1984, month: 1, day: 1), -)[ += Components -= Top Level heading +All of the components across each theme share the same API, so changing themes should be guaranteed to work. -#lorem(20) - -#components.admonition(type: "note")[ - #lorem(20) +#info[ + All of the examples show the default theme, other theme's components will look differently. ] -#components.pro-con(pros: [ - #lorem(50) -], cons: [ - #lorem(20) -]) +#import "/lib.typ": * +#import themes.default: default-theme, components -#components.decision-matrix( - properties: ("Flavor", "Versatility", "Crunchiness"), ("Sweet Potato", 5, 3, 1), ("White Potato", 1, 2, 3), ("Purple Potato", 2, 2, 2), +#let default-components-module = tidy.parse-module( + read("../../themes/default/components.typ"), + scope: ( + create-body-entry: create-body-entry, + glossary: glossary, + components: components, + ), ) -] - -#create-appendix-entry(title: "Glossary")[ - #components.glossary() -] - -``` - -#let parse-modules(predicate, ..names) = { - for name in names.pos() { - read(predicate + name + ".typ") - } -} - -=== Components - -#let raw-radial-module = parse-modules( - "../../themes/radial/components/", - "toc", - "glossary", - "admonitions", - "pro-con", - "decision-matrix", - "tournament", - "graphs", - "gantt-chart", - "team", - "label", -) - -#let radial-module = tidy.parse-module(raw-radial-module) -#show-module(first-heading-level: 3, radial-module) - -== Linear Theme - -The Linear theme is a template that uses straight lines and boxes. - -You can change the look of body entries by changing their type. The following -types are available: - -- `"identify"`: For entries about the identify stage of the engineering design - process. -- `"brainstorm"`: For entries about the brainstorm stage of the engineering design - process. -- `"decide"`: For entries about the decide stage of the engineering design - process/ -- `"build"`: For entries about the build stage of the engineering design process. -- `"program"`: For entries about the programming stage of the engineering design - process. -- `"test"`: For entries about the testing stage of the engineering design process - -*Minimal Starting Point* - -```typ -#create-frontmatter-entry(title: "Table of Contents")[ - #components.toc() -] -#create-body-entry(title: "Day 1", type: "identify", date: datetime(year: 1984, month: 1, day: 1))[ - = Heading +#show-module(default-components-module) - #lorem(50) += Utils - #components.pro-con( - pros: [ - #list( - [Sweet potato], - [Red potato], - [Yellow potato] - ) - ], - cons: [ - #list( - [Fries], - [Wedges], - [Mashed] - ) - ] - ) -] - -#create-body-entry(title: "Day 2", type: "identify", date: datetime(year: 1984, month: 1, day: 2))[ - = Another Heading - - #lorem(50) - - #components.decision-matrix( - properties: ( - (name: "Lorem", weight: 2), - (name: "Ipsum") - ), - ("Dolor", 1, 3), - ("Sit", 2, 2), - ("Amet", 3, 1) - ) - - == A Smaller Heading - - #lorem(50) -] - -#glossary.add-term("Term 1")[ - #lorem(10) -] - -#glossary.add-term("Term 2")[ - #lorem(10) -] - -#create-appendix-entry(title: "Glossary")[ - #components.glossary() -] -``` - -=== Components - -#let raw-linear-module = parse-modules( - "../../themes/linear/components/", - "decision-matrix", - "pro-con", - "glossary", - "toc", -) +#let utils-module = tidy.parse-module(read("../../utils/misc.typ") + read("../../utils/theme.typ") + read("../../utils/components.typ")) -#let linear-module = tidy.parse-module(raw-linear-module) -#show-module(first-heading-level: 3, linear-module) +#show-module(utils-module) diff --git a/entries.typ b/entries.typ index 7750c05..e163efe 100644 --- a/entries.typ +++ b/entries.typ @@ -8,6 +8,9 @@ /// - title (string): The title of the entry. /// - type (string): The type of entry. The possible values for this are decided by the theme. /// - date (datetime): The date that the entry occured at. +/// - author (str): The author of the entry. +/// - witness (str): The witness of the entry. +/// - participants (array): The people who participated in the entry. /// - body (content): The content of the entry. #let create-entry( section: none, @@ -16,6 +19,7 @@ date: none, author: "", witness: "", + participants: (), body, ) = { let (state, entry-label) = if section == "frontmatter" { @@ -28,25 +32,28 @@ panic("No valid entry type selected") } - state.update( - entries => { - // Inject the proper labels and settings changes into the user's entry body - let final-body = if entries.len() == 0 { - [#counter(page).update(1)] // Correctly set the page number for each section - } + [ - #metadata(none) #entry-label - #counter(footnote).update(0) - ] + body // Place a label on blank content to the table of contents can find each entry + state.update(entries => { + // Inject the proper labels and settings changes into the user's entry body + let final-body = if entries.len() == 0 { + [#counter(page).update(1)] // Correctly set the page number for each section + } + [ + #metadata(none) #entry-label + #counter(footnote).update(0) + ] + body // Place a label on blank content to the table of contents can find each entry - entries.push( - ( - ctx: (title: title, type: type, date: date, author: author, witness: witness), - body: final-body, - ), - ) - entries - }, - ) + entries.push(( + ctx: ( + title: title, + type: type, + date: date, + author: author, + witness: witness, + participants: participants + ), + body: final-body, + )) + entries + }) } /// Variant of the `#create-entry()` function that creates a frontmatter entry. diff --git a/flake.lock b/flake.lock index 34cb3f8..68821c0 100644 --- a/flake.lock +++ b/flake.lock @@ -1,88 +1,12 @@ { "nodes": { - "crane": { - "inputs": { - "flake-compat": "flake-compat", - "flake-utils": "flake-utils", - "nixpkgs": [ - "typstfmt", - "nixpkgs" - ], - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1688772518, - "narHash": "sha256-ol7gZxwvgLnxNSZwFTDJJ49xVY5teaSvF7lzlo3YQfM=", - "owner": "ipetkov", - "repo": "crane", - "rev": "8b08e96c9af8c6e3a2b69af5a7fa168750fcf88e", - "type": "github" - }, - "original": { - "owner": "ipetkov", - "repo": "crane", - "type": "github" - } - }, - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1673956053, - "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1687709756, - "narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1689068808, - "narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "nixpkgs": { "locked": { - "lastModified": 1715653339, - "narHash": "sha256-7lR9tpVXviSccl07GXI0+ve/natd24HAkuy1sQp0OlI=", + "lastModified": 1716358718, + "narHash": "sha256-NQbegJb2ZZnAqp2EJhWwTf6DrZXSpA6xZCEq+RGV1r0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "abd6d48f8c77bea7dc51beb2adfa6ed3950d2585", + "rev": "3f316d2a50699a78afe5e77ca486ad553169061e", "type": "github" }, "original": { @@ -95,37 +19,9 @@ "root": { "inputs": { "nixpkgs": "nixpkgs", - "typstfmt": "typstfmt", "utils": "utils" } }, - "rust-overlay": { - "inputs": { - "flake-utils": [ - "typstfmt", - "crane", - "flake-utils" - ], - "nixpkgs": [ - "typstfmt", - "crane", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1688351637, - "narHash": "sha256-CLTufJ29VxNOIZ8UTg0lepsn3X03AmopmaLTTeHDCL4=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "f9b92316727af9e6c7fee4a761242f7f46880329", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -141,62 +37,9 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "typstfmt": { - "inputs": { - "crane": "crane", - "flake-utils": "flake-utils_2", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1701853176, - "narHash": "sha256-LBYsTCjZ+U+lgd7Z3H1sBcWwseoHsuepPd66bWgfvhI=", - "owner": "astrale-sharp", - "repo": "typstfmt", - "rev": "46b4ec34b4726c3c6541012f433c68c22d9e509c", - "type": "github" - }, - "original": { - "owner": "astrale-sharp", - "ref": "0.2.7", - "repo": "typstfmt", - "type": "github" - } - }, "utils": { "inputs": { - "systems": "systems_3" + "systems": "systems" }, "locked": { "lastModified": 1710146030, diff --git a/flake.nix b/flake.nix index 40764c5..11391d4 100644 --- a/flake.nix +++ b/flake.nix @@ -2,16 +2,12 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; utils.url = "github:numtide/flake-utils"; - typstfmt.url = "github:astrale-sharp/typstfmt/0.2.7"; - - typstfmt.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = { self , nixpkgs , utils - , typstfmt , }: utils.lib.eachDefaultSystem (system: @@ -40,7 +36,9 @@ just mdbook mdbook-admonish + mdbook-typst-doc + typstyle ]; }; diff --git a/gallery/linear-05.png b/gallery/linear-05.png index 08bcb3dae8baaf819b0379cedf148e8530486267..90f92c97f47b7185bfa3cff0b28f44a4112b07f8 100644 GIT binary patch delta 74061 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�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
yTQEq$d)X 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 il0TJ4q=yg8dFhGJPBI{rU_p!{tB delta 4209 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 GPyQ1*?$8hb diff --git a/gallery/radial.typ b/gallery/radial.typ index 58d6899..2f1d08a 100644 --- a/gallery/radial.typ +++ b/gallery/radial.typ @@ -2,7 +2,11 @@ #import themes.radial: radial-theme, components, colors #import colors: * -#show: notebook.with(theme: radial-theme, team-name: "53E", season: "Over Under") +#show: notebook.with( + theme: radial-theme, + team-name: "53E", + season: "Over Under", +) #create-frontmatter-entry( title: "test", @@ -17,49 +21,54 @@ type: "decide", date: datetime(year: 2024, month: 1, day: 1), )[ -= Heading + = Heading -#lorem(20) + #lorem(20) -#grid(columns: (1fr, 1fr), gutter: 20pt, lorem(40), components.pie-chart( - (value: 8, color: green, name: "wins"), - (value: 2, color: red, name: "losses"), -)) + #grid( + columns: (1fr, 1fr), + gutter: 20pt, + lorem(40), + components.pie-chart( + (value: 8, color: green, name: "wins"), + (value: 2, color: red, name: "losses"), + ), + ) -#lorem(23) + #lorem(23) -= Heading + = Heading -#lorem(40) + #lorem(40) -#components.decision-matrix( - properties: ( - (name: "property 1", weight: 2), - (name: "property 2", weight: 0.5), - (name: "property 3", weight: 0.33), - (name: "property 4", weight: 0.01), - ), - ("choice 1", 5, 2, 3, 4), - ("choice 2", 1, 2, 3, 1), - ("choice 3", 1, 3, 3, 2), - ("choice 4", 1, 2, 3, 5), - ("choice 5", 1, 2, 3, 1), -) + #components.decision-matrix( + properties: ( + (name: "property 1", weight: 2), + (name: "property 2", weight: 0.5), + (name: "property 3", weight: 0.33), + (name: "property 4", weight: 0.01), + ), + ("choice 1", 5, 2, 3, 4), + ("choice 2", 1, 2, 3, 1), + ("choice 3", 1, 3, 3, 2), + ("choice 4", 1, 2, 3, 5), + ("choice 5", 1, 2, 3, 1), + ) -#lorem(20) + #lorem(20) -#components.admonition(type: "decision")[#lorem(20)] + #components.admonition(type: "decision")[#lorem(20)] -= Heading + = Heading -```cpp -#include + ```cpp + #include -int main() { - printf("hello world\n") - return 0; -} -``` + int main() { + printf("hello world\n") + return 0; + } + ``` ] @@ -101,11 +110,14 @@ int main() { #lorem(50) - #align(center, components.pie-chart( - (value: 2985, color: yellow, name: "Competitions"), - (value: 3000, color: blue, name: "Travel"), - (value: 2400, color: red, name: "Materials"), - )) + #align( + center, + components.pie-chart( + (value: 2985, color: yellow, name: "Competitions"), + (value: 3000, color: blue, name: "Travel"), + (value: 2400, color: red, name: "Materials"), + ), + ) #lorem(50) diff --git a/internals.typ b/internals.typ index e503096..a948894 100644 --- a/internals.typ +++ b/internals.typ @@ -1,38 +1,16 @@ #import "./globals.typ" #import "./themes/themes.typ" -#let fallback-to-default(key, theme) = { - let component = theme.at(key, default: none) - if component == none { - return themes.default.default-theme.at(key) - } else { - return component - } -} - -/// Internal function used by the template to print out the cover -/// -/// - theme (theme): -/// - ctx (dictionary): -/// -> content -#let print-cover(theme: (:), ctx: (:)) = { - let cover-func = fallback-to-default("cover", theme) - cover-func(ctx: ctx) -} - /// Internal function used by the template to print out all of the entries /// /// - theme (theme): /// -> content #let print-entries(theme: (:)) = { - let print-helper(section, state) = { - locate(loc => { - for entry in state.final(loc) [ - #let entry-func = fallback-to-default(section + "-entry", theme) - #let body = [] + entry.body - #entry-func(body, ctx: entry.ctx) - ] - }) + let print-helper(section, state) = context { + for entry in state.final() { + let entry-func = theme.at(section + "-entry") + entry-func(entry.body, ctx: entry.ctx) + } } print-helper("frontmatter", globals.frontmatter-entries) diff --git a/justfile b/justfile index 04c55c0..22c8281 100644 --- a/justfile +++ b/justfile @@ -8,4 +8,8 @@ install: gallery: #!/usr/bin/env bash - for f in "{{gallery_dir}}"/*.typ; do typst c "$f" --format png "${f/.typ}-{n}.png" --root ./; done + set -euxo pipefail + + for f in "{{gallery_dir}}"/*.typ; do + typst c "$f" --format png "${f/.typ}-{n}.png" --root ./ + done diff --git a/lib.typ b/lib.typ index 47fd524..63036a5 100644 --- a/lib.typ +++ b/lib.typ @@ -23,9 +23,9 @@ /// - body (content): The content of the notebook. This will be ignored. Use the create-entry functions instead. /// -> content #let notebook( - team-name: none, - season: none, - year: none, + team-name: "", + season: "", + year: "", cover: none, theme: (:), body, @@ -34,15 +34,25 @@ show: doc => rules(doc) let cover-content = if cover == none { - let ctx = (team-name: team-name, season: season, year: year) - print-cover(ctx: ctx, theme: theme) + let ctx = ( + team-name: team-name, + season: season, + year: year, + ) + + (theme.cover)(ctx: ctx) } else { cover } - page(margin: 0pt, cover-content) + page( + margin: 0pt, + cover-content, + ) - page[] // Filler page + // Filler page + page[] print-entries(theme: theme) - body // FIXME: this should be ignored, but the document doesn't properly render without it. + body + // FIXME: this should be ignored, but the document doesn't properly render without it. } diff --git a/themes/default/components.typ b/themes/default/components.typ index a5387ba..fd5d3ae 100644 --- a/themes/default/components.typ +++ b/themes/default/components.typ @@ -1,5 +1,3 @@ -#import "/packages.typ": tablex -#import tablex: tablex, cellx #import "/utils.typ" /// Prints the table of contents. @@ -7,27 +5,52 @@ /// *Example Usage* /// /// ```typ -/// #create-frontmatter-entry(title: "Table of Contents")[ +/// #create-frontmatter-entry(title: "Table Of Contents")[ /// #components.toc() /// ] /// ``` -#let toc() = utils.print-toc((_, body, appendix) => { +/// -> content +#let toc = utils.make-toc((_, body, appendix) => { heading[Contents] - stack(spacing: 0.5em, ..for entry in body { - ([ - #entry.title - #box(width: 1fr, line(length: 100%, stroke: (dash: "dotted"))) - #entry.page-number - ],) - }) + stack( + spacing: 0.5em, + ..for entry in body { + ( + [ + #entry.title + #box( + width: 1fr, + line( + length: 100%, + stroke: (dash: "dotted"), + ), + ) + #entry.page-number + ], + ) + }, + ) heading[Appendix] - stack(..for entry in appendix { - ([ - #entry.title - #box(width: 1fr, line(length: 100%, stroke: (dash: "dotted"))) - #entry.page-number - ],) + + stack( + spacing: 0.5em, + ..for entry in appendix { + ( + [ + #entry.title + #box( + width: 1fr, + line( + length: 100%, + stroke: ( + dash: "dotted", + ), + ), + ) + #entry.page-number + ], + ) }) }) @@ -36,87 +59,94 @@ /// *Example Usage* /// /// ```typ -/// #create-appendix-entry(title: "Glossary")[ -/// #components.glossary() -/// ] +/// #glossary.add-term("Foo", lorem(10)) +/// #glossary.add-term("Bar", lorem(5)) +/// #components.glossary() /// ``` -#let glossary() = utils.print-glossary(glossary => { - stack(spacing: 0.5em, ..for entry in glossary { - ([ - = #entry.word +/// -> content +#let glossary = utils.make-glossary(glossary => { + stack( + spacing: 0.5em, + ..for entry in glossary { + ( + [ + = #entry.word - #entry.definition - ],) - }) + #entry.definition + ], + ) + }, + ) }) /// Prints a decision matrix table. /// /// *Example Usage* /// -/// ```typ -/// #components.decision-matrix( -/// properties: ( -/// (name: "Category 1"), -/// (name: "Category 2"), -/// (name: "Category 3") -/// ), -/// ("Decision", 4, 3, 2), -/// ("Matrix", 1, 2, 3), -/// ) -/// ``` +/// #example( +/// `components.decision-matrix( +/// properties: ( +/// "Cat. 1", // weights will default to 1 +/// "Cat. 2", +/// "Cat. 3", +/// ), +/// ("Choice 1", 4, 3, 2), +/// ("Choice 2", 1, 2, 3), +/// )`, +/// scale-preview: 100% +/// ) /// -/// *Example Usage* -/// ```typ -/// #components.decision-matrix( +/// #example( +/// `components.decision-matrix( /// properties: ( /// (name: "Flavor", weight: 2), -/// (name: "Crunchiness"), // The weight defaults to 1 +/// (name: "Crunch", weight: 1), /// ), /// ("Sweet Potato", 1, 2), /// ("Baked Potato", 2, 1) /// ) -/// -/// ``` +/// `, +/// scale-preview: 100% +/// ) /// - properties (array): A list of the properties that each choice will be rated by and the weight of each property /// - ..choices (array): An array containing the name of the choices as its first member, /// and values for each of the properties at its following indices +/// /// -> content -#let decision-matrix(properties: (), ..choices) = { - let data = utils.calc-decision-matrix(properties: properties, ..choices) - tablex( +#let decision-matrix = utils.make-decision-matrix((properties, data) => { + table( columns: for _ in range(properties.len() + 2) { (1fr,) }, - [], // Blank box + [], ..for property in properties { ([ *#property.name* ],) }, [*Total*], - ..for choice in data { - // Override the fill if the choice has the highest score - let cell = if choice.values.total.highest { cellx.with(fill: green) } else { cellx } - (cell[*#choice.name*], ..for value in choice.values { - (cell[#value.at(1).value],) - }) + ..for (index, choice) in data { + let cell = if choice.total.highest { + table.cell.with(fill: green) + } else { + table.cell + } + ( + cell[*#index*], + ..for value in choice.values() { + (cell[#value.weighted],) + }, + ) }, ) -} +}) /// Prints a pros and cons table. /// /// *Example Usage* /// -/// ```typ -/// #components.pro-con( -/// pros: "Pros", -/// cons: "Cons" -/// ) -/// ``` +/// #example(`components.pro-con(pros: lorem(10), cons: lorem(5))`, scale-preview: 100%) /// -/// *Example Usage* -/// ```typ -/// #components.pro-con( +/// #example( +/// `components.pro-con( /// pros: [ /// #list( /// "Sweet potato", @@ -130,16 +160,19 @@ /// ) /// ] /// ) -/// ``` +/// `, scale-preview: 100%) /// - pros (content): The positive aspects /// - cons (content): The negative aspects /// -> content -#let pro-con(pros: [], cons: []) = { - tablex( - columns: (1fr, 1fr), - cellx(fill: green)[*Pros*], - cellx(fill: red)[*Cons*], - [#pros], - [#cons], +#let pro-con = utils.make-pro-con((pros, cons) => { + table( + columns: ( + 1fr, + 1fr, + ), + table.cell(fill: green)[*Pros*], + table.cell(fill: red)[*Cons*], + pros, + cons, ) -} +}) diff --git a/themes/default/default.typ b/themes/default/default.typ index 83c03b6..cea9b06 100644 --- a/themes/default/default.typ +++ b/themes/default/default.typ @@ -1,44 +1,69 @@ #import "./components.typ" +#import "/utils.typ" -#let rules(doc) = { +#let rules = utils.make-rules(doc => { doc -} +}) -#let cover(ctx: (:)) = [ - #set align(center) +#let cover = utils.make-cover(ctx => [ + #set align(center + horizon) *Default Cover* -] +]) -#let frontmatter-entry(ctx: (:), body) = { +#let frontmatter-entry = utils.make-frontmatter-entry((ctx, body) => { show: page.with( - header: [ = #ctx.title - #box(width: 1fr, line(length: 100%)) ], - footer: align(center, counter(page).display()), + header: [ + = #ctx.title + #box( + width: 1fr, + line(length: 100%), + ) + ], + footer: align( + center, + context counter(page).display("i"), + ), ) body -} +}) -#let body-entry(ctx: (:), body) = { +#let body-entry = utils.make-body-entry((ctx, body) => { show: page.with( - header: [ = #ctx.title - #box(width: 1fr, line(length: 100%)) ], - footer: align(center, counter(page).display()), + header: [ + = #ctx.title + #box( + width: 1fr, + line(length: 100%), + ) + ], + footer: align( + center, + context counter(page).display(), + ), ) body -} -#let appendix-entry(ctx: (:), body) = { +}) + +#let appendix-entry = utils.make-appendix-entry((ctx, body) => { show: page.with( - header: [ = #ctx.title - #box(width: 1fr, line(length: 100%)) ], - footer: align(center, counter(page).display()), + header: [ + = #ctx.title + #box( + width: 1fr, + line(length: 100%), + ) ], + footer: align( + center, + context counter(page).display("i"), + ), ) - body +}) } -#let default-theme = ( +#let default-theme = utils.make-theme( // Global show rules rules: rules, cover: cover, diff --git a/themes/linear/components/decision-matrix.typ b/themes/linear/components/decision-matrix.typ index 35b65fb..b6d3d5a 100644 --- a/themes/linear/components/decision-matrix.typ +++ b/themes/linear/components/decision-matrix.typ @@ -1,89 +1,83 @@ #import "../colors.typ": * #import "/utils.typ" -#import "/packages.typ": tablex -#import tablex: * - -/// Prints a decision matrix table. -/// -/// *Example Usage* -/// ```typ -/// #decision-matrix( -/// properties: ( -/// (name: "Versatility", weight: 2), -/// (name: "Flavor", weight: 6), -/// (name: "Crunchiness"), // Defaults to a weight of 1 -/// ), -/// ("Sweet potato", 2, 5, 1), -/// ("Red potato", 2, 1, 3), -/// ("Yellow potato", 2, 2, 3), -/// ) -/// ``` -/// -/// - properties (array): A list of the properties that each choice will be rated by -/// - ..choices (array): An array containing the name of the choices as its first member, -/// and values for each of the properties at its following indices -/// -> content -#let decision-matrix(properties: none, ..choices) = { - let data = utils.calc-decision-matrix(properties: properties, ..choices) - let columns = for _ in range(properties.len() + 2) { - (1fr,) - } - - let title-cell(body) = cellx(fill: surface-2, inset: 0.8em, [ - #set text(13pt) - #set align(center) - #body - ]) +#let decision-matrix = utils.make-decision-matrix((properties, data) => { + let title-cell(body) = table.cell( + fill: surface-2, + inset: 0.8em, + text(size: 13pt, body), + ) - let body-cell(total: false, highest: none, body) = cellx( - fill: if highest == none { white } else if highest and total { decision-green } else if highest { pro-green } else { white }, + let body-cell(total: false, highest: none, body) = table.cell( + fill: if highest == none { + white + } else if highest { + pro-green + } else { + white + }, inset: 0.8em, - [ - #set align(center) - #body - ], + text[#body], ) - let weight-vline = vlinex(start: data.len() + 1, stroke: gray, expand: -1pt) - let weight-hline = hlinex(start: 1, end: properties.len() + 1, stroke: gray) + let table-height = data.len() + 2 + let table-width = properties.len() + 2 - tablex( - auto-lines: false, - columns: columns, - header-rows: 99, // https://github.com/PgBiel/typst-tablex/issues/4 - hlinex(), - // All of the vertical lines - ..for _ in range(properties.len() + 3) { - (vlinex(end: data.len() + 1),) + set table.cell(align: center + horizon) + table( + stroke: none, + columns: for _ in range(properties.len() + 2) { + (1fr,) }, - // Title row - title-cell[], + + // draw the lines for the graph + + // draw vertical lines + table.vline(start: 1, end: table-height - 1), + ..for num in range(1, table-width + 1) { + (table.vline(x: num, end: table-height - 1),) + }, + + // draw horizontal lines + table.hline(start: 1), + ..for num in range(1, table-height) { + (table.hline(y: num),) + }, + + // draw weight lines + ..for num in range(0, table-width) { + (table.vline(stroke: gray, x: num, start: table-height - 1, end: table-height),) + }, + table.hline(stroke: gray,y: table-height, end: table-width - 1), + + + // draw the actual graph + + // title row + [], ..for property in properties { (title-cell(property.name),) }, - hlinex(), title-cell[Total], - // Choice values - ..for choice in data { - (body-cell(choice.name), ..for property in properties { - (body-cell( - highest: choice.values.at(property.name).highest, - choice.values.at(property.name).value, - ),) - }, body-cell( - total: true, - highest: choice.values.total.highest, - choice.values.total.value, - ), hlinex(),) + + // score rows + ..for (index, result) in data { + ( + [#index], + ..for property in properties { + let value = result.at(property.name) + (body-cell(highest: value.highest, value.weighted),) + }, + body-cell(highest: result.total.highest, result.total.weighted) + ) }, - body-cell[], + + // weights row + text(fill: gray)[Weight], ..for property in properties { - (weight-vline, body-cell[ + (body-cell[ #property.at("weight", default: 1)x ],) }, - weight-vline, - weight-hline, ) -} +}) diff --git a/themes/linear/components/glossary.typ b/themes/linear/components/glossary.typ index dbb2cc1..d42a45c 100644 --- a/themes/linear/components/glossary.typ +++ b/themes/linear/components/glossary.typ @@ -1,17 +1,26 @@ -#import "../../../utils.typ" - -#let glossary() = utils.print-glossary( - glossary => { - stack( - dir: ttb, - spacing: 15pt, - ..for entry in glossary {([ - #box(inset: 0.5em, fill: gray)[== #entry.word] - #h(5pt) - #box(baseline: -10pt, width: 1fr, line(length: 100%)) +#import "/utils.typ" - #entry.definition - ],)} - ) - } -) \ No newline at end of file +#let glossary = utils.make-glossary(glossary => { + stack( + dir: ttb, + spacing: 15pt, + ..for entry in glossary { + ( + [ + #box( + inset: 0.5em, + fill: gray, + )[== #entry.word] + #h(5pt) + #box( + baseline: -10pt, + width: 1fr, + line(length: 100%), + ) + + #entry.definition + ], + ) + }, + ) +}) diff --git a/themes/linear/components/pro-con.typ b/themes/linear/components/pro-con.typ index cb6aec2..3b103ed 100644 --- a/themes/linear/components/pro-con.typ +++ b/themes/linear/components/pro-con.typ @@ -1,56 +1,27 @@ #import "../colors.typ": * -/// Prints a pros and cons table. -/// -/// *Example Usage* -/// ```typ -/// #pro-con( -/// pros: [ -/// #list( -/// [Sweet potato], -/// [Red potato], -/// [Yellow potato] -/// ) -/// ] -/// cons: [ -/// #list( -/// [Fries], -/// [Wedges], -/// [Mashed] -/// ) -/// ] -/// ) -/// ``` -/// - pros (content): The positive aspects -/// - cons (content): The negative aspects -/// -> content -#let pro-con(pros: [], cons: []) = { +#import "/utils.typ" + +#let pro-con = utils.make-pro-con((pros, cons) => { table( columns: (50%, 50%), inset: 0.75em, - fill: (col, row) => - if row == 0 { - if col == 0 { - pro-green - } - if col == 1 { - con-red - } - }, + fill: (col, row) => if row == 0 { + if col == 0 { + pro-green + } + if col == 1 { + con-red + } + }, align( - center, - text( - size: 14pt, - weight: "semibold", - [Pros] - )), + center, + text(size: 14pt, weight: "semibold", [Pros]), + ), align( - center, - text( - size: 14pt, - weight: "semibold", - [Cons] - )), + center, + text(size: 14pt, weight: "semibold", [Cons]), + ), pros, - cons + cons, ) -} +}) diff --git a/themes/linear/components/toc.typ b/themes/linear/components/toc.typ index d1f82e2..03b32be 100644 --- a/themes/linear/components/toc.typ +++ b/themes/linear/components/toc.typ @@ -8,51 +8,75 @@ /// #components.toc() /// ] /// ``` -#let toc() = utils.print-toc( - (_, body, appendix) => style( - styles => { - let previous-date - - let toc = stack( - dir: ttb, - spacing: 0.3em, - ..for entry in body { - let date-content = if entry.date == previous-date {} else { - box(inset: 5pt, fill: white, entry.date.display("[day]/[month]/[year]")) - } - - previous-date = entry.date - ([ - // Single line content - #box(baseline: 0.35em, width: 5em)[ - #set align(center) - #date-content - ] - #h(1em) - #box( - fill: entry-type-metadata.at(entry.type), - inset: (x: .4em, y: .6em), - baseline: 25%, - )[#entry.title #h(1.4em)] - #h(1em) - #box(width: 1fr, line(length: 100%, start: (0pt, -.35em))) - #h(1em) - #entry.page-number - ],) - }, - ) - - let height = measure(toc, styles).height - - box[ - #place( - top + left, - dx: 2.5em, - dy: 1em, - line(angle: 90deg, length: height - 12pt), +#let toc = utils.make-toc(( + _, + body, + appendix, +) => { + let previous-date + + let toc = stack( + dir: ttb, + spacing: 0.3em, + ..for entry in body { + let date-content = if entry.date == previous-date { } else { + box( + inset: 5pt, + fill: white, + entry.date.display("[day]/[month]/[year]"), ) - #toc - ] + } + + previous-date = entry.date + ( + [ + // Single line content + #box( + baseline: 0.35em, + width: 5em, + )[ + #set align(center) + #date-content + ] + #h(1em) + #box( + fill: entry-type-metadata.at(entry.type), + inset: ( + x: .4em, + y: .6em, + ), + baseline: 25%, + )[#entry.title #h(1.4em)] + #h(1em) + #box( + width: 1fr, + line( + length: 100%, + start: ( + 0pt, + -.35em, + ), + ), + ) + #h(1em) + #entry.page-number + ], + ) }, - ), -) + ) + + let height = measure(toc).height + + box[ + #place( + top + left, + dx: 2.5em, + dy: 1em, + line( + angle: 90deg, + length: height - 12pt, + ), + ) + #toc + ] +}) diff --git a/themes/linear/entries.typ b/themes/linear/entries.typ index 459aab6..035552c 100644 --- a/themes/linear/entries.typ +++ b/themes/linear/entries.typ @@ -1,137 +1,192 @@ -#import "format.typ": * -#import "./colors.typ": * - -#let cover(ctx: (:)) = { - v(50pt) - - line(length: 100%, stroke: 2pt) - h(5pt) - rect(inset: 30pt, fill: surface-0, width: 100%)[ - #grid(columns: (1fr, 3fr), gutter: 2fr, [ - #set text(72pt) - #ctx.team-name - ], - [ - #align(right, [ - #set text(20pt) - #ctx.season - - Engineering Design Notebook - ]) - ]) - ] - h(5pt) - line(length: 100%, stroke: 2pt) - - place(center + bottom, dy: -50pt, [ - #set text(20pt) - #box( - width: 150pt, - stroke: (top: white, bottom: white, left: black, right: black), - ctx.year - ) - ]) -} - -#let frontmatter-entry(ctx: (:), body) = { - show: page.with( - header: [ - #set text(size: 25pt) - #set line(stroke: 1.5pt) - #align(center + horizon, grid(columns: (1fr, auto, 1fr), - [ - #line(length: 100%) - ], - [ - #h(20pt) - #ctx.title - #h(20pt) - ], - [ - #line(length: 100%) - ])) - ], - ) - - set-border(ctx.type) - - body -} - -#let body-entry(ctx: (:), body) = { - show: page.with(margin: (top: 88pt), - header: [ - #set text(size: 30pt) - #set line(stroke: 1.5pt) - - #align(center + horizon, grid(columns: (1fr, auto, 1fr), - [ - #line(length: 100%) - ], - [ - #h(20pt) - #box(fill: entry-type-metadata.at(ctx.type), outset: 10pt, [#ctx.title]) - #h(20pt) - ], - [ - #line(length: 100%) - ])) - ], - footer: [ - #grid(columns: (2fr, 2fr, 1fr), - [ - Written by: #h(10pt) #ctx.author - ], - [ - Witnessed by: #h(10pt) #ctx.witness - ], - [ - #align(right, box(fill: surface-1, outset: 8pt, context counter(page).display())) - ] - ) - ], - ) - - set-border(ctx.type) - - show heading: it => { - set-heading(it, ctx.type) - } - - show raw.where(block: false): box.with( - fill: surface-1, - inset: (x: 4pt, y: 0pt), - outset: (x: 0pt, y: 4pt), - ) - show raw.where(block: true): block.with( - fill: surface-1, - inset: 8pt, - width: 100% - ) - - body -} - -#let appendix-entry(ctx: (:), body) = { - show: page.with(header: [ - #set text(size: 25pt) - #set line(stroke: 1.5pt) - #align(center + horizon, grid(columns: (1fr, auto, 1fr), - [ - #line(length: 100%) - ], - [ - #h(20pt) - #ctx.title - #h(20pt) - ], - [ - #line(length: 100%) - ])) - ] - ) - - set-border(ctx.type) - - body -} +#import "format.typ": * +#import "./colors.typ": * +#import "/utils.typ" + +#let cover = utils.make-cover(ctx => { + v(50pt) + + line( + length: 100%, + stroke: 2pt, + ) + h(5pt) + rect( + inset: 30pt, + fill: surface-0, + width: 100%, + )[ + #grid( + columns: (1fr, 3fr), + gutter: 2fr, + [ + #set text(72pt) + #ctx.team-name + ], + [ + #align( + right, + [ + #set text(20pt) + #ctx.season + + Engineering Design Notebook + ], + ) + ], + ) + ] + h(5pt) + line( + length: 100%, + stroke: 2pt, + ) + + place( + center + bottom, + dy: -50pt, + [ + #set text(20pt) + #box( + width: 150pt, + stroke: ( + top: white, + bottom: white, + left: black, + right: black, + ), + ctx.year, + ) + ], + ) +}) + +#let frontmatter-entry = utils.make-frontmatter-entry(( + ctx, + body, +) => { + show: page.with(header: { + set text(size: 25pt) + set line(stroke: 1.5pt) + set align(center + horizon) + grid( + columns: (1fr, auto, 1fr), + line(length: 100%), + { + h(20pt) + ctx.title + h(20pt) + }, + line(length: 100%), + ) + }) + + set-border(ctx.type) + + body +}) + +#let body-entry = utils.make-body-entry(( + ctx, + body, +) => { + show: page.with( + margin: (top: 88pt), + header: { + set text(size: 30pt) + set line(stroke: 1.5pt) + + set align(center + horizon) + grid( + columns: (1fr, auto, 1fr), + line(length: 100%), + { + h(20pt) + box( + fill: entry-type-metadata.at(ctx.type), + outset: 10pt, + ctx.title, + ) + h(20pt) + }, + line(length: 100%), + ) + }, + footer: { + grid( + columns: (2fr, 2fr, 1fr), + [Written by: #h(10pt) #ctx.author], + [Witnessed by: #h(10pt) #ctx.witness], + align( + right, + box( + fill: surface-1, + outset: 8pt, + context counter(page).display(), + ), + ), + ) + }, + ) + set-border(ctx.type) + + show heading: it => { + set-heading( + it, + ctx.type, + ) + } + + show raw.where(block: false): box.with( + fill: surface-1, + inset: ( + x: 4pt, + y: 0pt, + ), + outset: ( + x: 0pt, + y: 4pt, + ), + ) + show raw.where(block: true): block.with( + fill: surface-1, + inset: 8pt, + width: 100%, + ) + + body +}) + +#let appendix-entry = utils.make-appendix-entry(( + ctx, + body, +) => { + show: page.with(header: [ + #set text(size: 25pt) + #set line(stroke: 1.5pt) + #align( + center + horizon, + grid( + columns: ( + 1fr, + auto, + 1fr, + ), + [ + #line(length: 100%) + ], + [ + #h(20pt) + #ctx.title + #h(20pt) + ], + [ + #line(length: 100%) + ], + ), + ) + ]) + + set-border(ctx.type) + + body +}) diff --git a/themes/linear/entry-types.typ b/themes/linear/entry-types.typ index 80fecf8..7304f58 100644 --- a/themes/linear/entry-types.typ +++ b/themes/linear/entry-types.typ @@ -7,4 +7,6 @@ "build": light-blue, "program": light-purple, "test": light-pink, -) \ No newline at end of file + "management": gray, + "notebook": gray, +) diff --git a/themes/linear/format.typ b/themes/linear/format.typ index 9006d42..bc42802 100644 --- a/themes/linear/format.typ +++ b/themes/linear/format.typ @@ -1,56 +1,56 @@ -#import "entry-types.typ": * -/// Formats the border lines -/// -/// Example Usage: -/// -/// ```typ -/// #set-border() -/// ``` -#let set-border(type) = { - let top-axis = -8.4% // The title line height - let bottom-axis = 100% // The automatic bottom border - - // Adjusts top and bottom borders for frontmatter and appendix entries - if (type == none) { - top-axis = -6.6% - bottom-axis = 106% - } - - let left-axis = -8% // 8% less than the automatic left border (0%) - let right-axis = 108% // 8% more than the automatic right border (100%) - - set line(stroke: 1.5pt) - // Top left border - place(line(start: (left-axis, top-axis), end: (0%, top-axis))) - // Top right border - place(line(start: (right-axis, top-axis), end: (100%, top-axis))) - // Left border - place(line(start: (left-axis, top-axis), end: (left-axis, bottom-axis))) - // Right border - place(line(start: (right-axis, top-axis), end: (right-axis, bottom-axis))) - // Bottom border - place(line(start: (left-axis, bottom-axis), end: (right-axis, bottom-axis))) -} - -#let set-heading(it, type) = { - show: block - let color = entry-type-metadata.at(type) - - if it.level == 1 { - set text(18pt) - } - if it.level == 2 { - set text(15pt) - } - if it.level == 3 { - set text(13pt) - } else { - set text(11pt) - } - - set text(weight: "semibold") - - box(inset: 0.5em, fill: color)[#it.body] - h(5pt) - box(baseline: -10pt, width: 1fr, line(length: 100%)) -} +#import "entry-types.typ": * +/// Formats the border lines +/// +/// Example Usage: +/// +/// ```typ +/// #set-border() +/// ``` +#let set-border(type) = { + let top-axis = -8.4% // The title line height + let bottom-axis = 100% // The automatic bottom border + + // Adjusts top and bottom borders for frontmatter and appendix entries + if (type == none) { + top-axis = -6.6% + bottom-axis = 106% + } + + let left-axis = -8% // 8% less than the automatic left border (0%) + let right-axis = 108% // 8% more than the automatic right border (100%) + + set line(stroke: 1.5pt) + // Top left border + place(line(start: (left-axis, top-axis), end: (0%, top-axis))) + // Top right border + place(line(start: (right-axis, top-axis), end: (100%, top-axis))) + // Left border + place(line(start: (left-axis, top-axis), end: (left-axis, bottom-axis))) + // Right border + place(line(start: (right-axis, top-axis), end: (right-axis, bottom-axis))) + // Bottom border + place(line(start: (left-axis, bottom-axis), end: (right-axis, bottom-axis))) +} + +#let set-heading(it, type) = { + show: block + let color = entry-type-metadata.at(type) + + if it.level == 1 { + set text(18pt) + } + if it.level == 2 { + set text(15pt) + } + if it.level == 3 { + set text(13pt) + } else { + set text(11pt) + } + + set text(weight: "semibold") + + box(inset: 0.5em, fill: color)[#it.body] + h(5pt) + box(baseline: -10pt, width: 1fr, line(length: 100%)) +} diff --git a/themes/linear/linear.typ b/themes/linear/linear.typ index 44760b7..1013ef0 100644 --- a/themes/linear/linear.typ +++ b/themes/linear/linear.typ @@ -3,8 +3,9 @@ #import "format.typ": set-border, set-heading #import "components/components.typ" #import "colors.typ": * +#import "/utils.typ" -#let linear-theme = ( +#let linear-theme = utils.make-theme( // Global show rules rules: rules, cover: cover, diff --git a/themes/linear/rules.typ b/themes/linear/rules.typ index 59dd94e..d5b73d7 100644 --- a/themes/linear/rules.typ +++ b/themes/linear/rules.typ @@ -1,6 +1,10 @@ -#import "format.typ": * - -#let rules(doc) = { - set text(font: "Blinker", size: 11pt) - doc -} +#import "format.typ": * +#import "/utils.typ" + +#let rules = utils.make-rules(doc => { + set text( + font: "Blinker", + size: 11pt, + ) + doc +}) diff --git a/themes/radial/components/admonitions.typ b/themes/radial/components/admonitions.typ index a87cd8c..c319ea9 100644 --- a/themes/radial/components/admonitions.typ +++ b/themes/radial/components/admonitions.typ @@ -5,28 +5,20 @@ #import "/packages.typ": showybox #import showybox: * -/// A message in a colored box meant to draw the reader's attention. -/// -/// -/// - type (string): The type of admonition. -/// Available types include: -/// - "note" -/// - "example" -/// - "quote" -/// - "equation" -/// - "decision" -/// - "build" -/// - body (content): The content of the admonition -/// -> content -#let admonition(type: none, body) = { +#let admonition = utils.make-admonition((type, body) => { let info = admonition-type-metadata.at(type) - let colored-icon = utils.change-icon-color(raw-icon: info.icon, fill: info.color) + let colored-icon = utils.change-icon-color( + raw-icon: info.icon, + fill: info.color, + ) showybox( frame: ( border-color: info.color, body-color: info.color.lighten(80%), - thickness: (left: 4pt), + thickness: ( + left: 4pt, + ), radius: 1.5pt, ), [ @@ -41,4 +33,4 @@ #body ], ) -} +}) diff --git a/themes/radial/components/decision-matrix.typ b/themes/radial/components/decision-matrix.typ index aead304..d7d8c15 100644 --- a/themes/radial/components/decision-matrix.typ +++ b/themes/radial/components/decision-matrix.typ @@ -1,29 +1,27 @@ #import "../colors.typ": * #import "/utils.typ" -#import "/packages.typ": tablex -#import tablex: * - -/// A decision matrix table. -/// -/// - properties (array): A list of the properties that each choice will be rated by -/// - ..choices (array): An array containing the name of the choices as its first member, -/// and values for each of the properties at its following indices -/// -> content -#let decision-matrix(properties: none, ..choices) = { - let data = utils.calc-decision-matrix(properties: properties, ..choices) - +#let decision-matrix = utils.make-decision-matrix((properties, data) => { set align(center) - tablex( - auto-lines: false, + let winning-row + for (index, choice) in data.values().enumerate() { + if choice.total.highest { + winning-row = index + 2 + } + } + + table( + stroke: none, columns: properties.len() + 2, fill: (_, row) => { - if calc.odd(row) { surface-3 } - if calc.even(row) { surface-1 } + if row == winning-row { green } + else if calc.odd(row) { surface-3 } + else if calc.even(row) { surface-1 } }, + // Top line - hlinex(stroke: (cap: "round", thickness: 2pt)), + table.hline(stroke: (cap: "round", thickness: 2pt)), // Blank column to account for names of choices [], // Print out all the properties @@ -33,14 +31,26 @@ // Last box in the row [*Total*], // Print out the data for each choice - ..for choice in data { - // Override the fill if the choice has the highest score - let cell = if choice.values.total.highest { cellx.with(fill: green) } else { cellx } - (cell[*#choice.name*], ..for value in choice.values { - (cell[#value.at(1).value],) - }) + + ..for (index, choice) in data { + ( + [#index], + ..for property in properties { + let value = choice.at(property.name) + ([#value.weighted],) + }, + [#choice.total.weighted] + ) }, + + //..for result in data { + // Override the fill if the choice has the highest score + //let cell = if choice.values.total.highest { cellx.with(fill: green) } else { cellx } + //(cell[*#choice.name*], ..for value in choice.values { + //(cell[#value.at(1).value],) + //}) + //}, // Bottom line - hlinex(stroke: (cap: "round", thickness: 2pt)), + table.hline(stroke: (cap: "round", thickness: 2pt)), ) -} +}) diff --git a/themes/radial/components/gantt-chart.typ b/themes/radial/components/gantt-chart.typ index c1e30df..1c1b887 100644 --- a/themes/radial/components/gantt-chart.typ +++ b/themes/radial/components/gantt-chart.typ @@ -21,17 +21,17 @@ /// ) /// ``` /// - start (datetime): Start date using datetime object -/// - year: `` -/// - month: `` +/// - year: `` +/// - month: `` /// - day: `` /// Example usage: ```typ datetime(year: 2024, month: 7, day: 16)``` /// - end (datetime): End date using datetime object -/// - year: `` -/// - month: `` +/// - year: `` +/// - month: `` /// - day: `` /// Example usage: ```typ datetime(year: 2024, month: 5, day: 2)``` /// - date-interval (integer): The interval between dates, seven would make it weekly -/// - date-format (string): The way the date is formated using the `` method +/// - date-format (string): The way the date is formatted using the `` method /// - tasks (array): Specify tasks using an array of arrays that have three fields each /// + `` or `` The name of the task /// + ``(`` or ``, `` or ``) The start and end point of the task @@ -54,13 +54,10 @@ ) = { timeliney.timeline( spacing: 5pt, - show-grid: true, grid-style: (stroke: (dash: none, thickness: .2pt, paint: black)), - tasks-vline: true, line-style: (stroke: 0pt), - milestone-overhang: 3pt, milestone-layout: "in-place", box-milestones: true, @@ -68,26 +65,40 @@ { import timeliney: * - let difference = end - start + let difference = end - start let dates-array = () let months-array = () let month-len = 0 let last-month = start.month() let next - for value in range(int((difference.days())/date-interval)+1) { - next = start + duration(days: (value*date-interval)) - dates-array.push(group(((next).display(date-format),1))) + for value in range(int((difference.days()) / date-interval) + 1) { + next = start + duration(days: (value * date-interval)) + dates-array.push(group(((next).display(date-format), 1))) if next.month() == last-month { month-len += 1 - last-month = next.month() + last-month = next.month() } else { - months-array.push(group(((datetime(year: next.year(), month: last-month, day: 1)).display("[month repr:long]"),month-len))) + months-array.push( + group(( + ( + datetime(year: next.year(), month: last-month, day: 1) + ).display("[month repr:long]"), + month-len, + )), + ) month-len = 1 - last-month = next.month() + last-month = next.month() } } - months-array.push(group(((datetime(year: next.year(), month: last-month, day: 1)).display("[month repr:long]"),month-len))) + months-array.push( + group(( + ( + datetime(year: next.year(), month: last-month, day: 1) + ).display("[month repr:long]"), + month-len, + )), + ) headerline(..months-array) headerline(..dates-array) @@ -101,29 +112,47 @@ } else { goal-color = goal.at(2) } - milestone([#box(fill: goal-color, outset: 3pt, radius: 1.5pt)[#goal.at(0)]], at: goal.at(1)) + milestone( + [#box(fill: goal-color, outset: 3pt, radius: 1.5pt)[#goal.at(0)]], + at: goal.at(1), + ) } } let colors = (red, orange, yellow, green, blue, violet) let index = 0 - let size = difference.days()/date-interval + let size = difference.days() / date-interval let pos = () - + taskgroup({ for item in tasks { - pos = (item.at(1).at(0)+size*0.007, item.at(1).at(1)-size*0.007) + pos = ( + item.at(1).at(0) + size * 0.007, + item.at(1).at(1) - size * 0.007, + ) if item.len() == 2 { - if index == colors.len()-1 { + if index == colors.len() - 1 { index = 0 } - task(item.at(0), pos, style: (stroke: (paint: colors.at(index), thickness: 5pt, cap: "round"))) + task( + item.at(0), + pos, + style: ( + stroke: (paint: colors.at(index), thickness: 5pt, cap: "round"), + ), + ) index += 1 } else { - task(item.at(0), pos, style: (stroke: (paint: item.at(2), thickness: 5pt, cap: "round"))) + task( + item.at(0), + pos, + style: ( + stroke: (paint: item.at(2), thickness: 5pt, cap: "round"), + ), + ) } } }) - } + }, ) } diff --git a/themes/radial/components/glossary.typ b/themes/radial/components/glossary.typ index de1d1c2..8bd3ef8 100644 --- a/themes/radial/components/glossary.typ +++ b/themes/radial/components/glossary.typ @@ -1,15 +1,6 @@ #import "/utils.typ" -/// Print out the glossary -/// -/// Example Usage: -/// -/// ```typ -/// #create-frontmatter-entry(title: "Glossary")[ -/// #components.glossary() -/// ] -/// ``` -#let glossary() = utils.print-glossary(glossary => { +#let glossary = utils.make-glossary(glossary => { columns(2)[ #for entry in glossary { box[ diff --git a/themes/radial/components/graphs.typ b/themes/radial/components/graphs.typ index d12f5b7..f93c347 100644 --- a/themes/radial/components/graphs.typ +++ b/themes/radial/components/graphs.typ @@ -1,6 +1,6 @@ #import "../colors.typ": * #import "/packages.typ": cetz - +#import "/utils.typ" /// Creates a labeled pie chart. /// @@ -18,38 +18,42 @@ /// - color: `` The value of the section /// - name: `` The name of the section /// -> content -#let pie-chart(..data) = { - let total; - let percentages = (); +#let pie-chart = utils.make-pie-chart(data => { + let total + let percentages = () for value in data.pos() { - total += value.value; + total += value.value } for value in data.pos() { percentages.push(calc.round(value.value / total * 100)) } - cetz.canvas( - { - import cetz.draw: * + cetz.canvas({ + import cetz.draw: * - let chart(..values, name: none) = { - let values = values.pos() - let anchor-angles = () + let chart(..values, name: none) = { + let values = values.pos() + let anchor-angles = () - let offset = 0 - let total = values.fold(0, (s, v) => s + v.value) + let offset = 0 + let total = values.fold(0, (s, v) => s + v.value) - let segment(from, to) = { - merge-path(close: true, { + let segment(from, to) = { + merge-path( + close: true, + { stroke((paint: black, join: "round", thickness: 0pt)) line((0, 0), (rel: (360deg * from, 2))) arc((), start: from * 360deg, stop: to * 360deg, radius: 2) - }) - } + }, + ) + } - let chart = group(name: name, { + let chart = group( + name: name, + { stroke((paint: black, join: "round")) for v in values { @@ -66,35 +70,42 @@ offset += value } - }) + }, + ) - return (chart, anchor-angles) - } + return (chart, anchor-angles) + } - // Draw the chart - let (chart, angles) = chart(..data, name: "chart") + // Draw the chart + let (chart, angles) = chart(..data, name: "chart") - chart + chart - set-style(mark: (fill: white, start: "o", stroke: black), content: (padding: .1)) - for (index, value) in data.pos().enumerate() { - let anchor = "chart." + value.name - let angle = angles.at(index) + set-style( + mark: (fill: white, start: "o", stroke: black), + content: (padding: .1), + ) + for (index, value) in data.pos().enumerate() { + let anchor = "chart." + value.name + let angle = angles.at(index) - let (line-end, anchor-direction) = if angle > 90deg and angle < 275deg { - ((-0.5, 0), "east") - } else { - ((0.5, 0), "west") - } + let (line-end, anchor-direction) = if angle > 90deg and angle < 275deg { + ((-0.5, 0), "east") + } else { + ((0.5, 0), "west") + } - line(anchor, (to: anchor, rel: (angle, 0.5)), (rel: line-end)) + line(anchor, (to: anchor, rel: (angle, 0.5)), (rel: line-end)) - content((), [#value.name], anchor: "south-" + anchor-direction) - content((), [ #percentages.at(index)% ], anchor: "north-" + anchor-direction) - } - }, - ) -} + content((), [#value.name], anchor: "south-" + anchor-direction) + content( + (), + [ #percentages.at(index)% ], + anchor: "north-" + anchor-direction, + ) + } + }) +}) /// Example Usage: /// ```typ @@ -111,9 +122,13 @@ /// - y-label (string): The label on the y axis /// - ..data (dictionary): /// -> content -#let plot(title: "", x-label: "", y-label: "", length: auto, ..data) = { +#let plot = utils.make-plot((title, x-label, y-label, length, data) => { // The length of the whole plot is 8.5 units. - let length = if length == auto { 8.5% } else { length / 8.5 } + let length = if length == auto { + 8.5% + } else { + length / 8.5 + } // Will be populated by the names of the rows of data, and their corresponding colors let legend = () @@ -136,10 +151,14 @@ ) } - set-style(axes: (grid: ( - stroke: (paint: luma(66.67%), dash: "loosely-dotted", cap: "round"), - fill: none, - ), tick: (stroke: (cap: "round")), stroke: (cap: "round"))) + set-style(axes: ( + grid: ( + stroke: (paint: luma(66.67%), dash: "loosely-dotted", cap: "round"), + fill: none, + ), + tick: (stroke: (cap: "round")), + stroke: (cap: "round"), + )) plot.plot( name: "plot", @@ -168,4 +187,4 @@ #label.name #h(10pt) ] -} +}) diff --git a/themes/radial/components/pro-con.typ b/themes/radial/components/pro-con.typ index d30e960..b2e9e84 100644 --- a/themes/radial/components/pro-con.typ +++ b/themes/radial/components/pro-con.typ @@ -1,22 +1,32 @@ -#include "../colors.typ" +#import "../colors.typ": * +#import "/utils.typ" -/// A table displaying pros and cons. -/// -/// - pros (content): The positive aspects -/// - cons (content): The negative aspects -/// -> content -#let pro-con(pros: [], cons: []) = [ - #let cell = rect.with(width: 100%, inset: 5pt) - #grid( +#let pro-con = utils.make-pro-con((pros, cons) => { + let cell = rect.with( + width: 100%, + inset: 5pt, + ) + + grid( columns: (1fr, 1fr), column-gutter: 4pt, - cell(fill: green, radius: (top: 1.5pt))[*Pros*], - cell(fill: red, radius: (top: 1.5pt))[*Cons*], - cell(fill: green.lighten(80%), radius: (bottom: 1.5pt))[ - #pros - ], - cell(fill: red.lighten(80%), radius: (bottom: 1.5pt))[ - #cons - ], + cell( + fill: green, + radius: (top: 1.5pt), + )[*Pros*], + cell( + fill: red, + radius: (top: 1.5pt), + )[*Cons*], + cell( + fill: green.lighten(80%), + radius: (bottom: 1.5pt), + pros, + ), + cell( + fill: red.lighten(80%), + radius: (bottom: 1.5pt), + cons, + ), ) -] +}) diff --git a/themes/radial/components/team.typ b/themes/radial/components/team.typ index 2befd3c..fbf4a78 100644 --- a/themes/radial/components/team.typ +++ b/themes/radial/components/team.typ @@ -32,7 +32,10 @@ radius: 1.5pt, )[ * #member.name * - #line(length: 100%, stroke: (cap: "round", dash: "solid", thickness: 1.5pt)) + #line( + length: 100%, + stroke: (cap: "round", dash: "solid", thickness: 1.5pt), + ) #v(8pt) #grid( columns: (1fr, 1fr), diff --git a/themes/radial/components/toc.typ b/themes/radial/components/toc.typ index fc12f04..74acf72 100644 --- a/themes/radial/components/toc.typ +++ b/themes/radial/components/toc.typ @@ -2,29 +2,41 @@ #import "../metadata.typ": * #import "./label.typ": * -/// Print out the table of contents -/// -/// Example Usage: -/// -/// ```typ -/// #create-frontmatter-entry(title: "Table of Contents")[ -/// #components.toc() -/// ] -/// ``` -#let toc() = utils.print-toc((frontmatter, body, appendix) => { +#let toc = utils.make-toc(( + _, + body, + appendix, +) => { heading(level: 1)[Entries] - stack(spacing: 1em, ..for entry in body { - ([ - #entry.date.display("[year]/[month]/[day]") - #h(5pt) - #label(entry.type) - #h(5pt) - #entry.title - #box(width: 1fr, line(length: 100%, stroke: (dash: "dotted"))) - #entry.page-number - ],) - }) + stack( + spacing: 1em, + ..for entry in body { + ( + [ + #entry.date.display("[year]/[month]/[day]") + #h(5pt) + #label(entry.type) + #h(5pt) + #entry.title + #box( + width: 1fr, + line( + length: 100%, + stroke: ( + dash: "dotted", + ), + ), + ) + #entry.page-number + ], + ) + }, + ) + + if (appendix.len() <= 0) { + return + } linebreak() @@ -32,8 +44,15 @@ for entry in appendix [ #entry.title - #box(width: 1fr, line(length: 100%, stroke: (dash: "dotted"))) + #box( + width: 1fr, + line( + length: 100%, + stroke: ( + dash: "dotted", + ), + ), + ) #entry.page-number - ] }) diff --git a/themes/radial/components/tournament.typ b/themes/radial/components/tournament.typ index f2f8446..a48d1aa 100644 --- a/themes/radial/components/tournament.typ +++ b/themes/radial/components/tournament.typ @@ -17,42 +17,56 @@ /// -> content #let tournament(..matches) = { for match in matches.pos() { - let color = if match.won { green } else { red } + let color = if match.won { + green + } else { + red + } let cell = rect.with(fill: color.lighten(80%), width: 100%, height: 30pt) let header-cell = cell.with(fill: color, height: 20pt) let alliance-info(alliance: none) = { cell[ - #grid(columns: (1fr, 1fr), [ - #alliance.teams.at(0) \ - #alliance.teams.at(1) \ - ], [ - #set text(size: 15pt) - #set align(horizon + center) - #alliance.score - ]) + #grid( + columns: (1fr, 1fr), + [ + #alliance.teams.at(0) \ + #alliance.teams.at(1) \ + ], [ + #set text(size: 15pt) + #set align(horizon + center) + #alliance.score + ], + + ) ] } let bool-icon(input) = { cell[ #set align(horizon + center) - #if input { image("../icons/check.svg", width: 1.5em) } else { image("../icons/x.svg", width: 1.5em) } + #if input { + image("../icons/check.svg", width: 1.5em) + } else { + image("../icons/x.svg", width: 1.5em) + } ] } - box(grid( - columns: (1fr, 1fr, 1fr, 1fr, 1fr), - header-cell(radius: (top-left: 1.5pt))[*Match*], - header-cell[*Red Alliance*], - header-cell[*Blue Alliance*], - header-cell[*Auton Bonus*], - header-cell(radius: (top-right: 1.5pt))[*AWP*], - cell[#match.match], - alliance-info(alliance: match.red-alliance), - alliance-info(alliance: match.blue-alliance), - bool-icon(match.auton), - bool-icon(match.awp), - )) + box( + grid( + columns: (1fr, 1fr, 1fr, 1fr, 1fr), + header-cell(radius: (top-left: 1.5pt))[*Match*], + header-cell[*Red Alliance*], + header-cell[*Blue Alliance*], + header-cell[*Auton Bonus*], + header-cell(radius: (top-right: 1.5pt))[*AWP*], + cell[#match.match], + alliance-info(alliance: match.red-alliance), + alliance-info(alliance: match.blue-alliance), + bool-icon(match.auton), + bool-icon(match.awp), + ), + ) if not match.at("notes", default: none) == none [ === Notes diff --git a/themes/radial/entries.typ b/themes/radial/entries.typ index 23259cb..46f7c22 100644 --- a/themes/radial/entries.typ +++ b/themes/radial/entries.typ @@ -6,71 +6,68 @@ #import "./metadata.typ": entry-type-metadata // TODO: make an actual cover -#let cover( - ctx: (:), -) = { +#let cover = utils.make-cover(ctx =>{ import components: label let label = label.with(size: 4.7em, radius: 6pt) - align(center + horizon)[ -#text(size: 24pt)[ + align(center + horizon, text(size: 24pt)[ Radial Theme - ] - ] - place(dx: 90pt, dy: -340pt, label("identify")) - place(dx: 52pt, dy: -295pt, label("brainstorm")) - - place(dx: 520pt, dy: 190pt, label("decide")) - place(dx: 490pt, dy: 240pt, label("build")) - place(dx: 460pt, dy: 290pt, label("test")) + ]) + + place(dx: 90pt, dy: -340pt, label("identify")) + place(dx: 52pt, dy: -295pt, label("brainstorm")) + + place(dx: 520pt, dy: 190pt, label("decide")) + place(dx: 490pt, dy: 240pt, label("build")) + place(dx: 460pt, dy: 290pt, label("test")) - place(dx: 150pt, dy: -160pt, rect(width: 50%, height: 300pt, fill: rgb("#eeeeeeff"), radius: (right: 20pt, left: 20pt))) + place(dx: 150pt, dy: -160pt, rect(width: 50%, height: 300pt, fill: rgb("#eeeeeeff"), radius: (right: 20pt, left: 20pt))) - place(dx: 125pt, dy: -180pt, label("management")) - place(dx: 425pt, dy: 105pt, label("management")) + place(dx: 125pt, dy: -180pt, label("management")) + place(dx: 425pt, dy: 105pt, label("management")) - place(dx: 520pt, dy: -270pt, rect(width: 9%, height: 55pt, fill: rgb("#eeeeeeff"), radius: (right: 5pt, left: 5pt))) - place(dx: 455pt, dy: -335pt, rect(width: 9%, height: 55pt, fill: rgb("#eeeeeeff"), radius: (right: 5pt, left: 5pt))) - place(dx: 490pt, dy: -300pt, label("program")) + place(dx: 520pt, dy: -270pt, rect(width: 9%, height: 55pt, fill: rgb("#eeeeeeff"), radius: (right: 5pt, left: 5pt))) + place(dx: 455pt, dy: -335pt, rect(width: 9%, height: 55pt, fill: rgb("#eeeeeeff"), radius: (right: 5pt, left: 5pt))) + place(dx: 490pt, dy: -300pt, label("program")) - place(dx: 55pt, dy: 205pt, rect(width: 9%, height: 55pt, fill: rgb("#eeeeeeff"), radius: (right: 5pt, left: 5pt))) - place(dx: 120pt, dy: 275pt, rect(width: 9%, height: 55pt, fill: rgb("#eeeeeeff"), radius: (right: 5pt, left: 5pt))) - place(dx: 90pt, dy: 240pt, label("notebook")) + place(dx: 55pt, dy: 205pt, rect(width: 9%, height: 55pt, fill: rgb("#eeeeeeff"), radius: (right: 5pt, left: 5pt))) + place(dx: 120pt, dy: 275pt, rect(width: 9%, height: 55pt, fill: rgb("#eeeeeeff"), radius: (right: 5pt, left: 5pt))) + place(dx: 90pt, dy: 240pt, label("notebook")) - place(dx: 165pt, dy: 200pt, line(length: 45%, stroke: 3.5pt + black)) + place(dx: 165pt, dy: 200pt, line(length: 45%, stroke: 3.5pt + black)) - place(dx: 165pt, dy: -215pt, line(length: 45%, stroke: 3.5pt + black)) + place(dx: 165pt, dy: -215pt, line(length: 45%, stroke: 3.5pt + black)) - place(dx: 250pt, dy: -280pt, text(size: 18pt)[ - *Radial Theme* - ]) + place(dx: 250pt, dy: -280pt, text(size: 18pt)[ + *Radial Theme* + ]) - place(dx: 225pt, dy: -250pt, text(size: 24pt)[ - *[Game Season]* - ]) + place(dx: 225pt, dy: -250pt, text(size: 24pt)[ + *[Game Season]* + ]) - place(dx: 235pt, dy: 165pt, text(size: 24pt)[ - *[Team Name]* - ]) + place(dx: 235pt, dy: 165pt, text(size: 24pt)[ + *[Team Name]* + ]) - place(dx: 0pt, dy: -370pt, figure( - image("Mediamodifier-Design.svg", width: 118%) - )) + place(dx: 0pt, dy: -370pt, figure( + image("Mediamodifier-Design.svg", width: 118%) + )) - } +}) -#let frontmatter-entry(ctx: (:), body) = { +#let frontmatter-entry = utils.make-frontmatter-entry((ctx, body) => { show: page.with( header: title(ctx.title), footer: align(right, context counter(page).display("i")), ) body -} +}) -#let body-entry(ctx: (:), body) = { +#let body-entry = utils.make-body-entry((ctx, body) => { let metadata = entry-type-metadata.at(ctx.type) show: page.with( header: title( @@ -95,13 +92,13 @@ ], ) body -} +}) -#let appendix-entry(ctx: (:), body) = { +#let appendix-entry = utils.make-appendix-entry((ctx, body) => { show: page.with( header: title(ctx.title), footer: align(right, context counter(page).display()), ) body -} \ No newline at end of file +}) diff --git a/themes/radial/format.typ b/themes/radial/format.typ index 152aef2..2c22a15 100644 --- a/themes/radial/format.typ +++ b/themes/radial/format.typ @@ -8,8 +8,12 @@ auto-lines: false, inset: 10pt, fill: (_, row) => { - if calc.odd(row) { surface-3 } - if calc.even(row) { surface-1 } + if calc.odd(row) { + surface-3 + } + if calc.even(row) { + surface-1 + } }, hlinex(stroke: (cap: "round", thickness: 2pt)), ..for child in it.children { @@ -44,31 +48,41 @@ ) #let raw-block(it) = { - set par(justify: false); + set par(justify: false) // the line counter - let i = 0; - let box-radius = 1.5pt; + let i = 0 + let box-radius = 1.5pt - let detail-radius = 1.5pt; + let detail-radius = 1.5pt if (it.lang != none) { grid( columns: (100%, 100%), column-gutter: (-100%), - block(width: 100%, inset: 1em, { - for line in it.text.split("\n") { - box(width: 0pt, align(right, str(i + 1) + h(2em))) - hide(line) - linebreak() - i = i + 1; - } - }), - block(radius: box-radius, fill: surface-1, width: 100%, inset: 1em, { - place( - top + right, - box(fill: surface-3, radius: detail-radius, outset: 3pt, it.lang), - ) - it - }), + block( + width: 100%, + inset: 1em, + { + for line in it.text.split("\n") { + box(width: 0pt, align(right, str(i + 1) + h(2em))) + hide(line) + linebreak() + i = i + 1 + } + }, + ), + block( + radius: box-radius, + fill: surface-1, + width: 100%, + inset: 1em, + { + place( + top + right, + box(fill: surface-3, radius: detail-radius, outset: 3pt, it.lang), + ) + it + }, + ), ) } else { block(radius: box-radius, fill: surface-2, width: 100%, inset: 1em, it) diff --git a/themes/radial/metadata.typ b/themes/radial/metadata.typ index f099dc9..b5291f6 100644 --- a/themes/radial/metadata.typ +++ b/themes/radial/metadata.typ @@ -3,6 +3,7 @@ // These should really be with their respective files, but that causes a cyclic import error, so I put them here. +// @typstyle off #let entry-type-metadata = ( "identify": (icon: icons.question-mark, color: yellow), "brainstorm": (icon: icons.light-bulb, color: orange), @@ -14,6 +15,7 @@ "notebook": (icon: icons.page, color: pink), ) +// @typstyle off #let admonition-type-metadata = ( "note": (icon: icons.pencil, color: green, title: "Note"), "warning": (icon: icons.warning, color: red, title: "Warning"), diff --git a/themes/radial/rules.typ b/themes/radial/rules.typ index a419682..5789bff 100644 --- a/themes/radial/rules.typ +++ b/themes/radial/rules.typ @@ -1,7 +1,8 @@ #import "./format.typ" #import "./colors.typ": * +#import "/utils.typ" -#let rules(doc) = { +#let rules = utils.make-rules(doc => { set text(font: ("Calibri", "Carlito"), size: 11pt) set page("us-letter") @@ -16,7 +17,10 @@ ] show link: it => [ - #text(fill: blue, [ _ #it _ ]) + #text( + fill: blue, + [ _ #it _ ], + ) ] show figure: it => align(center)[ @@ -32,9 +36,8 @@ show raw.where(block: true): it => format.raw-block(it) show heading: format.heading - - show table: format.table + //show table: format.table // Display the whole document doc -} +}) diff --git a/themes/themes.typ b/themes/themes.typ index 6fce657..e38c685 100644 --- a/themes/themes.typ +++ b/themes/themes.typ @@ -1,3 +1,16 @@ #import "./default/default.typ" + +/* + Radial Theme + Designed by @BattleCh1cken + Implemented by @BattleCh1cken +*/ + #import "./radial/radial.typ" -#import "./linear/linear.typ" \ No newline at end of file + +/* + Linear Theme + Designed by @BestUsernamEver + Implemented by @BestUsernamEver +*/ +#import "./linear/linear.typ" diff --git a/utils.typ b/utils.typ index 72d1516..a89f33d 100644 --- a/utils.typ +++ b/utils.typ @@ -1,173 +1,3 @@ -#import "/globals.typ" - -// TODO: document what ctx provides to the callback -/// Utility function to help themes implement a table of contents. -/// -/// Example Usage: -/// ```typ -/// #let toc() = utils.print-toc((frontmatter, body, appendix) => { -/// for entry in body [ -/// #entry.title -/// #box(width: 1fr, line(length: 100%, stroke: (dash: "dotted"))) -/// #entry.page-number -/// ] -/// }) -/// ``` -/// - callback (function): A function which takes the #link()[ctx] of all entries as input, and returns the content of the entire table of contents. -/// -> content -#let print-toc(callback) = locate( - loc => { - // Each of the types of entries have their own state variable and label, so we need to decide which ones to use - let helper(type) = { - let (state, markers) = if type == "frontmatter" { - ( - globals.frontmatter-entries, - query(selector(), loc), - ) - } else if type == "body" { - (globals.entries, query(selector(), loc)) - } else if type == "appendix" { - (globals.appendix-entries, query(selector(), loc)) - } else { - panic("No valid entry type selected.") - } - - let result = () - - for (index, entry) in state.final(loc).enumerate() { - let page-number = counter(page).at(markers.at(index).location()).at(0) - let ctx = entry.ctx - ctx.page-number = page-number - result.push(ctx) - } - return result - } - - let frontmatter-entries = helper("frontmatter") - let body-entries = helper("body") - let appendix-entries = helper("appendix") - - callback(frontmatter-entries, body-entries, appendix-entries) - }, -) - -/// A utility function meant to help themes implement a glossary -/// - callback (function): A function that returns the content of the glossary -/// -> content -#let print-glossary(callback) = locate( - loc => { - let sorted-glossary = globals.glossary-entries.final(loc).sorted(key: ((word: word, definition: _)) => word) - callback(sorted-glossary) - }, -) - -/// A utility function that does the calculation for decision matrices for you -/// -/// Example Usage: -/// -/// ```typ -/// #calc-decision-matrix( -/// properties: ( -/// (name: "Versatility", weight: 2), -/// (name: "Flavor", weight: 6), -/// (name: "Crunchiness"), // Defaults to a weight of 1 -/// ), -/// ("Sweet potato", 2, 5, 1), -/// ("Red potato", 2, 1, 3), -/// ("Yellow potato", 2, 2, 3), -/// ) -/// ``` -/// -/// The function returns an array of dictionaries, one for each choice. -/// Here's an example of what one of these dictionaries might look like: -/// -/// ```typ -/// #(name: "Sweet potato", values: ( -/// Versatility: (value: 3, highest: true), -/// Flavor: (value: 1, highest: false), -/// Crunchiness: (value: 1, highest: false), -/// total: (value: 5, highest: false), -/// )), -/// ``` -/// - properties (array string): A list of the properties that each choice will be rated by -/// - ..choices (array): All of the choices that are being rated. The first element of the array should be the name of the -/// -> array -#let calc-decision-matrix(properties: (), ..choices) = { - for choice in choices.pos() { - assert( - choice.len() - 1 == properties.len(), - message: "The number of supplied values did not match the number of properties.", - ) - } - - // This function follows the follow steps to calculate the outcome of a decision matrix: - // 1. Applies all of the weights to each of the values - // 2. Calculates the total for each choice - // 3. Adds all of the values to a dictionary, labeling them with their respective property names - // 4. Iterates over each of the newly organized choices to determine which is the highest for each category (including the total) - let choices = choices.pos().enumerate().map( - ((index, choice)) => { - let name = choice.at(0) - let values = choice.slice(1) - - // 1. Weight the values - values = values.enumerate().map( - ((index, value)) => value * properties.at(index).at("weight", default: 1), - ) - - // 2. Calc total - let total = values.sum() - - // 3. Assign the value names - let result = (:) - for (index, value) in values.enumerate() { - result.insert(properties.at(index).name, (value: value, highest: false)) - } - result.insert("total", (value: total, highest: false)) - - (name: name, values: result) - }, - ) - - // 4. Check if highest - properties.push((name: "total")) // Treat total as a property as well - for property in properties { - let highest = (index: 0, value: 0) // Records the index of the choice which had the highest total - - for (index, choice) in choices.enumerate() { - let property-value = choice.values.at(property.name).value - - if property-value > highest.value { - highest.index = index - highest.value = property-value - } - } - choices.at(highest.index).values.at(property.name).highest = true; - } - - return choices -} - -/// Returns the raw image data, not image content -/// You'll still need to run image.decode on the result -/// -/// - raw-icon (string): The raw data for the image. Must be svg data. -/// - fill (color): The new icon color -/// -> string -#let change-icon-color(raw-icon: "", fill: red) = { - return raw-icon.replace(" content -#let colored-icon(path, fill: red, width: 100%, height: 100%, fit: "contain") = { - let raw-icon = read(path) - let raw-colored-icon = raw-icon.replace(" { +/// for entry in body [ +/// #entry.title +/// #box(width: 1fr, line(length: 100%, stroke: (dash: "dotted"))) +/// #entry.page-number +/// ] +/// }) +/// ``` +/// - callback (function): A function which returns the content of the toc. The function must take `frontmatter`, `body`, and `appendix` arguments. +/// -> function +#let make-toc(callback) = { + let helper(type) = { + let (state, markers) = if type == "frontmatter" { + ( + globals.frontmatter-entries, + query( + selector(), + ), + ) + } else if type == "body" { + ( + globals.entries, + query( + selector(), + ), + ) + } else if type == "appendix" { + ( + globals.appendix-entries, + query( + selector(), + ), + ) + } else { + panic("No valid entry type selected.") + } + + let result = () + + for (index, entry) in state.final().enumerate() { + let page-number = counter(page).at( + markers.at(index).location(), + ).at(0) + let ctx = entry.ctx + ctx.page-number = page-number + result.push(ctx) + } + return result + } + + return () => context { + let frontmatter-entries = helper("frontmatter") + let body-entries = helper("body") + let appendix-entries = helper("appendix") + + callback( + frontmatter-entries, + body-entries, + appendix-entries, + ) + } +} + +/// Constructor for a glossary component +/// +/// *Example Usage:* +/// ```typ +/// #let glossary = utils.make-glossary(glossary => { +/// stack( +/// spacing: 0.5em, +/// ..for entry in glossary { +/// ( +/// [ +/// = #entry.word +/// +/// #entry.definition +/// ], +/// ) +/// }, +/// ) +/// }) +/// ``` +/// - callback (function): A function that returns the content of the glossary. The function must take a `glossary` argument. +/// -> function +#let make-glossary(callback) = { + return () => context { + let sorted-glossary = globals.glossary-entries.final().sorted(key: ( + (word: word, definition: definition), + ) => word) + callback(sorted-glossary) + } +} + +/// Constructor for a pro / con component +/// +/// *Example Usage:* +/// ```typ +/// #let pro-con = utils.make-pro-con((pros, cons) => { +/// table( +/// columns: ( +/// 1fr, +/// 1fr, +/// ), +/// table.cell(fill: green)[*Pros*], +/// table.cell(fill: red)[*Cons*], +/// pros, +/// cons, +/// ) +/// }) +/// ``` +/// +/// - callback (function): A function that returns the content of the pro / con table. The function must take `pros` and `cons` arguments. +/// -> function +#let make-pro-con(callback) = { + return (pros: [], cons: []) => { + callback(pros, cons) + } +} + +/// Constructor for a decision matrix +/// +/// *Example Usage:* +/// ```typ +/// #let decision-matrix = utils.make-decision-matrix((properties, data) => { +/// // ... +/// }) +/// ``` +/// - callback (function): A function that returns the content of the matrix. The function must `properties` and `data` arguments. +/// -> function +#let make-decision-matrix(callback) = { + return (properties: (), ..choices) => { + // ensure the properties are passed in correctly + // + // this variable tracks whether the user + // is using the alternate mode of passing in arguments, + // where each property is a str instead of a dictionary + let alternate-format = false + for property in properties { + if type(property) == str { + alternate-format = true + } else { + assert( + not alternate-format, + message: "Property should be of type 'str'", + ) + + if property.at("weight", default: none) == none { + property.insert("weight", 1) + } + + assert.eq(type(property.name), str) + assert(type(property.weight) == float or type(property.weight) == int) + } + } + + // ensure the choices are passed in correctly + for choice in choices.pos() { + for (index, rating) in choice.enumerate() { + if index == 0 { + assert.eq(type(rating), str) + continue + } + + assert( + type(rating) == int or type(rating) == float, + message: "Values for decision matrices must be of type 'float' or 'int'", + ) + } + + assert.eq( + choice.len() - 1, + properties.len(), + message: "The number of supplied values did not match the number of properties.", + ) + } + + // the calculation should only need to parse data in one format, + // so if the user passed in the alternate, format we'll just convert it to the standard one + properties = if alternate-format { + properties.map(property => (name: property, weight: 1)) + } else { + properties + } + + // now we can actually calculate the data + let data = (:) + + for (index, choice) in choices.pos().enumerate() { + let name = choice.at(0) + + let values = choice.slice(1) + let unweighted-total = values.sum() + + let weighted-values = values.enumerate().map(( + (index, value), + ) => value * properties.at(index).at( + "weight", + default: 1, + )) + let weighted-total = weighted-values.sum() + + let property-data = (:) + + for (index, property) in properties.enumerate() { + property-data.insert( + property.name, + ( + unweighted: values.at(index), + weighted: weighted-values.at(index), + highest: false, + ), + ) + } + + property-data.insert( + "total", + ( + unweighted: unweighted-total, + weighted: weighted-total, + highest: false, + ), + ) + + data.insert( + name, + property-data, + ) + } + + // now that we've filled in all of the data, we can calculate which choice won + + // we're going to treat total like another property for the sake of calculating if it won + properties.push((name: "total")) + + for property in properties { + let highest = ( // Records the index of the choice which had the highest total + index: 0, + value: 0, + ) + + for (index, choice) in data { + let property-value = choice.at(property.name).weighted + if property-value > highest.value { + highest.index = index + highest.value = property-value + } + } + data.at(highest.index).at(property.name).highest = true + } + properties.pop() + + + return callback(properties, data) + } +} + +/// A constructor for an admonition component. +/// +/// *Example Usage:* +/// ```typ +/// #let admonition = utils.make-admonition((type, body) => { +/// //.. +/// } +/// ``` +/// - callback (function): A function that returns the content for the admonition. The function must take `type` and `body` arguments. +/// Valid types include: +/// - `"note"`, +/// - `"example"`, +/// - `"warning"`, +/// - `"quote"`, +/// - `"equation"`, +/// +/// - `"identify"`, +/// - `"brainstorm"`, +/// - `"decide"`, +/// - `"decision"`, // DEPRECATED +/// - `"build"`, +/// - `"program"`, +/// - `"test"`, +/// - `"management"`, +/// - `"notebook"`, +/// +/// -> function +#let make-admonition(callback) = { + let valid-types = ( + "note", + "example", + "warning", + "quote", + "equation", + + "identify", + "brainstorm", + "decide", + "decision", + "build", + "program", + "test", + "management", + "notebook", + ) + + let valid-types-printable = valid-types.fold( + "", + ( + base, + value, + ) => { + base + " '" + value + "'" + }, + ) + + return (type: none, body) => { + if not valid-types.contains(type) { + panic("Entry type '" + str(type) + "' is not valid. Valid types include:" + valid-types-printable) + } + + callback( + type, + body, + ) + } +} + +/// A constructor for a pie chart component +/// +/// *Example Usage:* +/// +/// ```typ +/// #let pie-chart = utils.make-pie-chart(data => { +/// // ... +/// }) +/// ``` +/// - callback (function): A function that returns the content for the pie chart. The function must take a `data` argument. +/// -> function +#let make-pie-chart(callback) = { + return (..data) => { + callback(data) + } +} + +/// A constructor for a plot component +/// +/// *Example Usage:* +/// ```typ +/// #let plot = utils.make-plot((title, x-label, y-label, length, data) => { +/// // ... +/// }) +/// ``` +/// +/// - callback (function): A function that returns the content for the plot. +/// The function must take `title`, `x-label`, `y-label`, `length`, and `data` arguments. +/// -> function +#let make-plot(callback) = { + return (title: "", x-label: "", y-label: "", length: auto, ..data) => { + callback(title, x-label, y-label, length, data) + } +} + +// TODO: add method for these extra components: +// - gantt chart +// - tournament +// - team diff --git a/utils/misc.typ b/utils/misc.typ new file mode 100644 index 0000000..a8ef76a --- /dev/null +++ b/utils/misc.typ @@ -0,0 +1,43 @@ +/// Returns the raw image data, not image content +/// You'll still need to run image.decode on the result +/// +/// - raw-icon (string): The raw data for the image. Must be svg data. +/// - fill (color): The new icon color +/// -> string +#let change-icon-color( + raw-icon: "", + fill: red, +) = { + return raw-icon.replace( + " content +#let colored-icon( + path, + fill: red, + width: 100%, + height: 100%, + fit: "contain", +) = { + let raw-icon = read(path) + let raw-colored-icon = raw-icon.replace( + " dictionary +#let make-theme( + rules: none, + cover: none, + frontmatter-entry: none, + body-entry: none, + appendix-entry: none, +) = { + for input in ( + rules, + cover, + frontmatter-entry, + body-entry, + appendix-entry, + ) { + assert.eq( + type(input), + function, + ) + } + + return ( + rules: rules, + cover: cover, + frontmatter-entry: frontmatter-entry, + body-entry: body-entry, + appendix-entry: appendix-entry, + ) +} + +/// A constructor for a rules function. The resulting function will take the whole document as input, and can modify it in any arbitrary way. +/// +/// - callback (function): A function that returns the content of the document, and takes a `doc` parameter as input. +/// -> function +#let make-rules(callback) = { + assert.eq( + type( + callback([test]), + ), + content, + message: "The callback function does not return content. Make sure that you've properly returned the document.", + ) + + return doc => { + callback(doc) + } +} + +/// A constructor for a cover function. The resulting function will be displayed inside of a page with no margins, as the cover of the notebook. +/// +/// - callback (function): A function that returns a cover, and takes a named `ctx` argument. +/// -> function +#let make-cover(callback) = { + return (ctx: (:)) => { + check-multiple-types( + ctx, + ( + "team-name", + "season", + "year", + ), + str, + ) + + callback(ctx) + } +} + +/// A constructor for frontmatter entry function. The resulting function should return the content of an entry as output. +/// +/// - callback (function): A function that returns an entry, and takes a named `ctx` argument, and a `body` positional argument. +/// -> function +#let make-frontmatter-entry(callback) = { + assert.eq(type(callback), function) + + return (ctx: (:), body) => { + check-type(ctx, "title", str) + + callback(ctx, body) + } +} + +/// A constructor for a body entry function. The resulting function should return the content of an entry as output. +/// +/// - callback (function): A function that returns an entry, and takes a named `ctx` argument, and a `body` positional argument. +/// -> function +#let make-body-entry(callback) = { + assert.eq(type(callback), function) + + return (ctx: (:), body) => { + let valid-entry-types = ( + "identify", + "brainstorm", + "decide", + "build", + "program", + "test", + "management", + "notebook", + ) + + let valid-types-printable = valid-entry-types.fold( + "", + (base, value) => { + base + " '" + value + "'" + }, + ) + + check-multiple-types( + ctx, + ( + "title", + "type", + "author", + "witness", + ), + str, + ) + + check-type(ctx, "date", datetime) + check-type(ctx, "participants", array) + + if not valid-entry-types.contains(ctx.type) { + panic("Entry type '" + str(ctx.type) + "' is not valid. Valid types include:" + valid-types-printable) + } + + callback(ctx, body) + } +} + +// All of the check logic is exactly the same, so we can just use the frontmatter-entry here + +/// A constructor for an appendix entry function. The resulting function should return the content of an entry as output. +/// +/// - callback (function): A function that returns an entry, and takes a named `ctx` argument, and a `body` positional argument. +/// -> function +#let make-appendix-entry = make-frontmatter-entry