\documentclass{book}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{booktabs}
% Load the Markdown package and set its options.
\usepackage[
  contentBlocks,
  debugExtensions,
  definitionLists,
  fancy_lists,
  fencedCode,
  hashEnumerators,
  inlineNotes,
  lineBlocks,
  notes,
  pipeTables,
  rawAttribute,
  smartEllipses,
  strikeThrough,
  subscripts,
  superscripts,
  tableCaptions,
  taskLists,
  texMathDollars,
  texMathDoubleBackslash,
  texMathSingleBackslash,
]{markdown}
% Set the document metadata using a YAML metadata block.
\begin{yaml}
title:  An Example *Markdown* Document
author: Vít Starý Novotný
date:   `\today`{=tex}
\end{yaml}
\begin{document}
% Typeset the document `example.md` by letting the Markdown package handle
% the conversion internally.
\markdownInput{./example.md}

% Typeset the document `example.tex` that we prepared separately using the
% Lua command-line interface of the Markdown package and that contains a
% plain TeX representation of the document `example.md`.
\catcode`\%=12\relax
\catcode`\#=12\relax
\InputIfFileExists{./example.tex}{}{}
\catcode`\%=14\relax
\catcode`\#=6\relax

% Besides inputting external files, Markdown text can we written directly
% into a LaTeX document. Markdown text and LaTeX code can be freely combined.
\begin{markdown}
This is a paragraph of *Markdown text* with inline `\LaTeX`{=tex} code.

``` {=tex}
This is a paragraph of \LaTeX{} code with inline \markinline{*Markdown text*}.
```
\end{markdown}

% Besides YAML, LaTeX, and Markdown, you can also type HTML in your documents.
\begin{markdown}
Here is some <b>HTML code</b> mixed *with Markdown*. In `\TeX`{=tex}, the HTML
code will be silently ignored, whereas in `\TeX`{=tex}4ht, the HTML code will
be passed through to the output:

<table border="1">
  <tr>
    <td>Emil</td>
    <td>Tobias</td>
    <td>Linus</td>
  </tr>
  <tr>
    <td>16</td>
    <td>14</td>
    <td>10</td>
  </tr>
</table>
\end{markdown}
\end{document}
