A plugin for generating and embedding QR codes in your blogpost
Project description
Engrave: QR Codes for Pages and Articles
Engrave is a generates QR codes for the URLs of your Pelican posts and pages.
Installation
This plugin can be installed via:
pip install lm-pelican-engrave
As long as you have not explicitly added a PLUGINS setting to your Pelican settings file, then the newly-installed plugin should be automatically detected and enabled. Otherwise, you must add engrave to your existing PLUGINS list. For more information, please see the How to Use Plugins documentation.
Usage
Engrave automatically generates QR codes for all articles and pages in your Pelican site. These QR codes are saved as SVG images in the engrave/ directory within the OUTPUT_PATH defined in your Pelican settings.
Accessing QR Codes in Templates
The generated QR code is available in the context of the content as content.engrave_qrcode. You can embed the QR code in your templates using the following syntax:
<img src="{{ content.engrave_qrcode }}">
Engrave Directory Cleanup
Before generating new QR codes, Engrave clears the engrave/ directory to ensure that no legacy QR codes remain. This aims at maintaining security and consistency. Only by latest codes are available this way.
Schema Validation
Engrave validates URL schemas to ensure security. By default, it only allows URLs with the https schema. If your site uses another schema (e.g., http or even ftp), you should add it to the allowed schemas in your Pelican settings.
Setting Allowed Schemas
To specify allowed URL schemas for QR code generation, use the ENGRAVE_ALLOWED_SCHEMES setting in your Pelican configuration file (pelicanconf.py). For example:
ENGRAVE_ALLOWED_SCHEMES = ["https", "http"]
Required Settings
- SITEURL: Ensure that
SITEURLis set in your Pelican configuration file. This setting is crucial as it forms the basis of the URLs used for QR code generation. Be sure to synchronizeENGRAVE_ALLOWED_SCHEMESwith yourSITEURLsetting to avoid any discrepancies.
Contributing
Contributions are welcome and much appreciated. Every little bit helps. You can contribute by improving the documentation, adding missing features, and fixing bugs. You can also help out by reviewing and commenting on existing issues.
To start contributing to this plugin, review the Contributing to Pelican documentation, beginning with the Contributing Code section.
Development
To set up a development environment for Engrave, follow these steps.
- Create and activate the venv:
python -m venv venv
source venv/bin/activate
- Install dependencies
python -m pip install -r requirements.txt
License
This project is licensed under the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lm_pelican_engrave-0.1.1.tar.gz.
File metadata
- Download URL: lm_pelican_engrave-0.1.1.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b18614a18e70b8bae2f3bf4ffbc2cbe8d3b771dcbb54c3e937a5566af9e3482
|
|
| MD5 |
89a5e144159099a2196b2703c22eb902
|
|
| BLAKE2b-256 |
7bd0cf49bca00397ed59a10a83b5591d01d20e659cac7fd0304c5d84f9ea3fd4
|
File details
Details for the file lm_pelican_engrave-0.1.1-py3-none-any.whl.
File metadata
- Download URL: lm_pelican_engrave-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
908c7bc44102d2dd0b3b5e4d5ca42c865f7ac2b8addf6ad057624a0121a589ef
|
|
| MD5 |
2f7825f4cc0c04d34f3f3e85796e49e0
|
|
| BLAKE2b-256 |
94d41d260837f5e9f437c48364ddc5a691de94df0a0b645f0766b70452656c8b
|