diff --git a/Cargo.lock b/Cargo.lock index 360df31a..3f9d1e08 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2613,6 +2613,7 @@ dependencies = [ "ttf-parser", "two-face", "typed-arena", + "typst-assets", "typst-macros", "typst-syntax", "typst-timing", @@ -2624,6 +2625,11 @@ dependencies = [ "wasmi", ] +[[package]] +name = "typst-assets" +version = "0.10.0" +source = "git+https://github.com/typst/typst-assets?rev=79e1c84#79e1c84788fb23f34755b8ebb300dcd9bc4af77f" + [[package]] name = "typst-cli" version = "0.10.0" @@ -2658,6 +2664,7 @@ dependencies = [ "tar", "tempfile", "typst", + "typst-assets", "typst-macros", "typst-pdf", "typst-render", @@ -2668,6 +2675,11 @@ dependencies = [ "zip", ] +[[package]] +name = "typst-dev-assets" +version = "0.10.0" +source = "git+https://github.com/typst/typst-dev-assets?rev=1dba4be#1dba4bea22e5e19597fbf5f321b047ff7626e2d0" + [[package]] name = "typst-docs" version = "0.10.0" @@ -2685,6 +2697,8 @@ dependencies = [ "syntect", "typed-arena", "typst", + "typst-assets", + "typst-dev-assets", "typst-render", "unicode_names2", "unscanny", @@ -2698,6 +2712,7 @@ dependencies = [ "comemo", "libfuzzer-sys", "typst", + "typst-assets", "typst-render", "typst-syntax", ] @@ -2741,6 +2756,7 @@ dependencies = [ "svg2pdf", "ttf-parser", "typst", + "typst-assets", "typst-macros", "typst-timing", "unicode-properties", @@ -2812,6 +2828,8 @@ dependencies = [ "tiny-skia", "ttf-parser", "typst", + "typst-assets", + "typst-dev-assets", "typst-ide", "typst-pdf", "typst-render", diff --git a/Cargo.toml b/Cargo.toml index a0d89057..99a1b432 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,6 +26,8 @@ typst-render = { path = "crates/typst-render" } typst-svg = { path = "crates/typst-svg" } typst-syntax = { path = "crates/typst-syntax" } typst-timing = { path = "crates/typst-timing" } +typst-assets = { git = "https://github.com/typst/typst-assets", rev = "79e1c84" } +typst-dev-assets = { git = "https://github.com/typst/typst-dev-assets", rev = "1dba4be" } az = "1.2" base64 = "0.21.2" bitflags = { version = "2", features = ["serde"] } diff --git a/assets/files/1-writing-app.png b/assets/files/1-writing-app.png deleted file mode 100644 index 8e0d8836..00000000 Binary files a/assets/files/1-writing-app.png and /dev/null differ diff --git a/assets/files/1-writing-upload.png b/assets/files/1-writing-upload.png deleted file mode 100644 index 51d6bee4..00000000 Binary files a/assets/files/1-writing-upload.png and /dev/null differ diff --git a/assets/files/2-formatting-autocomplete.png b/assets/files/2-formatting-autocomplete.png deleted file mode 100644 index e66a5520..00000000 Binary files a/assets/files/2-formatting-autocomplete.png and /dev/null differ diff --git a/assets/files/3-advanced-paper.png b/assets/files/3-advanced-paper.png deleted file mode 100644 index a8710a18..00000000 Binary files a/assets/files/3-advanced-paper.png and /dev/null differ diff --git a/assets/files/3-advanced-team-settings.png b/assets/files/3-advanced-team-settings.png deleted file mode 100644 index ce29269b..00000000 Binary files a/assets/files/3-advanced-team-settings.png and /dev/null differ diff --git a/assets/files/SExpressions.sublime-syntax b/assets/files/SExpressions.sublime-syntax deleted file mode 100644 index 31c830a4..00000000 --- a/assets/files/SExpressions.sublime-syntax +++ /dev/null @@ -1,73 +0,0 @@ -%YAML 1.2 ---- -name: S Expressions -file_extensions: ["sexp"] -scope: source.sexpr - -contexts: - main: - - match: '(;+).*$' - scope: comment.line.sexpr - captures: - 1: punctuation.definition.comment.sexpr - - match: '#;' - scope: punctuation.definition.comment.sexpr - push: comment - - match: '#\|' - scope: punctuation.definition.comment.sexpr - push: block_comment - - - match: '"' - scope: punctuation.definition.string.begin.sexpr - push: string_unquote - - match: '\d+\.\d+' - scope: constant.numeric.float.sexpr - - match: '\d+' - scope: constant.numeric.integer.sexpr - - match: '\w+' - scope: constant.other.sexpr - - match: '\(' - scope: punctuation.section.parens.begin.sexpr - push: main_rparen - - match: '\)' - scope: invalid.illegal.stray-paren-end - - string_unquote: - - meta_scope: string.quoted.double.sexpr - - match: '""' - scope: constant.character.escape.sexpr - - match: '"' - scope: punctuation.definition.string.end.sexpr - pop: true - - main_rparen: - - match: '\)' - scope: punctuation.section.parens.end.sexpr - pop: true - - include: main - - comment: - - meta_scope: comment.block.sexpr - - match: '\(' - set: comment_rparen - - comment_lparen: - - meta_scope: comment.block.sexpr - - match: '\(' - push: comment_rparen - - match: '\)' - scope: invalid.illegal.stray-paren-end - - comment_rparen: - - meta_scope: comment.block.sexpr - - match: '\)' - pop: true - - include: comment - - block_comment: - - meta_scope: comment.block.sexpr - - match: '#\|' - push: block_comment - - match: '\|#' - scope: punctuation.definition.comment.sexpr - pop: true diff --git a/assets/files/bad.bib b/assets/files/bad.bib deleted file mode 100644 index 41b4d63d..00000000 --- a/assets/files/bad.bib +++ /dev/null @@ -1,6 +0,0 @@ -@article{arrgh, - title = {An‐arrgh‐chy: The Law and Economics of Pirate Organization}, - author = {Leeson, Peter T.}, - crossref = {polecon}, - date = {19XXX-XX-XX}, -} diff --git a/assets/files/bad.csv b/assets/files/bad.csv deleted file mode 100644 index 2c2696e9..00000000 --- a/assets/files/bad.csv +++ /dev/null @@ -1,4 +0,0 @@ -A,B -1,2 -3,4,5 -6,7 diff --git a/assets/files/bad.json b/assets/files/bad.json deleted file mode 100644 index cd5d0366..00000000 --- a/assets/files/bad.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "valid": true, - "invalid": True -} diff --git a/assets/files/bad.svg b/assets/files/bad.svg deleted file mode 100644 index b7828a61..00000000 --- a/assets/files/bad.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/assets/files/bad.toml b/assets/files/bad.toml deleted file mode 100644 index ac326d8f..00000000 --- a/assets/files/bad.toml +++ /dev/null @@ -1 +0,0 @@ -"only a string" diff --git a/assets/files/bad.txt b/assets/files/bad.txt deleted file mode 100644 index bb50896b..00000000 Binary files a/assets/files/bad.txt and /dev/null differ diff --git a/assets/files/bad.xml b/assets/files/bad.xml deleted file mode 100644 index 7fa6a6ed..00000000 --- a/assets/files/bad.xml +++ /dev/null @@ -1,3 +0,0 @@ - - 1 - diff --git a/assets/files/bad.yaml b/assets/files/bad.yaml deleted file mode 100644 index 8910432e..00000000 --- a/assets/files/bad.yaml +++ /dev/null @@ -1 +0,0 @@ -this_will_break: [) diff --git a/assets/files/chinese.svg b/assets/files/chinese.svg deleted file mode 100644 index b643e033..00000000 --- a/assets/files/chinese.svg +++ /dev/null @@ -1,4 +0,0 @@ - - 此文本为中文。 - The text above is in Chinese. - diff --git a/assets/files/cylinder.svg b/assets/files/cylinder.svg deleted file mode 100644 index 32f691cb..00000000 --- a/assets/files/cylinder.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - diff --git a/assets/files/data.csv b/assets/files/data.csv deleted file mode 100644 index 3fce663f..00000000 --- a/assets/files/data.csv +++ /dev/null @@ -1,3 +0,0 @@ -0..2,small -3..5,medium -6..,big diff --git a/assets/files/data.html b/assets/files/data.html deleted file mode 100644 index a4d1903e..00000000 --- a/assets/files/data.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Example document - - -

Hello, world!

- - diff --git a/assets/files/data.xml b/assets/files/data.xml deleted file mode 100644 index 9ae409ee..00000000 --- a/assets/files/data.xml +++ /dev/null @@ -1,7 +0,0 @@ - - 1 - - World - World - - diff --git a/assets/files/details.toml b/assets/files/details.toml deleted file mode 100644 index 56cf166d..00000000 --- a/assets/files/details.toml +++ /dev/null @@ -1,3 +0,0 @@ -title = "Secret project" -version = 2 -authors = ["Mr Robert", "Miss Enola"] diff --git a/assets/files/diagram.svg b/assets/files/diagram.svg deleted file mode 100644 index dc42e068..00000000 --- a/assets/files/diagram.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - -Height -Height -Height -Height -Without family -With non-existing family -Time - -Curve - diff --git a/assets/files/docs.svg b/assets/files/docs.svg deleted file mode 100644 index 3b358896..00000000 --- a/assets/files/docs.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/assets/files/example.xml b/assets/files/example.xml deleted file mode 100644 index 1e5d19c9..00000000 --- a/assets/files/example.xml +++ /dev/null @@ -1,22 +0,0 @@ - - -
- 2022 Budget approved - John Doe - 2022-12-19 - -

The 2022 budget has been approved by the Senate.

-

The budget is $1.2 trillion.

-

It is expected to be signed by the President next week.

-
-
-
- Tigers win the World Series - Jane Doe - 2022-12-20 - -

The Tigers have won the World Series.

-

They beat the Giants 4 to 3.

-
-
-
diff --git a/assets/files/f2t.jpg b/assets/files/f2t.jpg deleted file mode 100644 index 15065b08..00000000 Binary files a/assets/files/f2t.jpg and /dev/null differ diff --git a/assets/files/glacier.jpg b/assets/files/glacier.jpg deleted file mode 100644 index a1d1c511..00000000 Binary files a/assets/files/glacier.jpg and /dev/null differ diff --git a/assets/files/graph.png b/assets/files/graph.png deleted file mode 100644 index 069b0cbc..00000000 Binary files a/assets/files/graph.png and /dev/null differ diff --git a/assets/files/halcyon.tmTheme b/assets/files/halcyon.tmTheme deleted file mode 100644 index 36f2d66a..00000000 --- a/assets/files/halcyon.tmTheme +++ /dev/null @@ -1,865 +0,0 @@ - - - - - author - Brittany Chiang - colorSpaceName - sRGB - name - ayu - semanticClass - halcyon - settings - - - settings - - background - #1d2433 - foreground - #a2aabc - caret - #FFCC66 - findHighlight - #8695b7 - findHighlightForeground - #d7dce2 - guide - #2f3b54 - activeGuide - #2f3b54 - stackGuide - #2f3b54 - gutter - #1d2433 - gutterForeground - #8695b755 - inactiveBackground - #1d2433 - inactiveSelection - #2f3b54 - invisibles - #6679a4 - lineHighlight - #2f3b54 - popupCss - - html, body { - background-color: #1d2433; - font-size: 12px; - color: #a2aabc; - padding: 0; - } - body { - padding: 5px; - } - div { - padding-bottom: -3px; - } - b, strong { - font-weight: normal; - } - a { - color: rgba(92, 207, 230, .7); - line-height: 16px; - } - .type { - color: #ef6b73; - } - .name { - color: #ffd580; - } - .param { - color: #FFD580; - } - .current { - text-decoration: underline; - } - - selection - #2f3b54 - selectionBorder - #a2aabc35 - shadow - #00000010 - - - - name - Comments - scope - comment, punctuation.definition.comment - settings - - fontStyle - italic - foreground - #8695b799 - - - - name - Variable - scope - variable - settings - - foreground - #a2aabc - - - - name - Keyword - scope - keyword, keyword.operator - settings - - foreground - #FFAE57 - - - - name - Storage - scope - storage.type, storage.modifier - settings - - foreground - #c3a6ff - - - - name - Operator, Misc - scope - constant.other.color, meta.tag, punctuation.separator.inheritance.php, punctuation.section.embedded, keyword.other.substitution - settings - - foreground - #5ccfe6 - - - - name - Tag - scope - entity.name.tag, meta.tag.sgml - settings - - foreground - #5ccfe6 - - - - name - Git Gutter Deleted - scope - markup.deleted.git_gutter - settings - - foreground - #ef6b73 - - - - name - Function, Special Method, Block Level - scope - entity.name, entity.name.class, entity.other.inherited-class, variable.function, support.function, keyword.other.special-method, meta.block-level - settings - - foreground - #FFD580 - - - - name - Other Variable, String Link - scope - support.other.variable, string.other.link - settings - - foreground - #ef6b73 - - - - name - Number, Constant, Function Argument, Tag Attribute, Embedded - scope - constant.numeric, constant.language, constant.character, keyword.other.unit - settings - - foreground - #c3a6ff - - - - name - Number, Constant, Function Argument, Tag Attribute, Embedded - scope - support.constant, meta.jsx.js, punctuation.section, string.unquoted.label - settings - - foreground - #a2aabc - - - - name - String, Symbols, Inherited Class, Markup Heading - scope - string, keyword.other.template, constant.other.symbol, constant.other.key, entity.other.inherited-class, markup.heading, markup.inserted.git_gutter, meta.group.braces.curly - settings - - fontStyle - normal - foreground - #bae67e - - - - name - Class, Support - scope - entity.name.type.class, support.type, support.class, support.orther.namespace.use.php, meta.use.php, support.other.namespace.php, markup.changed.git_gutter - settings - - foreground - #5ccfe6 - - - - name - Sub-methods - scope - entity.name.module.js, variable.import.parameter.js, variable.other.class.js - settings - - foreground - #5ccfe6 - - - - name - Language methods - scope - variable.language - settings - - fontStyle - italic - foreground - #5ccfe6 - - - - name - Invalid - scope - invalid, invalid.illegal - settings - - foreground - #ef6b73 - - - - name - Deprecated - scope - invalid.deprecated - settings - - background - #FFAE57 - foreground - #d7dce2 - - - - name - Html punctuations tags - scope - punctuation.definition.tag.end, punctuation.definition.tag.begin, punctuation.definition.tag, meta.group.braces.curly.js, meta.property-value, meta.jsx.js - settings - - foreground - #a2aabc - - - - name - Attributes - scope - entity.other.attribute-name, meta.attribute-with-value.style, constant.other.color.rgb-value, meta.at-rule.media, support.constant.mathematical-symbols, - punctuation.separator.key-value - settings - - foreground - #FFAE57 - - - - name - Inserted - scope - markup.inserted - settings - - foreground - #bae67e - - - - name - Deleted - scope - markup.deleted - settings - - foreground - #5ccfe6 - - - - name - Changed - scope - markup.changed - settings - - foreground - #FFAE57 - - - - name - Regular Expressions and Escape Characters - scope - string.regexp, constant.character.escape - settings - - foreground - #95E6CB - - - - name - URL - scope - *url*, *link*, *uri* - settings - - fontStyle - underline - - - - name - Search Results Nums - scope - constant.numeric.line-number.find-in-files - match - settings - - foreground - #8695b7 - - - - name - Search Results Lines - scope - entity.name.filename.find-in-files - settings - - foreground - #bae67e - - - - name - Decorators - scope - tag.decorator.js entity.name.tag.js, tag.decorator.js punctuation.definition.tag.js - settings - - fontStyle - italic - foreground - #ffd580 - - - - name - ES7 Bind Operator - scope - constant.other.object.key - settings - - foreground - #5ccfe6 - - - - name - entity.name.method - scope - entity.name.method - settings - - fontStyle - italic - foreground - #ffd580 - - - - name - meta.method.js - scope - entity.name.function, variable.function.constructor - settings - - foreground - #ffd580 - - - - name - Markup - Italic - scope - markup.italic - settings - - fontStyle - italic - foreground - #ef6b73 - - - - name - Markup - Bold - scope - markup.bold - settings - - fontStyle - bold - foreground - #ef6b73 - - - - name - Markup - Underline - scope - markup.underline - settings - - fontStyle - underline - foreground - #c3a6ff - - - - name - Markup - Strike - scope - markup.strike - settings - - fontStyle - strike - foreground - #ffd580 - - - - name - Markup - Quote - scope - markup.quote - settings - - fontStyle - italic - foreground - #80D4FF - - - - name - Markup - Raw Block - scope - markup.raw.block - settings - - foreground - #FFAE57 - - - - name - Markup - Table - scope - markup.table - settings - - background - #1d2433aa - foreground - #5ccfe6 - - - - name - Markdown - Plain - scope - text.html.markdown, punctuation.definition.list_item.markdown - settings - - foreground - #a2aabc - - - - name - Markdown - Markup Raw Inline - scope - text.html.markdown markup.raw.inline - settings - - foreground - #5ccfe6 - - - - name - Markdown - Line Break - scope - text.html.markdown meta.dummy.line-break - settings - - foreground - #8695b7 - - - - name - Markdown - Heading - scope - markdown.heading, markup.heading | markup.heading entity.name, markup.heading.markdown punctuation.definition.heading.markdown - settings - - foreground - #bae67e - - - - name - Markdown - Blockquote - scope - markup.quote, punctuation.definition.blockquote.markdown - settings - - fontStyle - italic - foreground - #80D4FF - - - - name - Markdown - Link - scope - string.other.link.title.markdown - settings - - fontStyle - underline - foreground - #ffd580 - - - - name - Markdown - Raw Block Fenced - scope - markup.raw.block.fenced.markdown - settings - - background - #d7dce210 - foreground - #a2aabc - - - - name - Markdown - Fenced Bode Block - scope - punctuation.definition.fenced.markdown, variable.language.fenced.markdown - settings - - background - #d7dce210 - foreground - #8695b7 - - - - name - Markdown - Fenced Language - scope - variable.language.fenced.markdown - settings - - fontStyle - - foreground - #8695b7 - - - - name - Markdown - Separator - scope - meta.separator - settings - - background - #d7dce210 - fontStyle - bold - foreground - #8695b7 - - - - name - JSON Key - Level 0 - scope - source.json meta.structure.dictionary.json string.quoted.double.json - meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta.structure.dictionary.json punctuation.definition.string - meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string - settings - - foreground - #5ccfe6 - - - - name - JSON Key - Level 1 - scope - source.json meta meta.structure.dictionary.json string.quoted.double.json - meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta.structure.dictionary.json punctuation.definition.string - meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string - settings - - foreground - #5ccfe6 - - - - name - JSON Key - Level 2 - scope - source.json meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string - settings - - foreground - #ffae57 - - - - name - JSON Key - Level 3 - scope - source.json meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string - settings - - foreground - #5ccfe6 - - - - name - JSON Key - Level 4 - scope - source.json meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string - settings - - foreground - #ffae57 - - - - name - JSON Key - Level 5 - scope - source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string - settings - - foreground - #5ccfe6 - - - - name - JSON Key - Level 6 - scope - source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string - settings - - foreground - #ffae57 - - - - name - JSON Key - Level 7 - scope - source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string - settings - - foreground - #5ccfe6 - - - - name - JSON Key - Level 8 - scope - source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json string.quoted.double.json - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json, source.json meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json punctuation.definition.string - meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta meta.structure.dictionary.json meta.structure.dictionary.value.json punctuation.definition.string - settings - - foreground - #ffae57 - - - - name - AceJump Label - Blue - scope - acejump.label.blue - settings - - background - #5ccfe6 - foreground - #d7dce2 - - - - name - AceJump Label - Green - scope - acejump.label.green - settings - - background - #bae67e - foreground - #d7dce2 - - - - name - AceJump Label - Orange - scope - acejump.label.orange - settings - - background - #FFAE57 - foreground - #d7dce2 - - - - name - AceJump Label - Purple - scope - acejump.label.purple - settings - - background - #ef6b73 - foreground - #d7dce2 - - - - name - SublimeLinter Warning - scope - sublimelinter.mark.warning - settings - - foreground - #5ccfe6 - - - - name - SublimeLinter Gutter Mark - scope - sublimelinter.gutter-mark - settings - - foreground - #d7dce2 - - - - name - SublimeLinter Error - scope - sublimelinter.mark.error - settings - - foreground - #ef6b73 - - - - name - GitGutter Ignored - scope - markup.ignored.git_gutter - settings - - foreground - #8695b7 - - - - name - GitGutter Untracked - scope - markup.untracked.git_gutter - settings - - foreground - #8695b7 - - - - name - GutterColor - scope - gutter_color - settings - - foreground - #d7dce2 - - - - uuid - 0e709986-46a0-40a0-b3bf-c8dfe525c455 - - diff --git a/assets/files/hello.txt b/assets/files/hello.txt deleted file mode 100644 index af5626b4..00000000 --- a/assets/files/hello.txt +++ /dev/null @@ -1 +0,0 @@ -Hello, world! diff --git a/assets/files/hello.wasm b/assets/files/hello.wasm deleted file mode 100755 index eddd7387..00000000 Binary files a/assets/files/hello.wasm and /dev/null differ diff --git a/assets/files/logo.svg b/assets/files/logo.svg deleted file mode 100644 index 8864aa67..00000000 --- a/assets/files/logo.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/assets/files/molecular.jpg b/assets/files/molecular.jpg deleted file mode 100644 index 888905f8..00000000 Binary files a/assets/files/molecular.jpg and /dev/null differ diff --git a/assets/files/monday.json b/assets/files/monday.json deleted file mode 100644 index 10a07d30..00000000 --- a/assets/files/monday.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "temperature": 18.5, - "unit": "C", - "weather": "sunny" -} diff --git a/assets/files/monkey.svg b/assets/files/monkey.svg deleted file mode 100644 index 0e8c1124..00000000 --- a/assets/files/monkey.svg +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/assets/files/pattern.svg b/assets/files/pattern.svg deleted file mode 100644 index 0a46c0b6..00000000 --- a/assets/files/pattern.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/assets/files/plugin-oob.wasm b/assets/files/plugin-oob.wasm deleted file mode 100755 index 6afb7436..00000000 Binary files a/assets/files/plugin-oob.wasm and /dev/null differ diff --git a/assets/files/rhino.png b/assets/files/rhino.png deleted file mode 100644 index f9d47dd3..00000000 Binary files a/assets/files/rhino.png and /dev/null differ diff --git a/assets/files/scifi-authors.yaml b/assets/files/scifi-authors.yaml deleted file mode 100644 index dd1c4843..00000000 --- a/assets/files/scifi-authors.yaml +++ /dev/null @@ -1,11 +0,0 @@ -"Arthur C. Clarke": - - title: Against the Fall of Night - published: "1978" - - title: The songs of distant earth - published: "1986" - -"Isaac Asimov": - - title: Quasar, Quasar, Burning Bright - published: "1977" - - title: Far as Human Eye Could See - published: 1987 diff --git a/assets/files/tetrahedron.svg b/assets/files/tetrahedron.svg deleted file mode 100644 index 00d842ce..00000000 --- a/assets/files/tetrahedron.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - diff --git a/assets/files/tiger.jpg b/assets/files/tiger.jpg deleted file mode 100644 index 74dc5e0b..00000000 Binary files a/assets/files/tiger.jpg and /dev/null differ diff --git a/assets/files/toml-types.toml b/assets/files/toml-types.toml deleted file mode 100644 index aaed23ee..00000000 --- a/assets/files/toml-types.toml +++ /dev/null @@ -1,14 +0,0 @@ -string = "wonderful" -integer = 42 -float = 3.14 -boolean = true -date_time = 2023-02-01T15:38:57Z -date_time2 = 2023-02-01T15:38:57 -date = 2023-02-01 -time = 15:38:57 -array = [1, "string", 3.0, false] -inline_table = { first = "amazing", second = "greater" } - -[table] -element = 5 -others = [false, "indeed", 7] diff --git a/assets/files/tuesday.json b/assets/files/tuesday.json deleted file mode 100644 index 3ce8e740..00000000 --- a/assets/files/tuesday.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "temperature": 14.5, - "unit": "C", - "weather": "windy" -} diff --git a/assets/files/typing.jpg b/assets/files/typing.jpg deleted file mode 100644 index 1cfe563d..00000000 Binary files a/assets/files/typing.jpg and /dev/null differ diff --git a/assets/files/works.bib b/assets/files/works.bib deleted file mode 100644 index d3bd14cd..00000000 --- a/assets/files/works.bib +++ /dev/null @@ -1,105 +0,0 @@ -@article{netwok, - title={At-scale impact of the {Net Wok}: A culinarically holistic investigation of distributed dumplings}, - author={Astley, Rick and Morris, Linda}, - journal={Armenian Journal of Proceedings}, - volume={61}, - pages={192--219}, - year={2020}, - publisher={Automattic Inc.} -} - -@www{issue201, - title={Use of ids field creates unstable references}, - author={{cfr42}}, - url={https://github.com/plk/biblatex/issues/201}, - date={2014-02-02/2014-02-07}, - ids={unstable, github} -} - -@article{arrgh, - title={The Pirate Organization}, - author={Leeson, Peter T.}, -} - -@article{quark, - title={The Quark Organization}, - author={Leeson, Peter T.}, -} - -@misc{distress, - title={An Insight into Bibliographical Distress}, - author={Aldrin, Buzz} -} - -@article{glacier-melt, - author = {Regine Hock}, - title ={Glacier melt: a review of processes and their modelling}, - journal = {Progress in Physical Geography: Earth and Environment}, - volume = {29}, - number = {3}, - pages = {362-391}, - year = {2005}, - doi = {10.1191/0309133305pp453ra}, -} - -@book{tolkien54, - maintitle = {The Lord of the Rings}, - title = {The Fellowship of the Ring}, - author = {J. R. R. Tolkien}, - date = {1954-07-29}, - publisher = {Allen & Unwin}, - location = {London}, - volume = {1}, -} - -@book{DBLP:books/lib/Knuth86a, - author = {Donald Ervin Knuth}, - title = {Computer modern typefaces}, - publisher = {Addison-Wesley}, - year = {1986}, - url = {https://www.worldcat.org/oclc/13157596}, - isbn = {0201134462}, - timestamp = {Fri, 17 Jul 2020 16:12:40 +0200}, - biburl = {https://dblp.org/rec/books/lib/Knuth86a.bib}, - bibsource = {dblp computer science bibliography, https://dblp.org} -} - -@article{sharing, - title = {Do sharing people behave differently? An empirical evaluation of the distinctive mobility patterns of free-floating car-sharing members}, - volume = {42}, - pages = {449--469}, - number = {3}, - journal = {Transportation}, - author = {Kopp, Johanna and Gerike, Regine and Axhausen, Kay W.}, - year = {2015} -} - -@book{restful, - location = {Sebastopol, {CA}, {USA}}, - edition = {1}, - title = {{RESTful} Web Services}, - pagetotal = {448}, - publisher = {O'Reilly Media}, - author = {Richardson, Leonard and Ruby, Sam}, - year = {2008} -} - -@article{mcintosh_anxiety, - title = {Anxiety and Health Problems Related to Air Travel}, - volume = {5}, - issn = {1195-1982}, - pages = {198--204}, - number = {4}, - journal = {Journal of Travel Medicine}, - author = {{McIntosh}, Iain B. and Swanson, Vivien and Power, Kevin G. and Raeside, Fiona and Dempster, Craig}, - year = {2006} -} - -@book{psychology25, - location = {New York, {NY}, {USA}}, - edition = {1}, - title = {The psychology of selling and advertising}, - publisher = {{McGraw}-Hill Book Co.}, - author = {Strong, Edward}, - year = {1925} -} diff --git a/assets/files/works_too.bib b/assets/files/works_too.bib deleted file mode 100644 index fd80f8f5..00000000 --- a/assets/files/works_too.bib +++ /dev/null @@ -1,17 +0,0 @@ -@article{keshav2007read, - title = {How to read a paper}, - author = {Keshav, Srinivasan}, - journal = {ACM SIGCOMM Computer Communication Review}, - volume = {37}, - number = {3}, - pages = {83--84}, - year = {2007}, - publisher = {ACM New York, NY, USA} -} - -@Article{Zee04, - author = {Zee, Jay}, - journal = {The Black Album}, - title = {I've got $99$ problems, I am {S}toked to say}, - year = {2004}, -} diff --git a/assets/files/yaml-types.yaml b/assets/files/yaml-types.yaml deleted file mode 100644 index ad4ddb96..00000000 --- a/assets/files/yaml-types.yaml +++ /dev/null @@ -1,9 +0,0 @@ -null_key: [null, ~] -"string": text -integer: 5 -float: 1.12 -mapping: { '1': "one", '2': "two"} -seq: [1, 2, 3, 4] -bool: false -true: bool -1: ok diff --git a/assets/files/zoo.csv b/assets/files/zoo.csv deleted file mode 100644 index 42ff06c7..00000000 --- a/assets/files/zoo.csv +++ /dev/null @@ -1,4 +0,0 @@ -Name,Species,Weight,Length -Debby,Rhinoceros,1900kg,390cm -Fluffy,Tiger,115kg,310cm -Sleepy,Dolphin,150kg,180cm diff --git a/assets/files/zoo.json b/assets/files/zoo.json deleted file mode 100644 index 3b5a7ffc..00000000 --- a/assets/files/zoo.json +++ /dev/null @@ -1,20 +0,0 @@ -[ - { - "name": "Debby", - "species": "Rhinoceros", - "weight": 1900, - "length": 390 - }, - { - "name": "Fluffy", - "species": "Tiger", - "weight": 115, - "length": 310 - }, - { - "name": "Sleepy", - "species": "Dolphin", - "weight": 150, - "length": 180 - } -] diff --git a/assets/fonts/DejaVuSansMono-Bold.ttf b/assets/fonts/DejaVuSansMono-Bold.ttf deleted file mode 100644 index 8184ced8..00000000 Binary files a/assets/fonts/DejaVuSansMono-Bold.ttf and /dev/null differ diff --git a/assets/fonts/DejaVuSansMono-BoldOblique.ttf b/assets/fonts/DejaVuSansMono-BoldOblique.ttf deleted file mode 100644 index 754dca73..00000000 Binary files a/assets/fonts/DejaVuSansMono-BoldOblique.ttf and /dev/null differ diff --git a/assets/fonts/DejaVuSansMono-Oblique.ttf b/assets/fonts/DejaVuSansMono-Oblique.ttf deleted file mode 100644 index 4c858d40..00000000 Binary files a/assets/fonts/DejaVuSansMono-Oblique.ttf and /dev/null differ diff --git a/assets/fonts/DejaVuSansMono.ttf b/assets/fonts/DejaVuSansMono.ttf deleted file mode 100644 index f5786022..00000000 Binary files a/assets/fonts/DejaVuSansMono.ttf and /dev/null differ diff --git a/assets/fonts/FiraMath-Regular.otf b/assets/fonts/FiraMath-Regular.otf deleted file mode 100644 index f1f9d40c..00000000 Binary files a/assets/fonts/FiraMath-Regular.otf and /dev/null differ diff --git a/assets/fonts/IBMPlexSans-Bold.ttf b/assets/fonts/IBMPlexSans-Bold.ttf deleted file mode 100644 index e5389d83..00000000 Binary files a/assets/fonts/IBMPlexSans-Bold.ttf and /dev/null differ diff --git a/assets/fonts/IBMPlexSans-Light.ttf b/assets/fonts/IBMPlexSans-Light.ttf deleted file mode 100644 index b3d035d5..00000000 Binary files a/assets/fonts/IBMPlexSans-Light.ttf and /dev/null differ diff --git a/assets/fonts/IBMPlexSans-Medium.ttf b/assets/fonts/IBMPlexSans-Medium.ttf deleted file mode 100644 index 9395402b..00000000 Binary files a/assets/fonts/IBMPlexSans-Medium.ttf and /dev/null differ diff --git a/assets/fonts/IBMPlexSans-Regular.ttf b/assets/fonts/IBMPlexSans-Regular.ttf deleted file mode 100644 index b5819647..00000000 Binary files a/assets/fonts/IBMPlexSans-Regular.ttf and /dev/null differ diff --git a/assets/fonts/IBMPlexSansCondensed-Regular.ttf b/assets/fonts/IBMPlexSansCondensed-Regular.ttf deleted file mode 100644 index 6e1e0438..00000000 Binary files a/assets/fonts/IBMPlexSansCondensed-Regular.ttf and /dev/null differ diff --git a/assets/fonts/IBMPlexSansDevanagari-Regular.ttf b/assets/fonts/IBMPlexSansDevanagari-Regular.ttf deleted file mode 100644 index 5d7c8f0f..00000000 Binary files a/assets/fonts/IBMPlexSansDevanagari-Regular.ttf and /dev/null differ diff --git a/assets/fonts/IBMPlexSerif-Regular.ttf b/assets/fonts/IBMPlexSerif-Regular.ttf deleted file mode 100644 index 7d6dc5c1..00000000 Binary files a/assets/fonts/IBMPlexSerif-Regular.ttf and /dev/null differ diff --git a/assets/fonts/InriaSerif-Bold.ttf b/assets/fonts/InriaSerif-Bold.ttf deleted file mode 100644 index d0874eac..00000000 Binary files a/assets/fonts/InriaSerif-Bold.ttf and /dev/null differ diff --git a/assets/fonts/InriaSerif-BoldItalic.ttf b/assets/fonts/InriaSerif-BoldItalic.ttf deleted file mode 100644 index 5ed2fc71..00000000 Binary files a/assets/fonts/InriaSerif-BoldItalic.ttf and /dev/null differ diff --git a/assets/fonts/InriaSerif-Italic.ttf b/assets/fonts/InriaSerif-Italic.ttf deleted file mode 100644 index b1bc8d4a..00000000 Binary files a/assets/fonts/InriaSerif-Italic.ttf and /dev/null differ diff --git a/assets/fonts/InriaSerif-Regular.ttf b/assets/fonts/InriaSerif-Regular.ttf deleted file mode 100644 index c61a18b1..00000000 Binary files a/assets/fonts/InriaSerif-Regular.ttf and /dev/null differ diff --git a/assets/fonts/LinLibertine_R.ttf b/assets/fonts/LinLibertine_R.ttf deleted file mode 100644 index e1dc2243..00000000 Binary files a/assets/fonts/LinLibertine_R.ttf and /dev/null differ diff --git a/assets/fonts/LinLibertine_RB.ttf b/assets/fonts/LinLibertine_RB.ttf deleted file mode 100644 index 7eaeb0fd..00000000 Binary files a/assets/fonts/LinLibertine_RB.ttf and /dev/null differ diff --git a/assets/fonts/LinLibertine_RBI.ttf b/assets/fonts/LinLibertine_RBI.ttf deleted file mode 100644 index 3902980f..00000000 Binary files a/assets/fonts/LinLibertine_RBI.ttf and /dev/null differ diff --git a/assets/fonts/LinLibertine_RI.ttf b/assets/fonts/LinLibertine_RI.ttf deleted file mode 100644 index d0c800cc..00000000 Binary files a/assets/fonts/LinLibertine_RI.ttf and /dev/null differ diff --git a/assets/fonts/NewCM10-Bold.otf b/assets/fonts/NewCM10-Bold.otf deleted file mode 100644 index cfd28594..00000000 Binary files a/assets/fonts/NewCM10-Bold.otf and /dev/null differ diff --git a/assets/fonts/NewCM10-BoldItalic.otf b/assets/fonts/NewCM10-BoldItalic.otf deleted file mode 100644 index ae87120f..00000000 Binary files a/assets/fonts/NewCM10-BoldItalic.otf and /dev/null differ diff --git a/assets/fonts/NewCM10-Italic.otf b/assets/fonts/NewCM10-Italic.otf deleted file mode 100644 index 3706d147..00000000 Binary files a/assets/fonts/NewCM10-Italic.otf and /dev/null differ diff --git a/assets/fonts/NewCM10-Regular.otf b/assets/fonts/NewCM10-Regular.otf deleted file mode 100644 index a2a6f9a9..00000000 Binary files a/assets/fonts/NewCM10-Regular.otf and /dev/null differ diff --git a/assets/fonts/NewCMMath-Book.otf b/assets/fonts/NewCMMath-Book.otf deleted file mode 100644 index 45e4da34..00000000 Binary files a/assets/fonts/NewCMMath-Book.otf and /dev/null differ diff --git a/assets/fonts/NewCMMath-Regular.otf b/assets/fonts/NewCMMath-Regular.otf deleted file mode 100644 index ef6623c9..00000000 Binary files a/assets/fonts/NewCMMath-Regular.otf and /dev/null differ diff --git a/assets/fonts/NotoColorEmoji.ttf b/assets/fonts/NotoColorEmoji.ttf deleted file mode 100644 index 2c1f1043..00000000 Binary files a/assets/fonts/NotoColorEmoji.ttf and /dev/null differ diff --git a/assets/fonts/NotoSansArabic-Regular.ttf b/assets/fonts/NotoSansArabic-Regular.ttf deleted file mode 100644 index 94eead4c..00000000 Binary files a/assets/fonts/NotoSansArabic-Regular.ttf and /dev/null differ diff --git a/assets/fonts/NotoSansSymbols2-Regular.ttf b/assets/fonts/NotoSansSymbols2-Regular.ttf deleted file mode 100644 index 429a51d5..00000000 Binary files a/assets/fonts/NotoSansSymbols2-Regular.ttf and /dev/null differ diff --git a/assets/fonts/NotoSansThai-Regular.ttf b/assets/fonts/NotoSansThai-Regular.ttf deleted file mode 100644 index ced12d66..00000000 Binary files a/assets/fonts/NotoSansThai-Regular.ttf and /dev/null differ diff --git a/assets/fonts/NotoSerifCJKjp-Regular.otf b/assets/fonts/NotoSerifCJKjp-Regular.otf deleted file mode 100644 index 6daac206..00000000 Binary files a/assets/fonts/NotoSerifCJKjp-Regular.otf and /dev/null differ diff --git a/assets/fonts/NotoSerifCJKkr-Regular.otf b/assets/fonts/NotoSerifCJKkr-Regular.otf deleted file mode 100644 index b79606bb..00000000 Binary files a/assets/fonts/NotoSerifCJKkr-Regular.otf and /dev/null differ diff --git a/assets/fonts/NotoSerifCJKsc-Bold.otf b/assets/fonts/NotoSerifCJKsc-Bold.otf deleted file mode 100644 index c291490e..00000000 Binary files a/assets/fonts/NotoSerifCJKsc-Bold.otf and /dev/null differ diff --git a/assets/fonts/NotoSerifCJKsc-Regular.otf b/assets/fonts/NotoSerifCJKsc-Regular.otf deleted file mode 100644 index 4f8e5404..00000000 Binary files a/assets/fonts/NotoSerifCJKsc-Regular.otf and /dev/null differ diff --git a/assets/fonts/NotoSerifCJKtc-Bold.otf b/assets/fonts/NotoSerifCJKtc-Bold.otf deleted file mode 100644 index 73a2135e..00000000 Binary files a/assets/fonts/NotoSerifCJKtc-Bold.otf and /dev/null differ diff --git a/assets/fonts/NotoSerifCJKtc-Regular.otf b/assets/fonts/NotoSerifCJKtc-Regular.otf deleted file mode 100644 index 7f6da6f7..00000000 Binary files a/assets/fonts/NotoSerifCJKtc-Regular.otf and /dev/null differ diff --git a/assets/fonts/NotoSerifHebrew-Bold.ttf b/assets/fonts/NotoSerifHebrew-Bold.ttf deleted file mode 100644 index e7cbd93a..00000000 Binary files a/assets/fonts/NotoSerifHebrew-Bold.ttf and /dev/null differ diff --git a/assets/fonts/NotoSerifHebrew-Regular.ttf b/assets/fonts/NotoSerifHebrew-Regular.ttf deleted file mode 100644 index 27893f10..00000000 Binary files a/assets/fonts/NotoSerifHebrew-Regular.ttf and /dev/null differ diff --git a/assets/fonts/PTSans-Regular.ttf b/assets/fonts/PTSans-Regular.ttf deleted file mode 100644 index 5222968f..00000000 Binary files a/assets/fonts/PTSans-Regular.ttf and /dev/null differ diff --git a/assets/fonts/Roboto-Regular.ttf b/assets/fonts/Roboto-Regular.ttf deleted file mode 100644 index 500b1045..00000000 Binary files a/assets/fonts/Roboto-Regular.ttf and /dev/null differ diff --git a/assets/fonts/TwitterColorEmoji.ttf b/assets/fonts/TwitterColorEmoji.ttf deleted file mode 100644 index a8f829ac..00000000 Binary files a/assets/fonts/TwitterColorEmoji.ttf and /dev/null differ diff --git a/assets/fonts/Ubuntu-Regular.ttf b/assets/fonts/Ubuntu-Regular.ttf deleted file mode 100644 index f98a2dab..00000000 Binary files a/assets/fonts/Ubuntu-Regular.ttf and /dev/null differ diff --git a/crates/typst-cli/Cargo.toml b/crates/typst-cli/Cargo.toml index 9f0f280e..ab9ed6f2 100644 --- a/crates/typst-cli/Cargo.toml +++ b/crates/typst-cli/Cargo.toml @@ -21,6 +21,7 @@ doc = false [dependencies] typst = { workspace = true } +typst-assets = { workspace = true, features = ["fonts"] } typst-macros = { workspace = true } typst-pdf = { workspace = true } typst-render = { workspace = true } diff --git a/crates/typst-cli/src/fonts.rs b/crates/typst-cli/src/fonts.rs index 4ea9f446..a5e454ed 100644 --- a/crates/typst-cli/src/fonts.rs +++ b/crates/typst-cli/src/fonts.rs @@ -107,8 +107,8 @@ impl FontSearcher { /// Add fonts that are embedded in the binary. #[cfg(feature = "embed-fonts")] fn add_embedded(&mut self) { - let mut process = |bytes: &'static [u8]| { - let buffer = typst::foundations::Bytes::from_static(bytes); + for data in typst_assets::fonts() { + let buffer = typst::foundations::Bytes::from_static(data); for (i, font) in Font::iter(buffer).enumerate() { self.book.push(font.info().clone()); self.fonts.push(FontSlot { @@ -117,28 +117,6 @@ impl FontSearcher { font: OnceLock::from(Some(font)), }); } - }; - - macro_rules! add { - ($filename:literal) => { - process(include_bytes!(concat!("../../../assets/fonts/", $filename))); - }; } - - // Embed default fonts. - add!("LinLibertine_R.ttf"); - add!("LinLibertine_RB.ttf"); - add!("LinLibertine_RBI.ttf"); - add!("LinLibertine_RI.ttf"); - add!("NewCMMath-Book.otf"); - add!("NewCMMath-Regular.otf"); - add!("NewCM10-Regular.otf"); - add!("NewCM10-Bold.otf"); - add!("NewCM10-Italic.otf"); - add!("NewCM10-BoldItalic.otf"); - add!("DejaVuSansMono.ttf"); - add!("DejaVuSansMono-Bold.ttf"); - add!("DejaVuSansMono-Oblique.ttf"); - add!("DejaVuSansMono-BoldOblique.ttf"); } } diff --git a/crates/typst-docs/Cargo.toml b/crates/typst-docs/Cargo.toml index bb32aaf2..af661bfb 100644 --- a/crates/typst-docs/Cargo.toml +++ b/crates/typst-docs/Cargo.toml @@ -19,6 +19,8 @@ cli = ["clap", "typst-render", "serde_json"] [dependencies] typst = { workspace = true } +typst-assets = { workspace = true, features = ["fonts"] } +typst-dev-assets = { workspace = true } comemo = { workspace = true } ecow = { workspace = true } heck = { workspace = true } diff --git a/crates/typst-docs/src/html.rs b/crates/typst-docs/src/html.rs index 0ec0ddf0..6c47b8df 100644 --- a/crates/typst-docs/src/html.rs +++ b/crates/typst-docs/src/html.rs @@ -17,7 +17,7 @@ use typst::{Library, World}; use unscanny::Scanner; use yaml_front_matter::YamlFrontMatter; -use crate::{contributors, OutlineItem, Resolver, FILE_DIR, FONTS, LIBRARY}; +use crate::{contributors, OutlineItem, Resolver, FONTS, LIBRARY}; /// HTML documentation. #[derive(Serialize)] @@ -250,8 +250,8 @@ impl<'a> Handler<'a> { } fn handle_image(&self, link: &str) -> String { - if let Some(file) = FILE_DIR.get_file(link) { - self.resolver.image(link, file.contents()) + if let Some(data) = typst_dev_assets::get(link) { + self.resolver.image(link, data) } else if let Some(url) = self.resolver.link(link) { url } else { @@ -451,11 +451,12 @@ impl World for DocWorld { fn file(&self, id: FileId) -> FileResult { assert!(id.package().is_none()); - Ok(FILE_DIR - .get_file(id.vpath().as_rootless_path()) - .unwrap_or_else(|| panic!("failed to load {:?}", id.vpath())) - .contents() - .into()) + Ok(Bytes::from_static( + typst_dev_assets::get_by_name( + &id.vpath().as_rootless_path().to_string_lossy(), + ) + .unwrap_or_else(|| panic!("failed to load {:?}", id.vpath())), + )) } fn font(&self, index: usize) -> Option { diff --git a/crates/typst-docs/src/lib.rs b/crates/typst-docs/src/lib.rs index 0a69523e..5439ad1b 100644 --- a/crates/typst-docs/src/lib.rs +++ b/crates/typst-docs/src/lib.rs @@ -20,6 +20,7 @@ use serde::de::DeserializeOwned; use serde::Deserialize; use serde_yaml as yaml; use typst::diag::{bail, StrResult}; +use typst::foundations::Bytes; use typst::foundations::{ CastInfo, Category, Func, Module, ParamInfo, Repr, Scope, Smart, Type, Value, FOUNDATIONS, @@ -36,8 +37,6 @@ use typst::visualize::VISUALIZE; use typst::Library; static DOCS_DIR: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../../docs"); -static FILE_DIR: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../../assets/files"); -static FONT_DIR: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../../assets/fonts"); static GROUPS: Lazy> = Lazy::new(|| { let mut groups: Vec = yaml("reference/groups.yml"); @@ -67,9 +66,9 @@ static LIBRARY: Lazy> = Lazy::new(|| { }); static FONTS: Lazy<(Prehashed, Vec)> = Lazy::new(|| { - let fonts: Vec<_> = FONT_DIR - .files() - .flat_map(|file| Font::iter(file.contents().into())) + let fonts: Vec<_> = typst_assets::fonts() + .chain(typst_dev_assets::fonts()) + .flat_map(|data| Font::iter(Bytes::from_static(data))) .collect(); let book = FontBook::from_fonts(&fonts); (Prehashed::new(book), fonts) diff --git a/crates/typst-pdf/Cargo.toml b/crates/typst-pdf/Cargo.toml index 3dcddbb0..dd71b61e 100644 --- a/crates/typst-pdf/Cargo.toml +++ b/crates/typst-pdf/Cargo.toml @@ -17,6 +17,7 @@ bench = false [dependencies] typst = { workspace = true } +typst-assets = { workspace = true } typst-macros = { workspace = true } typst-timing = { workspace = true } base64 = { workspace = true } diff --git a/crates/typst-pdf/src/color.rs b/crates/typst-pdf/src/color.rs index f0d483cf..4c35d9a2 100644 --- a/crates/typst-pdf/src/color.rs +++ b/crates/typst-pdf/src/color.rs @@ -19,13 +19,13 @@ const OKLAB_B: Name<'static> = Name(b"B"); // The ICC profiles. static SRGB_ICC_DEFLATED: Lazy> = - Lazy::new(|| deflate(include_bytes!("icc/sRGB-v4.icc"))); + Lazy::new(|| deflate(typst_assets::icc::S_RGB_V4)); static GRAY_ICC_DEFLATED: Lazy> = - Lazy::new(|| deflate(include_bytes!("icc/sGrey-v4.icc"))); + Lazy::new(|| deflate(typst_assets::icc::S_GREY_V4)); // The PostScript functions for color spaces. static OKLAB_DEFLATED: Lazy> = - Lazy::new(|| deflate(minify(include_str!("postscript/oklab.ps")).as_bytes())); + Lazy::new(|| deflate(minify(include_str!("oklab.ps")).as_bytes())); /// The color spaces present in the PDF document #[derive(Default)] diff --git a/crates/typst-pdf/src/icc/sGrey-v4.icc b/crates/typst-pdf/src/icc/sGrey-v4.icc deleted file mode 100644 index 2187b678..00000000 Binary files a/crates/typst-pdf/src/icc/sGrey-v4.icc and /dev/null differ diff --git a/crates/typst-pdf/src/icc/sRGB-v4.icc b/crates/typst-pdf/src/icc/sRGB-v4.icc deleted file mode 100644 index d9f3c055..00000000 Binary files a/crates/typst-pdf/src/icc/sRGB-v4.icc and /dev/null differ diff --git a/crates/typst-pdf/src/postscript/oklab.ps b/crates/typst-pdf/src/oklab.ps similarity index 100% rename from crates/typst-pdf/src/postscript/oklab.ps rename to crates/typst-pdf/src/oklab.ps diff --git a/crates/typst/Cargo.toml b/crates/typst/Cargo.toml index 01f6e7c6..77809ed1 100644 --- a/crates/typst/Cargo.toml +++ b/crates/typst/Cargo.toml @@ -16,6 +16,7 @@ doctest = false bench = false [dependencies] +typst-assets = { workspace = true } typst-macros = { workspace = true } typst-syntax = { workspace = true } typst-timing = { workspace = true } diff --git a/crates/typst/assets/CGATS001Compat-v2-micro.icc b/crates/typst/assets/CGATS001Compat-v2-micro.icc deleted file mode 100644 index b5a73495..00000000 Binary files a/crates/typst/assets/CGATS001Compat-v2-micro.icc and /dev/null differ diff --git a/crates/typst/assets/cj_linebreak_data.postcard b/crates/typst/assets/cj_linebreak_data.postcard deleted file mode 100644 index 910dd167..00000000 Binary files a/crates/typst/assets/cj_linebreak_data.postcard and /dev/null differ diff --git a/crates/typst/assets/icudata.postcard b/crates/typst/assets/icudata.postcard deleted file mode 100644 index a1fdbd48..00000000 Binary files a/crates/typst/assets/icudata.postcard and /dev/null differ diff --git a/crates/typst/src/layout/inline/linebreak.rs b/crates/typst/src/layout/inline/linebreak.rs index 1f00dc20..3c3416ed 100644 --- a/crates/typst/src/layout/inline/linebreak.rs +++ b/crates/typst/src/layout/inline/linebreak.rs @@ -10,51 +10,28 @@ use super::Preparation; use crate::syntax::link_prefix; use crate::text::{Lang, TextElem}; -/// Generated by the following command: -/// -/// ```sh -/// icu4x-datagen --locales full \ -/// --format blob \ -/// --keys-for-bin target/debug/typst \ -/// --out crates/typst-library/assets/icudata.postcard \ -/// --overwrite -/// ``` -/// -/// Install icu_datagen with `cargo install icu_datagen`. -static ICU_DATA: &[u8] = include_bytes!("../../../assets/icudata.postcard"); - -/// Generated by the following command: -/// -/// ```sh -/// icu4x-datagen --locales zh ja \ -/// --format blob \ -/// --keys segmenter/line@1 \ -/// --out crates/typst-library/assets/cj_linebreak_data.postcard \ -/// --overwrite -/// ``` -/// -/// The used icu_datagen should be patched by -/// https://github.com/peng1999/icu4x/commit/b9beb6cbf633d61fc3d7983e5baf7f4449fbfae5 -static CJ_LINEBREAK_DATA: &[u8] = - include_bytes!("../../../assets/cj_linebreak_data.postcard"); - /// The general line break segmenter. static SEGMENTER: Lazy = Lazy::new(|| { - let provider = BlobDataProvider::try_new_from_static_blob(ICU_DATA).unwrap(); + let provider = + BlobDataProvider::try_new_from_static_blob(typst_assets::icu::ICU).unwrap(); LineSegmenter::try_new_lstm_with_buffer_provider(&provider).unwrap() }); /// The line break segmenter for Chinese/Japanese text. static CJ_SEGMENTER: Lazy = Lazy::new(|| { - let provider = BlobDataProvider::try_new_from_static_blob(ICU_DATA).unwrap(); - let cj_blob = BlobDataProvider::try_new_from_static_blob(CJ_LINEBREAK_DATA).unwrap(); + let provider = + BlobDataProvider::try_new_from_static_blob(typst_assets::icu::ICU).unwrap(); + let cj_blob = + BlobDataProvider::try_new_from_static_blob(typst_assets::icu::ICU_CJ_SEGMENT) + .unwrap(); let cj_provider = ForkByKeyProvider::new(cj_blob, provider); LineSegmenter::try_new_lstm_with_buffer_provider(&cj_provider).unwrap() }); /// The Unicode line break properties for each code point. static LINEBREAK_DATA: Lazy> = Lazy::new(|| { - let provider = BlobDataProvider::try_new_from_static_blob(ICU_DATA).unwrap(); + let provider = + BlobDataProvider::try_new_from_static_blob(typst_assets::icu::ICU).unwrap(); let deser_provider = provider.as_deserializing(); icu_properties::maps::load_line_break(&deser_provider).unwrap() }); diff --git a/crates/typst/src/loading/csv.rs b/crates/typst/src/loading/csv.rs index 101b3812..4548bbd7 100644 --- a/crates/typst/src/loading/csv.rs +++ b/crates/typst/src/loading/csv.rs @@ -16,7 +16,7 @@ use crate::World; /// /// # Example /// ```example -/// #let results = csv("data.csv") +/// #let results = csv("example.csv") /// /// #table( /// columns: 2, diff --git a/crates/typst/src/loading/read.rs b/crates/typst/src/loading/read.rs index 50772bee..7ffdbd3a 100644 --- a/crates/typst/src/loading/read.rs +++ b/crates/typst/src/loading/read.rs @@ -16,7 +16,7 @@ use crate::World; /// # Example /// ```example /// An example for a HTML file: \ -/// #let text = read("data.html") +/// #let text = read("example.html") /// #raw(text, lang: "html") /// /// Raw bytes: diff --git a/crates/typst/src/visualize/color.rs b/crates/typst/src/visualize/color.rs index 29bd3fca..f51875bc 100644 --- a/crates/typst/src/visualize/color.rs +++ b/crates/typst/src/visualize/color.rs @@ -36,10 +36,8 @@ const ANGLE_EPSILON: f32 = 1e-5; /// to convert from CMYK to RGB. It is based on the CGATS TR 001-1995 /// specification. See /// https://github.com/saucecontrol/Compact-ICC-Profiles#cmyk. -static CGATS001_COMPACT_PROFILE: Lazy> = Lazy::new(|| { - let bytes = include_bytes!("../../assets/CGATS001Compat-v2-micro.icc"); - Profile::new_from_slice(bytes, false).unwrap() -}); +static CMYK_TO_XYZ: Lazy> = + Lazy::new(|| Profile::new_from_slice(typst_assets::icc::CMYK_TO_XYZ, false).unwrap()); /// The target sRGB profile. static SRGB_PROFILE: Lazy> = Lazy::new(|| { @@ -50,7 +48,7 @@ static SRGB_PROFILE: Lazy> = Lazy::new(|| { static TO_SRGB: Lazy = Lazy::new(|| { qcms::Transform::new_to( - &CGATS001_COMPACT_PROFILE, + &CMYK_TO_XYZ, &SRGB_PROFILE, qcms::DataType::CMYK, qcms::DataType::RGB8, diff --git a/docs/tutorial/1-writing.md b/docs/tutorial/1-writing.md index de2af62f..23fdb675 100644 --- a/docs/tutorial/1-writing.md +++ b/docs/tutorial/1-writing.md @@ -9,7 +9,7 @@ you create a new project on the Typst app. You'll be taken to the editor where you see two panels: A source panel where you compose your document and a preview panel where you see the rendered document. -![Typst app screenshot](1-writing-app.png) +![Typst app screenshot](screenshots/1-writing-app.png) You already have a good angle for your report in mind. So let's start by writing the introduction. Enter some text in the editor panel. You'll notice that the @@ -77,7 +77,7 @@ click the button with the arrow in the top-right corner. This opens the upload dialog, in which you can pick files to upload from your computer. Select an image file for your report. -![Upload dialog](1-writing-upload.png) +![Upload dialog](screenshots/1-writing-upload.png) We have seen before that specific symbols (called _markup_) have specific meaning in Typst. We can use `=`, `-`, `+`, and `_` to create headings, lists diff --git a/docs/tutorial/2-formatting.md b/docs/tutorial/2-formatting.md index 58095f94..a0fb3a98 100644 --- a/docs/tutorial/2-formatting.md +++ b/docs/tutorial/2-formatting.md @@ -82,7 +82,7 @@ hitting the Escape key and opened again by typing `#` or hitting right arguments for functions. Most suggestions come with a small description of what they do. -![Autocomplete panel](2-formatting-autocomplete.png) +![Autocomplete panel](screenshots/2-formatting-autocomplete.png) ## Set up the page { #page-setup } Back to set rules: When writing a rule, you choose the function depending on diff --git a/docs/tutorial/3-advanced.md b/docs/tutorial/3-advanced.md index 2393a474..92aafbad 100644 --- a/docs/tutorial/3-advanced.md +++ b/docs/tutorial/3-advanced.md @@ -16,7 +16,7 @@ left toolbar and create a team. Finally, click on the new team and go to its settings by clicking 'manage team' next to the team name. Now you can invite your supervisor by email. -![The team settings](3-advanced-team-settings.png) +![The team settings](screenshots/3-advanced-team-settings.png) Next, move your project into the team: Open it, going to its settings by choosing the gear icon in the left toolbar and selecting your new team from the @@ -489,7 +489,7 @@ We are now in compliance with all of these styles and can submit the paper to the conference! The finished paper looks like this: The finished paper diff --git a/tests/Cargo.toml b/tests/Cargo.toml index 92c72f56..2a121067 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -8,6 +8,8 @@ publish = false [dev-dependencies] typst = { workspace = true } +typst-assets = { workspace = true, features = ["fonts"] } +typst-dev-assets = { workspace = true } typst-pdf = { workspace = true } typst-render = { workspace = true } typst-svg = { workspace = true } diff --git a/tests/fuzz/Cargo.toml b/tests/fuzz/Cargo.toml index 1b9e6b26..ddad37d6 100644 --- a/tests/fuzz/Cargo.toml +++ b/tests/fuzz/Cargo.toml @@ -9,6 +9,7 @@ cargo-fuzz = true [dependencies] typst = { workspace = true } +typst-assets = { workspace = true, features = ["fonts"] } typst-render = { workspace = true } typst-syntax = { workspace = true } comemo = { workspace = true } diff --git a/tests/fuzz/src/compile.rs b/tests/fuzz/src/compile.rs index 883b9ea3..2d445bf5 100644 --- a/tests/fuzz/src/compile.rs +++ b/tests/fuzz/src/compile.rs @@ -10,8 +10,6 @@ use typst::text::{Font, FontBook}; use typst::visualize::Color; use typst::{Library, World}; -const FONT: &[u8] = include_bytes!("../../../assets/fonts/LinLibertine_R.ttf"); - struct FuzzWorld { library: Prehashed, book: Prehashed, @@ -21,7 +19,8 @@ struct FuzzWorld { impl FuzzWorld { fn new(text: &str) -> Self { - let font = Font::new(FONT.into(), 0).unwrap(); + let data = typst_assets::fonts().next().unwrap(); + let font = Font::new(Bytes::from_static(data), 0).unwrap(); let book = FontBook::from_fonts([&font]); Self { library: Prehashed::new(Library::default()), diff --git a/tests/src/benches.rs b/tests/src/benches.rs index 8a521419..1bcdb528 100644 --- a/tests/src/benches.rs +++ b/tests/src/benches.rs @@ -10,7 +10,6 @@ use typst::{Library, World}; use unscanny::Scanner; const TEXT: &str = include_str!("../typ/compiler/bench.typ"); -const FONT: &[u8] = include_bytes!("../../assets/fonts/LinLibertine_R.ttf"); main!( bench_decode, @@ -87,9 +86,9 @@ struct BenchWorld { impl BenchWorld { fn new() -> Self { - let font = Font::new(FONT.into(), 0).unwrap(); + let data = typst_assets::fonts().next().unwrap(); + let font = Font::new(Bytes::from_static(data), 0).unwrap(); let book = FontBook::from_fonts([&font]); - Self { library: Prehashed::new(Library::default()), book: Prehashed::new(book), diff --git a/tests/src/tests.rs b/tests/src/tests.rs index 05b53a73..2be5bc18 100644 --- a/tests/src/tests.rs +++ b/tests/src/tests.rs @@ -15,6 +15,7 @@ mod metadata; use self::metadata::*; +use std::borrow::Cow; use std::collections::{HashMap, HashSet}; use std::ffi::OsStr; use std::fmt::Write as _; @@ -47,8 +48,6 @@ const REF_DIR: &str = "ref"; const PNG_DIR: &str = "png"; const PDF_DIR: &str = "pdf"; const SVG_DIR: &str = "svg"; -const FONT_DIR: &str = "../assets/fonts"; -const ASSET_DIR: &str = "../assets"; /// Arguments that modify test behaviour. /// @@ -269,17 +268,10 @@ struct FileSlot { impl TestWorld { fn new(print: PrintConfig) -> Self { - // Search for fonts. - let mut fonts = vec![]; - for entry in WalkDir::new(FONT_DIR) - .sort_by_file_name() - .into_iter() - .filter_map(|e| e.ok()) - .filter(|entry| entry.file_type().is_file()) - { - let data = fs::read(entry.path()).unwrap(); - fonts.extend(Font::iter(data.into())); - } + let fonts: Vec<_> = typst_assets::fonts() + .chain(typst_dev_assets::fonts()) + .flat_map(|data| Font::iter(Bytes::from_static(data))) + .collect(); Self { print, @@ -310,7 +302,7 @@ impl World for TestWorld { slot.source .get_or_init(|| { let buf = read(&system_path(id)?)?; - let text = String::from_utf8(buf)?; + let text = String::from_utf8(buf.into_owned())?; Ok(Source::new(id, text)) }) .clone() @@ -320,7 +312,12 @@ impl World for TestWorld { fn file(&self, id: FileId) -> FileResult { self.slot(id, |slot| { slot.buffer - .get_or_init(|| read(&system_path(id)?).map(Bytes::from)) + .get_or_init(|| { + read(&system_path(id)?).map(|cow| match cow { + Cow::Owned(buf) => buf.into(), + Cow::Borrowed(buf) => Bytes::from_static(buf), + }) + }) .clone() }) } @@ -379,19 +376,21 @@ fn system_path(id: FileId) -> FileResult { } /// Read a file. -fn read(path: &Path) -> FileResult> { +fn read(path: &Path) -> FileResult> { // Basically symlinks `assets/files` to `tests/files` so that the assets // are within the test project root. - let mut resolved = path.to_path_buf(); - if path.starts_with("files/") { - resolved = Path::new(ASSET_DIR).join(path); + let resolved = path.to_path_buf(); + if let Ok(suffix) = path.strip_prefix("assets/") { + return typst_dev_assets::get(&suffix.to_string_lossy()) + .map(Cow::Borrowed) + .ok_or_else(|| FileError::NotFound(path.into())); } let f = |e| FileError::from_io(e, path); if fs::metadata(&resolved).map_err(f)?.is_dir() { Err(FileError::IsDirectory) } else { - fs::read(&resolved).map_err(f) + fs::read(&resolved).map(Cow::Owned).map_err(f) } } diff --git a/tests/typ/bugs/1597-cite-footnote.typ b/tests/typ/bugs/1597-cite-footnote.typ index 394f7ea9..cc231e2a 100644 --- a/tests/typ/bugs/1597-cite-footnote.typ +++ b/tests/typ/bugs/1597-cite-footnote.typ @@ -9,4 +9,4 @@ #footnote[@netwok] #show bibliography: none -#bibliography("/files/works.bib") +#bibliography("/assets/bib/works.bib") diff --git a/tests/typ/bugs/870-image-rotation.typ b/tests/typ/bugs/870-image-rotation.typ index 56c3da1d..5d7b5597 100644 --- a/tests/typ/bugs/870-image-rotation.typ +++ b/tests/typ/bugs/870-image-rotation.typ @@ -2,5 +2,5 @@ // https://github.com/image-rs/image/issues/1045 --- -// Files is from https://magnushoff.com/articles/jpeg-orientation/ -#image("/files/f2t.jpg", width: 10pt) +// File is from https://magnushoff.com/articles/jpeg-orientation/ +#image("/assets/images/f2t.jpg", width: 10pt) diff --git a/tests/typ/bugs/bibliography-math.typ b/tests/typ/bugs/bibliography-math.typ index 2f3dabcd..3aab4b88 100644 --- a/tests/typ/bugs/bibliography-math.typ +++ b/tests/typ/bugs/bibliography-math.typ @@ -1,4 +1,4 @@ #set page(width: 200pt) @Zee04 -#bibliography("/files/works_too.bib", style: "mla") +#bibliography("/assets/bib/works_too.bib", style: "mla") diff --git a/tests/typ/bugs/cite-locate.typ b/tests/typ/bugs/cite-locate.typ index c576c45e..699bb085 100644 --- a/tests/typ/bugs/cite-locate.typ +++ b/tests/typ/bugs/cite-locate.typ @@ -20,4 +20,4 @@ #context [Citation @distress on page #here().page()] #pagebreak() -#bibliography("/files/works.bib", style: "chicago-notes") +#bibliography("/assets/bib/works.bib", style: "chicago-notes") diff --git a/tests/typ/bugs/cite-show-set.typ b/tests/typ/bugs/cite-show-set.typ index a4111c9a..f476dd49 100644 --- a/tests/typ/bugs/cite-show-set.typ +++ b/tests/typ/bugs/cite-show-set.typ @@ -6,4 +6,4 @@ A @netwok @arrgh. B #cite() #cite(). #show bibliography: none -#bibliography("/files/works.bib") +#bibliography("/assets/bib/works.bib") diff --git a/tests/typ/bugs/hide-meta.typ b/tests/typ/bugs/hide-meta.typ index 10c95e59..8d2c7cb6 100644 --- a/tests/typ/bugs/hide-meta.typ +++ b/tests/typ/bugs/hide-meta.typ @@ -7,7 +7,7 @@ A pirate. @arrgh \ #set text(2pt) #hide[ A @arrgh pirate. - #bibliography("/files/works.bib") + #bibliography("/assets/bib/works.bib") ] --- diff --git a/tests/typ/bugs/new-cm-svg.typ b/tests/typ/bugs/new-cm-svg.typ index 06cd4532..eeafcbbd 100644 --- a/tests/typ/bugs/new-cm-svg.typ +++ b/tests/typ/bugs/new-cm-svg.typ @@ -1,2 +1,2 @@ #set text(font: "New Computer Modern") -#image("/files/diagram.svg") +#image("/assets/images/diagram.svg") diff --git a/tests/typ/bugs/pagebreak-bibliography.typ b/tests/typ/bugs/pagebreak-bibliography.typ index bfc78250..257043a3 100644 --- a/tests/typ/bugs/pagebreak-bibliography.typ +++ b/tests/typ/bugs/pagebreak-bibliography.typ @@ -2,4 +2,4 @@ --- #pagebreak(weak: true) -#bibliography("/files/works.bib") +#bibliography("/assets/bib/works.bib") diff --git a/tests/typ/coma.typ b/tests/typ/coma.typ index 32a68308..8ca08ddb 100644 --- a/tests/typ/coma.typ +++ b/tests/typ/coma.typ @@ -21,4 +21,4 @@ Die Tiefe eines Knotens _v_ ist die Länge des eindeutigen Weges von der Wurzel zu _v_, und die Höhe von _v_ ist die Länge eines längsten (absteigenden) Weges von _v_ zu einem Blatt. Die Höhe des Baumes ist die Höhe der Wurzel. -#align(center, image("/files/graph.png", width: 75%)) +#align(center, image("/assets/images/graph.png", width: 75%)) diff --git a/tests/typ/compiler/bytes.typ b/tests/typ/compiler/bytes.typ index 284ef773..a9249bdd 100644 --- a/tests/typ/compiler/bytes.typ +++ b/tests/typ/compiler/bytes.typ @@ -2,7 +2,7 @@ // Ref: false --- -#let data = read("/files/rhino.png", encoding: none) +#let data = read("/assets/images/rhino.png", encoding: none) #test(data.len(), 232243) #test(data.slice(0, count: 5), bytes((137, 80, 78, 71, 13))) #test(str(data.slice(1, 4)), "PNG") diff --git a/tests/typ/compiler/import.typ b/tests/typ/compiler/import.typ index fb7a06b8..5c3a05c9 100644 --- a/tests/typ/compiler/import.typ +++ b/tests/typ/compiler/import.typ @@ -189,8 +189,8 @@ --- // Some non-text stuff. -// Error: 9-27 file is not valid utf-8 -#import "/files/rhino.png" +// Error: 9-35 file is not valid utf-8 +#import "/assets/images/rhino.png" --- // Unresolved import. diff --git a/tests/typ/compiler/plugin-oob.typ b/tests/typ/compiler/plugin-oob.typ index 4bc16212..4d1ba205 100644 --- a/tests/typ/compiler/plugin-oob.typ +++ b/tests/typ/compiler/plugin-oob.typ @@ -2,13 +2,13 @@ // Ref: false --- -#let p = plugin("/files/plugin-oob.wasm") +#let p = plugin("/assets/plugins/plugin-oob.wasm") // Error: 2-14 plugin tried to read out of bounds: pointer 0x40000000 is out of bounds for read of length 1 #p.read_oob() --- -#let p = plugin("/files/plugin-oob.wasm") +#let p = plugin("/assets/plugins/plugin-oob.wasm") // Error: 2-27 plugin tried to write out of bounds: pointer 0x40000000 is out of bounds for write of length 3 #p.write_oob(bytes("xyz")) diff --git a/tests/typ/compiler/plugin.typ b/tests/typ/compiler/plugin.typ index 53d96f71..e727355f 100644 --- a/tests/typ/compiler/plugin.typ +++ b/tests/typ/compiler/plugin.typ @@ -2,7 +2,7 @@ // Ref: false --- -#let p = plugin("/files/hello.wasm") +#let p = plugin("/assets/plugins/hello.wasm") #test(p.hello(), bytes("Hello from wasm!!!")) #test(p.double_it(bytes("hey!")), bytes("hey!.hey!")) #test( @@ -11,26 +11,26 @@ ) --- -#let p = plugin("/files/hello.wasm") +#let p = plugin("/assets/plugins/hello.wasm") // Error: 2-20 plugin function takes 0 arguments, but 1 was given #p.hello(bytes("")) --- -#let p = plugin("/files/hello.wasm") +#let p = plugin("/assets/plugins/hello.wasm") // Error: 10-14 expected bytes, found boolean // Error: 27-29 expected bytes, found integer #p.hello(true, bytes(()), 10) --- -#let p = plugin("/files/hello.wasm") +#let p = plugin("/assets/plugins/hello.wasm") // Error: 2-17 plugin errored with: This is an `Err` #p.returns_err() --- -#let p = plugin("/files/hello.wasm") +#let p = plugin("/assets/plugins/hello.wasm") // Error: 2-16 plugin panicked: wasm `unreachable` instruction executed #p.will_panic() diff --git a/tests/typ/compiler/set.typ b/tests/typ/compiler/set.typ index b317e60c..23b3a7c6 100644 --- a/tests/typ/compiler/set.typ +++ b/tests/typ/compiler/set.typ @@ -40,7 +40,7 @@ Hello *#x* // Test relative path resolving in layout phase. #let choice = ("monkey.svg", "rhino.png", "tiger.jpg") #set enum(numbering: n => { - let path = "/files/" + choice.at(n - 1) + let path = "/assets/images/" + choice.at(n - 1) move(dy: -0.15em, image(path, width: 1em, height: 1em)) }) diff --git a/tests/typ/compiler/show-text.typ b/tests/typ/compiler/show-text.typ index 7837bb46..a42abfb2 100644 --- a/tests/typ/compiler/show-text.typ +++ b/tests/typ/compiler/show-text.typ @@ -88,6 +88,6 @@ World --- // Test absolute path in layout phase. -#show "GRAPH": image("/files/graph.png") +#show "GRAPH": image("/assets/images/graph.png") The GRAPH has nodes. diff --git a/tests/typ/compute/data.typ b/tests/typ/compute/data.typ index ae964b3d..03b17aed 100644 --- a/tests/typ/compute/data.typ +++ b/tests/typ/compute/data.typ @@ -3,28 +3,28 @@ --- // Test reading plain text files -#let data = read("/files/hello.txt") +#let data = read("/assets/text/hello.txt") #test(data, "Hello, world!\n") --- -// Error: 18-38 file not found (searched at files/missing.txt) -#let data = read("/files/missing.txt") +// Error: 18-44 file not found (searched at assets/text/missing.txt) +#let data = read("/assets/text/missing.txt") --- -// Error: 18-34 file is not valid utf-8 -#let data = read("/files/bad.txt") +// Error: 18-40 file is not valid utf-8 +#let data = read("/assets/text/bad.txt") --- // Test reading CSV data. // Ref: true #set page(width: auto) -#let data = csv("/files/zoo.csv") +#let data = csv("/assets/data/zoo.csv") #let cells = data.at(0).map(strong) + data.slice(1).flatten() #table(columns: data.at(0).len(), ..cells) --- // Test reading CSV data with dictionary rows enabled. -#let data = csv("/files/zoo.csv", row-type: dictionary) +#let data = csv("/assets/data/zoo.csv", row-type: dictionary) #test(data.len(), 3) #test(data.at(0).Name, "Debby") #test(data.at(2).Weight, "150kg") @@ -35,28 +35,28 @@ #csv("nope.csv") --- -// Error: 6-22 failed to parse CSV (found 3 instead of 2 fields in line 3) -#csv("/files/bad.csv") +// Error: 6-28 failed to parse CSV (found 3 instead of 2 fields in line 3) +#csv("/assets/data/bad.csv") --- // Test error numbering with dictionary rows. -// Error: 6-22 failed to parse CSV (found 3 instead of 2 fields in line 3) -#csv("/files/bad.csv", row-type: dictionary) +// Error: 6-28 failed to parse CSV (found 3 instead of 2 fields in line 3) +#csv("/assets/data/bad.csv", row-type: dictionary) --- // Test reading JSON data. -#let data = json("/files/zoo.json") +#let data = json("/assets/data/zoo.json") #test(data.len(), 3) #test(data.at(0).name, "Debby") #test(data.at(2).weight, 150) --- -// Error: 7-24 failed to parse JSON (expected value at line 3 column 14) -#json("/files/bad.json") +// Error: 7-30 failed to parse JSON (expected value at line 3 column 14) +#json("/assets/data/bad.json") --- // Test reading TOML data. -#let data = toml("/files/toml-types.toml") +#let data = toml("/assets/data/toml-types.toml") #test(data.string, "wonderful") #test(data.integer, 42) #test(data.float, 3.14) @@ -93,12 +93,12 @@ )) --- -// Error: 7-24 failed to parse TOML (expected `.`, `=` at line 1 column 16) -#toml("/files/bad.toml") +// Error: 7-30 failed to parse TOML (expected `.`, `=` at line 1 column 16) +#toml("/assets/data/bad.toml") --- // Test reading YAML data -#let data = yaml("/files/yaml-types.yaml") +#let data = yaml("/assets/data/yaml-types.yaml") #test(data.len(), 9) #test(data.null_key, (none, none)) #test(data.string, "text") @@ -111,12 +111,12 @@ #test(data.at("1"), "ok") --- -// Error: 7-24 failed to parse YAML (did not find expected ',' or ']' at line 2 column 1, while parsing a flow sequence at line 1 column 18) -#yaml("/files/bad.yaml") +// Error: 7-30 failed to parse YAML (did not find expected ',' or ']' at line 2 column 1, while parsing a flow sequence at line 1 column 18) +#yaml("/assets/data/bad.yaml") --- // Test reading XML data. -#let data = xml("/files/data.xml") +#let data = xml("/assets/data/hello.xml") #test(data, (( tag: "data", attrs: (:), @@ -140,5 +140,5 @@ ),)) --- -// Error: 6-22 failed to parse XML (found closing tag 'data' instead of 'hello' in line 3) -#xml("/files/bad.xml") +// Error: 6-28 failed to parse XML (found closing tag 'data' instead of 'hello' in line 3) +#xml("/assets/data/bad.xml") diff --git a/tests/typ/compute/eval-path.typ b/tests/typ/compute/eval-path.typ index c02bdfb1..863b6203 100644 --- a/tests/typ/compute/eval-path.typ +++ b/tests/typ/compute/eval-path.typ @@ -2,13 +2,13 @@ --- // Test absolute path. -#eval("image(\"/files/tiger.jpg\", width: 50%)") +#eval("image(\"/assets/images/tiger.jpg\", width: 50%)") --- #show raw: it => eval(it.text, mode: "markup") ``` -#show emph: image("/files/tiger.jpg", width: 50%) +#show emph: image("/assets/images/tiger.jpg", width: 50%) _Tiger!_ ``` diff --git a/tests/typ/layout/clip.typ b/tests/typ/layout/clip.typ index d20609d8..3ca74556 100644 --- a/tests/typ/layout/clip.typ +++ b/tests/typ/layout/clip.typ @@ -52,7 +52,7 @@ First! width: 20pt, height: 20pt, clip: true, - image("/files/rhino.png", width: 30pt) + image("/assets/images/rhino.png", width: 30pt) ) --- // Test clipping with `radius`, but without `stroke`. @@ -64,5 +64,5 @@ First! width: 20pt, height: 20pt, clip: true, - image("/files/rhino.png", width: 30pt) + image("/assets/images/rhino.png", width: 30pt) ) diff --git a/tests/typ/layout/grid-3.typ b/tests/typ/layout/grid-3.typ index 89bcb90f..a6c72d6c 100644 --- a/tests/typ/layout/grid-3.typ +++ b/tests/typ/layout/grid-3.typ @@ -23,7 +23,7 @@ columns: 4 * (1fr,), row-gutter: 10pt, column-gutter: (0pt, 10%), - align(top, image("/files/rhino.png")), + align(top, image("/assets/images/rhino.png")), align(top, rect(inset: 0pt, fill: eastern, align(right)[LoL])), [rofl], [\ A] * 3, diff --git a/tests/typ/layout/hide.typ b/tests/typ/layout/hide.typ index 2cd8333e..ede65c70 100644 --- a/tests/typ/layout/hide.typ +++ b/tests/typ/layout/hide.typ @@ -4,15 +4,15 @@ AB #h(1fr) CD \ #hide[A]B #h(1fr) C#hide[D] --- -Hidden: +Hidden: #hide[#line(length: 100%)] #line(length: 100%) --- -Hidden: +Hidden: #hide(table(rows: 2, columns: 2)[a][b][c][d]) #table(rows: 2, columns: 2)[a][b][c][d] --- -Hidden: +Hidden: #hide[ #polygon((20%, 0pt), (60%, 0pt), @@ -30,7 +30,7 @@ Hidden: width: 100%, ) -Hidden: +Hidden: #hide[ #grid( columns: (1fr, 1fr, 2fr), @@ -53,7 +53,7 @@ Hidden: ) --- -Hidden: +Hidden: #hide[ - 1 - 2 @@ -71,6 +71,6 @@ Hidden: --- Hidden: -#hide(image("/files/tiger.jpg", width: 5cm, height: 1cm,)) +#hide(image("/assets/images/tiger.jpg", width: 5cm, height: 1cm,)) -#image("/files/tiger.jpg", width: 5cm, height: 1cm,) +#image("/assets/images/tiger.jpg", width: 5cm, height: 1cm,) diff --git a/tests/typ/layout/pad.typ b/tests/typ/layout/pad.typ index f7b47142..0eff5876 100644 --- a/tests/typ/layout/pad.typ +++ b/tests/typ/layout/pad.typ @@ -22,7 +22,7 @@ Hi #box(pad(left: 10pt)[A]) there // Test that the pad element doesn't consume the whole region. #set page(height: 6cm) #align(left)[Before] -#pad(10pt, image("/files/tiger.jpg")) +#pad(10pt, image("/assets/images/tiger.jpg")) #align(right)[After] --- diff --git a/tests/typ/layout/par-bidi.typ b/tests/typ/layout/par-bidi.typ index ea3711ab..f708df6a 100644 --- a/tests/typ/layout/par-bidi.typ +++ b/tests/typ/layout/par-bidi.typ @@ -41,7 +41,7 @@ Lריווח #h(1cm) R --- // Test inline object. #set text(lang: "he") -קרנפיםRh#box(image("/files/rhino.png", height: 11pt))inoחיים +קרנפיםRh#box(image("/assets/images/rhino.png", height: 11pt))inoחיים --- // Test whether L1 whitespace resetting destroys stuff. diff --git a/tests/typ/layout/par-indent.typ b/tests/typ/layout/par-indent.typ index 324ff44a..e807d74d 100644 --- a/tests/typ/layout/par-indent.typ +++ b/tests/typ/layout/par-indent.typ @@ -9,10 +9,10 @@ The first paragraph has no indent. But the second one does. -#box(image("/files/tiger.jpg", height: 6pt)) +#box(image("/assets/images/tiger.jpg", height: 6pt)) starts a paragraph, also with indent. -#align(center, image("/files/rhino.png", width: 1cm)) +#align(center, image("/assets/images/rhino.png", width: 1cm)) = Headings - And lists. diff --git a/tests/typ/layout/place-background.typ b/tests/typ/layout/place-background.typ index 3a7a06b9..afee0622 100644 --- a/tests/typ/layout/place-background.typ +++ b/tests/typ/layout/place-background.typ @@ -7,7 +7,7 @@ dx: -10pt, dy: -10pt, image( - "/files/tiger.jpg", + "/assets/images/tiger.jpg", fit: "cover", width: 100% + 20pt, height: 100% + 20pt, diff --git a/tests/typ/layout/place-float-columns.typ b/tests/typ/layout/place-float-columns.typ index 0e5c6d0c..e2b88d46 100644 --- a/tests/typ/layout/place-float-columns.typ +++ b/tests/typ/layout/place-float-columns.typ @@ -8,7 +8,7 @@ #figure( placement: bottom, caption: [A glacier], - image("/files/glacier.jpg", width: 50%), + image("/assets/images/glacier.jpg", width: 50%), ) #lorem(45) #figure( diff --git a/tests/typ/layout/place-float-figure.typ b/tests/typ/layout/place-float-figure.typ index 7256a4eb..4d76fd8f 100644 --- a/tests/typ/layout/place-float-figure.typ +++ b/tests/typ/layout/place-float-figure.typ @@ -9,7 +9,7 @@ #figure( placement: bottom, caption: [A glacier #footnote[Lots of Ice]], - image("/files/glacier.jpg", width: 80%), + image("/assets/images/glacier.jpg", width: 80%), ) #lorem(40) @@ -17,5 +17,5 @@ #figure( placement: top, caption: [An important], - image("/files/diagram.svg", width: 80%), + image("/assets/images/diagram.svg", width: 80%), ) diff --git a/tests/typ/layout/place.typ b/tests/typ/layout/place.typ index 6f79e3e1..d426e07f 100644 --- a/tests/typ/layout/place.typ +++ b/tests/typ/layout/place.typ @@ -5,7 +5,7 @@ #place(bottom + center)[© Typst] = Placement -#place(right, image("/files/tiger.jpg", width: 1.8cm)) +#place(right, image("/assets/images/tiger.jpg", width: 1.8cm)) Hi there. This is \ a placed element. \ Unfortunately, \ diff --git a/tests/typ/layout/transform.typ b/tests/typ/layout/transform.typ index 3a674282..f74ec2b0 100644 --- a/tests/typ/layout/transform.typ +++ b/tests/typ/layout/transform.typ @@ -31,13 +31,13 @@ nor #xetex! // Test combination of scaling and rotation. #set page(height: 80pt) #align(center + horizon, - rotate(20deg, scale(70%, image("/files/tiger.jpg"))) + rotate(20deg, scale(70%, image("/assets/images/tiger.jpg"))) ) --- // Test setting rotation origin. #rotate(10deg, origin: top + left, - image("/files/tiger.jpg", width: 50%) + image("/assets/images/tiger.jpg", width: 50%) ) --- diff --git a/tests/typ/math/content.typ b/tests/typ/math/content.typ index e04ebb30..739377ae 100644 --- a/tests/typ/math/content.typ +++ b/tests/typ/math/content.typ @@ -2,7 +2,7 @@ --- // Test images and font fallback. -#let monkey = move(dy: 0.2em, image("/files/monkey.svg", height: 1em)) +#let monkey = move(dy: 0.2em, image("/assets/images/monkey.svg", height: 1em)) $ sum_(i=#emoji.apple)^#emoji.apple.red i + monkey/2 $ --- diff --git a/tests/typ/meta/bibliography-full.typ b/tests/typ/meta/bibliography-full.typ index cebe7e0d..9b652cd2 100644 --- a/tests/typ/meta/bibliography-full.typ +++ b/tests/typ/meta/bibliography-full.typ @@ -2,4 +2,4 @@ --- #set page(paper: "a6", height: 170mm) -#bibliography("/files/works.bib", full: true) +#bibliography("/assets/bib/works.bib", full: true) diff --git a/tests/typ/meta/bibliography-ordering.typ b/tests/typ/meta/bibliography-ordering.typ index 970d66d0..4732ad68 100644 --- a/tests/typ/meta/bibliography-ordering.typ +++ b/tests/typ/meta/bibliography-ordering.typ @@ -13,4 +13,4 @@ @sharing @restful -#bibliography("/files/works.bib") +#bibliography("/assets/bib/works.bib") diff --git a/tests/typ/meta/bibliography.typ b/tests/typ/meta/bibliography.typ index 0ce4b7f7..107f790e 100644 --- a/tests/typ/meta/bibliography.typ +++ b/tests/typ/meta/bibliography.typ @@ -5,13 +5,13 @@ = Details See also @arrgh #cite(, supplement: [p.~22]), @arrgh[p.~4], and @distress[p.~5]. -#bibliography("/files/works.bib") +#bibliography("/assets/bib/works.bib") --- // Test unconventional order. #set page(width: 200pt) #bibliography( - "/files/works.bib", + "/assets/bib/works.bib", title: [Works to be cited], style: "chicago-author-date", ) @@ -29,7 +29,7 @@ And quark! @quark = Multiple Bibs Now we have multiple bibliographies containing @glacier-melt @keshav2007read -#bibliography(("/files/works.bib", "/files/works_too.bib")) +#bibliography(("/assets/bib/works.bib", "/assets/bib/works_too.bib")) --- // Test ambiguous reference. @@ -37,8 +37,8 @@ Now we have multiple bibliographies containing @glacier-melt @keshav2007read // Error: 1-7 label occurs in the document and its bibliography @arrgh -#bibliography("/files/works.bib") +#bibliography("/assets/bib/works.bib") --- -// Error: 15-55 duplicate bibliography keys: netwok, issue201, arrgh, quark, distress, glacier-melt, tolkien54, DBLP:books/lib/Knuth86a, sharing, restful, mcintosh_anxiety, psychology25 -#bibliography(("/files/works.bib", "/files/works.bib")) +// Error: 15-65 duplicate bibliography keys: netwok, issue201, arrgh, quark, distress, glacier-melt, tolkien54, DBLP:books/lib/Knuth86a, sharing, restful, mcintosh_anxiety, psychology25 +#bibliography(("/assets/bib/works.bib", "/assets/bib/works.bib")) diff --git a/tests/typ/meta/cite-footnote.typ b/tests/typ/meta/cite-footnote.typ index 071a68d7..c6eff59d 100644 --- a/tests/typ/meta/cite-footnote.typ +++ b/tests/typ/meta/cite-footnote.typ @@ -2,4 +2,4 @@ Hello @netwok And again: @netwok #pagebreak() -#bibliography("/files/works.bib", style: "chicago-notes") +#bibliography("/assets/bib/works.bib", style: "chicago-notes") diff --git a/tests/typ/meta/cite-form.typ b/tests/typ/meta/cite-form.typ index 3c11e1f6..343981d7 100644 --- a/tests/typ/meta/cite-form.typ +++ b/tests/typ/meta/cite-form.typ @@ -7,4 +7,4 @@ Nothing: #cite(, form: none) #cite(, form: "prose") say stuff. -#bibliography("/files/works.bib", style: "apa") +#bibliography("/assets/bib/works.bib", style: "apa") diff --git a/tests/typ/meta/cite-group.typ b/tests/typ/meta/cite-group.typ index 3bb0046d..331c87ca 100644 --- a/tests/typ/meta/cite-group.typ +++ b/tests/typ/meta/cite-group.typ @@ -16,4 +16,4 @@ A @netwok @arrgh @quark B. \ A @netwok @arrgh @quark, B. #set text(0pt) -#bibliography("/files/works.bib") +#bibliography("/assets/bib/works.bib") diff --git a/tests/typ/meta/figure.typ b/tests/typ/meta/figure.typ index 7d618d06..b6c1bfd6 100644 --- a/tests/typ/meta/figure.typ +++ b/tests/typ/meta/figure.typ @@ -13,7 +13,7 @@ We can clearly see that @fig-cylinder and ) #figure( - pad(y: -6pt, image("/files/cylinder.svg", height: 2cm)), + pad(y: -6pt, image("/assets/images/cylinder.svg", height: 2cm)), caption: [The basic shapes.], numbering: "I", ) @@ -30,7 +30,7 @@ We can clearly see that @fig-cylinder and table( columns: 2, [Second cylinder], - image("/files/cylinder.svg"), + image("/assets/images/cylinder.svg"), ), caption: "A table containing images." ) diff --git a/tests/typ/meta/footnote-container.typ b/tests/typ/meta/footnote-container.typ index 562831a9..2fa14fac 100644 --- a/tests/typ/meta/footnote-container.typ +++ b/tests/typ/meta/footnote-container.typ @@ -4,7 +4,7 @@ // Test footnote in caption. Read the docs #footnote[https://typst.app/docs]! #figure( - image("/files/graph.png", width: 70%), + image("/assets/images/graph.png", width: 70%), caption: [ A graph #footnote[A _graph_ is a structure with nodes and edges.] ] diff --git a/tests/typ/meta/footnote-table.typ b/tests/typ/meta/footnote-table.typ index 8256dc58..a52d28ba 100644 --- a/tests/typ/meta/footnote-table.typ +++ b/tests/typ/meta/footnote-table.typ @@ -12,7 +12,7 @@ [This cell #footnote[This footnote is not on the same page] breaks over multiple pages.], - image("/files/tiger.jpg"), + image("/assets/images/tiger.jpg"), ) #table( diff --git a/tests/typ/meta/link.typ b/tests/typ/meta/link.typ index f93189cb..dd5bffa8 100644 --- a/tests/typ/meta/link.typ +++ b/tests/typ/meta/link.typ @@ -54,7 +54,7 @@ My cool #box(move(dx: 0.7cm, dy: 0.7cm, rotate(10deg, scale(200%, mylink)))) // Link containing a block. #link("https://example.com/", block[ My cool rhino - #box(move(dx: 10pt, image("/files/rhino.png", width: 1cm))) + #box(move(dx: 10pt, image("/assets/images/rhino.png", width: 1cm))) ]) --- diff --git a/tests/typ/meta/query-figure.typ b/tests/typ/meta/query-figure.typ index 590c8e87..1fe82372 100644 --- a/tests/typ/meta/query-figure.typ +++ b/tests/typ/meta/query-figure.typ @@ -24,7 +24,7 @@ } #figure( - image("/files/glacier.jpg"), + image("/assets/images/glacier.jpg"), caption: [Glacier melting], ) @@ -36,6 +36,6 @@ ) #figure( - image("/files/tiger.jpg"), + image("/assets/images/tiger.jpg"), caption: [Tiger world], ) diff --git a/tests/typ/meta/ref.typ b/tests/typ/meta/ref.typ index e01bc941..4cc824d7 100644 --- a/tests/typ/meta/ref.typ +++ b/tests/typ/meta/ref.typ @@ -26,13 +26,13 @@ As seen in @intro, we proceed. = Intro #figure( - image("/files/cylinder.svg", height: 1cm), + image("/assets/images/cylinder.svg", height: 1cm), caption: [A cylinder.], supplement: "Fig", ) #figure( - image("/files/tiger.jpg", height: 1cm), + image("/assets/images/tiger.jpg", height: 1cm), caption: [A tiger.], supplement: "Tig", ) diff --git a/tests/typ/text/baseline.typ b/tests/typ/text/baseline.typ index e00e9230..c8fbb19d 100644 --- a/tests/typ/text/baseline.typ +++ b/tests/typ/text/baseline.typ @@ -9,4 +9,4 @@ Our cockatoo was one of the that ever learned to mimic a human voice. --- -Hey #box(baseline: 40%, image("/files/tiger.jpg", width: 1.5cm)) there! +Hey #box(baseline: 40%, image("/assets/images/tiger.jpg", width: 1.5cm)) there! diff --git a/tests/typ/text/linebreak-obj.typ b/tests/typ/text/linebreak-obj.typ index 50254df1..ebf55f15 100644 --- a/tests/typ/text/linebreak-obj.typ +++ b/tests/typ/text/linebreak-obj.typ @@ -7,7 +7,7 @@ They can look for the details in @netwok, which is the authoritative source. -#bibliography("/files/works.bib") +#bibliography("/assets/bib/works.bib") --- // Test punctuation after math equations. diff --git a/tests/typ/text/quote.typ b/tests/typ/text/quote.typ index 0fd96ff5..1573438c 100644 --- a/tests/typ/text/quote.typ +++ b/tests/typ/text/quote.typ @@ -30,7 +30,7 @@ And I quote: #quote(attribution: [René Descartes])[cogito, ergo sum]. #quote(attribution: )[In a hole in the ground there lived a hobbit.] #set text(0pt) -#bibliography("/files/works.bib") +#bibliography("/assets/bib/works.bib") --- // Citation-format: label or numeric @@ -39,7 +39,7 @@ And I quote: #quote(attribution: [René Descartes])[cogito, ergo sum]. #quote(attribution: )[In a hole in the ground there lived a hobbit.] #set text(0pt) -#bibliography("/files/works.bib", style: "ieee") +#bibliography("/assets/bib/works.bib", style: "ieee") --- // Citation-format: note @@ -48,7 +48,7 @@ And I quote: #quote(attribution: [René Descartes])[cogito, ergo sum]. #quote(attribution: )[In a hole in the ground there lived a hobbit.] #set text(0pt) -#bibliography("/files/works.bib", style: "chicago-notes") +#bibliography("/assets/bib/works.bib", style: "chicago-notes") --- // Citation-format: author-date or author @@ -57,4 +57,4 @@ And I quote: #quote(attribution: [René Descartes])[cogito, ergo sum]. #quote(attribution: )[In a hole in the ground there lived a hobbit.] #set text(0pt) -#bibliography("/files/works.bib", style: "apa") +#bibliography("/assets/bib/works.bib", style: "apa") diff --git a/tests/typ/text/raw-syntaxes.typ b/tests/typ/text/raw-syntaxes.typ index 5863e648..e6c46924 100644 --- a/tests/typ/text/raw-syntaxes.typ +++ b/tests/typ/text/raw-syntaxes.typ @@ -3,7 +3,7 @@ --- #set page(width: 180pt) #set text(6pt) -#set raw(syntaxes: "/files/SExpressions.sublime-syntax") +#set raw(syntaxes: "/assets/syntaxes/SExpressions.sublime-syntax") ```sexp (defun factorial (x) diff --git a/tests/typ/text/raw-theme.typ b/tests/typ/text/raw-theme.typ index 71b59688..d6cda221 100644 --- a/tests/typ/text/raw-theme.typ +++ b/tests/typ/text/raw-theme.typ @@ -3,7 +3,7 @@ --- #set page(width: 180pt) #set text(6pt) -#set raw(theme: "/files/halcyon.tmTheme") +#set raw(theme: "/assets/themes/halcyon.tmTheme") #show raw: it => { set text(fill: rgb("a2aabc")) rect( diff --git a/tests/typ/text/shaping.typ b/tests/typ/text/shaping.typ index 3a8d5411..4a2b4f1e 100644 --- a/tests/typ/text/shaping.typ +++ b/tests/typ/text/shaping.typ @@ -2,6 +2,7 @@ --- // Test separation by script. +#set text(font: ("Linux Libertine", "IBM Plex Sans Devanagari")) ABCअपार्टमेंट // This is how it should look like. @@ -13,12 +14,12 @@ ABCअपार्टमेंट --- // A forced `latn` script inhibits Devanagari font features. -#set text(script: "latn") +#set text(font: ("Linux Libertine", "IBM Plex Sans Devanagari"), script: "latn") ABCअपार्टमेंट --- // A forced `deva` script enables Devanagari font features. -#set text(script: "deva") +#set text(font: ("Linux Libertine", "IBM Plex Sans Devanagari"), script: "deva") ABCअपार्टमेंट --- diff --git a/tests/typ/visualize/image.typ b/tests/typ/visualize/image.typ index 0e256eb8..a7965b2d 100644 --- a/tests/typ/visualize/image.typ +++ b/tests/typ/visualize/image.typ @@ -4,24 +4,24 @@ // Test loading different image formats. // Load an RGBA PNG image. -#image("/files/rhino.png") +#image("/assets/images/rhino.png") // Load an RGB JPEG image. #set page(height: 60pt) -#image("../../files/tiger.jpg") +#image("../../assets/images/tiger.jpg") --- // Test configuring the size and fitting behaviour of images. // Set width and height explicitly. -#box(image("/files/rhino.png", width: 30pt)) -#box(image("/files/rhino.png", height: 30pt)) +#box(image("/assets/images/rhino.png", width: 30pt)) +#box(image("/assets/images/rhino.png", height: 30pt)) // Set width and height explicitly and force stretching. -#image("/files/monkey.svg", width: 100%, height: 20pt, fit: "stretch") +#image("/assets/images/monkey.svg", width: 100%, height: 20pt, fit: "stretch") // Make sure the bounding-box of the image is correct. -#align(bottom + right, image("/files/tiger.jpg", width: 40pt, alt: "A tiger")) +#align(bottom + right, image("/assets/images/tiger.jpg", width: 40pt, alt: "A tiger")) --- // Test all three fit modes. @@ -30,24 +30,24 @@ columns: (1fr, 1fr, 1fr), rows: 100%, gutter: 3pt, - image("/files/tiger.jpg", width: 100%, height: 100%, fit: "contain"), - image("/files/tiger.jpg", width: 100%, height: 100%, fit: "cover"), - image("/files/monkey.svg", width: 100%, height: 100%, fit: "stretch"), + image("/assets/images/tiger.jpg", width: 100%, height: 100%, fit: "contain"), + image("/assets/images/tiger.jpg", width: 100%, height: 100%, fit: "cover"), + image("/assets/images/monkey.svg", width: 100%, height: 100%, fit: "stretch"), ) --- // Does not fit to remaining height of page. #set page(height: 60pt) Stuff -#image("/files/rhino.png") +#image("/assets/images/rhino.png") --- // Test baseline. -A #box(image("/files/tiger.jpg", height: 1cm, width: 80%)) B +A #box(image("/assets/images/tiger.jpg", height: 1cm, width: 80%)) B --- // Test advanced SVG features. -#image("/files/pattern.svg") +#image("/assets/images/pattern.svg") --- // Error: 8-29 file not found (searched at typ/visualize/path/does/not/exist) @@ -58,8 +58,8 @@ A #box(image("/files/tiger.jpg", height: 1cm, width: 80%)) B #image("./image.typ") --- -// Error: 2-25 failed to parse SVG (found closing tag 'g' instead of 'style' in line 4) -#image("/files/bad.svg") +// Error: 2-33 failed to parse SVG (found closing tag 'g' instead of 'style' in line 4) +#image("/assets/images/bad.svg") --- // Test parsing from svg data @@ -71,12 +71,12 @@ A #box(image("/files/tiger.jpg", height: 1cm, width: 80%)) B --- // Test format auto detect -#image.decode(read("/files/tiger.jpg", encoding: none), width: 80%) +#image.decode(read("/assets/images/tiger.jpg", encoding: none), width: 80%) --- // Test format manual -#image.decode(read("/files/tiger.jpg", encoding: none), format: "jpg", width: 80%) +#image.decode(read("/assets/images/tiger.jpg", encoding: none), format: "jpg", width: 80%) --- -// Error: 2-83 failed to decode image (Format error decoding Png: Invalid PNG signature.) -#image.decode(read("/files/tiger.jpg", encoding: none), format: "png", width: 80%) +// Error: 2-91 failed to decode image (Format error decoding Png: Invalid PNG signature.) +#image.decode(read("/assets/images/tiger.jpg", encoding: none), format: "png", width: 80%) diff --git a/tests/typ/visualize/svg-text.typ b/tests/typ/visualize/svg-text.typ index 11283a76..6f0a758e 100644 --- a/tests/typ/visualize/svg-text.typ +++ b/tests/typ/visualize/svg-text.typ @@ -4,7 +4,7 @@ #set page(width: 250pt) #figure( - image("/files/diagram.svg"), + image("/assets/images/diagram.svg"), caption: [A textful diagram], ) @@ -13,6 +13,6 @@ #show image: set text(font: ("Roboto", "Noto Serif CJK SC")) #figure( - image("/files/chinese.svg"), + image("/assets/images/chinese.svg"), caption: [Bilingual text] )