nepada / meta-control
Nette 控件,用于管理 HTML 头部的元数据。
v1.5.0
2023-09-28 17:59 UTC
Requires
- php: >=8.1.0 <8.4
- nette/application: ^3.1.4@dev
- nette/utils: ^3.2@dev || ^4.0@dev
Requires (Dev)
- composer-runtime-api: ^2.0
- composer/semver: 3.4.0
- nepada/coding-standard: 7.11.0
- nepada/phpstan-nette-tester: 1.1.0
- nette/tester: 2.5.1
- php-parallel-lint/php-parallel-lint: 1.3.2
- phpstan/phpstan: 1.10.32
- phpstan/phpstan-nette: 1.2.9
- phpstan/phpstan-strict-rules: 1.5.1
- shipmonk/phpstan-rules: 2.7.0
- spaze/phpstan-disallowed-calls: 2.16.0
README
安装
通过 Composer 安装
$ composer require nepada/meta-control
使用方法
首先在配置中注册控制工厂,并可选地设置默认元数据
services: - implement: Nepada\MetaControl\MetaControlFactory setup: - setCharset('utf-8') - setAuthor('Jon Doe')
在您的展示器中使用控制工厂
protected function createComponentMeta(): Nepada\MetaControl\MetaControl { $control = $this->metaControlFactory->create(); $control->setDescription('Lorem ipsum'); return $control; }
并在您的 Latte 模板中渲染它
<html> <head> {control meta} </head> <body> ... </body> </html>
支持的元标签概述
字符集
// <meta charset="utf-8"> $control->setCharset('utf-8'); $control->getCharset(); // 'utf-8'
文档元数据
// <meta name="author" content="John Doe"> $control->setMetadata('author', 'Jon Doe'); $control->getMetadata('author'); // 'Jon Doe'
文档属性
// <meta property="og:title" content="Foo title"> $control->setProperty('og:title', 'Foo title'); $control->getProperty('og:title'); // 'Foo title'
Pragma 指令
// <meta http-equiv="content-type" content="text/html; charset=UTF-8"> $control->setPragma('content-type', 'text/html; charset=UTF-8'); $control->getPragma('content-type'); // 'text/html; charset=UTF-8'
标准元数据的缩写
作者
// <meta name="author" content="John Doe"> $control->setAuthor('Jon Doe'); $control->getAuthor(); // 'Jon Doe'
描述
// <meta name="description" content="Lorem ipsum"> $control->setDescription('Lorem ipsum'); $control->getDescription(); // 'Lorem ipsum'
关键词
// <meta name="keywords" content="foo, bar, baz"> $control->setKeywords('foo', 'bar'); $control->addKeyword('baz'); $control->getKeywords(); // ['foo', 'bar', 'baz']
机器人
// <meta name="robots" content="noindex, nofollow"> $control->setRobots('noindex, nofollow'); $control->getRobots(); // 'noindex, nofollow'