Title: AmuseWiki, yet another wiki engine
Subtitle: Vienna, Perl Dancer 2015
Author: Marco Pessotto
Date: October 22, 2015

      About me: Marco Pessotto

      One man project

      Why?

      Yet another wiki engine

      Source (Emacs Muse markup)

      Text view

      Bookbuilder

      Imposed PDF

      Home-brewed modules (available on CPAN)

      Web Frontend

      Git for the win

      Cgit for recent changes

      Modes

      Hey, tests!

      Questions?

About me: Marco Pessotto

PAUSE id

MELMOTHX

IRC

melmothX on Libera Chat and irc.perl.org

E-mail

melmothx@gmail.com

Homepage

http://amusewiki.org

IRC channel

irc://irc.libera.chat/#amusewiki

GitHub

https://github.com/melmothx

Background

Humanities (history and translations)

One man project

l-t-one-man-band.png

Why?

  • Long term storage of texts in a clean form

  • Publishing texts providing the best possible reading experience.

Yet another wiki engine

  • Flat file storage, one text maps to one file with all the metadata

  • Git backend

  • High-quality output: LaTeX

  • PDF imposing for printing

  • EPUB for e-reader and mobile

  • Bookbuilder to customize the output and create collections

  • HTML importer (supporting copy and paste from Word via ckeditor)

  • Upcoming: slides and POD importer

Source (Emacs Muse markup)

#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

Text view

l-t-text.png

Bookbuilder

l-t-bookbuilder.png

Imposed PDF

l-t-imposition.png

Home-brewed modules (available on CPAN)

Text::Amuse

the parser

EBook::EPUB::Lite

port to Moo of EBook::EPUB

Text::Amuse::Preprocessor

the cleaner

PDF::Imposition

prepare PDF for printing

Text::Amuse::Compile

glues all together (CLI script provided)

Web Frontend

Framework

Catalyst

Layout

Bootstrap

Multisite

on one instance you can run as many sites you want

Database

DBIx::Class

Search

Xapian

Templating

Template Toolkit

Localization

English, Italian, Croatian, Macedonian, Russian, Finnish, Swedish, German, Spanish.

Users

peer-based.

Git for the win

A daemon takes care of all the git-related operations where concurrency may be a problem.

l-t-git-pull.png

Cgit for recent changes

l-t-cgit.png

Modes

  • private

  • blog

  • moderated wiki

  • open wiki

Hey, tests!

[...]
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

Questions?

Thanks!