tldr/scripts/pdf
Tristan Jahnke e747bd8132
scripts/*.py: update coding style (#10761)
* convert to f string

* use a next function instead of a for-loop

* remove uneeded else statement

* use in operator instead of multi comparison

* conver to f string

* adds extra line between function defs

* revert/change to PR comment around looping

* remove uneeded loops

* revert to keep old style choice
2023-10-04 14:02:15 +05:30
..
README.md Updated the render.py README. 2020-12-04 12:09:48 -05:00
basic.css scripts: improve generated PDF bookmark layout (#8809) 2022-10-07 20:10:44 -03:00
pt-serif-web-regular.ttf Rework PDF script (#3654) 2019-12-17 21:25:52 +01:00
render.py scripts/*.py: update coding style (#10761) 2023-10-04 14:02:15 +05:30
requirements.txt Rework PDF script (#3654) 2019-12-17 21:25:52 +01:00
solarized-dark.css scripts: add SPDX-License-Identifier in files (#6215) 2021-07-16 14:15:31 +01:00
solarized-light.css scripts: add SPDX-License-Identifier in files (#6215) 2021-07-16 14:15:31 +01:00

README.md

pdf

This directory contains the script and related resources to generate a PDF document with all the tldr pages.

Preview

cryptsetup in the Basic color-scheme. cryptsetup in the Solarized Light color-scheme. cryptsetup in the Solarized Dark color-scheme.

Highlights

  • No LaTeX dependencies for generating the PDF.
  • 3 available color-schemes: Basic, Solarized Light and Solarized Dark. More can be added easily through CSS.

Requirements

The PDF is generated by first converting the Markdown files to HTML, and then rendering those HTML files as a PDF. It depends on the markdown and weasyprint libraries. To install the dependencies, run:

python3 -m pip install -r requirements.txt

Make sure OS specific dependencies for WeasyPrint are installed by following the instructions here.

Usage

Generating the PDF is as simple as running:

python3 render.py <path-to-pages-directory> --color <color-scheme>

Complete information about the arguments can be viewed by running:

python3 render.py --help

The color-schemes that can be specified are:

  • basic
  • solarized-light
  • solarized-dark