私がすることは、スタッシュまたはプラグインを使用して変数を保存することです。スタッシュはプラグインのようなものですが、データを保存すること以外は何もせず、グローバル構成とdist.ini
.
[%Vars]
favorite_pie = pumpkin
次に、次のようにそれらを取得できます。
$zilla->stash_named('%Vars')->favorite_pie
これは、Dist::Zilla::Stash::Vars を作成し、それに favorite_pie 属性を与えたことを前提としています。
ただし、何でもキーとして受け入れる、完全に一般的なスタッシュを作成することはできます。そのために、Dist::Zilla::Plugin::Prereqs のソースを調べます。これは、任意の構成オプションを許可し、BUILDSARGS
メソッドのハッシュ属性にそれらを押し込みます。
その Dist::Zilla::Stash::Generic を作成し、さまざまな理由で必要な回数だけ登録できます。
[%Generic / Pies]
favorite = pumpkin
hated = rhubarb
firstever = quince
[%Generic / Passwords]
pause = PeasAreDelicious
google = secret
reddit = SecretPeasAreDelicious
...そして、必要に応じて、テンプレートで...
{{ $zilla->stash_named('Passwords')->get_var('pause' }}
この種の一般的なものを使用するファイルをたくさん作成している場合は、 Text::Template インスタンスに次のget_password
ように呼び出されるクロージャを渡します。
get_password => sub { $zilla->stash_named('Passwords')->get_var($_[0]) }
次に、テンプレートに次を含めることができます。
Login with: {{ get_password("pause") }}
この回答は明らかにソースの掘り下げを残していますが、あなたが望むことを行うために使用するすべての部分を指摘する必要があると思います.