-
Notifications
You must be signed in to change notification settings - Fork 5
/
process.ps1
93 lines (78 loc) · 2.73 KB
/
process.ps1
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
<#
Based on https://github.com/plain-plain-text/simple-cv/blob/master/process.sh
This PowerShell script processes the files in this repository to generate
a few temporary files and a final pdf and html file for a CV.
If you cannot get this script to run on your local computer, as an initial, security-risky
solution, run this command in Powershell:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
At the end of your work, you can set the policy back to the Windows default:
Set-ExecutionPolicy -ExecutionPolicy Restricted -Scope CurrentUser
Alternatively, you can run powershell itself with different execution policy.
To do that, open a command prompt and run:
powershell -ExecutionPolicy Unrestricted
For the duration of that shell, the policy will be unrestricted.
#>
# 1. Reset tmp directory
if(!(Test-Path -Path .\tmp)){
New-Item -ItemType directory -Path .\tmp
} else {
Get-ChildItem -Path .\tmp -Include *.* -File -Recurse | foreach { $_.Delete()}
}
# 2. Find metadata file
if(!(Test-Path .\metadata.yml)){
"Could not find file 'metadata.yml'"
exit
}
# 3. Make sections list.
if(Test-Path -Path sections.txt -PathType Leaf){
" " | Out-File .\tmp\main.md -Encoding utf8
cat .\sections.txt |
Select-String -Pattern "^[^#]" |
foreach {
$md_file = cat "sections\$($_).md" -Encoding utf8
Add-Content .\tmp\main.md $md_file
Add-Content .\tmp\main.md " "
}
} else {
"Could not find file 'sections.txt'"
exit
}
# 4. Add preamble to main.md
Get-Content .\bibliography-preamble.tex | Add-Content -Path .\tmp\main.md
# 5. Hack .bib to get it to respect mkbibquote and mkbibemph
#cat .\bibliography.bib | %{$_ -replace "\$\\backslash\$", "\"}
#cat .\bibliography.bib | %{$_ -replace "\\{\\vphantom\\}", "{"}
#cat .\bibliography.bib | %{$_ -replace "\\vphantom\\{\\}", "}"}
# 6. Invoke pandoc
"Generating .doc and .pdf files."
$pandoc_tex_args = @(
"--standalone",
"--from=markdown+yaml_metadata_block+raw_tex+citations",
"--template=template.tex",
"--citeproc",
"--metadata-file=metadata.yml",
"--output=tmp\out.tex",
".\tmp\main.md"
)
$pandoc_doc_args = @(
"--standalone",
"--from=markdown+yaml_metadata_block+citations",
"--citeproc",
"--metadata-file=metadata.yml",
"--output=output.docx",
".\tmp\main.md"
)
$pandoc_pdf_args = @(
"--standalone",
"--from=markdown+yaml_metadata_block+citations",
"--citeproc",
"--template=template.tex",
"--pdf-engine=xelatex",
"--metadata-file=metadata.yml",
"--output=output.pdf",
".\tmp\main.md"
)
pandoc $pandoc_tex_args
pandoc $pandoc_doc_args
pandoc $pandoc_pdf_args
"Files generated."