git.iko.soy/typeable/pandoc
on master help sign in
19 files changed+334−83
since splitsnapshots
unifiedsplit
.circleci/config.yml+1−1 cabal.project+1−1 data/templates/default.latex+29−29 data/templates/styles.html+2−1 doc/faqs.md+128 src/Text/Pandoc/Citeproc.hs+49−26 src/Text/Pandoc/Writers/HTML.hs+13−5 stack.yaml+1−1 test/command/7394.md+85 test/command/7416.md+1−1 test/lhs-test.html+2−1 test/lhs-test.html+lhs+2−1 test/lhs-test.latex+3−3 test/lhs-test.latex+lhs+3−3 test/writer.html4+2−1 test/writer.html5+2−1 test/writer.latex+4−4 test/writers-lang-and-dir.latex+3−3 tools/build-arm.sh+3−1
.circleci/config.yml+1−1
@@ -2,7 +2,7 @@ version: "2.1"
22jobs:
33 build:
44 macos:
5− xcode: 9.4.1
5+ xcode: 11.1.0
66 environment:
77 HOMEBREW_NO_AUTO_UPDATE: 1
88 steps:
cabal.project+1−1
@@ -10,4 +10,4 @@ source-repository-package
1010source-repository-package
1111 type: git
1212 location: https://github.com/jgm/citeproc
13− tag: 85277c4baa6c0350baf29247583ae0f438f7c9c5
13+ tag: 4ce0501cd6f9c86eee087afcf878c256e49b9615
data/templates/default.latex+29−29
@@ -36,35 +36,6 @@ $for(classoption)$
3636 $classoption$$sep$,
3737$endfor$
3838]{$documentclass$}
39−$if(title)$
40−\title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
41−$endif$
42−$if(subtitle)$
43−$if(beamer)$
44−$else$
45−\usepackage{etoolbox}
46−\makeatletter
47−\providecommand{\subtitle}[1]{% add subtitle to \maketitle
48− \apptocmd{\@title}{\par {\large #1 \par}}{}{}
49−}
50−\makeatother
51−$endif$
52−\subtitle{$subtitle$}
53−$endif$
54−\author{$for(author)$$author$$sep$ \and $endfor$}
55−\date{$date$}
56−$if(beamer)$
57−$if(institute)$
58−\institute{$for(institute)$$institute$$sep$ \and $endfor$}
59−$endif$
60−$if(titlegraphic)$
61−\titlegraphic{\includegraphics{$titlegraphic$}}
62−$endif$
63−$if(logo)$
64−\logo{\includegraphics{$logo$}}
65−$endif$
66−$endif$
67−
6839$if(beamer)$
6940$if(background-image)$
7041\usebackgroundtemplate{%
@@ -452,6 +423,35 @@ $if(csquotes)$
452423\usepackage{csquotes}
453424$endif$
454425
426+$if(title)$
427+\title{$title$$if(thanks)$\thanks{$thanks$}$endif$}
428+$endif$
429+$if(subtitle)$
430+$if(beamer)$
431+$else$
432+\usepackage{etoolbox}
433+\makeatletter
434+\providecommand{\subtitle}[1]{% add subtitle to \maketitle
435+ \apptocmd{\@title}{\par {\large #1 \par}}{}{}
436+}
437+\makeatother
438+$endif$
439+\subtitle{$subtitle$}
440+$endif$
441+\author{$for(author)$$author$$sep$ \and $endfor$}
442+\date{$date$}
443+$if(beamer)$
444+$if(institute)$
445+\institute{$for(institute)$$institute$$sep$ \and $endfor$}
446+$endif$
447+$if(titlegraphic)$
448+\titlegraphic{\includegraphics{$titlegraphic$}}
449+$endif$
450+$if(logo)$
451+\logo{\includegraphics{$logo$}}
452+$endif$
453+$endif$
454+
455455\begin{document}
456456$if(has-frontmatter)$
457457\frontmatter
data/templates/styles.html+2−1
@@ -14,7 +14,7 @@ body {
1414 padding-top: $if(margin-top)$$margin-top$$else$50px$endif$;
1515 padding-bottom: $if(margin-bottom)$$margin-bottom$$else$50px$endif$;
1616 hyphens: auto;
17− word-wrap: break-word;
17+ overflow-wrap: break-word;
1818 text-rendering: optimizeLegibility;
1919 font-kerning: normal;
2020}
@@ -93,6 +93,7 @@ $endif$
9393pre code {
9494 padding: 0;
9595 overflow: visible;
96+ overflow-wrap: normal;
9697}
9798.sourceCode {
9899 background-color: transparent;
doc/faqs.mdnew file+128
@@ -0,0 +1,128 @@
1+% FAQs
2+
3+::: faqs
4+
5+## How can I convert a whole directory of files from Markdown to RTF?
6+
7+On linux or OSX:
8+
9+ for f in *.txt; do pandoc "$f" -s -o "${f%.txt}.rtf"; done
10+
11+
12+In Windows Powershell:
13+
14+ gci -r -i *.txt |foreach{$rtf=$_.directoryname+"\"+$_.basename+".rtf";pandoc -f markdown -s $_.name -o $rtf}
15+
16+## I used pandoc to convert a document to ICML (or OPML or RTF), and when I try to open it I'm told it's invalid. What have I done wrong?
17+
18+Be sure to use the `-s` or `--standalone` flag, or you just get a
19+fragment, not a full document with the required header:
20+
21+ pandoc -s -f markdown -t icml -o my.icml my.md
22+
23+## I get a blank document when I try to convert a markdown document in Chinese to PDF.
24+
25+By default, pandoc uses pdflatex to generate the PDF, and pdflatex
26+doesn't handle Chinese characters. But you can change the default to
27+use xelatex instead. You should also make sure you're using a font
28+with Chinese glyphs. For example:
29+
30+ pandoc -o c.pdf --pdf-engine=xelatex -V mainfont='Adobe Ming Std'
31+
32+## The Windows installer does a single user install, rather than installing pandoc for all users. How can I install pandoc for all users?
33+
34+Run the following command as admin:
35+
36+ msiexec /i pandoc-VERSION.msi ALLUSERS=1
37+
38+This will put pandoc in `C:\Program Files\Pandoc`.
39+You can install Pandoc to a different directory by setting APPLICATIONFOLDER parameter,
40+for example:
41+
42+ msiexec /i pandoc-1.11.1.msi ALLUSERS=1 APPLICATIONFOLDER="C:\Pandoc"
43+
44+## How do I change the margins in PDF output?
45+
46+The option
47+
48+ -V geometry:margin=1in
49+
50+will set the margins to one inch on each side. If you don't want uniform
51+margins, you can do something like
52+
53+ -V geometry:"top=2cm, bottom=1.5cm, left=1cm, right=1cm"
54+
55+Or
56+
57+ -V geometry:"left=3cm, width=10cm"
58+
59+For more options, see the documentation for the LaTeX [geometry
60+package](https://www.ctan.org/pkg/geometry).
61+
62+## How does pandoc compare to multimarkdown?
63+
64+Here is a [wiki
65+page](https://github.com/jgm/pandoc/wiki/Pandoc-vs-Multimarkdown)
66+comparing the two.
67+
68+## When I specify an image width of 50% and convert to LaTeX, pandoc sets the height to textheight and the aspect ratio isn't preserved. How can I prevent this?
69+
70+For example, if you convert an image with `{width="50%"}`, the LaTeX produced
71+will be `\includegraphics[width=0.5\textwidth,height=\textheight]`.
72+
73+This output presupposes the following code in pandoc's default latex
74+template:
75+
76+```
77+% Scale images if necessary, so that they will not overflow the page
78+% margins by default, and it is still possible to overwrite the defaults
79+% using explicit options in \includegraphics[width, height, ...]{}
80+\setkeys{Gin}{width=\maxwidth,height=\maxheight,keepaspectratio}
81+```
82+
83+If you don't have this in your custom template, you should
84+add it. If we didn't set the `height` explicitly in this way,
85+the image would not be resized correctly unless it was
86+being resized to smaller than its original size.
87+
88+## Pandoc sometimes uses too much memory. How can I limit the memory used by pandoc?
89+
90+`pandoc +RTS -M30m -RTS` will limit heap memory to 30MB.
91+When converting a document requires more than this, an out of
92+memory error will be issued.
93+
94+## When using `--include-in-header` with PDF or LaTeX output, how do I reference tex declarations coming after `$header-includes$` in the default template?
95+
96+For various reasons, the `$header-includes$` are not at the very
97+end of the LaTeX preamble. This poses a problem when the code
98+you are inserting depends on declarations in the preamble coming
99+after the `$header-includes$` location. For example, you might
100+want to reference the `\author` and `\title` metadata values
101+(set at the very bottom of the preamble) and present them in
102+margins. In that case you can wrap your code in `etoolbox`'s
103+`\AtEndPreamble`. The technique is demonstrated in [this
104+gist](https://gist.github.com/JohnLukeBentley/9dda6166b9ee5c4127afd2b8cd16b70a).
105+When using `\AtEndPreamble`, keep any `makeatletter` or
106+`makeatother` outside of the `\AtEndPreamble`, as shown in the
107+example.
108+
109+## How can I convert PDFs to other formats using pandoc?
110+
111+You can't. You can try opening the PDF in Word or Google Docs
112+and saving in a format from which pandoc can convert directly.
113+
114+## Do I really need to install a 1 GB TeX installation to produce a PDF using pandoc?
115+
116+No. You can get by with a relatively small TeX installation,
117+for example, by starting with MacTeX's Basic TeX distribution
118+and using the `tlmgr` tool to install a few packages required by pandoc
119+(see https://pandoc.org/MANUAL.html#creating-a-pdf).
120+
121+Or, you can produce PDFs via HTML and `wkhtmltopdf`,
122+or via groff ms and `pdfroff`. (These don't produce as nice
123+topography as TeX, particularly when it comes to math, but they
124+may be fine for many purposes.)
125+
126+
127+:::
128+
src/Text/Pandoc/Citeproc.hs+49−26
@@ -27,7 +27,7 @@ import Text.Pandoc.Error (PandocError(..))
2727import Text.Pandoc.Extensions (pandocExtensions)
2828import Text.Pandoc.Logging (LogMessage(..))
2929import Text.Pandoc.Options (ReaderOptions(..))
30−import Text.Pandoc.Shared (stringify, ordNub, blocksToInlines, tshow)
30+import Text.Pandoc.Shared (stringify, ordNub, tshow)
3131import qualified Text.Pandoc.UTF8 as UTF8
3232import Text.Pandoc.Walk (query, walk, walkM)
3333import Control.Applicative ((<|>))
@@ -49,6 +49,7 @@ import qualified Data.Text as T
4949import System.FilePath (takeExtension)
5050import Safe (lastMay, initSafe)
5151
52+
5253processCitations :: PandocMonad m => Pandoc -> m Pandoc
5354processCitations (Pandoc meta bs) = do
5455 style <- getStyle (Pandoc meta bs)
@@ -98,8 +99,10 @@ processCitations (Pandoc meta bs) = do
9899 let metanocites = lookupMeta "nocite" meta
99100 let Pandoc meta'' bs' =
100101 maybe id (setMeta "nocite") metanocites .
101− walk (map capitalizeNoteCitation . mvPunct moveNotes locale) .
102− walk deNote .
102+ walk (mvPunct moveNotes locale) .
103+ (if styleIsNoteStyle sopts
104+ then walk addNote . walk deNote
105+ else id) .
103106 evalState (walkM insertResolvedCitations $ Pandoc meta' bs)
104107 $ cits
105108 return $ Pandoc meta''
@@ -561,42 +564,62 @@ extractText (FancyVal x) = toText x
561564extractText (NumVal n) = T.pack (show n)
562565extractText _ = mempty
563566
564−capitalizeNoteCitation :: Inline -> Inline
565−capitalizeNoteCitation (Cite cs [Note [Para ils]]) =
566− Cite cs
567− [Note [Para $ B.toList $ addTextCase Nothing CapitalizeFirst
568− $ B.fromList ils]]
569−capitalizeNoteCitation x = x
570−
571−deNote :: [Inline] -> [Inline]
572−deNote [] = []
573−deNote (Note bs:rest) =
574− Note (walk go bs) : deNote rest
567+-- Here we take the Spans with class csl-note that are left
568+-- after deNote has removed nested ones, and convert them
569+-- into real notes.
570+addNote :: Inline -> Inline
571+addNote (Span ("",["csl-note"],[]) ils) =
572+ Note [Para $
573+ B.toList . addTextCase Nothing CapitalizeFirst . B.fromList $ ils]
574+addNote x = x
575+
576+-- Here we handle citation notes that occur inside footnotes
577+-- or other citation notes, in a note style. We don't want
578+-- notes inside notes, so we convert these to parenthesized
579+-- or comma-separated citations.
580+deNote :: Inline -> Inline
581+deNote (Note bs) =
582+ case bs of
583+ [Para (cit@(Cite (c:_) _) : ils)]
584+ | citationMode c /= AuthorInText ->
585+ -- if citation is first in note, no need to parenthesize.
586+ Note [Para (walk removeNotes $ cit : walk addParens ils)]
587+ _ -> Note (walk removeNotes . walk addParens $ bs)
588+
575589 where
576− go [] = []
577− go (Cite (c:cs) ils : zs)
590+ addParens [] = []
591+ addParens (Cite (c:cs) ils : zs)
578592 | citationMode c == AuthorInText
579− = Cite (c:cs) (concatMap (noteAfterComma (needsPeriod zs)) ils) : go zs
593+ = Cite (c:cs) (concatMap (noteAfterComma (needsPeriod zs)) ils) :
594+ addParens zs
580595 | otherwise
581− = Cite (c:cs) (concatMap noteInParens ils) : go zs
582− go (x:xs) = x : go xs
596+ = Cite (c:cs) (concatMap noteInParens ils) : addParens zs
597+ addParens (x:xs) = x : addParens xs
598+
599+ removeNotes (Span ("",["csl-note"],[]) ils) = Span ("",[],[]) ils
600+ removeNotes x = x
601+
583602 needsPeriod [] = True
584603 needsPeriod (Str t:_) = case T.uncons t of
585604 Nothing -> False
586605 Just (c,_) -> isUpper c
587606 needsPeriod (Space:zs) = needsPeriod zs
588607 needsPeriod _ = False
589− noteInParens (Note bs')
608+
609+ noteInParens (Span ("",["csl-note"],[]) ils)
590610 = Space : Str "(" :
591− removeFinalPeriod (blocksToInlines bs') ++ [Str ")"]
611+ removeFinalPeriod ils ++ [Str ")"]
592612 noteInParens x = [x]
593− noteAfterComma needsPer (Note bs')
613+
614+ noteAfterComma needsPer (Span ("",["csl-note"],[]) ils)
615+ | not (null ils)
594616 = Str "," : Space :
595− (if needsPer
596− then id
597− else removeFinalPeriod) (blocksToInlines bs')
617+ if needsPer
618+ then ils
619+ else removeFinalPeriod ils
598620 noteAfterComma _ x = [x]
599−deNote (x:xs) = x : deNote xs
621+
622+deNote x = x
600623
601624-- Note: we can't use dropTextWhileEnd indiscriminately,
602625-- because this would remove the final period on abbreviations like Ibid.
src/Text/Pandoc/Writers/HTML.hs+13−5
@@ -26,8 +26,13 @@ module Text.Pandoc.Writers.HTML (
2626 writeSlideous,
2727 writeDZSlides,
2828 writeRevealJs,
29− tagWithAttributes
29+ tagWithAttributes,
30+ inlineToHtml,
31+ blockToHtml,
32+ WriterState(..),
33+ defaultWriterState
3034 ) where
35+
3136import Control.Monad.State.Strict
3237import Data.Char (ord)
3338import Data.List (intercalate, intersperse, partition, delete, (\\), foldl')
@@ -659,17 +664,20 @@ dimensionsToAttrList attr = consolidateStyles $ go Width ++ go Height
659664figure :: PandocMonad m
660665 => WriterOptions -> Attr -> [Inline] -> (Text, Text)
661666 -> StateT WriterState m Html
662−figure opts attr txt (s,tit) = do
667+figure opts attr@(_, _, attrList) txt (s,tit) = do
663668 html5 <- gets stHtml5
664669 -- Screen-readers will normally read the @alt@ text and the figure; we
665670 -- want to avoid them reading the same text twice. With HTML5 we can
666671 -- use aria-hidden for the caption; with HTML4, we use an empty
667672 -- alt-text instead.
673+ -- When the alt text differs from the caption both should be read.
668674 let alt = if html5 then txt else [Str ""]
669675 let tocapt = if html5
670− then H5.figcaption !
671− H5.customAttribute (textTag "aria-hidden")
672− (toValue @Text "true")
676+ then (H5.figcaption !) $
677+ if isJust (lookup "alt" attrList)
678+ then mempty
679+ else H5.customAttribute (textTag "aria-hidden")
680+ (toValue @Text "true")
673681 else H.p ! A.class_ "caption"
674682 img <- inlineToHtml opts (Image attr alt (s,tit))
675683 capt <- if null txt
stack.yaml+1−1
@@ -14,7 +14,7 @@ extra-deps:
1414- git: https://github.com/jgm/doctemplates
1515 commit: 428c26d5303cf7a2b1051fe1ffd9aafe9ba71c81
1616- git: https://github.com/jgm/citeproc
17− commit: 85277c4baa6c0350baf29247583ae0f438f7c9c5
17+ commit: 4ce0501cd6f9c86eee087afcf878c256e49b9615
1818ghc-options:
1919 "$locals": -fhide-source-paths -Wno-missing-home-modules
2020resolver: lts-18.0
test/command/7394.mdnew file+85
@@ -0,0 +1,85 @@
1+```
2+% pandoc -f markdown -t plain --citeproc
3+---
4+csl: command/chicago-fullnote-bibliography.csl
5+references:
6+- author:
7+ - family: Wandt
8+ given: Manfred
9+ edition: 6
10+ id: wandt2014ges-sv
11+ issued: 2014
12+ publisher: Franz Vahlen
13+ publisher-place: München
14+ title: Gesetzliche schuldverhältnisse
15+ title-short: Gesetzl SV
16+ type: book
17+- author:
18+ - family: Smith
19+ given: Zenda
20+ edition: 6
21+ id: smith2015
22+ issued: 2015
23+ publisher: Macmillan
24+ publisher-place: New York
25+ title: A verb and a noun
26+ type: book
27+---
28+
29+Hi^[@wandt2014ges-sv.].
30+
31+Hi^[[@wandt2014ges-sv].].
32+
33+Hi^[[See also @wandt2014ges-sv].].
34+
35+Hi^[See also @wandt2014ges-sv.].
36+
37+Hi^[@wandt2014ges-sv [@smith2015].].
38+
39+Hi^[[@wandt2014ges-sv; @smith2015].].
40+
41+Hi [@wandt2014ges-sv].
42+
43+Hi [see also @wandt2014ges-sv].
44+
45+^D
46+Hi[1].
47+
48+Hi[2].
49+
50+Hi[3].
51+
52+Hi[4].
53+
54+Hi[5].
55+
56+Hi[6].
57+
58+Hi.[7]
59+
60+Hi.[8]
61+
62+Smith, Zenda. A Verb and a Noun. 6th ed. New York: Macmillan, 2015.
63+
64+Wandt, Manfred. Gesetzliche Schuldverhältnisse. 6th ed. München: Franz
65+Vahlen, 2014.
66+
67+[1] Manfred Wandt, Gesetzliche Schuldverhältnisse, 6th ed. (München:
68+Franz Vahlen, 2014).
69+
70+[2] Wandt.
71+
72+[3] See also Wandt.
73+
74+[4] See also Wandt.
75+
76+[5] Wandt, Zenda Smith, A Verb and a Noun, 6th ed. (New York: Macmillan,
77+2015).
78+
79+[6] Wandt, Gesetzl SV; Smith, A Verb and a Noun.
80+
81+[7] Wandt, Gesetzl SV.
82+
83+[8] See also Wandt.
84+```
85+
test/command/7416.md+1−1
@@ -4,7 +4,7 @@
44
55^D
66<figure>
7−<img src="../media/rId25.jpg" title="title" alt="alt" /><figcaption aria-hidden="true">caption</figcaption>
7+<img src="../media/rId25.jpg" title="title" alt="alt" /><figcaption>caption</figcaption>
88</figure>
99```
1010
test/lhs-test.html+2−1
@@ -21,7 +21,7 @@
2121 padding-top: 50px;
2222 padding-bottom: 50px;
2323 hyphens: auto;
24− word-wrap: break-word;
24+ overflow-wrap: break-word;
2525 text-rendering: optimizeLegibility;
2626 font-kerning: normal;
2727 }
@@ -92,6 +92,7 @@
9292 pre code {
9393 padding: 0;
9494 overflow: visible;
95+ overflow-wrap: normal;
9596 }
9697 .sourceCode {
9798 background-color: transparent;
test/lhs-test.html+lhs+2−1
@@ -21,7 +21,7 @@
2121 padding-top: 50px;
2222 padding-bottom: 50px;
2323 hyphens: auto;
24− word-wrap: break-word;
24+ overflow-wrap: break-word;
2525 text-rendering: optimizeLegibility;
2626 font-kerning: normal;
2727 }
@@ -92,6 +92,7 @@
9292 pre code {
9393 padding: 0;
9494 overflow: visible;
95+ overflow-wrap: normal;
9596 }
9697 .sourceCode {
9798 background-color: transparent;
test/lhs-test.latex+3−3
@@ -4,9 +4,6 @@
44%
55\documentclass[
66]{article}
7−\author{}
8−\date{}
9−
107\usepackage{amsmath,amssymb}
118\usepackage{lmodern}
129\usepackage{iftex}
@@ -88,6 +85,9 @@
8885 \usepackage{selnolig} % disable illegal ligatures
8986\fi
9087
88+\author{}
89+\date{}
90+
9191\begin{document}
9292
9393\hypertarget{lhs-test}{%
test/lhs-test.latex+lhs+3−3
@@ -4,9 +4,6 @@
44%
55\documentclass[
66]{article}
7−\author{}
8−\date{}
9−
107\usepackage{amsmath,amssymb}
118\usepackage{lmodern}
129\usepackage{iftex}
@@ -55,6 +52,9 @@
5552 \usepackage{selnolig} % disable illegal ligatures
5653\fi
5754
55+\author{}
56+\date{}
57+
5858\begin{document}
5959
6060\hypertarget{lhs-test}{%
test/writer.html4+2−1
@@ -24,7 +24,7 @@
2424 padding-top: 50px;
2525 padding-bottom: 50px;
2626 hyphens: auto;
27− word-wrap: break-word;
27+ overflow-wrap: break-word;
2828 text-rendering: optimizeLegibility;
2929 font-kerning: normal;
3030 }
@@ -95,6 +95,7 @@
9595 pre code {
9696 padding: 0;
9797 overflow: visible;
98+ overflow-wrap: normal;
9899 }
99100 .sourceCode {
100101 background-color: transparent;
test/writer.html5+2−1
@@ -24,7 +24,7 @@
2424 padding-top: 50px;
2525 padding-bottom: 50px;
2626 hyphens: auto;
27− word-wrap: break-word;
27+ overflow-wrap: break-word;
2828 text-rendering: optimizeLegibility;
2929 font-kerning: normal;
3030 }
@@ -95,6 +95,7 @@
9595 pre code {
9696 padding: 0;
9797 overflow: visible;
98+ overflow-wrap: normal;
9899 }
99100 .sourceCode {
100101 background-color: transparent;
test/writer.latex+4−4
@@ -4,10 +4,6 @@
44%
55\documentclass[
66]{article}
7−\title{Pandoc Test Suite}
8−\author{John MacFarlane \and Anonymous}
9−\date{July 17, 2006}
10−
117\usepackage{amsmath,amssymb}
128\usepackage{lmodern}
139\usepackage{iftex}
@@ -71,6 +67,10 @@
7167 \usepackage{selnolig} % disable illegal ligatures
7268\fi
7369
70+\title{Pandoc Test Suite}
71+\author{John MacFarlane \and Anonymous}
72+\date{July 17, 2006}
73+
7474\begin{document}
7575\maketitle
7676
test/writers-lang-and-dir.latex+3−3
@@ -5,9 +5,6 @@
55\documentclass[
66 english,
77]{article}
8−\author{}
9−\date{}
10−
118\usepackage{amsmath,amssymb}
129\usepackage{lmodern}
1310\usepackage{iftex}
@@ -87,6 +84,9 @@
8784 \newenvironment{LTR}{\beginL}{\endL}
8885\fi
8986
87+\author{}
88+\date{}
89+
9090\begin{document}
9191
9292\hypertarget{empty-divs-and-spans}{%
tools/build-arm.sh+3−1
@@ -1,6 +1,8 @@
11#!/bin/sh
22
3−IMAGE_ID=ami-0fa8979d18f69948b
3+#old version:
4+#IMAGE_ID=ami-0fa8979d18f69948b
5+IMAGE_ID=ami-0cd6b53a434812702
46INSTANCE_TYPE=t4g.2xlarge
57KEY_NAME=debian-arm-us-east-2
68SECURITY_GROUP_ID=sg-086ffbadc286c5c00