1
0
Fork 0
mirror of https://github.com/tldr-pages/tldr.git synced 2025-04-29 23:24:55 +02:00
SuperSonicHub1-master
This commit is contained in:
Starbeamrainbowlabs 2020-12-30 13:38:08 +00:00
commit ec9f4a4d1d
No known key found for this signature in database
GPG key ID: 1BE5172E637709C2
4 changed files with 43 additions and 42 deletions

View file

@ -7,3 +7,6 @@ end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[*.py]
indent_size = 4

7
.gitignore vendored
View file

@ -1,3 +1,6 @@
# VS Code
.vscode/
# macOS filesystem custom folder attributes
.DS_Store
@ -18,3 +21,7 @@ index.json
# Generated PDF pages
scripts/pdf/*.html
scripts/pdf/tldr-pages.pdf
# Python venv for testing the PDF script
# Create it with: python3 -m venv scripts/pdf/venv/
scripts/pdf/venv/

View file

@ -4,9 +4,9 @@ This directory contains the script and related resources to generate a PDF docum
## Preview
![aa](https://user-images.githubusercontent.com/29029116/35637791-4e42af80-06db-11e8-8b8e-42ce6c905ff4.jpg)
![bb](https://user-images.githubusercontent.com/29029116/35637798-51e3784a-06db-11e8-9576-6e57ef5c5c20.jpg)
![cc](https://user-images.githubusercontent.com/29029116/35637801-54449fce-06db-11e8-93f7-d90cdc34044b.jpg)
![cryptsetup in the Basic color-scheme.](https://user-images.githubusercontent.com/29029116/35637791-4e42af80-06db-11e8-8b8e-42ce6c905ff4.jpg)
![cryptsetup in the Solarized Light color-scheme.](https://user-images.githubusercontent.com/29029116/35637798-51e3784a-06db-11e8-9576-6e57ef5c5c20.jpg)
![cryptsetup in the Solarized Dark color-scheme.](https://user-images.githubusercontent.com/29029116/35637801-54449fce-06db-11e8-93f7-d90cdc34044b.jpg)
## Highlights
@ -15,23 +15,24 @@ This directory contains the script and related resources to generate a PDF docum
## Requirements
The PDF is generated by first converting the Markdown files to HTML, and then rendering those HTML files as PDF. It depends on `markdown` and `weasyprint` libraries. To install the dependencies, run:
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:
pip3 install -r requirements.txt
python3 -m pip install -r requirements.txt
Make sure OS specific dependencies for WeasyPrint are installed by following the instructions [here](http://weasyprint.readthedocs.io/en/latest/install.html).
## Usage
Generating the PDF is as simple as running
Generating the PDF is as simple as running:
python3 render.py <path-to-pages-directory> -c <color-scheme>
python3 render.py <path-to-pages-directory> --color <color-scheme>
Complete information about the arguments can be viewed by running
Complete information about the arguments can be viewed by running:
python3 render.py --help
The color-schemes that can be specified are
The color-schemes that can be specified are:
* `basic`
* `solarized-light`
* `solarized-dark`

View file

@ -1,8 +1,10 @@
#!/usr/bin/env python3
# A Python script to generate a single PDF document with all the `tldr` pages. It works by generating
# intermediate HTML files from existing md files using Python-markdown, applying desired formatting
# through CSS, and finally rendering them as PDF. There is no LaTeX dependency for generating the PDF.
"""
A Python script to generate a single PDF document with all the `tldr` pages. It works by generating
intermediate HTML files from existing md files using Python-markdown, applying desired formatting
through CSS, and finally rendering them as PDF. There is no LaTeX dependency for generating the PDF.
"""
import os
import sys
@ -53,8 +55,6 @@ def main(loc, colorscheme):
for operating_sys in oslist:
i = 1
# Required string to create directory title pages
dir_title = "<h2 class=title-dir>" + \
operating_sys.capitalize() + "</h2></body></html>"
@ -73,7 +73,7 @@ def main(loc, colorscheme):
allmd.sort()
# Conversion of Markdown to HTML
for md in allmd:
for page_number, md in enumerate(allmd, start=1):
with open(md, "r") as inp:
text = inp.readlines()
@ -90,8 +90,7 @@ def main(loc, colorscheme):
group.append(HTML("htmlout.html").render())
print("Rendered page {} of the directory {}".format(
str(i), operating_sys))
i += 1
str(page_number), operating_sys))
allmd.clear()
@ -117,19 +116,10 @@ def main(loc, colorscheme):
if __name__ == "__main__":
# Unless specified otherwise by the user, this is the default colorscheme
colorscheme = "basic"
# Parsing the arguments
parser = argparse.ArgumentParser()
parser = argparse.ArgumentParser(prog="tdlr-pages-to-PDF", description="A Python script to generate a single PDF document with all the `tldr` pages.")
parser.add_argument("dir_path", help = "Path to the 'pages' directory")
parser.add_argument("-c",
choices=["solarized-light", "solarized-dark"],
help="Color scheme of the PDF")
parser.add_argument("-c", "--color", choices=["solarized-light", "solarized-dark", "basic"], default="basic", help="Color scheme of the PDF")
args = parser.parse_args()
loc = args.dir_path
if args.c == "solarized-light" or args.c == "solarized-dark":
colorscheme = args.c
main(loc, colorscheme)
main(args.dir_path, args.color)