From c0a42aa8a6a20fa95a57cece2d758bd34a1273f7 Mon Sep 17 00:00:00 2001 From: LordBaryhobal Date: Sun, 23 Feb 2025 14:12:50 +0100 Subject: [PATCH] fixed raw decode warning + updated doc --- docs/config.typ | 8 ++--- docs/examples.typ | 2 +- docs/schema.typ | 11 +++--- gallery.bash | 40 --------------------- gallery/example1.pdf | Bin 26480 -> 26500 bytes gallery/example2.pdf | Bin 25090 -> 25110 bytes gallery/example3.pdf | Bin 37081 -> 37112 bytes gallery/test.pdf | Bin 48207 -> 48227 bytes justfile | 12 +++++++ manual.pdf | Bin 114757 -> 126697 bytes manual.typ | 83 ++++++++++++++++++++++++++++++------------- src/schema.typ | 8 ++--- typst.toml | 2 +- 13 files changed, 88 insertions(+), 78 deletions(-) delete mode 100755 gallery.bash create mode 100644 justfile diff --git a/docs/config.typ b/docs/config.typ index 3023224..2046f8c 100644 --- a/docs/config.typ +++ b/docs/config.typ @@ -1,7 +1,7 @@ /// Creates a dictionary of all configuration parameters /// /// - default-font-family (str): The default font family -/// - default font-size (length): The absolute default font size +/// - default-font-size (length): The absolute default font size /// - italic-font-family (str): The italic font family (for value descriptions) /// - italic-font-size (length): The absolute italic font size /// - background (color): The diagram background color @@ -15,7 +15,7 @@ /// - dash-length (float): The length of individual dashes (for dashed lines) /// - dash-space (float): The space between two dashes (for dashed lines) /// - arrow-size (float): The size of arrow heads -/// - margins (tuple[float]): TODO -> remove +/// - margins (tuple): TODO -> remove /// - arrow-margin (float): The margin between arrows and the structures they link /// - values-gap (float): The gap between individual values /// - arrow-label-distance (float): The distance between arrows and their labels @@ -55,9 +55,9 @@ ) = {} /// Dark theme config -/// - ..args (any): see #doc-ref("config.config") +/// - ..args (any): see @@config() #let dark(..args) = {} /// Blueprint theme config -/// - ..args (any): see #doc-ref("config.config") +/// - ..args (any): see @@config() #let blueprint(..args) = {} \ No newline at end of file diff --git a/docs/examples.typ b/docs/examples.typ index 5e1c362..1e6c99b 100644 --- a/docs/examples.typ +++ b/docs/examples.typ @@ -13,7 +13,7 @@ box( stroke: black + 1pt, radius: .5em, - fill: if fill {yellow.lighten(80%)} else {none}, + fill: if fill {orange.lighten(95%)} else {none}, if show-src { let src-block = align(left, raw(src, lang: "typc")) table( diff --git a/docs/schema.typ b/docs/schema.typ index 4a56136..48d539e 100644 --- a/docs/schema.typ +++ b/docs/schema.typ @@ -2,15 +2,18 @@ /// This function returns a dictionary of structures /// /// Supported formats: #schema.valid-extensions.map(e => raw("." + e)).join(", ") -/// - path-or-schema (str, raw, dictionary): If it is a string, defines the path to load. \ -/// If it is a raw block, its content is directly parsed (the block's language will define the format to use) \ -/// If it is a dictionary, it directly defines the schema structure +/// - path-or-schema (str, raw, dictionary): +/// #list( +/// [If it is a string, defines the path to load.\ #emoji.warning Warning: this will only work if this package is part of your project, as packages installed in the `@local` or `@preview` namespace cannot access project files], +/// [If it is a raw block, its content is directly parsed (the block's language will define the format to use)], +/// [If it is a dictionary, it directly defines the schema structure] +/// ) /// -> dictionary #let load(path-or-schema) = {} /// Renders the given schema /// This functions -/// - schema (dictionary): A schema dictionary, as returned by #doc-ref("schema.load") +/// - schema (dictionary): A schema dictionary, as returned by @@load() /// - config (auto, dictionary): The configuration parameters, as returned by #doc-ref("config.config") /// - width (ratio, length): The width of the generated figure #let render(schema, config: auto, width: 100%) = {} \ No newline at end of file diff --git a/gallery.bash b/gallery.bash deleted file mode 100755 index 16e91db..0000000 --- a/gallery.bash +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -PDFS=false - -while getopts "p" flag -do - case "${flag}" in - p) PDFS=true;; - esac -done - -echo "Generating gallery images" - -set -- ./gallery/example*.typ -cnt="$#" -i=1 -for f -do - f2="${f%.typ}.png" - echo "($i/$cnt) $f -> $f2" - typst c --root ./ "$f" "$f2" - i=$((i+1)) -done - -if [ "$PDFS" = true ] -then - echo - echo "Generating gallery PDFs" - - files=$(find ./gallery -type f -name "*.typ") - cnt=$(echo "$files" | wc -l) - i=1 - for f in $files - do - f2="${f%.typ}.pdf" - echo "($i/$cnt) $f -> $f2" - typst c --root ./ "$f" "$f2" - i=$((i+1)) - done -fi \ No newline at end of file diff --git a/gallery/example1.pdf b/gallery/example1.pdf index ea70a4631710a4aad0f74c3f7313573105817207..ca2330e675b5334a6e1425eb0f06cfb50bbfe9b7 100644 GIT binary patch delta 322 zcmexxj1Z+AT>9|t=y@6 z@`5CF98#O_Cb2S#nd%xC=^7b_7#dp{n^=LJU}a!1`E#-g4ynx=Df5^_%?%U`KtLgn zmkZ1=GBr1yd^^qE54$^TZ8d@3#p*<$R4kXB9anKlVo^y&QED2Ok*S5H5tpi}tG^on DtG-w; delta 302 zcmZoU&-mdS;|9hAHzPd*O)domednUo#FEVXJeS0hR0RzeDo=a^<$kmTp%=2;x<9$}K?o$4Amc~z1+ z4yn!0lUNxAO>_+nbd3!{3{9;J&8&bHPi9I{!4%zWlQNG<)XYG^00b2Bc)7p~BU5wZ t$?wzL{jl3^YpbcCfm14$%g&CgxFoTtq@pM_jmyZ?!rX{URn^ts4FFQb%f={Xs%v1RYh)Z^Xl!L{Vg+`9m4U(J);JX$Qk!?h&0`X^Fin0J5N5 AF8}}l delta 299 zcmbPsgt6%en03|9_U;qFB diff --git a/gallery/example3.pdf b/gallery/example3.pdf index d54338a9188e6b57c49d5c16e3c2855a267782e1..d5156f404a34fe090828437ee85b98ea8e972d49 100644 GIT binary patch delta 5771 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 QR89sW%Xs|wIU~*g0Z4My>i_@% delta 5832 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 delta 281 zcmaF-gX#ParVTn<7>y?DZjsV9F*GnXFf=tZGc}CT77EjjQp@J#8IekYEv#5c&f&mC9 myREIJf(A~hSS~v|uHur!qLPZD)HE&=a}z^LE>%@me>VUaoK->q diff --git a/justfile b/justfile new file mode 100644 index 0000000..f0c0b97 --- /dev/null +++ b/justfile @@ -0,0 +1,12 @@ +# Local Variables: +# mode: makefile +# End: +gallery_dir := "./gallery" +set shell := ["bash", "-uc"] + +manual: + typst c manual.typ manual.pdf + +gallery: + for f in "{{gallery_dir}}"/*.typ; do typst c --root . "$f" "${f/typ/pdf}"; done + for f in "{{gallery_dir}}"/example*.typ; do typst c --root . "$f" "${f/typ/png}"; done diff --git a/manual.pdf b/manual.pdf index 90cf0d502586f6c7df65d7e20ec8b785114ea106..8597825d677e7dc4e6c54865bf1450208a4cdc5c 100644 GIT binary patch delta 85332 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⁢PZBW=o{ri>E0$q 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