Why would you want to use Amusewiki
Source file (Emacs Muse markup)
MELMOTHX
melmothX
on Libera Chat and irc.perl.org
melmothx@gmail.com
irc://irc.libera.chat/#amusewiki
Humanities (history and translations)
built around texts, which are fully decoupled from the web application
support for typesetting whole books (off-line editing and expressive markup)
high-quality output (PDF with LaTeX quality and EPUB)
flat file storage with Git
create collections and reformat the PDF files for printing
OPDS server for mobile users to deliver the texts straight into the apps
Localized for English, German, Spanish, Finnish, French, Croatian, Italian, Macedonian, Russian, Albanian, Swedish
production ready and comes with an extensive test suite
#title Amusewiki: a year of development #author Marco Pessotto (melmothX) #slides on #lang en #date August 24-26, 2016, Cluj-Napoca #pubdate 2016-08-27 Here the *the text* **start**. ** About me: Marco Pessotto PAUSE id :: =MELMOTHX= IRC :: =melmothX= on Libera Chat and =irc.perl.org=
Muse parser: Text::Amuse
HTML import and cleanup: Text::Amuse::Preprocessor
(with CLI)
Compiler: Text::Amuse::Compile
(with CLI)
PDF cropmarks: PDF::Cropmarks
(with CLI)
PDF imposition: PDF::Imposition
(with CLI)
DBIx::Class
and Xapian for archive indexing
Background daemon for indexing and compilation
Catalyst application on the frontend
Open Publication Distribution System http://opds-spec.org/
Atom feed with navigation and acquisition entries
Supported by most EPUB Android readers (FBreader, Aldiko, Moon+ reader)
Deliver the texts straight into the applications
Module XML::OPDS
Example and help: https://amusewiki.org/help/opds
Transparent pagination to save bandwidth
HTTP authorization supported for private sites
Full text-search supported
Optional feature which can be activated in the admin console
time-based sorting
teasers
decorative images
tag cloud (accessible via ajax)
monthly archives (accessible via ajax)
form free layout elements (gives a chance to the admin to fully customize the site, in addition to local JS and CSS)
bootswatch theme selection https://bootswatch.com/
SSL made free and automatic with Let's Encrypt and Protocol::ACME
Code highlight with highlight.js
Automatic DB upgrades with DBIx::Class::DeploymentHandler
Fine tune logging with Log::Log4perl and Log::Contextual
Documentation on https://amusewiki.org
Instead of running the app from the git tree on a dedicated home, with
a local::lib
tree or with a perl installed in the home, now you can
visit 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.
https://github.com/melmothx/amusewiki-debian-packages
More burden on the developer
Trivial changes require a package rebuild
Needs to ship about 25 new packages (fonts and perl modules)
Can't use fresh code from the module used (e.g., newer Catalyst) without being too invasive.
Debian people usually don't like private repositories
Installation is straightforward
Maintenance for the administrator is integrated in the regular apt-get routine
Much smaller installation footprint (mostly because the texlive installation is optimized and shared)
Improved security
code is installed and owned by root, not by the user running the application
debian is taking care of the security updates of the dependencies (not only the perl dependencies, but also the libraries used by LaTeX, cgit and other utilities)
0 downtime upgrades out of the box
Predictability of locations and module versions (so gets more live testing)
Thanks!