typst插件tinymist的tasks

tinymist 插件的 tasks

tinymist 为 vscode 中 typst 的插件,比较好用(typst lsp 项目已经合并进来了)

编译任务需要写进 .vscode/tasks.json 中,可以参考官方文档

编译的 package 位于插件源代码的 editors/vscode/package.json

可惜目前看起来无法像 typst 的 web 端那样编译特定页面(官方文档没解释清楚)

只能自己写针对特定页数编译的 task 了(只在 win 上试过,还没有在 linux 上试过)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
{
"version": "2.0.0",
"inputs": [
//自定义的部分,用于导出特定页面范围
//使用 typst cli 自带的语法,应该是跨平台的
{
"id": "pageNumber",
"type": "promptString",
"description": "Enter the page number(s) to compile (e.g., 2, 1-3)",
"default": "1"
}
],
"tasks": [
{
"label": "Export Specific Page(s) as PDF",
"type": "shell",
"command": "typst",
"args": [
"compile",
"--format",
"pdf",
"--pages",
"${input:pageNumber}", // 页码
"${file}", // 源文件
"${fileDirname}\\${fileBasenameNoExtension}.pdf" // 输出同名 PDF
],
"problemMatcher": []
},
{
"label": "Export Specific Page(s) as SVG",
"type": "shell",
"command": "typst",
"args": [
"compile",
"--format",
"svg",
"--pages",
"${input:pageNumber}", // 页码
"${file}", // 源文件
"${fileDirname}\\${fileBasenameNoExtension}.svg" // 输出同名 SVG
],
"problemMatcher": []
},
//Tinymist offcial
{
"label": "Export as Html",
"type": "typst",
"command": "export",
"export": {
"format": "html"
}
},
{
"label": "Export as Markdown",
"type": "typst",
"command": "export",
"export": {
"format": "markdown"
}
},
{
"label": "Export as Plain Text",
"type": "typst",
"command": "export",
"export": {
"format": "html"
}
},
{
"label": "Export as SVG",
"type": "typst",
"command": "export",
"export": {
"format": "svg",
"merged": true
}
},
{
"label": "Export as PNG",
"type": "typst",
"command": "export",
"export": {
"format": "png",
"fill": "#00000000",
"merged": true
}
},
{
"label": "Query as Pdfpc",
"type": "typst",
"command": "export",
"export": {
"format": "pdfpc"
}
},
{
"label": "Export as PNG and SVG",
"type": "typst",
"command": "export",
"export": {
"format": ["png", "svg"],
"png.ppi": 24,
"merged": true,
"merged.gap": "100pt"
}
}
]
}

typst插件tinymist的tasks
https://0kitasan.github.io/2025/02/13/2025-02-13-typst/
作者
0kitasan
发布于
2025年2月13日
许可协议