quillmark 0.5.0__tar.gz → 0.5.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {quillmark-0.5.0 → quillmark-0.5.1}/Cargo.lock +8 -8
- {quillmark-0.5.0 → quillmark-0.5.1}/Cargo.toml +5 -5
- {quillmark-0.5.0 → quillmark-0.5.1}/PKG-INFO +1 -1
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-typst/src/convert.rs +45 -3
- {quillmark-0.5.0 → quillmark-0.5.1}/README.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/pyproject.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/python/quillmark/__init__.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/python/quillmark/__init__.pyi +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/python/quillmark/py.typed +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark/Cargo.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark/README.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark/src/lib.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark/src/orchestration.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-acroform/Cargo.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-acroform/README.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-acroform/src/lib.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-core/Cargo.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-core/README.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-core/src/backend.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-core/src/error.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-core/src/lib.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-core/src/parse.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-core/src/quill.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-core/src/templating.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-core/src/types.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-core/src/value.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/.npmignore +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/Cargo.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/README.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/appreciated_letter/Quill.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/appreciated_letter/appreciated_letter.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/appreciated_letter/glue.typ +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/extended_metadata_demo.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/frontmatter_demo.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/sample.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/taro/Quill.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/taro/glue.typ +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/taro/taro.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/taro.png +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_form_8/Quill.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_form_8/form.pdf +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_form_8/usaf_form_8.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/.quillignore +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/Quill.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/assets/dow_seal.png +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/glue.typ +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/.gitignore +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/LICENSE +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/fonts/Cinzel/Cinzel-Regular.ttf +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/fonts/Cinzel/LICENSE +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/CopperplateCC-Heavy.otf +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/LICENSE.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/GNU General Public License.txt +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-Med.otf +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-MedIta.otf +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-Reg.otf +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/NimbusRomNo9L-RegIta.otf +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/src/lib.typ +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/src/utils.typ +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/packages/tonguetoquill-usaf-memo/typst.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/usaf_memo.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/src/lib.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/.gitignore +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/Cargo.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/IMPLEMENTATION_SUMMARY.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/README.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/examples/basic.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/examples/batch.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/examples/workflow_demo.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/python/quillmark/__init__.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/python/quillmark/__init__.pyi +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/python/quillmark/py.typed +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/src/enums.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/src/errors.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/src/lib.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/src/types.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/tests/conftest.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/tests/test_api_requirements.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/tests/test_engine.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/tests/test_parse.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/tests/test_quill.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/tests/test_render.py +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-python/uv.lock +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-typst/Cargo.toml +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-typst/README.md +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-typst/src/compile.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-typst/src/error_mapping.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-typst/src/filters.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-typst/src/lib.rs +0 -0
- {quillmark-0.5.0 → quillmark-0.5.1}/quillmark-typst/src/world.rs +0 -0
@@ -2043,7 +2043,7 @@ dependencies = [
|
|
2043
2043
|
|
2044
2044
|
[[package]]
|
2045
2045
|
name = "quillmark"
|
2046
|
-
version = "0.5.
|
2046
|
+
version = "0.5.1"
|
2047
2047
|
dependencies = [
|
2048
2048
|
"acroform",
|
2049
2049
|
"anyhow",
|
@@ -2060,7 +2060,7 @@ dependencies = [
|
|
2060
2060
|
|
2061
2061
|
[[package]]
|
2062
2062
|
name = "quillmark-acroform"
|
2063
|
-
version = "0.5.
|
2063
|
+
version = "0.5.1"
|
2064
2064
|
dependencies = [
|
2065
2065
|
"acroform",
|
2066
2066
|
"minijinja",
|
@@ -2073,7 +2073,7 @@ dependencies = [
|
|
2073
2073
|
|
2074
2074
|
[[package]]
|
2075
2075
|
name = "quillmark-core"
|
2076
|
-
version = "0.5.
|
2076
|
+
version = "0.5.1"
|
2077
2077
|
dependencies = [
|
2078
2078
|
"anyhow",
|
2079
2079
|
"glob",
|
@@ -2088,7 +2088,7 @@ dependencies = [
|
|
2088
2088
|
|
2089
2089
|
[[package]]
|
2090
2090
|
name = "quillmark-fixtures"
|
2091
|
-
version = "0.5.
|
2091
|
+
version = "0.5.1"
|
2092
2092
|
dependencies = [
|
2093
2093
|
"quillmark",
|
2094
2094
|
"quillmark-typst",
|
@@ -2096,7 +2096,7 @@ dependencies = [
|
|
2096
2096
|
|
2097
2097
|
[[package]]
|
2098
2098
|
name = "quillmark-fuzz"
|
2099
|
-
version = "0.5.
|
2099
|
+
version = "0.5.1"
|
2100
2100
|
dependencies = [
|
2101
2101
|
"proptest",
|
2102
2102
|
"quillmark-core",
|
@@ -2105,7 +2105,7 @@ dependencies = [
|
|
2105
2105
|
|
2106
2106
|
[[package]]
|
2107
2107
|
name = "quillmark-python"
|
2108
|
-
version = "0.5.
|
2108
|
+
version = "0.5.1"
|
2109
2109
|
dependencies = [
|
2110
2110
|
"anyhow",
|
2111
2111
|
"pyo3",
|
@@ -2116,7 +2116,7 @@ dependencies = [
|
|
2116
2116
|
|
2117
2117
|
[[package]]
|
2118
2118
|
name = "quillmark-typst"
|
2119
|
-
version = "0.5.
|
2119
|
+
version = "0.5.1"
|
2120
2120
|
dependencies = [
|
2121
2121
|
"anyhow",
|
2122
2122
|
"dirs",
|
@@ -2138,7 +2138,7 @@ dependencies = [
|
|
2138
2138
|
|
2139
2139
|
[[package]]
|
2140
2140
|
name = "quillmark-wasm"
|
2141
|
-
version = "0.5.
|
2141
|
+
version = "0.5.1"
|
2142
2142
|
dependencies = [
|
2143
2143
|
"console_error_panic_hook",
|
2144
2144
|
"getrandom 0.3.4",
|
@@ -11,7 +11,7 @@ default-members = [
|
|
11
11
|
resolver = "2"
|
12
12
|
|
13
13
|
[workspace.package]
|
14
|
-
version = "0.5.
|
14
|
+
version = "0.5.1"
|
15
15
|
edition = "2021"
|
16
16
|
include = ["src/**", "Cargo.toml", "README*", "LICENSE*"]
|
17
17
|
readme = "README.md"
|
@@ -47,10 +47,10 @@ dirs = "6.0"
|
|
47
47
|
acroform = "0.1.3"
|
48
48
|
|
49
49
|
# Intra-project dependencies
|
50
|
-
quillmark-core = { version = "0.5.
|
51
|
-
quillmark-typst = { version = "0.5.
|
52
|
-
quillmark-acroform = { version = "0.5.
|
53
|
-
quillmark = { version = "0.5.
|
50
|
+
quillmark-core = { version = "0.5.1", path = "quillmark-core" }
|
51
|
+
quillmark-typst = { version = "0.5.1", path = "quillmark-typst", default-features = false }
|
52
|
+
quillmark-acroform = { version = "0.5.1", path = "quillmark-acroform" }
|
53
|
+
quillmark = { version = "0.5.1", path = "quillmark", default-features = false }
|
54
54
|
|
55
55
|
# Test and dev dependencies
|
56
56
|
tempfile = "~3.23"
|
@@ -49,6 +49,7 @@ pub enum ConversionError {
|
|
49
49
|
/// Escapes text for safe use in Typst markup context.
|
50
50
|
pub fn escape_markup(s: &str) -> String {
|
51
51
|
s.replace('\\', "\\\\")
|
52
|
+
.replace("//", "\\/\\/")
|
52
53
|
.replace('*', "\\*")
|
53
54
|
.replace('_', "\\_")
|
54
55
|
.replace('`', "\\`")
|
@@ -417,7 +418,7 @@ mod tests {
|
|
417
418
|
fn test_link() {
|
418
419
|
let markdown = "[Link text](https://example.com)";
|
419
420
|
let typst = mark_to_typst(markdown).unwrap();
|
420
|
-
assert_eq!(typst, "#link(\"https
|
421
|
+
assert_eq!(typst, "#link(\"https:\\/\\/example.com\")[Link text]\n\n");
|
421
422
|
}
|
422
423
|
|
423
424
|
#[test]
|
@@ -426,7 +427,7 @@ mod tests {
|
|
426
427
|
let typst = mark_to_typst(markdown).unwrap();
|
427
428
|
assert_eq!(
|
428
429
|
typst,
|
429
|
-
"Visit #link(\"https
|
430
|
+
"Visit #link(\"https:\\/\\/example.com\")[our site] for more.\n\n"
|
430
431
|
);
|
431
432
|
}
|
432
433
|
|
@@ -438,7 +439,7 @@ mod tests {
|
|
438
439
|
// Lists end with extra newline per CONVERT.md examples
|
439
440
|
assert_eq!(
|
440
441
|
typst,
|
441
|
-
"A paragraph with *bold* and a #link(\"https
|
442
|
+
"A paragraph with *bold* and a #link(\"https:\\/\\/example.com\")[link].\n\nAnother paragraph with `inline code`.\n\n+ A list item\n+ Another item\n\n"
|
442
443
|
);
|
443
444
|
}
|
444
445
|
|
@@ -608,4 +609,45 @@ mod tests {
|
|
608
609
|
let result = mark_to_typst(&markdown);
|
609
610
|
assert!(result.is_ok());
|
610
611
|
}
|
612
|
+
|
613
|
+
// Tests for // (comment syntax) escaping
|
614
|
+
#[test]
|
615
|
+
fn test_slash_comment_in_url() {
|
616
|
+
let markdown = "Check out https://example.com for more.";
|
617
|
+
let typst = mark_to_typst(markdown).unwrap();
|
618
|
+
// The // in https:// should be escaped to prevent it from being treated as a comment
|
619
|
+
assert!(typst.contains("https:\\/\\/example.com"));
|
620
|
+
}
|
621
|
+
|
622
|
+
#[test]
|
623
|
+
fn test_slash_comment_at_line_start() {
|
624
|
+
let markdown = "// This should not be a comment";
|
625
|
+
let typst = mark_to_typst(markdown).unwrap();
|
626
|
+
// // at the start of a line should be escaped
|
627
|
+
assert!(typst.contains("\\/\\/"));
|
628
|
+
}
|
629
|
+
|
630
|
+
#[test]
|
631
|
+
fn test_slash_comment_in_middle() {
|
632
|
+
let markdown = "Some text // with slashes in the middle";
|
633
|
+
let typst = mark_to_typst(markdown).unwrap();
|
634
|
+
// // in the middle of text should be escaped
|
635
|
+
assert!(typst.contains("text \\/\\/"));
|
636
|
+
}
|
637
|
+
|
638
|
+
#[test]
|
639
|
+
fn test_file_protocol() {
|
640
|
+
let markdown = "Use file://path/to/file protocol";
|
641
|
+
let typst = mark_to_typst(markdown).unwrap();
|
642
|
+
// file:// should be escaped
|
643
|
+
assert!(typst.contains("file:\\/\\/"));
|
644
|
+
}
|
645
|
+
|
646
|
+
#[test]
|
647
|
+
fn test_single_slash() {
|
648
|
+
let markdown = "Use path/to/file for the file";
|
649
|
+
let typst = mark_to_typst(markdown).unwrap();
|
650
|
+
// Single slashes should not be escaped (only // is a comment in Typst)
|
651
|
+
assert!(typst.contains("path/to/file"));
|
652
|
+
}
|
611
653
|
}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/appreciated_letter/Quill.toml
RENAMED
File without changes
|
File without changes
|
{quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/appreciated_letter/glue.typ
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{quillmark-0.5.0 → quillmark-0.5.1}/quillmark-fixtures/resources/usaf_memo/assets/dow_seal.png
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|