Download the PHP package sayamaapps/kirby-annai without Composer

On this page you can find all versions of the php package sayamaapps/kirby-annai. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package kirby-annai

Annai

Search-engine and AI-agent output for Kirby CMS 5: robots.txt, sitemap.xml, llms.txt, JSON-LD and meta tags.

Annai builds these from the site's own content, so they cannot drift from the pages. The files are served at runtime and name the current domain. The plugin has no styling and processes no visitor data.

Features

Requirements

Installation

Composer installs to site/plugins/annai/. Add that path to .gitignore and deploy it like vendor/. Without Composer, no phone numbers are published.

Usage

A German site without a Kirby locale needs annai.language, or llms.txt says "Contact".

In the layout's <head>, replace the hand-written meta tags with:

It prints the title, meta description, robots, canonical, hreflang, Open Graph and JSON-LD. Use snippet('annai/head', ['title' => false]) if the site prints its own title. To change the output, copy the snippet to site/snippets/annai/head.php.

Content fields. Annai reads these from the site, or from the business page (annai.location, Noren's location, else the first betrieb page; an empty field falls back to the site): marke (brand), zusatz (tagline), beschreibung (description), einleitung (intro), strasse, plz, ort, telefon, fax, email, and profiles (instagram, facebook, added to sameAs). Rename them with annai.fields.

A phone field holds only the number, such as 030 / 34567000, which is published as E.164 (+493034567000). A label or note in it publishes nothing, and the check reports it.

Hooks. Closure options (see Options) can replace Annai's values. A throwing hook is logged and Annai's own value is used; a throwing exclude.pages hook excludes the page. For example:

robots.txt and AI agents

annai.robots.ai is a preset: null (default, no AI rules), 'blockTraining' (training crawlers get Disallow: /) or 'allowAll'. Presets never block user and search agents. Override single agents with annai.robots.agents. The known agents and their roles are in docs/reference.md.

A / in annai.disallow closes the site for everyone.

Sitemap, llms.txt and preview

Check tool

Run it before go-live. It reports each page, the robots, sitemap, llms.txt and phone findings, and makes no HTTP requests:

Pass the production --url; options are --page=ID and --json. Exit codes: 0 no problems, 1 problems or robots warnings, 2 usage error or Annai off, 3 Kirby could not boot. The problem list is in docs/reference.md.

Upgrading

Coming from site/plugins/suchmaschinen, in one deploy: remove that plugin and any static robots.txt, sitemap.xml or llms.txt in public/, and set annai.active. Replace snippet('strukturdaten') and the head lines of your layout with snippet('annai/head'). A live site keeps its business @id with 'annai.entityId' => 'betrieb'. Renamed options: see the rename table.

Options

Write options flat ('annai.robots.ai') or nested under 'annai'. null means unset. Broken values are logged and the default is used; with Kirby's debug option on, they throw.

Option Default Meaning
active false Master switch (only a real true)
language site language en or de for llms.txt
fields German names Rename content fields
location null Business page id, or Closure(): ?Page
locationTemplate 'betrieb' Business page template, without location and Noren
noren true Use Noren's opening hours
koyomi true Use Koyomi's upcoming events
type 'LocalBusiness' schema.org type; false for none
entityId 'business' Business @id fragment
area null Noren area with the main hours
sameAs [] Profile URLs (http(s)), or Closure(): list
geo null ['lat' => …, 'lng' => …]
action null ['type', 'name', 'target'], or Closure(): ?array
labels [] Own plugin texts by key
image null Share image: path, URL, array, or Closure(Page)
country 'DE' addressCountry
phoneCountry '49' Country code for national numbers
title null Closure(Page, array $facts): string
description null Closure(Page, array $facts): string
descriptionLength 155 Meta description length, 20 to 320
descriptionFallback false Fall back to page and site description when the intro is short
canonical null Closure(Page): string
locale null og:locale, e.g. de_DE
twitterCard null 'summary' or 'summary_large_image'
noindex null null automatic (Sudare), true hides, false never
noindexExcluded true noindex, follow for pages left out of the sitemap
hreflang false hreflang links and sitemap alternates
exclude.templates ['error'] Templates left out of sitemap, llms.txt and check
exclude.pages [] Page ids with subpages, or Closure(Page): bool
disallow ['/panel'] Disallow: paths in the * group; / closes the site
robots.ai null AI preset: 'blockTraining' or 'allowAll'
robots.agents [] Per-agent overrides, e.g. ['GPTBot' => false]
robots.extra [] Raw robots.txt lines
sitemap.lastmod true Emit <lastmod>
sitemap.chunk 50000 URLs per sitemap file, 1 to 50000
sitemap.extra null Extra URLs, or Closure(): list
jsonld null Closure(Page, array $nodes, array $facts): array
llms.optional [] Templates listed under "Optional"
llms.extra null Closure(array $model, array $facts): array
timezone 'Europe/Berlin' Time zone of <lastmod> offsets

Privacy

Annai sets no cookies, uses no browser storage and makes no request to third parties. robots.txt, sitemap.xml and llms.txt are public: put nothing into disallow, robots.extra or sitemap.extra that you would not publish.

Tests: composer test. Issues and pull requests are welcome, without a support promise. Report security problems privately through GitHub's vulnerability reporting. Changes: CHANGELOG.md.

License

MIT, see LICENSE.


All versions of kirby-annai with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-mbstring Version *
ext-json Version *
getkirby/composer-installer Version ^1.2
giggsey/libphonenumber-for-php-lite Version ^9.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package sayamaapps/kirby-annai contains the following files

Loading the files please wait ...