How is wiki-to-print made?

From creative crowd wiki
Revision as of 13:20, 21 August 2023 by Manetta (talk | contribs) (Created page with " Technically seen, wiki-to-print is a web application made with [https://flask.palletsprojects.com/en/2.3.x/ 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...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 locally
  • make 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
PDF 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/

For more installation guides, see: Running wiki-to-print on the server