(List (Com {[LIT_CHARS set]} {[LIT_CHARS -euo]} {[LIT_CHARS pipefail]} ) (FunctionDef error [] (If (Com {[LIT_DBRACKET_LIKE "["]} {[VarSub #]} {[LIT_NEQUAL "!="]} {[LIT_CHARS 0]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS echo]} {[LIT_CHARS -en]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub @]]} ) (Subshell (AndOr OP_OR_IF (Com {[LIT_CHARS fold]} {[LIT_CHARS -s]} ) (Com {[LIT_CHARS cat]} ) ) ) ) (Com {[LIT_CHARS echo]} {[LIT_CHARS -en]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) ) ) ) (FunctionDef fail [] (List (Com {[LIT_CHARS error]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "*** DOCS GENERATION FAILED ***"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (FunctionDef assert_dependencies [] (AndOr OP_OR_IF (Com {[LIT_CHARS which]} {[LIT_CHARS mkdocs]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "You must install mkdocs before using this script."]]} ) ) ) (FunctionDef handle_args [] (List (= scope= flags=0 words=[] bindings=[('PUSH_AFTER_GENERATE', {[DQ [LIT_CHARS no]]})]) (While (Com {[LIT_CHARS getopts]} {[DQ [LIT_CHARS "d:p"]]} {[LIT_CHARS opt]} ) (Case to_match={[VarSub opt]}, pat_word_list=[[{[LIT_CHARS d]}], [{[LIT_CHARS p]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('OUTPUT_DIR', {[DQ [VarSub OPTARG]]})]) (= scope= flags=0 words=[] bindings=[('PUSH_AFTER_GENERATE', {[DQ [LIT_CHARS yes]]})]) (Com {[LIT_CHARS usage]} ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub OUTPUT_DIR test_op=VS_TEST_COLON_HYPHEN {}]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('OUTPUT_DIR', {[DQ [ComSub (Com {[LIT_CHARS mktemp]} {[LIT_CHARS -d]} {[DQ [VarSub TMPDIR test_op=VS_TEST_COLON_HYPHEN {[LIT_SLASH /] [LIT_CHARS tmp]}][LIT_CHARS /docs-][ComSub (Com {[LIT_CHARS date]} {[LIT_CHARS -I]})][LIT_CHARS .XXXXXXXXXX]]})]]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Generating docs in "][VarSub OUTPUT_DIR]]} ) ) ) ) ) (FunctionDef usage [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Generate (and optionally push to git) documentation for Sandstorm."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "usage: "][VarSub 0][LIT_CHARS " [-d directoryname] [-p]"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ ]} ) (Com {[LIT_CHARS echo]} {[SQ ]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (FunctionDef create_index_page [] (Com {[LIT_CHARS echo]} {[SQ ">]} < (FilenameRedirectNode filename={[DQ [VarSub OUTPUT_DIR][LIT_CHARS /index.html]]} "> 1), > ) ) (FunctionDef run_mkdocs_build [] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub OUTPUT_DIR][LIT_CHARS /en/latest]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub OUTPUT_DIR][LIT_CHARS /en/latest/]]} ) (Com {[LIT_CHARS mkdocs]} {[LIT_CHARS build]} {[LIT_CHARS --site-dir]} {[DQ [VarSub OUTPUT_DIR][LIT_CHARS /en/latest/]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub OUTPUT_DIR][LIT_CHARS /en/latest/env]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub OUTPUT_DIR][LIT_CHARS /en/latest/__init__.py]]} {[DQ [VarSub OUTPUT_DIR][LIT_CHARS /en/latest/__init__.pyc]]} ) ) ) (FunctionDef git_push_if_desired [] (List (If (Com {[LIT_DBRACKET_LIKE "["]} {[DQ [VarSub PUSH_AFTER_GENERATE]]} {[LIT_NEQUAL "!="]} {[DQ [LIT_CHARS yes]]} {[LIT_DBRACKET_LIKE "]"]} ) (Com {[LIT_CHARS return]} ) ) (Com {[LIT_CHARS pushd]} {[DQ [VarSub OUTPUT_DIR]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (Com {[LIT_CHARS git]} {[LIT_CHARS rm]} {[LIT_CHARS --ignore-unmatch]} {[LIT_CHARS --cached]} {[SQ ]} ) (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS en/latest]} ) (Com {[LIT_CHARS git]} {[LIT_CHARS add]} {[LIT_CHARS index.html]} ) (Com {[LIT_CHARS git]} {[LIT_CHARS commit]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS "Autocommit on "][ComSub (Com {[LIT_CHARS date]} {[LIT_CHARS -R]})]]} ) (Com {[LIT_CHARS git]} {[LIT_CHARS push]} ) (Com {[LIT_CHARS popd]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) ) (FunctionDef generate_redirect_to [] (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "

Moved to: "][VarSub 1][LIT_CHARS "
(Sandstorm Web Publishing doesn't support 301 redirects :(.)"]]} ) ) (FunctionDef add_redirect_hacks [] (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub OUTPUT_DIR][LIT_CHARS /en/latest/developing/security-practices]]} ) (Com {[LIT_CHARS generate_redirect_to]} {[DQ [LIT_CHARS "https://docs.sandstorm.io/en/latest/using/security-practices/"]]} < (FilenameRedirectNode filename={[DQ [VarSub OUTPUT_DIR][LIT_CHARS /en/latest/developing/security-practices/index.html]]} "> 1), > ) ) ) (Com {[LIT_CHARS assert_dependencies]} ) (Com {[LIT_CHARS handle_args]} {[DQ [VarSub @]]} ) (Com {[LIT_CHARS create_index_page]} ) (Com {[LIT_CHARS run_mkdocs_build]} ) (Com {[LIT_CHARS add_redirect_hacks]} ) (Com {[LIT_CHARS git_push_if_desired]} ) )