Add default doc setup
This commit is contained in:
parent
502ba8b7fc
commit
3ea9721184
7 changed files with 453 additions and 0 deletions
1
doc/.gitignore
vendored
Normal file
1
doc/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
bin
|
134
doc/Makefile
Normal file
134
doc/Makefile
Normal file
|
@ -0,0 +1,134 @@
|
|||
#
|
||||
#
|
||||
#
|
||||
# Variables
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
export MAKE_FLAGS=--no-print-directory
|
||||
|
||||
export OUT=$(shell pwd)/bin
|
||||
export OUT_PDF=$(OUT)/pdf/
|
||||
export OUT_HTML=$(OUT)/html/
|
||||
|
||||
DOCUMENT_CLASS=article
|
||||
SETTING_FONTSIZE=11pt
|
||||
|
||||
## Source directory
|
||||
SRC_DIR=$(shell pwd)/src
|
||||
|
||||
## CSS directory
|
||||
CSS_DIR=$(SRC_DIR)/css
|
||||
|
||||
## All markdown files in the working directory
|
||||
export SRC=$(shell find $(SRC_DIR) -name "*.md" | sort)
|
||||
|
||||
## Templates
|
||||
TEMPLATES=$(shell pwd)/templates
|
||||
|
||||
DOCUMENT_SETTINGS_PDF= \
|
||||
--listings \
|
||||
--variable fontsize=$(SETTING_FONTSIZE) \
|
||||
--variable papersize=a4paper \
|
||||
--variable classoption=cleardoublepage=empty \
|
||||
--variable classoption=index=totoc \
|
||||
--variable classoption=openright \
|
||||
--variable classoption=final \
|
||||
--variable classoption=listof=nochaptergap \
|
||||
--variable documentclass=$(DOCUMENT_CLASS) \
|
||||
--variable babel-lang=english \
|
||||
--variable geometry=portrait
|
||||
|
||||
DOCUMENT_SETTINGS_HTML= \
|
||||
--variable lang=de \
|
||||
--variable lof=true \
|
||||
--variable lol=true \
|
||||
--variable lot=true \
|
||||
--variable toc=true \
|
||||
--table-of-contents \
|
||||
--webtex
|
||||
|
||||
#
|
||||
#
|
||||
#
|
||||
# Binary and argument construction
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
ECHO_CMD=$(shell which echo)
|
||||
ECHO_ARG=-e
|
||||
ECHO=$(ECHO_CMD) $(ECHO_ARG)
|
||||
export ECHO
|
||||
|
||||
MKDIR_CMD=$(shell which mkdir)
|
||||
MKDIR_ARG=-p
|
||||
MKDIR=$(MKDIR_CMD) $(MKDIR_ARG)
|
||||
export MKDIR
|
||||
|
||||
RM_CMD=$(shell which rm)
|
||||
RM_ARG=-fr
|
||||
RM=$(RM_CMD) $(RM_ARG)
|
||||
export RM
|
||||
|
||||
PANDOC=$(shell which pandoc)
|
||||
|
||||
PANDOC_PARAMS=-r markdown+simple_tables+table_captions+yaml_metadata_block+definition_lists+raw_html+markdown_in_html_blocks
|
||||
|
||||
PANDOC_CC=$(PANDOC) $(PANDOC_PARAMS)
|
||||
|
||||
export PANDOC_CC_PDF=$(PANDOC) \
|
||||
$(PANDOC_PARAMS) \
|
||||
--latex-engine=pdflatex \
|
||||
$(DOCUMENT_SETTINGS_PDF)
|
||||
|
||||
export PANDOC_CC_HTML=$(PANDOC) $(PANDOC_PARAMS) $(DOCUMENT_SETTINGS_HTML)
|
||||
|
||||
TARGET_PDF=$(OUT_PDF)/paper.pdf
|
||||
TARGET_HTML=$(OUT_HTML)/index.html
|
||||
#
|
||||
#
|
||||
# Tasks
|
||||
#
|
||||
#
|
||||
|
||||
# Main task
|
||||
all: $(TARGET_PDF) $(TARGET_HTML)
|
||||
@$(ECHO) "\t[ALL ]"
|
||||
|
||||
# create out directory
|
||||
$(OUT):
|
||||
@$(ECHO) "\t[MKDIR ] $@"
|
||||
@$(MKDIR) $(OUT)
|
||||
|
||||
# create html out directory
|
||||
$(OUT_HTML): $(OUT)
|
||||
@$(ECHO) "\t[MKDIR ] $@"
|
||||
@$(MKDIR) $(OUT_HTML)
|
||||
|
||||
# create html out directory
|
||||
$(OUT_PDF): $(OUT)
|
||||
@$(ECHO) "\t[MKDIR ] $@"
|
||||
@$(MKDIR) $(OUT_PDF)
|
||||
|
||||
# cleanup task
|
||||
clean:
|
||||
@$(ECHO) "\t[RM ] $@"
|
||||
@$(RM) $(OUT)
|
||||
|
||||
$(TARGET_PDF): $(OUT_PDF)
|
||||
@$(ECHO) "\t[PANDOC] pdf"
|
||||
@$(PANDOC_CC_PDF) \
|
||||
--template $(TEMPLATES)/default.latex \
|
||||
$(SRC) -o $@
|
||||
|
||||
|
||||
$(TARGET_HTML): $(OUT_HTML)
|
||||
@$(ECHO) "\t[PANDOC] html"
|
||||
@$(PANDOC_CC_HTML) \
|
||||
--template $(TEMPLATES)/default.html5 \
|
||||
$(SRC) -o $@
|
||||
|
||||
.PHONY: $(TARGET_PDF) $(TARGET_HTML)
|
||||
|
38
doc/default.nix
Normal file
38
doc/default.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ pkgs ? (import <nixpkgs> {}) }:
|
||||
|
||||
let
|
||||
env = with pkgs.haskellPackages; [
|
||||
pandoc
|
||||
|
||||
(pkgs.texlive.combine {
|
||||
inherit (pkgs.texlive)
|
||||
scheme-small
|
||||
algorithms
|
||||
cm-super
|
||||
collection-basic
|
||||
collection-fontsextra
|
||||
collection-fontutils
|
||||
collection-langenglish
|
||||
collection-latex
|
||||
collection-latexextra
|
||||
collection-latexrecommended
|
||||
collection-mathextra
|
||||
collection-pictures
|
||||
collection-plainextra
|
||||
collection-science
|
||||
;
|
||||
})
|
||||
|
||||
pkgs.lmodern
|
||||
];
|
||||
in
|
||||
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
name = "imag-doc";
|
||||
src = ./.;
|
||||
version = "0.0.0";
|
||||
|
||||
buildInputs = [ env ];
|
||||
|
||||
}
|
||||
|
7
doc/src/0000.md
Normal file
7
doc/src/0000.md
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
title: imag Project
|
||||
version: 0.1
|
||||
date: January 2016
|
||||
...
|
||||
|
||||
|
170
doc/src/pandoc-reference
Normal file
170
doc/src/pandoc-reference
Normal file
|
@ -0,0 +1,170 @@
|
|||
<!--
|
||||
|
||||
The following file is not included in the output and is just included in the
|
||||
repository as a quick reference how things are formatted with pandoc-markdown
|
||||
|
||||
-->
|
||||
|
||||
# Code examples {#sec:codeexamples}
|
||||
|
||||
In @sec:codeexamples we show some code examples.
|
||||
|
||||
```{#lst:mypython .python .numberLines caption="Python"}
|
||||
def foo():
|
||||
return 1;
|
||||
```
|
||||
|
||||
With some Python code in @lst:mypython
|
||||
|
||||
|
||||
```{#lst:myruby .ruby .numberLines caption="Ruby"}
|
||||
def foo
|
||||
1
|
||||
end
|
||||
```
|
||||
|
||||
With some Ruby code in @lst:myruby
|
||||
|
||||
|
||||
``` {#lst:myc .c .numberLines caption="C"}
|
||||
int
|
||||
foo() {
|
||||
return 1;
|
||||
}
|
||||
```
|
||||
|
||||
and Some C code in @lst:myc.
|
||||
|
||||
|
||||
Aaah, and some `C++`:
|
||||
|
||||
``` {#mycpp .cpp .numberLines caption="C++"}
|
||||
template <typename T>
|
||||
std::tuple<T, T> mymodule::hassome::foo()
|
||||
{
|
||||
return std::make_tuple<T, T>(1, 1);
|
||||
} // I don't even know whether this works
|
||||
```
|
||||
|
||||
And, of course, because pandoc:
|
||||
|
||||
~~~~ {#mycode .haskell .numberLines startFrom="100" caption="Haskell"}
|
||||
qsort [] = []
|
||||
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++
|
||||
qsort (filter (>= x) xs)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
# Table examples
|
||||
|
||||
Pandoc has several extensions for tables, we have them all here:
|
||||
|
||||
## Simple tables
|
||||
|
||||
This is an example for simple tables (@tbl:simple).
|
||||
|
||||
Right Left Center Default
|
||||
------- ------ ---------- -------
|
||||
12 12 12 12
|
||||
123 123 123 123
|
||||
1 1 1 1
|
||||
|
||||
Table: Demonstration of simple table syntax. {#tbl:simple}
|
||||
|
||||
------- ------ ---------- -------
|
||||
12 12 12 12
|
||||
123 123 123 123
|
||||
1 1 1 1
|
||||
------- ------ ---------- -------
|
||||
|
||||
And some more go here (in @tbl:more):
|
||||
|
||||
-------------------------------------------------------------
|
||||
Centered Default Right Left
|
||||
Header Aligned Aligned Aligned
|
||||
----------- ------- --------------- -------------------------
|
||||
First row 12.0 Example of a row that
|
||||
spans multiple lines.
|
||||
|
||||
Second row 5.0 Here's another one. Note
|
||||
the blank line between
|
||||
rows.
|
||||
-------------------------------------------------------------
|
||||
|
||||
Table: Here's the caption. It, too, may span
|
||||
multiple lines. {#tbl:more}
|
||||
|
||||
|
||||
## Grid tables
|
||||
|
||||
: Sample grid table.
|
||||
|
||||
+---------------+---------------+--------------------+
|
||||
| Fruit | Price | Advantages |
|
||||
+===============+===============+====================+
|
||||
| Bananas | $1.34 | - built-in wrapper |
|
||||
| | | - bright color |
|
||||
+---------------+---------------+--------------------+
|
||||
| Oranges | $2.10 | - cures scurvy |
|
||||
| | | - tasty |
|
||||
+---------------+---------------+--------------------+
|
||||
|
||||
## Pipe tables
|
||||
|
||||
| Right | Left | Default | Center |
|
||||
|------:|:-----|---------|:------:|
|
||||
| 12 | 12 | 12 | 12 |
|
||||
| 123 | 123 | 123 | 123 |
|
||||
| 1 | 1 | 1 | 1 |
|
||||
|
||||
: Demonstration of pipe table syntax.
|
||||
|
||||
|
||||
# Some maths
|
||||
|
||||
This is simply embedded tex. It renders both in the PDF version
|
||||
and the HTML version of the output.
|
||||
|
||||
Greek letters are not supported by this setup, though.
|
||||
|
||||
<!-- This way, the equation is numbered, but does not appear in the HTML -->
|
||||
\begin{equation}
|
||||
i_{a} = 15
|
||||
\end{equation}
|
||||
|
||||
---
|
||||
|
||||
<!-- This way, the equation is not numbered, but appears in both pdf and HTML -->
|
||||
$$ \forall x \in X, \quad \exists y \leq \epsilon $$ {#eq:foo}
|
||||
|
||||
In @eq:foo we show something.
|
||||
|
||||
---
|
||||
|
||||
$$ \frac{n!}{k!(n-k)!} = \binom{n}{k} $$ {#eq:bar}
|
||||
|
||||
---
|
||||
|
||||
$$ \displaystyle\sum_{i=1}^{10} t_i $$ {#eq:barbar}
|
||||
|
||||
---
|
||||
|
||||
$$ \sum_{\substack{
|
||||
0<i<m \\
|
||||
0<j<n
|
||||
}}
|
||||
P(i,j) $$ {#eq:foofoo}
|
||||
|
||||
---
|
||||
|
||||
$$ P\left(A=2\middle|\frac{A^2}{B}>4\right) $$ {#eq:somethingelse}
|
||||
|
||||
---
|
||||
|
||||
$$ A_{m,n} =
|
||||
\begin{pmatrix}
|
||||
a_{1,1} & a_{1,2} & \cdots & a_{1,n} \\
|
||||
a_{2,1} & a_{2,2} & \cdots & a_{2,n} \\
|
||||
\vdots & \vdots & \ddots & \vdots \\
|
||||
a_{m,1} & a_{m,2} & \cdots & a_{m,n}
|
||||
\end{pmatrix} $$ {#eq:somethingelseagain}
|
||||
|
47
doc/templates/default.html5
vendored
Normal file
47
doc/templates/default.html5
vendored
Normal file
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE html>
|
||||
<html$if(lang)$ lang="$lang$"$endif$>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="generator" content="pandoc">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
|
||||
$if(date)$
|
||||
<meta name="dcterms.date" content="$date$">
|
||||
$endif$
|
||||
|
||||
<title>$if(title-prefix)$$title-prefix$ - $endif$$pagetitle$</title>
|
||||
<style type="text/css">code{white-space: pre;}</style>
|
||||
<!--[if lt IE 9]>
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
$if(highlighting-css)$
|
||||
<style type="text/css">
|
||||
$highlighting-css$
|
||||
</style>
|
||||
$endif$
|
||||
|
||||
$for(css)$
|
||||
<link rel="stylesheet" href="$css$">
|
||||
$endfor$
|
||||
|
||||
</head>
|
||||
<body style="margin-left: 20%; margin-right: 20%;">
|
||||
$if(title)$
|
||||
<header>
|
||||
<h1 class="title">$title$</h1>
|
||||
$if(date)$
|
||||
<small class="date">$date$</small>
|
||||
$endif$
|
||||
|
||||
$if(version)$
|
||||
<small class="date">Version: $version$</small>
|
||||
$endif$
|
||||
</header>
|
||||
<hr />
|
||||
$endif$
|
||||
|
||||
$body$
|
||||
|
||||
</body>
|
||||
</html>
|
56
doc/templates/default.latex
vendored
Normal file
56
doc/templates/default.latex
vendored
Normal file
|
@ -0,0 +1,56 @@
|
|||
\documentclass[$if(fontsize)$$fontsize$,$endif$$if(lang)$$babel-lang$,$endif$$if(papersize)$$papersize$,$endif$$for(classoption)$$classoption$$sep$,$endfor$]{$documentclass$}
|
||||
|
||||
\usepackage[sort]{natbib}
|
||||
\usepackage{fancyhdr}
|
||||
\usepackage{hyperref}
|
||||
\usepackage{listings} % source code listings
|
||||
\usepackage{longtable} % tables
|
||||
\usepackage{booktabs} % tables
|
||||
\usepackage{mathtools}
|
||||
\usepackage{enumitem}
|
||||
|
||||
\providecommand{\tightlist}{ % pandoc wants this
|
||||
\setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}
|
||||
}
|
||||
|
||||
\oddsidemargin 0.2cm
|
||||
\topmargin -1.0cm
|
||||
\textheight 24.0cm
|
||||
\textwidth 15.25cm
|
||||
\parindent=0pt
|
||||
\parskip 1ex
|
||||
\renewcommand{\baselinestretch}{1.1}
|
||||
\pagestyle{fancy}
|
||||
|
||||
$if(title)$
|
||||
\lhead{\normalsize \textrm{$title$}}
|
||||
$endif$
|
||||
|
||||
\chead{}
|
||||
|
||||
$if(version)$
|
||||
\lfoot{\normalsize \textrm{$version$}}
|
||||
$endif$
|
||||
\cfoot{}
|
||||
|
||||
$if(date)$
|
||||
\rfoot{$date$}
|
||||
$endif$
|
||||
|
||||
$for(header-includes)$
|
||||
$header-includes$
|
||||
$endfor$
|
||||
|
||||
\setlength{\fboxrule}{4pt}\setlength{\fboxsep}{2ex}
|
||||
\renewcommand{\headrulewidth}{0.4pt}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{center}
|
||||
{\bf $title$}
|
||||
\end{center}
|
||||
|
||||
$body$
|
||||
|
||||
\end{document}
|
Loading…
Reference in a new issue