tldr/scripts/pdf
K.B.Dharun Krishna a2ab577848
scripts: build and deploy PDF pages for translations (#10846)
* scrips: build and deploy PDF pages for all languages

* cleanup/render.py: reformat code

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* Apply suggestions from code review

Co-authored-by: Matthew Peveler <matt.peveler@gmail.com>

* scrpts/pdf: update README, refactor code

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* test/ci: building PDF was wildcard

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* test/ci: building translations as wildcard 2

* test/ci: fix flag in PDF building

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* test/ci: update build pdf action

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* test/ci: extend PDF exclusion list

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* cleanup/ci: update PDF translation build

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* scripts/pdf: add website and repo link

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* test/ci: move PDF build to seperate script file

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* test/ci: minor fixes to build pdf script

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* cleanup/ci: update build PDF

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* scripts: update font family, minor fix

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

* fix/deploy: sha256sum command

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>

---------

Signed-off-by: K.B.Dharun Krishna <kbdharunkrishna@gmail.com>
Co-authored-by: Matthew Peveler <matt.peveler@gmail.com>
2023-10-13 09:58:02 +05:30
..
NotoSans-Regular.ttf scripts: build and deploy PDF pages for translations (#10846) 2023-10-13 09:58:02 +05:30
README.md scripts: build and deploy PDF pages for translations (#10846) 2023-10-13 09:58:02 +05:30
basic.css scripts: build and deploy PDF pages for translations (#10846) 2023-10-13 09:58:02 +05:30
build-pdf.sh scripts: build and deploy PDF pages for translations (#10846) 2023-10-13 09:58:02 +05:30
render.py scripts: build and deploy PDF pages for translations (#10846) 2023-10-13 09:58:02 +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.

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>] [--output <filename>]

Complete information about the arguments can be viewed by running:

python3 render.py --help

Available color schemes:

  • basic
  • solarized-light
  • solarized-dark

Preview

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