\documentclass[DIV=13,%
BCOR=0mm,%
headinclude=false,%
footinclude=false,open=any,%
fontsize=10pt,%
oneside,%
paper=a5]%
{scrbook}
\usepackage[noautomatic]{imakeidx}
\usepackage{microtype}
\usepackage{graphicx}
\usepackage{alltt}
\usepackage{verbatim}
\usepackage[shortlabels]{enumitem}
\usepackage{tabularx}
\usepackage[normalem]{ulem}
\def\hsout{\bgroup \ULdepth=-.55ex \ULset}
% https://tex.stackexchange.com/questions/22410/strikethrough-in-section-title
% Unclear if \protect \hsout is needed. Doesn't looks so
\DeclareRobustCommand{\sout}[1]{\texorpdfstring{\hsout{#1}}{#1}}
\usepackage{wrapfig}
% avoid breakage on multiple
and avoid the next [] to be eaten
\newcommand*{\forcelinebreak}{\strut\\*{}}
\newcommand*{\hairline}{%
\bigskip%
\noindent \hrulefill%
\bigskip%
}
% reverse indentation for biblio and play
\newenvironment*{amusebiblio}{
\leftskip=\parindent
\parindent=-\parindent
\smallskip
\indent
}{\smallskip}
\newenvironment*{amuseplay}{
\leftskip=\parindent
\parindent=-\parindent
\smallskip
\indent
}{\smallskip}
\newcommand*{\Slash}{\slash\hspace{0pt}}
% http://tex.stackexchange.com/questions/3033/forcing-linebreaks-in-url
\PassOptionsToPackage{hyphens}{url}\usepackage[hyperfootnotes=false,hidelinks,breaklinks=true]{hyperref}
\usepackage{bookmark}
\usepackage{fontspec}
\usepackage{polyglossia}
\setmainlanguage{english}
\setmainfont{texgyrepagella-regular.otf}[Script=Latin,%
Ligatures=TeX,%
Path=/usr/share/texmf/fonts/opentype/public/tex-gyre/,%
BoldFont=texgyrepagella-bold.otf,%
BoldItalicFont=texgyrepagella-bolditalic.otf,%
ItalicFont=texgyrepagella-italic.otf]
\setmonofont{cmuntt.ttf}[Script=Latin,%
Ligatures=TeX,%
Scale=MatchLowercase,%
Path=/usr/share/fonts/truetype/cmu/,%
BoldFont=cmuntb.ttf,%
BoldItalicFont=cmuntx.ttf,%
ItalicFont=cmunit.ttf]
\setsansfont{cmunss.ttf}[Script=Latin,%
Ligatures=TeX,%
Scale=MatchLowercase,%
Path=/usr/share/fonts/truetype/cmu/,%
BoldFont=cmunsx.ttf,%
BoldItalicFont=cmunso.ttf,%
ItalicFont=cmunsi.ttf]
\newfontfamily\englishfont{texgyrepagella-regular.otf}[Script=Latin,%
Ligatures=TeX,%
Path=/usr/share/texmf/fonts/opentype/public/tex-gyre/,%
BoldFont=texgyrepagella-bold.otf,%
BoldItalicFont=texgyrepagella-bolditalic.otf,%
ItalicFont=texgyrepagella-italic.otf]
\renewcommand*{\partpagestyle}{empty}
% global style
\pagestyle{plain}
\usepackage{indentfirst}
% remove the numbering
\setcounter{secnumdepth}{-2}
% remove labels from the captions
\renewcommand*{\captionformat}{}
\renewcommand*{\figureformat}{}
\renewcommand*{\tableformat}{}
\KOMAoption{captions}{belowfigure,nooneline}
\addtokomafont{caption}{\centering}
\deffootnote[3em]{0em}{4em}{\textsuperscript{\thefootnotemark}~}
\addtokomafont{disposition}{\rmfamily}
\addtokomafont{descriptionlabel}{\rmfamily}
\frenchspacing
% avoid vertical glue
\raggedbottom
% this will generate overfull boxes, so we need to set a tolerance
% \pretolerance=1000
% pretolerance is what is accepted for a paragraph without
% hyphenation, so it makes sense to be strict here and let the user
% accept tweak the tolerance instead.
\tolerance=200
% Additional tolerance for bad paragraphs only
\setlength{\emergencystretch}{30pt}
% (try to) forbid widows/orphans
\clubpenalty=10000
\widowpenalty=10000
% given that we said footinclude=false, this should be safe
\setlength{\footskip}{2\baselineskip}
\title{AmuseWiki, yet another wiki engine}
\date{October 22, 2015}
\author{Marco Pessotto (melmothX)}
\subtitle{Vienna, Perl Dancer 2015}
% https://groups.google.com/d/topic/comp.text.tex/6fYmcVMbSbQ/discussion
\hypersetup{%
pdfencoding=auto,
pdftitle={AmuseWiki, yet another wiki engine},%
pdfauthor={Marco Pessotto},%
pdfsubject={Vienna, Perl Dancer 2015},%
pdfkeywords={}%
}
\begin{document}
\begin{titlepage}
\strut\vskip 2em
\begin{center}
{\usekomafont{title}{\huge AmuseWiki, yet another wiki engine\par}}%
\vskip 1em
{\usekomafont{subtitle}{Vienna, Perl Dancer 2015\par}}%
\vskip 2em
{\usekomafont{author}{Marco Pessotto (melmothX)\par}}%
\vskip 1.5em
\vfill
{\usekomafont{date}{October 22, 2015\par}}%
\end{center}
\end{titlepage}
\cleardoublepage
\tableofcontents
% start a new right-handed page
\cleardoublepage
\section{About me: Marco Pessotto}
\begin{description}
\item[{PAUSE id}]
\texttt{MELMOTHX}
\item[{IRC}]
\texttt{melmothX} on Libera Chat and \texttt{irc.perl.org}
\item[{E-mail}]
\texttt{melmothx@gmail.com}
\item[{Homepage}]
\href{http://amusewiki.org}{\texttt{http://amusewiki.org}}
\item[{IRC channel}]
\texttt{irc://irc.libera.chat/\#amusewiki}
\item[{GitHub}]
\href{https://github.com/melmothx}{\texttt{https://github.com/melmothx}}
\item[{Background}]
Humanities (history and translations)
\end{description}
\section{One man project}
\begin{figure}[p]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=0.50\textwidth]{l-t-one-man-band.png}
\end{figure}
\clearpage
\section{Why?}
\begin{itemize}
\item\relax
Long term storage of texts in a clean form
\item\relax
Publishing texts providing the best possible reading experience.
\end{itemize}
\section{Yet another wiki engine}
\begin{itemize}
\item\relax
Flat file storage, one text maps to one file with all the metadata
\item\relax
Git backend
\item\relax
High-quality output: LaTeX
\item\relax
PDF imposing for printing
\item\relax
EPUB for e-reader and mobile
\item\relax
Bookbuilder to customize the output and create collections
\item\relax
HTML importer (supporting copy and paste from Word via \texttt{ckeditor})
\item\relax
Upcoming: slides and POD importer
\end{itemize}
\section{Source (Emacs Muse markup)}
\begin{alltt}
\#title My title
\#subtitle Another boring essay
\#author John Doe
\#topics boring things, another topic
\#date October 22, 2015
\#notes This was just a test
** Chapter one
And **here** the *text* starts
\end{alltt}
\section{Text view}
\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{l-t-text.png}
\end{figure}
\section{Bookbuilder}
\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{l-t-bookbuilder.png}
\end{figure}
\section{Imposed PDF}
\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=0.50\textwidth]{l-t-imposition.png}
\end{figure}
\section{Home-brewed modules (available on CPAN)}
\begin{description}
\item[{\href{https://metacpan.org/pod/Text::Amuse}{\texttt{Text::Amuse}}}]
the parser
\item[{\href{https://metacpan.org/pod/EBook::EPUB::Lite}{\texttt{EBook::EPUB::Lite}}}]
port to Moo of \href{https://metacpan.org/pod/EBook::EPUB}{\texttt{EBook::EPUB}}
\item[{\href{https://metacpan.org/pod/Text::Amuse::Preprocessor}{\texttt{Text::Amuse::Preprocessor}}}]
the cleaner
\item[{\href{https://metacpan.org/pod/PDF::Imposition}{\texttt{PDF::Imposition}}}]
prepare PDF for printing
\item[{\href{https://metacpan.org/pod/Text::Amuse::Compile}{\texttt{Text::Amuse::Compile}}}]
glues all together (CLI script provided)
\end{description}
\section{Web Frontend}
\begin{description}
\item[{Framework}]
Catalyst
\item[{Layout}]
Bootstrap
\item[{Multisite}]
on one instance you can run as many sites you want
\item[{Database}]
DBIx::Class
\item[{Search}]
Xapian
\item[{Templating}]
Template Toolkit
\item[{Localization}]
English, Italian, Croatian, Macedonian, Russian,
Finnish, Swedish, German, Spanish.
\item[{Users}]
peer-based.
\end{description}
\section{Git for the win}
A daemon takes care of all the git-related operations where
concurrency may be a problem.
\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{l-t-git-pull.png}
\end{figure}
\section{Cgit for recent changes}
\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{l-t-cgit.png}
\end{figure}
\section{Modes}
\begin{itemize}
\item\relax
private
\item\relax
blog
\item\relax
moderated wiki
\item\relax
open wiki
\end{itemize}
\section{Hey, tests!}
\begin{alltt}
[...]
t/zz-finish-tests.t ............ ok
All tests successful.
Files=73, Tests=2555, 646 wallclock secs
( 1.00 usr 0.16 sys + 368.93 cusr 17.74 csys = 387.83 CPU)
Result: PASS
\end{alltt}
\section{Questions?}
\begin{center}
Thanks!
\end{center}
\begin{center}
\href{https://amusewiki.org}{\texttt{https://amusewiki.org}}
\end{center}
% begin final page
\clearpage
% new page for the colophon
\thispagestyle{empty}
\begin{center}
\bigskip
\includegraphics[width=0.25\textwidth]{logo-amw.pdf}
\bigskip
\end{center}
\strut
\vfill
\begin{center}
Marco Pessotto (melmothX)
AmuseWiki, yet another wiki engine
Vienna, Perl Dancer 2015
October 22, 2015
\bigskip
\bigskip
\textbf{amusewiki.org}
\end{center}
% end final page with colophon
\end{document}
% No format ID passed.