How is wiki-to-print made?
Jump to navigation
Jump to search
Technically seen, wiki-to-print is a web application made with Flask, that can be installed on the same server as where the MediaWiki is installed.
In practice, it's a DIY configuration that glues different things together: it takes a wiki page and a CSS stylesheet as input sources and renders them into a HTML page and a PDF preview page.
The source code can be found at: https://git.vvvvvvaria.org/varia/wiki-to-print/
To install wiki-to-print:
make setup
: makes a virtual environment and installs all the requirements- edit
config.json
To run wiki-to-print:
make local
: runs the Flask application locallymake server
: runs the Flask application remotely with Gunicorn, which we used to work with a subdirectory (we use https://cc.vvvvvvaria.org/wiki-to-print/ as the root of this Flask application)
The Flask application is based around the following URLs/routes:
button | URL/route | Flask action |
---|---|---|
CSS | https://cc.vvvvvvaria.org/wiki-to-print/static/Test.css | renders PdfCSS:Test as CSS stylesheet |
HTML | https://cc.vvvvvvaria.org/wiki-to-print/html/Test | renders Pdf:Test as HTML page, using PdfCSS:Test as CSS stylesheet |
https://cc.vvvvvvaria.org/wiki-to-print/pdf/Test | renders Pdf:Test as PDF preview page (using Paged.js), using PdfCSS:Test as CSS stylesheet | |
Update text | https://cc.vvvvvvaria.org/wiki-to-print/update/Test | downloads all the text from Pdf:Test using the Mediawiki API and saves it to Test.json (in HTML) |
Update Media | https://cc.vvvvvvaria.org/wiki-to-print/update/Test?full=true | downloads all the text + images from Pdf:Test using the Mediawiki API and saves them to ./static/images/
|