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/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 @@
-
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.
-
+
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.
-
+
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.
-
+
## 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.
-
+
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:
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]
)