1

モジュールを使用するスクリプトJekyllによって使用されるいくつかのテンプレート ページを生成したいと思います。Jekyll に HTML::Template のタグをそのままにして、それらを完全に無視させることは可能ですか?PerlHTML::Template Perl

例えば:

<tr>             <td>Name:               </td>  <td><TMPL_VAR NAME=NAME> </td> </tr>
<tr class="alt"> <td>Email:              </td>  <td><TMPL_VAR NAME=EMAIL></td> </tr>

ページをビットだけ残した .html ファイルとしてレンダリングしたいのですが<TMPL_VAR NAME=...>、後でバックエンドPerlスクリプトがこのファイルをテンプレート ファイルとして使用し、ビットがある場所を埋めます<TMPL_VAR NAME=...>

4

2 に答える 2

2

ソースページに .html 拡張子を付けて作成することにより、HTML (標準および Perl HTML::Template セットの両方) をそのままにしておくことができます。これを行うと、jekyll (少なくとも 0.11.2 以降) はソース HTML をいじることはありません。YAML の front matter と drop in Liquid タグを引き続き使用できます。たとえば、これは拡張子が .html のソース ファイルとして機能します。

---
layout: default
title: This is the post title
categories: ["miscellaneous"]
---

{{ page.title }}

<table>
<tr>             <td>Name:  </td>  <td><TMPL_VAR NAME=NAME> </td> </tr>
<tr class="alt"> <td>Email: </td>  <td><TMPL_VAR NAME=EMAIL></td> </tr>
</table>

そこから、HTML::Template タグをそのままにして、二次処理に渡すことができます。

于 2012-07-07T23:27:46.773 に答える
1

私がstackoverflowで尋ねて答えた別の質問から学んだことを使用すると、これらはあなたの3つの選択肢のようです. そのうちの 1 つ@Alan W. Smithも、この質問への回答で出くわしました。

オプション #1: -HTML::Templateと呼ばれるスイッチがありvanguard_compatibility_modeます ...perldocs から

vanguard_compatibility_mode - 1 に設定すると、モジュールは標準構文に加えて %NAME% のような s を期待します。また、die_on_bad_params => 0 を設定します。Vanguard Media 以外で古い形式のテンプレートを使用しようとしている場合は、これについて心配する必要はありません。デフォルトは 0 です。

オプション #2 -HTML::Template次のように、コードが HTML に準拠するように、コメント ブロックにテンプレート タグを埋め込むこともサポートします。<!-- TMPL_NAME NAME=FNAME -->

再び perldocs から:

有効な HTML が大好きで、テンプレートを有効な HTML 構文に準拠させたい場合は、必要に応じて HTML コメントの形式でテンプレート タグを入力できます。これは、HTML::Template 処理の前にテンプレートの HTML 構文を検証したい HTML 作成者や、DTD に精通した編集ツールを使用する HTML 作成者にとって役立つかもしれません。

<!-- TMPL_VAR NAME=PARAM1 -->

die_on_bad_params => 0この 2 番目のオプションは、コンストラクターに設定するまで、最初は機能しませんでした。

オプション #3: Jekyllファイルの名前を.md(markdown) から.html(vanilla html) に変更します。このオプションは、Jekyll がXML パーサーとしてReXMLを使用することに関連しています。よくわかりませんが、 ReXML の使用から Nokogiri に切り替えた場合もこの問題を回避できると思いますが、この方法でJekyllを再構成することさえできるかどうかは完全にはわかりません。

結論: Jekyll内でファイルを使用する能力を制限しないことを考えると、最終的にはオプション #2を使用するのが最適だと思います。.md

于 2012-07-08T16:14:07.200 に答える