Skip to main content

Pelican plugin that vouches for human web sites

Project description

Human: A Plugin for Pelican

Build Status PyPI Version Downloads License

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.json is 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pelican_human-0.1.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pelican_human-0.1.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

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

Hashes for pelican_human-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0c68b9df493349ba2ca888822d08bde591197bdec985829ff8e4321f0fc78026
MD5 97ddf578a3c3449c0ae302f4b935156a
BLAKE2b-256 fc45728dd91b2ea885561c4615cb33d2e9e51943a69af0c8ed1b63ee288b0bb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pelican_human-0.1.0.tar.gz:

Publisher: main.yml on pelican-plugins/human

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for pelican_human-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35b89e81ed0bf5db490faed3aaed1e32fcc4a596869e8d8c9d513a65f5d904af
MD5 5b67d494fec25d267e1287fe0ffd13d0
BLAKE2b-256 8210852311ed55232c07a38427d6f594ca054219a208271d40379b2946693b6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for pelican_human-0.1.0-py3-none-any.whl:

Publisher: main.yml on pelican-plugins/human

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page