Skip to content

firefly-cpp/thumbnails-readme

logo

thumbnails-readme

Create thumbnails for raster and vector images in parent and its subdirectories and append them to the README.md file

PyPI Version PyPI - Python Version PyPI - Downloads Packaging status Downloads GitHub License

GitHub repo size GitHub Commit Activity Average time to resolve an issue Percentage of issues still open

πŸš€ GitHub Action β€’ πŸ’‘ How does it work? β€’ πŸ“¦ Installation β€’ πŸ”— Additional dependencies β€’ πŸ““ Example β€’ πŸ“‚ Use Cases β€’ πŸ”‘ License β€’ πŸ“· Thumbnails

The thumbnails-readme package is a simple library devoted to automatically generating thumbnails from a directory. It is explicitly designed to create thumbnails from Git folders. The thumbnails are shown in the README file of that Git folder. πŸ“πŸŒπŸ“Έ

πŸ”„ Multi-page PDFs are turned into .gif thumbnails

Current supported filetype extensions are: .bmp, .gif, .ico, jpeg, .jpg, .png, .tga, .tiff, .webp, .pdf, and .svg

πŸš€ GitHub Action

See the associated GitHub Action in the following repository: thumbnails-readme-action.

πŸ’‘ How does it work?

In the first step the program finds graphical material in your directories:

  • ['fig1.pdf', 'fig2.pdf', 'fig3.pdf', 'fig4.pdf']

In the second step the program generates thumbnails for each material identified in folders.

2023-01-05 10_54_06-000245

In the third step the program appends thumbnails to the README file.

thumbnails-readme-md-image

πŸ“¦ Installation

To install thumbnails-readme with pip, use:

pip install thumbnails-readme

To install thumbnails-readme directly from the source code, use:

$ git clone https://github.com/firefly-cpp/thumbnails-readme.git
$ cd thumbnails-readme
$ poetry build
$ python setup.py install

To install thumbnails-readme on Alpine Linux, please use:

$ apk add py3-thumbnails-readme

To install thumbnails-readme on Arch Linux, use an AUR helper:

$ yay -Syyu python-thumbnails-readme

πŸ”— Additional dependencies

Windows

Windows users have to download poppler for Windows. Add poppler path in your Python file (see the main example).

poppler_path = path/to/your/poppler/bin/

For example: poppler_path = C:/Program Files/poppler-0.68.0/bin

Linux

Linux's users can install poppler-utils from the main repositories.

πŸ““ Examples

Examples of Usage

# Maximum thumbnail size - lower the number, smaller the thumbnail
MAX_SIZE = (128, 128)

# PDF quality, lower the number, lower the quality
pdf_quality = 15

# Skiplist - which directories to ignore
skiplist = (
  ".git",
)

# Path to your directory
path = os.getcwd()
path = os.path.dirname(path)

# Path to the folder, you want new thumbnails to be placed in
path_to_thumbnails_folder = Path(path + "/image_thumbnails")

# Path to README.md file to be written to
path_to_readme = Path(path + "/README.md")

Run the script

# Prepare thumbnails folder (check if exists, delete old thumbnails and create new ones)
thumbnails_readme.prepare_thumbnails_folder(path_to_thumbnails_folder)

# Prepare README.md file (check if exists, delete last modifications and place newly generated ones)
thumbnails_readme.prepare_readme(path_to_readme)

# Generate thumbnails
thumbnails_readme.crawl(path, path_to_readme, path_to_thumbnails_folder, MAX_SIZE, pdf_quality, skiplist, poppler_path)

πŸ“‚ Use Cases

πŸ”‘ License

This package is distributed under the BSD-3-Clause license. This license can be found online at http://www.opensource.org/licenses/bsd-3-clause/.

Disclaimer

This framework is provided as-is, and there are no guarantees that it fits your purposes or that it is bug-free. Use it at your own risk!

πŸ“· Thumbnails

example-long example-pdf example-svg