-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlatex-template.taskfile.yml
More file actions
63 lines (58 loc) · 1.95 KB
/
Copy pathlatex-template.taskfile.yml
File metadata and controls
63 lines (58 loc) · 1.95 KB
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
# yaml-language-server: $schema=https://taskfile.dev/schema.json
version: "3"
tasks:
check:
dir: "/{{ .PROJECT_DIR }}"
preconditions:
- sh: test -f main.tex
msg: "Error: project entrypoint main.tex not found ! ({{ .PROJECT_DIR }})"
format:
desc: "Format all files in the project"
requires:
vars:
- PROJECT_DIR
- PROJECT_NAME
dir: "/{{ .PROJECT_DIR }}"
label: "{{ .TASK }}:{{ .PROJECT_NAME }}"
deps:
- task: check
vars: { PROJECT_DIR: "{{ .PROJECT_DIR }}" }
cmds:
- for: ["*.tex", "*.sty", "*.cls", "*.bib"]
cmd: find . -type f -name "{{ .ITEM }}" -exec tex-fmt {} \;
compile:
desc: "Compile the project"
requires:
vars:
- PROJECT_DIR
- PROJECT_NAME
dir: "/{{ .PROJECT_DIR }}"
label: "{{ .TASK }}:{{ .PROJECT_NAME }}"
deps:
- task: check
vars: { PROJECT_DIR: "{{ .PROJECT_DIR }}" }
vars:
RESOURCE_DIR: '{{ joinPath .TASKFILE_DIR "resources" }}'
COMPILE_DIR: '{{ joinPath .TASKFILE_DIR "build" .PROJECT_NAME }}'
preconditions:
- test -d {{ .COMPILE_DIR }} || mkdir -p {{ .COMPILE_DIR }}
cmds:
- tectonic -X --chatter minimal compile {{ .PROJECT_DIR }}/main.tex --outdir {{ .COMPILE_DIR }} -Z shell-escape -Z search-path={{ .RESOURCE_DIR }} --synctex --keep-logs --keep-intermediates
archive:
desc: "Archive the project"
requires:
vars:
- PROJECT_DIR
- PROJECT_NAME
dir: "/{{ .PROJECT_DIR }}"
label: "{{ .TASK }}:{{ .PROJECT_NAME }}"
deps:
- task: check
vars: { PROJECT_DIR: "{{ .PROJECT_DIR }}" }
vars:
RESOURCE_DIR: '{{ joinPath .TASKFILE_DIR "resources" }}'
ARCHIVE_DIR: '{{ joinPath .TASKFILE_DIR "dist" }}'
preconditions:
- test -d {{ .ARCHIVE_DIR }} || mkdir -p {{ .ARCHIVE_DIR }}
cmds:
- 7zz a -aoa -bso0 -bsp0 {{ .ARCHIVE_DIR }}/{{ .PROJECT_NAME }}.zip {{ .PROJECT_DIR }}/* {{ .RESOURCE_DIR }}