\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 <br><br> 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.



