omz13 / kirby3-byline
kirby3 插件,提供字段方法以生成作者署名
Requires
- php: >=7.1
- getkirby/composer-installer: ^1.1
Requires (Dev)
- getkirby/cms: ^3.0.1
- jakub-onderka/php-parallel-lint: ^1.0
- localheinz/composer-normalize: ^0.8.0
- omz13/omz13-coding-standard: dev-master
- phpmd/phpmd: ^2.6
- phpstan/phpstan: ^0.10.7
- phpstan/phpstan-strict-rules: ^0.10.1
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2022-12-23 00:31:42 UTC
README
要求: Kirby 3.0
咖啡、啤酒等。
此插件免费,但如果您将其用于商业项目以示支持,欢迎
目的
这是一个为 kirby3 提供字段方法以轻松生成署名的插件。多个作者会被转换为逗号分隔的列表,作者名字可以链接到他们的网站或任何东西,并且提供本地化支持。
- 它可以处理包含单个作者或一个结构化(yaml)列表的一个或多个作者的字段。
- 在生成署名时,它会在最后条目之间添加分隔符(通常是逗号)和协调者(通常是“和”),这些在
fr
、de
、el
、es
、it
、nl
、sv
和zh
中进行了本地化。 - 可以在署名前加上“By”,这同样进行了本地化。
- 对于作者,可以将其名字包裹成链接到他们的网站、twitter 账号或instagram(如用户页面上设置的那样,如果有合适的字段,分别对应于
website
、twitter
、instagram
)。 - 如果作者字段为空,则提供默认归属(
Staff Writer
);参看config.php
中的author
。
安装
按照常规方式安装到您的 kirby 3 网站中。
对于基于 composer 的网站,可以从 packagist 安装。
配置
config.php
在您的网站 site/config/config.php
中,可以使用以下带有 omz13.byline.
前缀的条目
author
- 可选 - 字符串 - 默认'Staff Writer'
- 当作者未知时使用的名称。
字段方法
byline
此插件提供了一个名为 byline
的字段方法,该方法应该传递一个包含作者或作者的字段;传递的字段可以是简单字段或结构化字段,并且它将自动处理这两种情况。
如果有多个作者,它将返回一个逗号分隔的作者名字列表。
对于单个作者,它将返回作者的名字。
如果作者信息缺失,它将返回 "Staff Writer"
(或已通过配置选项 author
指定的内容)。
此字段方法旨在在 蓝图 中使用,例如
info: "{{ page.author.byline }} - {{ page.date('Y-m-d') }}"
bylineLinked
该字段方法与byline
字段方法类似,只不过每个作者的名字都被包裹在一个HTML链接中,链接到他们的(优先顺序为)网站、Twitter或Instagram(由用户蓝图中的website
、twitter
或instagram
字段决定)。
bylineLinked
字段方法旨在用于模板或片段。
<?= $page->author()->bylineLinked() ?>
例如,对于Kirby 入门套件,你需要在snippets/article
中更改以下行:
<?php if ($author = $article->author()->toUser()): ?> <p class="article-author">By <?= $author->name() ?></p> <?php endif ?>
到
<p class="article-author">by <?= $article->author()->bylineLinked() ?></p>
bylineBy
这与byline
相同,但结果以"By"(或其本地化版本)开头。
bylineByLinked
这与bylineLinked
相同,但结果以"By"(或其本地化版本)开头。
示例
<p class="article-author"><?= $article->author()->bylineByLinked() ?></p>
免责声明
此插件提供“原样”且无任何保证。使用时自行承担风险,并在生产环境中使用之前始终自行测试。如果您发现任何问题,请创建一个新问题。