mirror of https://github.com/Dhghomon/easy_rust
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
2.1 KiB
Bash
52 lines
2.1 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# Execute this script to generate a PDF version from the single Readme.md file present in this repository.
|
|
# Usage: ./createPdfFromReadme.sh
|
|
|
|
# -------------------- Utility Methods --------------------
|
|
# Check for binaries
|
|
function checkEnvironment(){
|
|
type pandoc >/dev/null 2>&1 || { echo "Install 'pandoc' first (e.g. via 'brew install pandoc' or 'apt-get install pandoc')." >&2 && exit 1 ; }
|
|
type xelatex >/dev/null 2>&1 || { echo "Install 'xelatex' first" >&2 && exit 1 ; }
|
|
}
|
|
|
|
# Cleanup the src directory before starting
|
|
function cleanupBeforeStarting(){
|
|
rm -rf ./latex
|
|
mkdir latex
|
|
}
|
|
|
|
|
|
# Creates the summary from the generated chapters
|
|
function convertToLatex(){
|
|
cd ./latex
|
|
cp ../*.png . # copy Easy_Rust_sample_image.png in the current folder in order to be found.
|
|
|
|
# Step 1: run pandoc on README.md which generates the `.tex` file.
|
|
|
|
# Commands used previously (didn't require metadata.yaml). Left here for reference...
|
|
# pandoc ../README.md -V geometry:margin=0.7in -V colorlinks=true -V linkcolor=blue -V urlcolor=blue -V toccolor=gray --standalone --from markdown --to latex > easy_rust.tex
|
|
# pandoc ../README.md --standalone --from markdown --to latex > easy_rust.tex
|
|
|
|
# generates `easy_rust.tex` in the current folder using the instructions given inside `../pdf_metadata.yaml`.
|
|
pandoc ../README.md ../pdf_metadata.yaml -s -o easy_rust.tex # --toc # The `toc` flag can be added or not depending on personal preferences.
|
|
# If added, the `xelatex` command right below needs to be run twice (the first time.)
|
|
echo "Generated easy_rust.tex file."
|
|
|
|
|
|
# Step 2: run `xelatex` on the `.tex` file to geneate the PDF.
|
|
xelatex --interaction=nonstopmode easy_rust.tex
|
|
# to generate the TOC you need to run this twice
|
|
# xelatex --interaction=nonstopmode easy_rust.tex
|
|
|
|
echo "Generated PDF file easy_rust.pdf"
|
|
cd ..
|
|
}
|
|
|
|
|
|
|
|
# -------------------- Steps to create the mdBook version --------------------
|
|
checkEnvironment
|
|
cleanupBeforeStarting
|
|
convertToLatex
|