diff --git a/converters/headers.lua b/converters/headers.lua new file mode 100644 index 0000000..4168764 --- /dev/null +++ b/converters/headers.lua @@ -0,0 +1,69 @@ +local pagebreak = { + asciidoc = '<<<\n\n', + context = '\\page', + epub = '

', + html = '
', + latex = '\\newpage{}', + ms = '.bp', + ooxml = '', + odt = '' +} +local title = ''; +local title_inHaders = true; + +local stringify_orig = (require 'pandoc.utils').stringify + +local function stringify(x) + return type(x) == 'string' and x or stringify_orig(x) +end + +local function newpage(format) + if format:match 'asciidoc' then + return pandoc.RawBlock('asciidoc', pagebreak.asciidoc) + elseif format == 'context' then + return pandoc.RawBlock('context', pagebreak.context) + elseif format == 'docx' then + return pandoc.RawBlock('openxml', pagebreak.ooxml) + elseif format:match 'epub' then + return pandoc.RawBlock('html', pagebreak.epub) + elseif format:match 'html.*' then + return pandoc.RawBlock('html', pagebreak.html) + elseif format:match 'latex' then + return pandoc.RawBlock('tex', pagebreak.latex) + elseif format:match 'ms' then + return pandoc.RawBlock('ms', pagebreak.ms) + elseif format:match 'odt' then + return pandoc.RawBlock('opendocument', pagebreak.odt) + else + -- fall back to insert a form feed character + return pandoc.Para{pandoc.Str '\f'} + end +end + +function Meta(meta) + title = (meta.title and stringify(meta.title)) or title + if title ~= '' then + title_inHaders = false; + end +end + +function Header(el) + if title_inHaders then + if el.level == 1 then + title = el.content + return {} + else + el.level = el.level - 1; + end + end + + if el.level == 1 or el.level == 2 then + return { newpage(FORMAT), el } + end +end + +return { + {Meta = Meta}, + {Header = Header}, + {Meta = function (meta) meta.title = title; return meta end} +} diff --git a/converters/mdToLatex.sh b/converters/mdToLatex.sh index 5751765..11da5bc 100644 --- a/converters/mdToLatex.sh +++ b/converters/mdToLatex.sh @@ -1,10 +1,14 @@ +#!/usr/bin/env bash + MD_FILE="$1" +set -e + BASE_DIR="$(pwd)" -TEX_FILE="${BASE_DIR}/latex/$(basename "$MD_FILE" | sed -e 's/\.md$/.latex/')" +PDF_FILE="${BASE_DIR}/pdf/$(basename "$MD_FILE" | sed -e 's/\.md$/.pdf/')" BUILD_DIR="${BASE_DIR}/build/$(basename "$MD_FILE" | sed -e 's/\.md$//')" TEMP_MD_FILE="$BUILD_DIR/$(basename "$MD_FILE")" -TEMP_TEX_FILE="$BUILD_DIR/$(basename "$MD_FILE" | sed -e 's|md$|latex|')" + mkdir -p "$(dirname "$TEMP_MD_FILE")" cp "$MD_FILE" "$TEMP_MD_FILE" @@ -14,11 +18,17 @@ function download_images() { for line in $(grep '!\[.*\](https://.*\.png)' "$1" | sed -e 's/ /%20;/g') do src=$(echo "$line" | sed -e 's/^.*(//' -e 's/).*$//' -e 's/%20;/ /g') - echo "remote image found: $src" + echo "download remote image: $src" - mkdir -p "${BASE_DIR}/latex/images" + mkdir -p "${BASE_DIR}/pdf/images" name=$(echo "$src" | sed -e 's|^.*/\([^/]*\)$|\1|') - curl "$src" > "${BASE_DIR}/latex/images/$name" + if [[ ! -f "${BASE_DIR}/pdf/images/$name" ]] + then + curl "$src" >"${BASE_DIR}/pdf/images/$name" + else + echo " image already exists" + fi + sed -i "$1" -e "s|$src|${BASE_DIR}/pdf/images/$name|" done echo "download done" } @@ -26,66 +36,40 @@ function download_images() { for line in $(grep '^!\[.*\](.*\.md)$' "$TEMP_MD_FILE" | sed -e 's/ /%20;/g') do md_src=$(echo "$line" | sed -e 's/^.*(//' -e 's/).*$//' -e 's/%20;/ /g') - echo "include found: markdown/$md_src" + echo "include found: $md_src" - download_images "markdown/$md_src" + cp "$(pwd)/markdown/$md_src" "$BUILD_DIR/$(basename "$md_src")" - cp "markdown/$md_src" "$BUILD_DIR/$md_src" - sed -i "$BUILD_DIR/$md_src" \ + download_images "$BUILD_DIR/$(basename "$md_src")" + + sed -i "$BUILD_DIR/$(basename "$md_src")" \ -e 's|\[toc\]||' \ -e 's|^\[parent\].*$||' \ - -e 's|^# |\\newpage\n# |' \ - -e 's|^## |\\newpage\n## |' \ - -e 's|\[\([^]]*\)\](#\([^)]*\))|[\1](#\L\2)|' \ -e 's|^> \[!todo\]|> \\textcolor{cyan}{TODO:}|' \ -e 's|^> \[!warn\]|> \\textcolor{orange}{WARNING:}|' \ - -e "s|https://live.kladjes.nl/uploads|${BASE_DIR}/latex/images|" \ - -e "s|\`\`\`mermaid|\`\`\`{.mermaid loc=${BASE_DIR}/latex/images/$(basename "$md_src")}|" - download_images "$BUILD_DIR/$md_src" + -e "s|\`\`\`mermaid|\`\`\`{.mermaid loc=${BASE_DIR}/pdf/images/$(basename "$md_src")}|" sed -i "$TEMP_MD_FILE" \ - -e "s/^\!\[.*\]($md_src)\$/\`\`\`\\{.include shift-heading-level-by=1\\}\n${md_src}\n\`\`\`/" + -e "s|^\!\[.*\]($md_src)\$|\`\`\`\\{.include shift-heading-level-by=1\\}\n$(basename "$md_src")\n\`\`\`|" done download_images "$TEMP_MD_FILE" -title="$(grep '^# ' "$MD_FILE" | head -n 1 | sed 's|^# ||')" - sed -i "$TEMP_MD_FILE" \ - -e 's|\[toc\]|\\tableofcontents|' \ - -e 's|^\[parent\].*$||' \ - -e 's|^# .*$||' \ - -e 's|^#||' \ - -e 's|^# |\\newpage\n# |' \ - -e 's|\[\([^]]*\)\](#\([^)]*\))|[\1](#\L\2)|' \ -e 's|^> \[!todo\]|> \\textcolor{cyan}{TODO:}|' \ -e 's|^> \[!warn\]|> \\textcolor{orange}{WARNING:}|' \ - -e "s|https://live.kladjes.nl/uploads|${BASE_DIR}/latex/images|" \ - -e "s|\`\`\`mermaid|\`\`\`{.mermaid loc=${BASE_DIR}/latex/images/$(basename "$MD_FILE")}|" + -e "s|\`\`\`mermaid|\`\`\`{.mermaid loc=${BASE_DIR}/pdf/images/$(basename "$MD_FILE")}|" - # -e 's|```\([^ \t]\)=|```\1 {linenumbers}|' - -mkdir -p ${BASE_DIR}/latex/images/$(basename "$MD_FILE") +mkdir -p ${BASE_DIR}/pdf/images/$(basename "$MD_FILE") cd "$BUILD_DIR" -pandoc --lua-filter=../../converters/include-files.lua \ - --to=latex \ +pandoc --standalone \ + --lua-filter=../../converters/include-files.lua \ + --lua-filter=../../converters/headers.lua \ + -t latex --pdf-engine=xelatex \ --from=markdown+abbreviations \ --template "${BASE_DIR}/converters/template.latex" \ - -o "$TEX_FILE" \ - -F /home/laila/.local/share/npm/bin/mermaid-filter \ - --dpi 300 \ + -F "${XDG_DATA_HOME}/npm/bin/mermaid-filter" \ + -o "$PDF_FILE" \ "$(basename "$TEMP_MD_FILE")" cd "$BASE_DIR" - -# for line in $(grep '^!\[.*\](.*\.md)$' "$TEMP_MD_FILE" | sed 's/ /%20;/g') -# do -# src=$(echo "$line" | sed -e 's/^.*(//' -e 's/).*$//' -e 's/%20;/ /g') - -# sed -i "$TEMP_MD_FILE" \ -# -e "s/^!\[.*\]($src)\$/\\include{$src}/" -# done - -sed --in-place \ - -e "s|?title?|$title|" \ - "$TEX_FILE" diff --git a/converters/pagebreak.lua b/converters/pagebreak.lua new file mode 100644 index 0000000..b931051 --- /dev/null +++ b/converters/pagebreak.lua @@ -0,0 +1,109 @@ +--[[ +pagebreak – convert raw LaTeX page breaks to other formats + +Copyright © 2017-2021 Benct Philip Jonsson, Albert Krewinkel + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +]] +local stringify_orig = (require 'pandoc.utils').stringify + +local function stringify(x) + return type(x) == 'string' and x or stringify_orig(x) +end + +--- configs – these are populated in the Meta filter. +local pagebreak = { + asciidoc = '<<<\n\n', + context = '\\page', + epub = '

', + html = '
', + latex = '\\newpage{}', + ms = '.bp', + ooxml = '', + odt = '' +} + +local function pagebreaks_from_config (meta) + local html_class = + (meta.newpage_html_class and stringify(meta.newpage_html_class)) + or os.getenv 'PANDOC_NEWPAGE_HTML_CLASS' + if html_class and html_class ~= '' then + pagebreak.html = string.format('
', html_class) + end + + local odt_style = + (meta.newpage_odt_style and stringify(meta.newpage_odt_style)) + or os.getenv 'PANDOC_NEWPAGE_ODT_STYLE' + if odt_style and odt_style ~= '' then + pagebreak.odt = string.format('', odt_style) + end +end + +--- Return a block element causing a page break in the given format. +local function newpage(format) + if format:match 'asciidoc' then + return pandoc.RawBlock('asciidoc', pagebreak.asciidoc) + elseif format == 'context' then + return pandoc.RawBlock('context', pagebreak.context) + elseif format == 'docx' then + return pandoc.RawBlock('openxml', pagebreak.ooxml) + elseif format:match 'epub' then + return pandoc.RawBlock('html', pagebreak.epub) + elseif format:match 'html.*' then + return pandoc.RawBlock('html', pagebreak.html) + elseif format:match 'latex' then + return pandoc.RawBlock('tex', pagebreak.latex) + elseif format:match 'ms' then + return pandoc.RawBlock('ms', pagebreak.ms) + elseif format:match 'odt' then + return pandoc.RawBlock('opendocument', pagebreak.odt) + else + -- fall back to insert a form feed character + return pandoc.Para{pandoc.Str '\f'} + end +end + +local function is_newpage_command(command) + return command:match '^\\newpage%{?%}?$' + or command:match '^\\pagebreak%{?%}?$' +end + +-- Filter function called on each RawBlock element. +function RawBlock (el) + -- Don't do anything if the output is TeX + if FORMAT:match 'tex$' then + return nil + end + -- check that the block is TeX or LaTeX and contains only + -- \newpage or \pagebreak. + if el.format:match 'tex' and is_newpage_command(el.text) then + -- use format-specific pagebreak marker. FORMAT is set by pandoc to + -- the targeted output format. + return newpage(FORMAT) + end + -- otherwise, leave the block unchanged + return nil +end + +-- Turning paragraphs which contain nothing but a form feed +-- characters into line breaks. +function Para (el) + if #el.content == 1 and el.content[1].text == '\f' then + return newpage(FORMAT) + end +end + +return { + {Meta = pagebreaks_from_config}, + {RawBlock = RawBlock, Para = Para} +} diff --git a/converters/template.latex b/converters/template.latex index 7050e94..83aed48 100644 --- a/converters/template.latex +++ b/converters/template.latex @@ -1,7 +1,7 @@ \documentclass[11pt]{article} \usepackage[a4paper, portrait, includehead, includefoot, margin=1.5cm]{geometry} -\usepackage[dutch]{babel} +\usepackage[$if(lang)$$lang$$else$dutch$endif$]{babel} \usepackage{pdfpages} @@ -40,8 +40,9 @@ \usepackage{graphbox} \usepackage{sectsty} \sectionfont{\clearpage} +\newcommand\pandocbounded{} -\setkeys{Gin}{width=.95\linewidth} +\setkeys{Gin}{width=.99\linewidth} % add bookmarks with \hypertarget \usepackage{bookmark} @@ -64,79 +65,78 @@ \let\tmpenditem\enditemize \renewenvironment{itemize}{\tmpitem\setlength\itemsep{-.4em}}{\tmpenditem} +$if(highlighting-macros)$ $highlighting-macros$ -%\newenvironment{Shaded}{\begin{snugshade}}{\end{snugshade}} +$endif$ \begin{document} \raggedright \pagecolor{darkishyellow} \begin{titlepage} - \null\vfill + . + \vskip 10em \begin{center} - {\Huge\fontUbuntu ?title? \par} + {\Huge\fontUbuntu $title$ \par} \vskip 3em - % \includegraphics{assets/eriks.50.png} - \vskip 3em - {\huge\fontUbuntu Superlight Personal Carrier \par} + {\huge\fontUbuntu $sub_title$ \par} \end{center} - \vskip 25em + \null\vfill { \large \lineskip .75em \begin{tabular}{r l} - gemaakt door: $for(auther)$& $auther.name$ <$auther.email$> \\ - $endfor$\\ - vak code: & ELEPEE51 \\\\ - ge\"exporteerd op: & \today +$if(lang)$Auther$else$Gemaakt door$endif$: $for(auther)$& $auther.name$ <$auther.email$> \\ + $endfor$\\ +$if(class_code)$ +$if(lang)$Class code$else$Vak code$endif$: & $class_code$ \\\\ +$endif$ +$if(lang)$Exported on$else$Ge\"exporteerd op$endif$: & \today \end{tabular} } - \vfill\null \end{titlepage} \pagestyle{fancy} \fancyhead{} % clear all header fields -\fancyhead[LO]{\color{gray}\fontUbuntu ?title?} -\fancyhead[RO]{\color{gray}\fontUbuntu Superlight Personal Carrier} +\fancyhead[LO]{\color{gray}\fontUbuntu $title$} +\fancyhead[RO]{\color{gray}\fontUbuntu $sub_title$} \fancyfoot{} % clear all footer fields \fancyfoot[LO]{\color{gray}\fontUbuntu $for(auther)$$auther.name_short$${sep}, $endfor$} \fancyfoot[CO]{\color{gray}\fontUbuntu } \fancyfoot[RO]{\color{gray}\fontUbuntu \thepage} - +$if(toc)$ +\tableofcontents +$endif$ $if(lof)$ \listoffigures $endif$ $if(lot)$ \listoftables $endif$ -$if(linestretch)$ -\setstretch{$linestretch$} -$endif$ - $body$ -$if(nocite-ids)$ -\nocite{$for(nocite-ids)$$it$$sep$, $endfor$} -$endif$ -$if(natbib)$ -$if(bibliography)$ -$if(biblio-title)$ -$if(has-chapters)$ -\renewcommand\bibname{$biblio-title$} -$else$ -\renewcommand\refname{$biblio-title$} -$endif$ -$endif$ -\bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} +% $if(nocite-ids)$ +% \nocite{$for(nocite-ids)$$it$$sep$, $endfor$} +% $endif$ +% $if(natbib)$ +% $if(bibliography)$ +% $if(biblio-title)$ +% $if(has-chapters)$ +% \renewcommand\bibname{$biblio-title$} +% $else$ +% \renewcommand\refname{$biblio-title$} +% $endif$ +% $endif$ +% \bibliography{$for(bibliography)$$bibliography$$sep$,$endfor$} -$endif$ -$endif$ -$if(biblatex)$ -\printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ +% $endif$ +% $endif$ +% $if(biblatex)$ +% \printbibliography$if(biblio-title)$[title=$biblio-title$]$endif$ -$endif$ +% $endif$ \end{document} diff --git a/makefile b/makefile index 5c8824f..2b8280a 100644 --- a/makefile +++ b/makefile @@ -1,17 +1,17 @@ -all: all_booklets all_docduments package +all: all_docduments package all_docduments: prepare pdf/plan_van_aanpak.pdf pdf/detailontwerp_stabilisatie.pdf pdf/detailontwerp_stuursysteem.pdf pdf/unittest_stabilisatie.pdf pdf/softwareontwerp_stabilisatie.pdf pdf/projectdocument.pdf pdf/pakket_van_eisen.pdf pdf/competenties.pdf pdf/foc_onderzoek.pdf all_booklets: prepare pdf/plan_van_aanpak.booklet.pdf pdf/detailontwerp_stabilisatie.booklet.pdf pdf/detailontwerp_stuursysteem.booklet.pdf pdf/unittest_stabilisatie.booklet.pdf pdf/softwareontwerp_stabilisatie.booklet.pdf pdf/projectdocument.booklet.pdf pdf/pakket_van_eisen.booklet.pdf pdf/competenties.booklet.pdf pdf/foc_onderzoek.booklet.pdf prepare: - mkdir -p latex pdf + mkdir -p pdf clean: - rm -r build latex + rm -r build clean_all: - rm -r build latex pdf + rm -r build pdf install_arch: mkdir -p build/install @@ -59,59 +59,53 @@ install_ubuntu: chmod 0775 /usr/share/fonts/roboto chmod 0664 /usr/share/fonts/roboto/* -# ======================================= -# === latex generation ================== -# ======================================= - -latex/plan_van_aanpak.latex: converters/mdToLatex.sh converters/template.latex markdown/plan_van_aanpak.md - mkdir -p build/plan_van_aanpak - bash converters/mdToLatex.sh markdown/plan_van_aanpak.md latex/plan_van_aanpak.latex - -latex/pakket_van_eisen.latex: converters/mdToLatex.sh converters/template.latex markdown/pakket_van_eisen.md - mkdir -p build/pakket_van_eisen - bash converters/mdToLatex.sh markdown/pakket_van_eisen.md latex/pakket_van_eisen.latex - -latex/detailontwerp_stabilisatie.latex: converters/mdToLatex.sh converters/template.latex markdown/detailontwerp_stabilisatie.md - mkdir -p build/detailontwerp_stabilisatie - bash converters/mdToLatex.sh markdown/detailontwerp_stabilisatie.md latex/detailontwerp_stabilisatie.latex - -latex/detailontwerp_stuursysteem.latex: converters/mdToLatex.sh converters/template.latex markdown/detailontwerp_stuursysteem.md - mkdir -p build/detailontwerp_stuursysteem - bash converters/mdToLatex.sh markdown/detailontwerp_stuursysteem.md latex/detailontwerp_stuursysteem.latex - -latex/unittest_stabilisatie.latex: converters/mdToLatex.sh converters/template.latex markdown/unittest_stabilisatie.md - mkdir -p build/unittest_stabilisatie - bash converters/mdToLatex.sh markdown/unittest_stabilisatie.md latex/unittest_stabilisatie.latex - -# latex/unittest_stuursysteem.latex: converters/mdToLatex.sh converters/template.latex markdown/unittest_stuursysteem.md -# mkdir -p build/unittest_stuursysteem -# bash converters/mdToLatex.sh markdown/unittest_stuursysteem.md latex/unittest_stuursysteem.latex - -latex/softwareontwerp_stabilisatie.latex: converters/mdToLatex.sh converters/template.latex markdown/softwareontwerp_stabilisatie.md - mkdir -p build/softwareontwerp_stabilisatie - bash converters/mdToLatex.sh markdown/softwareontwerp_stabilisatie.md latex/softwareontwerp_stabilisatie.latex - -latex/projectdocument.latex: converters/mdToLatex.sh converters/template.latex markdown/projectdocument.md - mkdir -p build/projectdocument - bash converters/mdToLatex.sh markdown/projectdocument.md latex/projectdocument.latex - -latex/competenties.latex: converters/mdToLatex.sh converters/template.latex markdown/competenties.md - mkdir -p build/competenties - bash converters/mdToLatex.sh markdown/competenties.md latex/competenties.latex - -latex/foc_onderzoek.latex: converters/mdToLatex.sh converters/template.latex markdown/foc_onderzoek.md - mkdir -p build/foc_onderzoek - bash converters/mdToLatex.sh markdown/foc_onderzoek.md latex/foc_onderzoek.latex - # ======================================= # === pdf generation ==================== # ======================================= -pdf/plan_van_aanpak.pdf: latex/plan_van_aanpak.latex - cd build/plan_van_aanpak && xelatex ../../latex/plan_van_aanpak.latex - cd build/plan_van_aanpak && xelatex ../../latex/plan_van_aanpak.latex - cd build/plan_van_aanpak && xelatex ../../latex/plan_van_aanpak.latex - mv build/plan_van_aanpak/plan_van_aanpak.pdf pdf/plan_van_aanpak.pdf +pdf/plan_van_aanpak.pdf: converters/* markdown/plan_van_aanpak.md + mkdir -p build/plan_van_aanpak + bash converters/mdToLatex.sh markdown/plan_van_aanpak.md + +pdf/pakket_van_eisen.pdf: converters/* markdown/pakket_van_eisen.md + mkdir -p build/pakket_van_eisen + bash converters/mdToLatex.sh markdown/pakket_van_eisen.md pdf/pakket_van_eisen.pdf + +pdf/detailontwerp_stabilisatie.pdf: converters/* markdown/detailontwerp_stabilisatie.md + mkdir -p build/detailontwerp_stabilisatie + bash converters/mdToLatex.sh markdown/detailontwerp_stabilisatie.md pdf/detailontwerp_stabilisatie.pdf + +pdf/detailontwerp_stuursysteem.pdf: converters/* markdown/detailontwerp_stuursysteem.md + mkdir -p build/detailontwerp_stuursysteem + bash converters/mdToLatex.sh markdown/detailontwerp_stuursysteem.md pdf/detailontwerp_stuursysteem.pdf + +pdf/unittest_stabilisatie.pdf: converters/* markdown/unittest_stabilisatie.md + mkdir -p build/unittest_stabilisatie + bash converters/mdToLatex.sh markdown/unittest_stabilisatie.md pdf/unittest_stabilisatie.pdf + +# pdf/unittest_stuursysteem.pdf: converters/* markdown/unittest_stuursysteem.md +# mkdir -p build/unittest_stuursysteem +# bash converters/mdToLatex.sh markdown/unittest_stuursysteem.md pdf/unittest_stuursysteem.pdf + +pdf/softwareontwerp_stabilisatie.pdf: converters/* markdown/softwareontwerp_stabilisatie.md + mkdir -p build/softwareontwerp_stabilisatie + bash converters/mdToLatex.sh markdown/softwareontwerp_stabilisatie.md pdf/softwareontwerp_stabilisatie.pdf + +pdf/projectdocument.pdf: converters/* markdown/projectdocument.md + mkdir -p build/projectdocument + bash converters/mdToLatex.sh markdown/projectdocument.md pdf/projectdocument.pdf + +pdf/competenties.pdf: converters/* markdown/competenties.md + mkdir -p build/competenties + bash converters/mdToLatex.sh markdown/competenties.md pdf/competenties.pdf + +pdf/foc_onderzoek.pdf: converters/* markdown/foc_onderzoek.md + mkdir -p build/foc_onderzoek + bash converters/mdToLatex.sh markdown/foc_onderzoek.md pdf/foc_onderzoek.pdf + +# ======================================= +# === booklet generation ================ +# ======================================= pdf/plan_van_aanpak.booklet.pdf: converters/bookletify.latex pdf/plan_van_aanpak.pdf mkdir -p build/plan_van_aanpak.booklet @@ -119,116 +113,66 @@ pdf/plan_van_aanpak.booklet.pdf: converters/bookletify.latex pdf/plan_van_aanpak pdflatex -interaction=nonstopmode -output-directory="build/plan_van_aanpak.booklet" "build/plan_van_aanpak.booklet/bookletify.latex" mv build/plan_van_aanpak.booklet/bookletify.pdf pdf/plan_van_aanpak.booklet.pdf -pdf/pakket_van_eisen.pdf: latex/pakket_van_eisen.latex - cd build/pakket_van_eisen && xelatex ../../latex/pakket_van_eisen.latex - cd build/pakket_van_eisen && xelatex ../../latex/pakket_van_eisen.latex - cd build/pakket_van_eisen && xelatex ../../latex/pakket_van_eisen.latex - mv build/pakket_van_eisen/pakket_van_eisen.pdf pdf/pakket_van_eisen.pdf - pdf/pakket_van_eisen.booklet.pdf: converters/bookletify.latex pdf/pakket_van_eisen.pdf mkdir -p build/pakket_van_eisen.booklet sed -e 's|?pdf?|../../pdf/pakket_van_eisen.pdf|' converters/bookletify.latex >build/pakket_van_eisen.booklet/bookletify.latex pdflatex -interaction=nonstopmode -output-directory="build/pakket_van_eisen.booklet" "build/pakket_van_eisen.booklet/bookletify.latex" mv build/pakket_van_eisen.booklet/bookletify.pdf pdf/pakket_van_eisen.booklet.pdf -pdf/detailontwerp_stabilisatie.pdf: latex/detailontwerp_stabilisatie.latex - cd build/detailontwerp_stabilisatie && xelatex ../../latex/detailontwerp_stabilisatie.latex - cd build/detailontwerp_stabilisatie && xelatex ../../latex/detailontwerp_stabilisatie.latex - cd build/detailontwerp_stabilisatie && xelatex ../../latex/detailontwerp_stabilisatie.latex - mv build/detailontwerp_stabilisatie/detailontwerp_stabilisatie.pdf pdf/detailontwerp_stabilisatie.pdf - pdf/detailontwerp_stabilisatie.booklet.pdf: converters/bookletify.latex pdf/detailontwerp_stabilisatie.pdf mkdir -p build/detailontwerp_stabilisatie.booklet sed -e 's|?pdf?|../../pdf/detailontwerp_stabilisatie.pdf|' converters/bookletify.latex >build/detailontwerp_stabilisatie.booklet/bookletify.latex pdflatex -interaction=nonstopmode -output-directory="build/detailontwerp_stabilisatie.booklet" "build/detailontwerp_stabilisatie.booklet/bookletify.latex" mv build/detailontwerp_stabilisatie.booklet/bookletify.pdf pdf/detailontwerp_stabilisatie.booklet.pdf -pdf/detailontwerp_stuursysteem.pdf: latex/detailontwerp_stuursysteem.latex - cd build/detailontwerp_stuursysteem && xelatex ../../latex/detailontwerp_stuursysteem.latex - cd build/detailontwerp_stuursysteem && xelatex ../../latex/detailontwerp_stuursysteem.latex - cd build/detailontwerp_stuursysteem && xelatex ../../latex/detailontwerp_stuursysteem.latex - mv build/detailontwerp_stuursysteem/detailontwerp_stuursysteem.pdf pdf/detailontwerp_stuursysteem.pdf - pdf/detailontwerp_stuursysteem.booklet.pdf: converters/bookletify.latex pdf/detailontwerp_stuursysteem.pdf mkdir -p build/detailontwerp_stuursysteem.booklet sed -e 's|?pdf?|../../pdf/detailontwerp_stuursysteem.pdf|' converters/bookletify.latex >build/detailontwerp_stuursysteem.booklet/bookletify.latex pdflatex -interaction=nonstopmode -output-directory="build/detailontwerp_stuursysteem.booklet" "build/detailontwerp_stuursysteem.booklet/bookletify.latex" mv build/detailontwerp_stuursysteem.booklet/bookletify.pdf pdf/detailontwerp_stuursysteem.booklet.pdf -pdf/unittest_stabilisatie.pdf: latex/unittest_stabilisatie.latex - cd build/unittest_stabilisatie && xelatex ../../latex/unittest_stabilisatie.latex - cd build/unittest_stabilisatie && xelatex ../../latex/unittest_stabilisatie.latex - cd build/unittest_stabilisatie && xelatex ../../latex/unittest_stabilisatie.latex - mv build/unittest_stabilisatie/unittest_stabilisatie.pdf pdf/unittest_stabilisatie.pdf - pdf/unittest_stabilisatie.booklet.pdf: converters/bookletify.latex pdf/unittest_stabilisatie.pdf mkdir -p build/unittest_stabilisatie.booklet sed -e 's|?pdf?|../../pdf/unittest_stabilisatie.pdf|' converters/bookletify.latex >build/unittest_stabilisatie.booklet/bookletify.latex pdflatex -interaction=nonstopmode -output-directory="build/unittest_stabilisatie.booklet" "build/unittest_stabilisatie.booklet/bookletify.latex" mv build/unittest_stabilisatie.booklet/bookletify.pdf pdf/unittest_stabilisatie.booklet.pdf -pdf/competenties.pdf: latex/competenties.latex - cd build/competenties && xelatex ../../latex/competenties.latex - cd build/competenties && xelatex ../../latex/competenties.latex - cd build/competenties && xelatex ../../latex/competenties.latex - mv build/competenties/competenties.pdf pdf/competenties.pdf - pdf/competenties.booklet.pdf: converters/bookletify.latex pdf/competenties.pdf mkdir -p build/competenties.booklet sed -e 's|?pdf?|../../pdf/competenties.pdf|' converters/bookletify.latex >build/competenties.booklet/bookletify.latex pdflatex -interaction=nonstopmode -output-directory="build/competenties.booklet" "build/competenties.booklet/bookletify.latex" mv build/competenties.booklet/bookletify.pdf pdf/competenties.booklet.pdf -pdf/foc_onderzoek.pdf: latex/foc_onderzoek.latex - cd build/foc_onderzoek && xelatex ../../latex/foc_onderzoek.latex - cd build/foc_onderzoek && xelatex ../../latex/foc_onderzoek.latex - cd build/foc_onderzoek && xelatex ../../latex/foc_onderzoek.latex - mv build/foc_onderzoek/foc_onderzoek.pdf pdf/foc_onderzoek.pdf - pdf/foc_onderzoek.booklet.pdf: converters/bookletify.latex pdf/foc_onderzoek.pdf mkdir -p build/foc_onderzoek.booklet sed -e 's|?pdf?|../../pdf/foc_onderzoek.pdf|' converters/bookletify.latex >build/foc_onderzoek.booklet/bookletify.latex pdflatex -interaction=nonstopmode -output-directory="build/foc_onderzoek.booklet" "build/foc_onderzoek.booklet/bookletify.latex" mv build/foc_onderzoek.booklet/bookletify.pdf pdf/foc_onderzoek.booklet.pdf -# pdf/unittest_stuursysteem.pdf: latex/unittest_stuursysteem.latex -# cd build/unittest_stuursysteem && xelatex ../../latex/unittest_stuursysteem.latex -# cd build/unittest_stuursysteem && xelatex ../../latex/unittest_stuursysteem.latex -# cd build/unittest_stuursysteem && xelatex ../../latex/unittest_stuursysteem.latex -# mv build/unittest_stuursysteem/unittest_stuursysteem.pdf pdf/unittest_stuursysteem.pdf - # pdf/unittest_stuursysteem.booklet.pdf: converters/bookletify.latex pdf/unittest_stuursysteem.pdf # mkdir -p build/unittest_stuursysteem.booklet # sed -e 's|?pdf?|../../pdf/unittest_stuursysteem.pdf|' converters/bookletify.latex >build/unittest_stuursysteem.booklet/bookletify.latex # pdflatex -interaction=nonstopmode -output-directory="build/unittest_stuursysteem.booklet" "build/unittest_stuursysteem.booklet/bookletify.latex" # mv build/unittest_stuursysteem.booklet/bookletify.pdf pdf/unittest_stuursysteem.booklet.pdf -pdf/softwareontwerp_stabilisatie.pdf: latex/softwareontwerp_stabilisatie.latex - cd build/softwareontwerp_stabilisatie && xelatex ../../latex/softwareontwerp_stabilisatie.latex - cd build/softwareontwerp_stabilisatie && xelatex ../../latex/softwareontwerp_stabilisatie.latex - cd build/softwareontwerp_stabilisatie && xelatex ../../latex/softwareontwerp_stabilisatie.latex - mv build/softwareontwerp_stabilisatie/softwareontwerp_stabilisatie.pdf pdf/softwareontwerp_stabilisatie.pdf - pdf/softwareontwerp_stabilisatie.booklet.pdf: converters/bookletify.latex pdf/softwareontwerp_stabilisatie.pdf mkdir -p build/softwareontwerp_stabilisatie.booklet sed -e 's|?pdf?|../../pdf/softwareontwerp_stabilisatie.pdf|' converters/bookletify.latex >build/softwareontwerp_stabilisatie.booklet/bookletify.latex pdflatex -interaction=nonstopmode -output-directory="build/softwareontwerp_stabilisatie.booklet" "build/softwareontwerp_stabilisatie.booklet/bookletify.latex" mv build/softwareontwerp_stabilisatie.booklet/bookletify.pdf pdf/softwareontwerp_stabilisatie.booklet.pdf -pdf/projectdocument.pdf: latex/projectdocument.latex - cd build/projectdocument && xelatex ../../latex/projectdocument.latex - cd build/projectdocument && xelatex ../../latex/projectdocument.latex - cd build/projectdocument && xelatex ../../latex/projectdocument.latex - mv build/projectdocument/projectdocument.pdf pdf/projectdocument.pdf - pdf/projectdocument.booklet.pdf: converters/bookletify.latex pdf/projectdocument.pdf mkdir -p build/projectdocument.booklet sed -e 's|?pdf?|../../pdf/projectdocument.pdf|' converters/bookletify.latex >build/projectdocument.booklet/bookletify.latex pdflatex -interaction=nonstopmode -output-directory="build/projectdocument.booklet" "build/projectdocument.booklet/bookletify.latex" mv build/projectdocument.booklet/bookletify.pdf pdf/projectdocument.booklet.pdf +# ======================================= +# === zip generation ==================== +# ======================================= + package: pdf/projectdocument.pdf pdf/competenties.pdf externe_bijlagen/* - test -d build/export && rm -r build/export + test -d build/export && rm -r build/export || echo mkdir -p build/export cp externe_bijlagen/* build/export/ cp pdf/projectdocument.pdf build/export/verslag.pdf diff --git a/markdown/competenties.md b/markdown/competenties.md index 10cc741..04fd930 100644 --- a/markdown/competenties.md +++ b/markdown/competenties.md @@ -1,6 +1,5 @@ --- -id: srDK71ryTui4ulsUVqWN5A -path: /elektro/hr/pee51_spc/competentieVerandwoording +sub_title: Superlight Personal Carrier tags: - kladjes - elektro @@ -12,8 +11,6 @@ auther: name_short: "e.l.f. van Reenen" --- -[parent](/tPb3Up1fQEuZ86yrJSkYRQ) - # Competentie verantwoording ## Analyseren (8) diff --git a/markdown/detailontwerp_stabilisatie.md b/markdown/detailontwerp_stabilisatie.md index ce2538e..778632e 100644 --- a/markdown/detailontwerp_stabilisatie.md +++ b/markdown/detailontwerp_stabilisatie.md @@ -1,4 +1,6 @@ --- +sub_title: Superlight Personal Carrier +toc: true tags: - kladjes - elektro @@ -22,12 +24,8 @@ auther: name_short: "t. Braam" --- -[parent](/tPb3Up1fQEuZ86yrJSkYRQ) - # Detailontwerp Stabilisatie -[toc] - ## Inleiding De SPC^[Superlight Personal Carrier] is een twee wielig concept eenpersoons diff --git a/markdown/detailontwerp_stuursysteem.md b/markdown/detailontwerp_stuursysteem.md index 3a3fdfa..0be0a7d 100644 --- a/markdown/detailontwerp_stuursysteem.md +++ b/markdown/detailontwerp_stuursysteem.md @@ -1,4 +1,5 @@ --- +sub_title: Superlight Personal Carrier tags: - kladjes - elektro @@ -22,9 +23,6 @@ auther: name_short: "t. Braam" --- -[parent](/tPb3Up1fQEuZ86yrJSkYRQ) - - ## Vehicle Control unit De VCU is een belangrijk onderdeel van het systeem, hiermee kunnen we het voertuig in een richting sturen en vooruit bewegen, de belangrijkste keuzes hierin zijn in welke taal we willen gaan programmeren en wat voor soort microcontroller we willen. De reden hiervoor is zodat de volgende team makkelijker kan omgaan met de code en het systeem makkelijker kunnen uitbreiden. het makkelijkst is dan om met de Arduino IDE en framework verder te gaan, omdat het een bekent en veel gedocumenteerd systeem is waar je veel over kan vinden op internet tegenover veel andere IDE's, programmeer talen en microcontrollers. verder moet het ook draadloos verbinding kunnen maken met een console controller zodat de volgende teams eventueel een andere keuze kunnen maken hoe ze willen sturen. Daarom hebben we voor de ESP32 gekozen omdat het alles aantikt met een gezond aantal GPIO pinnen. diff --git a/markdown/foc_onderzoek.md b/markdown/foc_onderzoek.md index bc91ed5..caf4e78 100644 --- a/markdown/foc_onderzoek.md +++ b/markdown/foc_onderzoek.md @@ -1,4 +1,5 @@ --- +sub_title: Superlight Personal Carrier tags: - kladjes - elektro @@ -10,8 +11,6 @@ auther: name_short: "e.l.f. van Reenen" --- -[parent](/tPb3Up1fQEuZ86yrJSkYRQ) - *[BLDC]: Brushless Direct Current motor *[SPC]: Superlight Personal Carrier diff --git a/markdown/pakket_van_eisen.md b/markdown/pakket_van_eisen.md index 935aa90..d7e50c2 100644 --- a/markdown/pakket_van_eisen.md +++ b/markdown/pakket_van_eisen.md @@ -1,4 +1,6 @@ --- +sub_title: Superlight Personal Carrier +toc: true tags: - kladjes - elektro @@ -25,12 +27,8 @@ auther: name_short: "t. Braam" --- -[parent](/tPb3Up1fQEuZ86yrJSkYRQ) - # Pakket van Eisen -[toc] - ## Inleiding Bij dit project is de SPC^[Superlight Personal Carrier] opgesplitst in een aantal onderdelen. de eisen zijn verdeeld over deze onderdelen. diff --git a/markdown/plan_van_aanpak.md b/markdown/plan_van_aanpak.md index 3142214..40089d9 100644 --- a/markdown/plan_van_aanpak.md +++ b/markdown/plan_van_aanpak.md @@ -1,4 +1,6 @@ --- +sub_title: Superlight Personal Carrier +toc: true tags: - kladjes - elektro @@ -25,8 +27,6 @@ auther: name_short: "t. Braam" --- -[parent](/tPb3Up1fQEuZ86yrJSkYRQ) - # Plan van Aanpak ## Voorwoord @@ -37,10 +37,6 @@ Het SPC-project is een innovatief en interdisciplinair initiatief waarin student Dit document is met zorg samengesteld en biedt een helder overzicht van de huidige status van het project, de uitdagingen die voor ons liggen en de strategieën die we hanteren om deze te overwinnen. We willen hierbij onze begeleiders, docenten en projectpartners bedanken voor hun ondersteuning en waardevolle inzichten. -## Inhoud - -[toc] - ## Inleiding Voor dit semester wordt er verder gewerkt aan het project **Superlight Personal Carrier (SPC)**. Het SPC-project is een samenwerking tussen studenten uit verschillende opleidingen bevordert, met als doel een lichtgewicht, zelf stabiliserend éénpersoonsvoertuig te ontwikkelen. Dit semester is gericht op het verfijnen en verbeteren van essentiële subsystemen, zoals het aandrijf- en stuursysteem en stabilisatie, waarbij er parameters uit een Digital Twin gehaald worden. diff --git a/markdown/projectdocument.md b/markdown/projectdocument.md index 4932228..66d3658 100644 --- a/markdown/projectdocument.md +++ b/markdown/projectdocument.md @@ -1,4 +1,7 @@ --- +sub_title: Superlight Personal Carrier +toc: true +lof: true tags: - kladjes - elektro @@ -22,8 +25,6 @@ auther: name_short: "t. Braam" --- -[parent](/tPb3Up1fQEuZ86yrJSkYRQ) - *[PvE]: Plan van Aanpak *[MS Exel]: Microsoft Exel *[SPC]: Superlight Personal Carier @@ -31,10 +32,6 @@ auther: # Superlight Personal Carier (SPC) -## inhoudsopgaven - -[toc] - ## Inleiding Het SPC-project is een project vanuit de opleiding Automotive. Het doel is om diff --git a/markdown/softwareontwerp_stabilisatie.md b/markdown/softwareontwerp_stabilisatie.md index 1db49f4..2866d88 100644 --- a/markdown/softwareontwerp_stabilisatie.md +++ b/markdown/softwareontwerp_stabilisatie.md @@ -1,4 +1,5 @@ --- +sub_title: Superlight Personal Carrier tags: - kladjes - elektro @@ -22,8 +23,6 @@ auther: name_short: "t. Braam" --- -[parent](/tPb3Up1fQEuZ86yrJSkYRQ) - # Softwareontwerp Sabilisatie ## inleiding diff --git a/markdown/unittest_stabilisatie.md b/markdown/unittest_stabilisatie.md index c4fc7db..11d2187 100644 --- a/markdown/unittest_stabilisatie.md +++ b/markdown/unittest_stabilisatie.md @@ -1,4 +1,5 @@ --- +sub_title: Superlight Personal Carrier tags: - kladjes - elektro @@ -13,8 +14,6 @@ auther: name_short: "t. Snijders" --- -[parent](/tPb3Up1fQEuZ86yrJSkYRQ) - ## Unit Testen Stabilisatie ### Voedingen diff --git a/markdown/unittest_stuursysteem.md b/markdown/unittest_stuursysteem.md index c1dabcb..d45f69a 100644 --- a/markdown/unittest_stuursysteem.md +++ b/markdown/unittest_stuursysteem.md @@ -1,4 +1,5 @@ --- +sub_title: Superlight Personal Carrier tags: - kladjes - elektro @@ -19,8 +20,6 @@ auther: name_short: "t. Braam" --- -[parent](/tPb3Up1fQEuZ86yrJSkYRQ) - # unit testen Stuur systeem ## unit test controller