{"id":15660470,"url":"https://github.com/bnomei/kirby3-htmlhead","last_synced_at":"2025-08-21T12:30:36.717Z","repository":{"id":37587568,"uuid":"142353503","full_name":"bnomei/kirby3-htmlhead","owner":"bnomei","description":"Kirby Plugin for a best-practice HTML Head Element extendable with snippets","archived":false,"fork":false,"pushed_at":"2024-11-30T09:57:19.000Z","size":336,"stargazers_count":22,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-10T01:41:06.243Z","etag":null,"topics":["accessibility","best-practice","fluent","head","html5","kirby","kirby-cms","kirby-plugin","meta-tags","rss-feed"],"latest_commit_sha":null,"homepage":"https://forum.getkirby.com/t/kirby3-htmlhead-best-practice-html-head-element-extendable-with-snippets/23585","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bnomei.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"bnomei","patreon":"bnomei","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://buymeacoff.ee/bnomei","https://paypal.me/bnomei"]}},"created_at":"2018-07-25T21:00:27.000Z","updated_at":"2024-12-01T21:06:47.000Z","dependencies_parsed_at":"2024-10-03T13:22:05.577Z","dependency_job_id":"55a1a58f-a936-455b-9eb3-f8abc8e98fff","html_url":"https://github.com/bnomei/kirby3-htmlhead","commit_stats":{"total_commits":121,"total_committers":4,"mean_commits":30.25,"dds":"0.36363636363636365","last_synced_commit":"8d4551f8dd455b25ad874dd0cb23776873b9a69c"},"previous_names":[],"tags_count":50,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnomei%2Fkirby3-htmlhead","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnomei%2Fkirby3-htmlhead/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnomei%2Fkirby3-htmlhead/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bnomei%2Fkirby3-htmlhead/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bnomei","download_url":"https://codeload.github.com/bnomei/kirby3-htmlhead/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230511479,"owners_count":18237657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["accessibility","best-practice","fluent","head","html5","kirby","kirby-cms","kirby-plugin","meta-tags","rss-feed"],"created_at":"2024-10-03T13:21:52.903Z","updated_at":"2025-08-21T12:30:36.692Z","avatar_url":"https://github.com/bnomei.png","language":"PHP","funding_links":["https://github.com/sponsors/bnomei","https://patreon.com/bnomei","https://buymeacoff.ee/bnomei","https://paypal.me/bnomei","https://www.buymeacoffee.com/bnomei"],"categories":[],"sub_categories":[],"readme":"# Kirby HTMLHead\n\n[![Kirby 5](https://flat.badgen.net/badge/Kirby/5?color=ECC748)](https://getkirby.com)\n![PHP 8.2](https://flat.badgen.net/badge/PHP/8.2?color=4E5B93\u0026icon=php\u0026label)\n![Release](https://flat.badgen.net/packagist/v/bnomei/kirby3-htmlhead?color=ae81ff\u0026icon=github\u0026label)\n![Downloads](https://flat.badgen.net/packagist/dt/bnomei/kirby3-htmlhead?color=272822\u0026icon=github\u0026label)\n[![Coverage](https://flat.badgen.net/codeclimate/coverage/bnomei/kirby3-htmlhead?icon=codeclimate\u0026label)](https://codeclimate.com/github/bnomei/kirby3-htmlhead)\n[![Maintainability](https://flat.badgen.net/codeclimate/maintainability/bnomei/kirby3-htmlhead?icon=codeclimate\u0026label)](https://codeclimate.com/github/bnomei/kirby3-htmlhead/issues)\n[![Discord](https://flat.badgen.net/badge/discord/bnomei?color=7289da\u0026icon=discord\u0026label)](https://discordapp.com/users/bnomei)\n[![Buymecoffee](https://flat.badgen.net/badge/icon/donate?icon=buymeacoffee\u0026color=FF813F\u0026label)](https://www.buymeacoffee.com/bnomei)\n\nKirby Plugin for a best-practice HTML Head Element extendable with snippets.\n\n## Installation\n\n- unzip [master.zip](https://github.com/bnomei/kirby3-htmlhead/archive/master.zip) as folder\n  `site/plugins/kirby3-htmlhead` or\n- `git submodule add https://github.com/bnomei/kirby3-htmlhead.git site/plugins/kirby3-htmlhead` or\n- `composer require bnomei/kirby3-htmlhead`\n\n## Usage\n\nUse the `htmlhead()` helper to add meta tags, link tags, script tags, etc. to the head of your HTML document. The helper performs a little bit of magic and is actually calling regular Kirby snippets. This way, you can mix and match the helper with your own snippets.\n\n\u003e [!TIP]\n\u003e The order of the tags in the code example is based on best practices. You might want to stick to it as closely as possible and append your own at the end.\n\n```php\n\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n    \u003chead\u003e\n        \u003c?= htmlhead()\n            -\u003erecommended_minimum()\n            -\u003etitle()\n            -\u003ebase()\n            // -\u003elink_preconnect(...)\n            -\u003escript_js_async(['/assets/app-async.js'])\n            -\u003escript_js(['/assets/app.js'])\n            -\u003elink_css(['/assets/app.css'])\n            // -\u003elink_a11ycss()\n            // -\u003elink_csswizardry_ct()\n            // -\u003elink_preload(...)\n            // -\u003escript_js_defer(['/assets/app-defer.js'])\n            // -\u003elink_prefetch(...)\n            // -\u003elink_prerender(...)\n            // -\u003elink_canonical(...)\n            // -\u003elink_alternates(...)\n            -\u003emeta_robots()\n            -\u003emeta_author(site()-\u003eauthor())\n            -\u003emeta_description($page-\u003eseoDesc())\n            -\u003emeta_opengraph(description: $page-\u003eseoDesc())\n            -\u003elink_feedrss()\n            // site/snippets/my-snippet.php\n            -\u003emy_snippet(['key' =\u003e 'value'])\n        ?\u003e\n    \u003c/head\u003e\n    \u003cbody\u003e\n        \u003c!-- ... --\u003e\n    \u003c/body\u003e\n\u003c/html\u003e\n```\n\n## Resources\n\n- https://htmlhead.dev\n- https://csswizardry.com/ct/\n- https://x.com/csswizardry/status/1440710328266858500\n- https://speakerdeck.com/csswizardry/get-your-head-straight?slide=39\n\n## Disclaimer\n\nThis plugin is provided \"as is\" with no guarantee. Use it at your own risk and always test it yourself before using it\nin a production environment. If you find any issues,\nplease [create a new issue](https://github.com/bnomei/kirby3-htmlhead/issues/new).\n\n## License\n\n[MIT](https://opensource.org/licenses/MIT)\n\nIt is discouraged to use this plugin in any project that promotes racism, sexism, homophobia, animal abuse, violence or\nany other form of hate speech.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbnomei%2Fkirby3-htmlhead","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbnomei%2Fkirby3-htmlhead","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbnomei%2Fkirby3-htmlhead/lists"}