locomotivemtl / charcoal-contrib-search
Charcoal 搜索模块。
0.3.2.3
2024-06-10 16:04 UTC
Requires
- php: >=7.0
- guzzlehttp/guzzle: ^6.0 || ^7.0
- locomotivemtl/charcoal-contrib-sitemap: >=0.2
Requires (Dev)
- php-coveralls/php-coveralls: ^2.2
- phpunit/phpunit: ^7.1
- squizlabs/php_codesniffer: ^3.5
README
A Charcoal service provider with my cool feature.
目录
安装
首选(也是唯一支持)的方法是使用 Composer
$ composer require locomotivemtl/charcoal-contrib-search
依赖项
必需
- PHP 5.6+: 推荐使用 PHP 7。
- guzzlehttp/guzzle: 6 或 7
- charcoal-admin: >=0.14
- charcoal-contrib-sitemap: >=0.1.5
配置
在你的项目配置文件中,需要引入搜索模块
{ "modules": { "charcoal/search/search": {} } }
用法
该模块使用 GET 添加了一个 search
路由操作。你可以通过 http://project-url.com/search?keyword=[keyword] 访问。除非你运行 IndexContent 脚本,否则不会得到任何结果。
在运行脚本之前,你需要设置
// Once a day at midnight
// You need to precise the base URL as it won'T be provided by the cli
0 0 * * * cd /[project]/web && /usr/local/bin/php /[project]/web/vendor/bin/charcoal admin/search/index-content -u http://project-url.com/
要索引的每个 sitemap 对象必须包含 data.id
和 data.objType
才能被索引
{ "sitemap": { "xml": { "l10n": true, "check_active_routes": true, "relative_urls": false, "objects": {…} }, "searchables": { "l10n": true, "check_active_routes": true, "relative_urls": false, "transformer": "charcoal/search/transformer/indexable", "objects": { "app/object/section": { "filters": {…}, "data": { "id": "{{id}}", "objType": "{{objType}}" } }, … } } } }
参数
-u
(--url
) 网站URL。由于这是在 cron 脚本中运行的,因此是必需的。-c
(--config
) Sitemap 构建器键(默认为xml
)。-n
(--no_index_class
) 过滤掉爬取页面内容的类。默认为php-no_index
。-i
(--index_element_id
) 要索引的爬取页面的元素 ID。默认为整个页面主体。
开发
API 文档
- 自动生成的
phpDocumentor
API 文档可在以下位置找到:
https://locomotivemtl.github.io/charcoal-contrib-search/docs/master/ - 自动生成的
apigen
API 文档可在以下位置找到:
https://codedoc.pub/locomotivemtl/charcoal-contrib-search/master/
开发依赖项
- [php-coveralls/php-coveralls][phpcov]
- [phpunit/phpunit][phpunit]
- [squizlabs/php_codesniffer][phpcs]
编码风格
charcoal-contrib-search 模块遵循 Charcoal 编码风格
- PSR-1
- PSR-2
- PSR-4,因此自动加载由 Composer 提供。
- phpDocumentor 注释。
- phpcs.xml.dist 和 .editorconfig 用于编码标准。
可以使用
composer phpcs
执行编码风格验证/强制执行。还有一个自动修复器,可以使用composer phpcbf
。
致谢
许可
Charcoal 根据 MIT 许可证授权。有关详细信息,请参阅 LICENSE。