A Kirby plugin that generates a humans.txt file from a route

Maintainers

Package info

github.com/SylvainAllignol/kirby-humans

Homepage

Type:kirby-plugin

pkg:composer/sylvainallignol/humans

Statistics

Installs: 6

Dependents: 0

Suggesters: 0

Stars: 3

Open Issues: 0

1.0.4 2026-02-20 13:41 UTC

This package is auto-updated.

Last update: 2026-03-12 07:51:25 UTC


README

A Kirby CMS plugin to automatically generate a humans.txt file following the humanstxt.org standard. Manage your site's team, technologies, and credits in a simple configuration.

Features

  • Automatic /humans.txt route generation
  • Automatic "last modified" date tracking
  • Flexible configuration system with closures support
  • Clean, human-readable output following the humanstxt.org format
  • Browser cache: the generated file is cached for 24 hours via Cache-Control and Expires.
  • Works seamlessly with Kirby 3.x, 4.x, 5.x

Installation

Choose one of the following installation methods:

Via Composer (recommended)

composer require sylvainallignol/humans

Manual Installation

  1. Download the plugin
  2. Extract and copy the folder to site/plugins/
  3. Rename the folder to kirby-humans

Quick Start

1. Access the generated file

After installation, your humans.txt file is automatically available at:

https://example.com/humans.txt

2. Add the meta tag (optional)

Include the meta tag in your site's header template:

<?php snippet('humans-meta') ?>

This outputs:

<meta content="https://example.com/humans.txt" rel="author" type="text/plain">

3. Default behavior

If no configuration is provided, the plugin generates a default file with:

  • Kirby CMS version information
  • Last site modification date (auto-tracked)
  • A thank you message to Kirby

Configuration

Configure the plugin in your site/config/config.php file:

Exemple

return [
    'sylvainallignol.humans' => [
        // Team members section
        'TEAM' => [
            [
                'Name'    => 'John Doe',
                'Job'   => 'Designer',
                'Email'   => 'john [at] example.com',
                'Website' => 'https://johndoe.com',
                'Github'  => 'johndoe'
            ],
            [
                'Name'    => 'Jane Smith',
                'Job'   => 'Developer',
                'Email'   => 'jane [at] example.com',
                'Website' => 'https://janesmith.com',
                'Github'  => 'janesmith'
            ]
        ],

        // Site information
        'SITE' => [
            'Standards'   => 'HTML5, CSS3',
            'Components' => 'Kirby CMS, PHP'
        ],
        
        // Acknowledgments
        'THANKS' => 'Kirby CMS (https://getkirby.com)',
        
        // Technologies used
        'TECHNOLOGIES' => 'PHP, JavaScript, CSS3',
        
        // Custom content-only section (using numeric key)
        'Custom footer text here'
    ]
];

Helper Functions

snippet('humans-meta')

Automatically generates the humans.txt meta tag for your template.

lastModified($dateFormat)

The plugin provides a helper function lastModified($dateFormat):

lastModified('MMMM dd Y');
// returns february 8 2026

Use it in your config to dynamically populate the “Last Modified” field.

The lastModified value is cached and updated on page.update::after and page.delete::after

Generated Output

The plugin generates a file following the humanstxt.org standard format:

/* TEAM */
	Name: John Doe
	Job: Designer
	Email: john [at] example.com
	Website: https://johndoe.com
	Github: johndoe

	Name: Jane Smith
	Job: Developer
	Email: jane [at] example.com
	Website: https://janesmith.com
	Github: janesmith

/* SITE */
	Standards: HTML5, CSS3
	Components: Kirby CMS, PHP

/* THANKS */
	Kirby CMS (https://getkirby.com)

/* TECHNOLOGIES */
	PHP, JavaScript, CSS3

Custom footer text here

Output formatting rules

  • Section headers are wrapped in /* SECTION_NAME */ comments
  • Key-value pairs are indented with a tab and separated by :
  • String values are indented and displayed as-is
  • Empty sections are automatically removed

License

MIT

Credits