I use Markdown (md) for preparing my documents, presentations, and notes. Thanks to md files being plain-text, they can be easily versioned using Git.
There are several tools involved in this workflow:
The general concept is that you write your document in md, then Pandoc compiles it to LaTeX, then finally to a PDF.
For this workflow, I prefer installing Pandoc locally and using an auto-refreshing PDF-viewer (I like Zathura with the MuPDF backend). I use a script which runs Pandoc when the md file is saved.
Severin Kaderli has written a great template for usage with this workflow. He’s also created a small docker image which includes all the necessary depencencies.
When working with others, we usually also use it in a continuous integration with GitLab-CI.
As an example, you can look at this repository with documents for a databases class.
Markdown is simple enough to use and the Pandoc Manual is a great resource. You can mix in LaTeX with your md for things like math and advanced layouting.
Check out this document for some example usage.
To use Severin’s excellent templates check out the repo as a submodule in a
You can then compile the document using this:
This command will create a
You can also use the
Which will use the Beamer-Template and create a
Using the Gitlab-CI might look like this:
I wanted to to listen to Skunk Works archive.org with a free audible trial.
Pleasantly surprised, I notice that you can download the audbiobook. However, I quickly realised that it’s an
.aax file. Try to play it using
Error decoding audio.”.
It turns out that AAX is an encrypted audible format.
Fortunately, someone created audible-activator, a python script which opens audible in a browser and extracts your personal DRM key.
This key is unique to you, but you can decrypt all your books using it. To get the code, run the script, log in, and wait a second You’ll get an output like this:
I recommend saving the activation bytes to a file called
.authcode in your home directory.
Once you’ve extracted the activation bytes, you can use another tool, AAXtoMP3, to convert the AAX to a useable format, like MP3.
This will create a directory structure based on the metadata in the AAX, containing the audiobook MP3.
-s makes sure, only one file is generated. Otherwise, a file for each chapter will be generated, which you might like better.
To build this website, I employ three bash scripts, which together fill in the “dynamic” content into the
index.html. One generates blog content from markdown files, one generates a list of my GitLab projects from their API, and the last one fills in the actual html.
The files can be found here: blog generator, project generator, page filler.
The generator works as follows:
The projects are generated as follows: It first gets all the necessary info in JSON format from the GitLab API, the uses
pcregrep to extract the URLs, names, and description of my public projects.
Then, they’re filled into an html template using
In the end, the filler appends all the generated content to the
index.html file, using:
While this isn’t the most sophisticated system, it’s adaptable and it’s very easy to write new blog content in markdown.