\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{Publishing with Amusewiki}
\date{September 6, 2018}
\author{Marco Pessotto (melmothX)}
\subtitle{Oslo, Nordic Perl Workshop 2018}




% https://groups.google.com/d/topic/comp.text.tex/6fYmcVMbSbQ/discussion
\hypersetup{%
pdfencoding=auto,
pdftitle={Publishing with Amusewiki},%
pdfauthor={Marco Pessotto},%
pdfsubject={Oslo, Nordic Perl Workshop 2018},%
pdfkeywords={}%
}


\begin{document}






  \begin{titlepage}


  \strut\vskip 2em
  \begin{center}

  {\usekomafont{title}{\huge Publishing with Amusewiki\par}}%
  \vskip 1em
  
  {\usekomafont{subtitle}{Oslo, Nordic Perl Workshop 2018\par}}%
  
  \vskip 2em
  
  {\usekomafont{author}{Marco Pessotto (melmothX)\par}}%
  
  \vskip 1.5em



   
   \vfill



  
  {\usekomafont{date}{September 6, 2018\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{https://amusewiki.org}{\texttt{https://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{Main features}


\begin{itemize}
\item\relax 
Flat file storage, under Git



\item\relax 
Each text is stored in a single, self-contained, text file



\item\relax 
Rich range of output formats (PDF, Epub, HTML)



\item\relax 
Don't lock the users in: high decoupling (single text \Slash{} archive \Slash{} application)



\item\relax 
A comprehensive test suite



\item\relax 
Packaged for Debian: \href{http://packages.amusewiki.org}{\texttt{http://packages.amusewiki.org}}




\end{itemize}
\section{Overview}

\subsection{Sample page}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-1.png}
\end{figure}

\subsection{Sample imposed PDF (more schemas available)}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-2.png}
\end{figure}

\subsection{Sample EPUB (on Firefox, Epubreader plugin)}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-3.png}
\end{figure}

\subsection{Sample Slides}


\begin{itemize}
\item\relax 
Amusewiki can be used to produce slides as well



\item\relax 
You are looking at them \texttt{:-)}




\end{itemize}
\subsection{Upload a text (with an HTML importer)}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-4.png}
\end{figure}

\subsection{Editing}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-5.png}
\end{figure}

\subsection{Ready to publish?}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-6.png}
\end{figure}

\subsection{Checking}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-7.png}
\end{figure}

\subsection{Publish (tailing a background daemon)}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-8.png}
\end{figure}

\subsection{Done}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-9.png}
\end{figure}

\section{Source sample}


\begin{itemize}
\item\relax 
Borrowed from Emacs Muse \href{https://www.gnu.org/software/emacs-muse/index.html}{\texttt{https://www.gnu.org/software/emacs-muse/index.html}}



\item\relax 
Supported (read\Slash{}write) by Pandoc \href{https://pandoc.org/}{\texttt{https://pandoc.org/}}




\end{itemize}

\begin{alltt}
\#title My title
\#author John Doe
\#lang en

** Chapter one

And **here** the *text* starts

 1. Foo
 2. Bar

\end{alltt}

\section{Modules and offline tools}


\begin{description}

\item[{\texttt{Text::Amuse}}] 
The parser


\item[{\texttt{Text::Amuse::Preprocessor}}] 
Typographical filters (\texttt{muse-preprocessor.pl}) and HTML importer (\texttt{html-to-muse.pl})


\item[{\texttt{Text::Amuse::Compiler}}] 
The compiler (\texttt{muse-compile.pl})


\item[{\texttt{PDF::Imposition}}] 
The PDF imposer (\texttt{pdf-imposer.pl})


\item[{\texttt{PDF::Cropmarks}}] 
Add cropmarks to the PDF (\texttt{pdf-cropmarks.pl})


\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}] 
\texttt{DBIx::Class} (SQLite, MySQL, PostgreSQL) and \texttt{DBIx::Class::DeploymentHandler} for automatic upgrades


\item[{Templating}] 
Template Toolkit


\item[{Localization}] 
Danish, German, English, Spanish, Finnish, French,
Serbo-Croatian, Italian, Macedonian, Dutch, Russian,
Albanian, Swedish


\end{description}
\subsection{Powerful and fast faceted search, powered by Xapian}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-10.png}
\end{figure}

\subsection{Static but functional mirror}


\begin{alltt}
wget -q -O - https://amusewiki.org/mirror.txt \textbar{} \textbackslash{}
     wget -x -N -q -i -
\end{alltt}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-11.png}
\end{figure}

\subsection{Bookbuilder}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-12.png}
\end{figure}


Tutorial available at \href{https://amusewiki.org/library/bookbuilder-tutorial}{\texttt{https://amusewiki.org/library/bookbuilder-tutorial}}

\subsection{Imposer}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-13.png}
\end{figure}

\subsection{Fine tuning for formats}


\begin{figure}[htbp!]
\centering
\includegraphics[keepaspectratio=true,height=\textheight,width=\textwidth]{o-s-slides-14.png}
\end{figure}

\section{Any time left? Debian packages}


Instead of running the app from the git tree on a dedicated home, with
a \texttt{local::lib} tree or with a perl installed in the home, now you can
visit \href{http://packages.amusewiki.org/}{\texttt{http://packages.amusewiki.org/}} and follow the instructions
there (import the key, add the repository, and install the package).


Minimum requirement: Debian Jessie and Ubuntu 16.04 LTS.


\href{https://github.com/melmothx/amusewiki-debian-packages}{\texttt{https://github.com/melmothx/amusewiki-debian-packages}}

\subsection{Debian packages cons}


\begin{itemize}
\item\relax 
More burden on the developer



\item\relax 
Trivial changes require a package rebuild



\item\relax 
Needs to ship about 25 new packages (fonts and perl modules)



\item\relax 
Can't use fresh code from the module used without being too invasive.



\item\relax 
Debian people usually don't like private repositories




\end{itemize}
\subsection{Debian packages pros}


\begin{itemize}
\item\relax 
Installation is straightforward



\item\relax 
Maintenance for the administrator is integrated in the regular \texttt{apt-get} routine



\item\relax 
Much smaller installation footprint (mostly because the texlive
installation is optimized and shared)



\item\relax 
Improved security


\begin{itemize}
\item\relax 
code is installed and owned by root, not by the user running the application



\item\relax 
debian is taking care of the security updates of the
dependencies (not only the perl dependencies, but also the
libraries used by \texttt{LaTeX}, \texttt{cgit} and other utilities)




\end{itemize}


\item\relax 
0 downtime upgrades out of the box



\item\relax 
Predictability of locations and module versions (so gets more live testing)




\end{itemize}
\section{Questions?}



\begin{center}

Thanks!


\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)

Publishing with Amusewiki

Oslo, Nordic Perl Workshop 2018

September 6, 2018


\bigskip



   

       

       

       

       

       
   



\bigskip
\textbf{amusewiki.org}


\end{center}

% end final page with colophon


\end{document}


% No format ID passed.



