メニュー

具体例:プラグインのブループリント

プラグインのブループリントは、そのプラグインがどのようなものかを Grav に知らせます。
ソースや、サポート、作成者などの情報のほか、依存関係、管理パネルで使うフォームの設定なども知らせます。

具体例として、次のようなプラグインのブループリントを使います:

name: Assets
slug: assets
type: plugin
version: 1.0.4
description: "This plugin provides a convenient way to add CSS and JS assets directly from your pages."
icon: list-alt
author:
  name: Team Grav
  email: devs@getgrav.org
  url: https://getgrav.org
homepage: https://github.com/getgrav/grav-plugin-assets
demo: https://learn.getgrav.org
keywords: assets, javascript, css, inline
bugs: https://github.com/getgrav/grav-plugin-assets/issues
license: MIT

dependencies:
  - { name: afterburner2 }
  - { name: github }
  - { name: email, version: '~2.0' }

リソースの識別に使える異なるプロパティがあります。
いくつかは 必須 で、それ以外は オプション です。

プロパティ説明
name*リソース名です。Plugin か Theme かを付ける必要はありません。
slug*リソースに対する一意の識別子です。また、リソースが保存されているフォルダ名を決定するためにも使われます(例: user/plugins/slug
type*リソースのタイプです。 plugin か、 theme のいずれかです。
version*リソースのバージョンです。この値は、リリースごとに、常に増加すべきです。また、標準的な セマンティックバージョニング に従うべきです。
description*リソースの説明です。 200 文字を超えないでください。説明は短く、的を射たものとしてください。必要であれば markdown 構文が使えます。クオテーションマークで囲むのも良い考えです。
icon*Icon は、 getgrav.org で使われます。現時点では、 Font Awesome ライブラリのアイコンを使っており、もし新たなプラグインやテーマを開発するなら、これまで使われていないアイコンを選んでください。そうしないと、私達がかわりに変更しなければならなくなります。
screenshot(オプション) スクリーンショットは、 テーマ のときのみ有効化され、 プラグイン では無視されます。テーマの場合、これはテーマに付属するスクリーンショットのファイル名(デフォルト: screenshot.jpg )となります。テーマのルートフォルダに、 screenshot.jpg 画像があるとき、このプロパティを省略できます。わたしたちのリポジトリが、自動的にそれをピックアップします。
author.name*開発者のフルネーム
author.email(オプション) 開発者のeメール
author.url(オプション) 開発者のホームページ
homepage(オプション) リソース専用のホームページがある場合は、ここに入力してください。
docs(オプション) リソースのドキュメントがある場合は、ここにリンクを張ってください。
demo(オプション) リソースのデモサイトがある場合は、ここにリンクを張ってください。
guide(オプション) リソースのチュートリアルやハウツーガイドがある場合は、ここにリンクを張ってください
keywords(オプション) まだキーワードが使われるところはありませんが、リソースに関係するキーワードをここにカンマ区切りで列挙してください。
bugs(オプション) バグ報告先の URL です。しばしば、 GitHub issues リンクとなります。
license(オプション) リソースのライセンスのタイプ(MIT, GPL, など)です。リソースには、常に LICENSE ファイルを提供することをおすすめします。
dependencies(オプション) リソースの依存関係のリストです。デフォルトの処理では、 GPM を使ってインストールしますが、GIT リポジトリの URL をオプションで設定すると、リポジトリから直接インストールすることもできます。また、配列を使うときは、 Composerスタイルのパッケージバージョン を使用して、名前とバージョンを明示的に定義することができます。
gpm(オプション) GPM からアップデートするかどうかです。 false とすると、non-GPM リソースとして、GPM アップデートできません

[!Info]
dependencies では、プラグインやテーマの blueprints.yaml にある slug プロパティで定義された名前を使わなければいけないことに注意してください。

以下は、 GitHub plugin のブループリントの識別子部分の例です:

name: GitHub
slug: github
type: plugin
version: 1.0.1
description: "This plugin wraps the [GitHub v3 API](https://developer.github.com/v3/) and uses the [php-github-api](https://github.com/KnpLabs/php-github-api/) library to add a nice GitHub touch to your Grav pages."
icon: github
author:
  name: Team Grav
  email: devs@getgrav.org
  url: https://getgrav.org
homepage: https://github.com/getgrav/grav-plugin-github
keywords: github, plugin, api
bugs: https://github.com/getgrav/grav-plugin-github/issues
license: MIT

テーマのブループリントも、プラグインと同じように機能します。