Jump to content
MediaWiki

Extension:DownloadBook

From mediawiki.org
MediaWiki extensions manual
DownloadBook
Release status: beta
Implementation Special page
Description Allows extension Collection to convert books/pages into PDF, etc. locally
Author(s) Edward Chernenko talk
Latest version 0.1.1
Compatibility policy Master maintains backward compatibility.
MediaWiki 1.43+ (master branch)
1.39-1.42 (REL1_39 branch)
Database changes Yes
  • $wgDownloadBookConvertCommand
  • $wgDownloadBookFileExtension
  • $wgDownloadBookMetadataFromRegex
  • $wgDownloadBookDefaultMetadata
Licence GNU General Public License 2.0 or later
Download

The DownloadBook extension allows extension Collection to generate PDF files without a local or external MWServe server.

It can use third-party utilities such as pandoc (for ePub, ODT, etc.) or WeasyPrint (for PDF). They exist as packages in many Linux distributions.

Installation

[edit ]

The Collection extension needs to be installed for this extension to work. Moreover, depending on which output formats are chosen also pandoc (for ePub, ODT, etc.) and/or WeasyPrint (for PDF).

  • Check-out the sources with git clone https://github.com/edwardspec/mediawiki-extension-DownloadBook.git and place the file(s) in a directory called DownloadBook in your extensions/ folder.
  • Add the following code at the bottom of your LocalSettings.php file:
    wfLoadExtension( 'Collection' );
    $wgCollectionDisableDownloadSection = false;
    wfLoadExtension( 'DownloadBook' );
    $wgCollectionMWServeURL = '<URL_OF_YOUR_WIKI_HERE>/wiki/Special:DownloadBook';
    
  • Run the update script which will automatically create the necessary database tables that this extension needs.
  • Further configure as required.
  • Yes Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.

Installation for older versions of MediaWiki

[edit ]

For MediaWiki 1.39-1.42, replace the above-mentioned "git clone" command with the following: git clone -b REL1_39 https://github.com/edwardspec/mediawiki-extension-DownloadBook.git

Advanced configuration

[edit ]

You can modify the conversion commands in "LocalSettings.php", for example:

$wgDownloadBookConvertCommand['epub'] = "pandoc --from=html --to=epub {INPUT} -o {OUTPUT}";

Please see the file "extension.json" for other configuration options. Also note that keys in $wgDownloadBookConvertCommand array are the same formats as in Collection (i.e. $wgDownloadBookConvertCommand['rl'] is the command for PDF).

Installing third-party conversion tool is your own risk and responsibility. This extension simply calls that tool, and then provides the result to extension Collection.

Using custom CSS when generating PDF

[edit ]

When using weasyprint to generate PDF, custom CSS can be specified with the --stylesheet parameter.

$wgDownloadBookConvertCommand['rl'] = "weasyprint --stylesheet \"https://example.com/wiki/MediaWiki:Print.css?action=raw&ctype=text/css\" --stylesheet \"https://example.com/load.php?lang=fr&modules=site.styles&only=styles&printable=1\" --encoding utf8 {INPUT} {OUTPUT}";

Document layout

[edit ]

To insert page breaks between wiki pages, use a custom CSS stylesheet and specify:

h1{
break-before:page;
}

Troubleshooting

[edit ]

Add the following to your "LocalSettings.php":

$wgDebugLogGroups['DownloadBook'] = '/path/to/writable/logfile.txt';
IMPORTANT: 99,9% of issues are caused by incorrect installation of pandoc, permission errors, etc. You will see the cause in the log. Developer of this extension is NOT going to troubleshoot your server configuration for you.

AltStyle によって変換されたページ (->オリジナル) /