Pelican plugin that vouches for human web sites
Project description
Human: A Plugin for Pelican
Human is a Pelican plugin that uses the human.json protocol to vouch for human web sites, creating a web of trust, as described on the project web site:
human.jsonis a light-weight protocol for humans to assert authorship of their site content and vouch for the humanity of others. It uses URL ownership as identity, and trust propagates through a crawlable web of vouches between sites.
Installation
This plugin can be installed via:
python -m pip install pelican-human
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 human to your existing PLUGINS list. For more information, please see the How to Use Plugins documentation.
Usage
First, inside your content folder, create a sub-folder called data and inside that folder create a human.toml file that should contain the humans for whom you want to vouch. For example, feel free to use the following sites to vouch for me, the very human author of this plugin: 😁
["Justin Mayer"]
url="https://justinmayer.com"
date="2026-03-22"
["Justin Mayer on the Fediverse"]
url="https://ramble.space/@justin"
date="2026-03-22"
["Justin Mayer on GitHub"]
url="https://github.com/justinmayer"
date="2026-03-22"
["Abstractions Podcast"]
url="https://shows.arrowloop.com/@abstractions"
date="2026-03-22"
["Hacker Codex"]
url="https://hackercodex.com"
date="2026-03-22"
When Pelican generates your web site, this plugin will extract the URL and date information from the aforementioned TOML file and save it in the human.json format in your output folder.
The second step is to add a link (relative or absolute) to that generated human.json file inside your Pelican theme’s base template:
<link rel=human-json href=/human.json>
That’s it — just those two steps!
Vouch from the Command Line
This plugin includes a vouchfor command that makes it easy to add entries to your human.toml file without having to edit it by hand. Run it without arguments to be prompted for a URL and an optional name for the link.
You can pass a URL as a positional argument…
vouchfor https://justinmayer.com
… or explicitly via the --url option flag:
vouchfor --url https://justinmayer.com
You can also specify a name for the entry via --name:
vouchfor https://justinmayer.com --name "Justin Mayer"
Run vouchfor --help for the full list of options. Happy vouching! 🌟
Troubleshooting
Add the --verbose option to your pelican invocation in order to see if there are any INFO-level messages related to this plugin.
Note that this plugin will use your SITEURL setting to determine the canonical URL of your site, which is a required field in human.json. In order to avoid generating an invalid human.json file, the plugin will not generate it if SITEURL is an empty string or does not contain a valid URL. So if you don’t see a human.json file after your site is generated, that may be because you need to explicitly specify the settings file that contains your production SITEURL (for example, via: pelican --settings publishconf.py content).
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.
License
This project is licensed under the AGPL-3.0 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 pelican_human-0.1.0.tar.gz.
File metadata
- Download URL: pelican_human-0.1.0.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c68b9df493349ba2ca888822d08bde591197bdec985829ff8e4321f0fc78026
|
|
| MD5 |
97ddf578a3c3449c0ae302f4b935156a
|
|
| BLAKE2b-256 |
fc45728dd91b2ea885561c4615cb33d2e9e51943a69af0c8ed1b63ee288b0bb2
|
Provenance
The following attestation bundles were made for pelican_human-0.1.0.tar.gz:
Publisher:
main.yml on pelican-plugins/human
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pelican_human-0.1.0.tar.gz -
Subject digest:
0c68b9df493349ba2ca888822d08bde591197bdec985829ff8e4321f0fc78026 - Sigstore transparency entry: 1155301989
- Sigstore integration time:
-
Permalink:
pelican-plugins/human@14d1680ab34d9b03fdb7fcff6693410e5a0439a6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/pelican-plugins
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@14d1680ab34d9b03fdb7fcff6693410e5a0439a6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pelican_human-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pelican_human-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35b89e81ed0bf5db490faed3aaed1e32fcc4a596869e8d8c9d513a65f5d904af
|
|
| MD5 |
5b67d494fec25d267e1287fe0ffd13d0
|
|
| BLAKE2b-256 |
8210852311ed55232c07a38427d6f594ca054219a208271d40379b2946693b6c
|
Provenance
The following attestation bundles were made for pelican_human-0.1.0-py3-none-any.whl:
Publisher:
main.yml on pelican-plugins/human
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pelican_human-0.1.0-py3-none-any.whl -
Subject digest:
35b89e81ed0bf5db490faed3aaed1e32fcc4a596869e8d8c9d513a65f5d904af - Sigstore transparency entry: 1155301990
- Sigstore integration time:
-
Permalink:
pelican-plugins/human@14d1680ab34d9b03fdb7fcff6693410e5a0439a6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/pelican-plugins
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
main.yml@14d1680ab34d9b03fdb7fcff6693410e5a0439a6 -
Trigger Event:
push
-
Statement type: