Dreamweaver の拡張: サードパーティのタグの解析をカスタマイズする
最近 Dreamweaver のプラグインを開発しているため、中国語の資料が非常に少なく、英語の資料を確認すると、私の英語は苦手です。めまい。重要な内容の一部を中国語に翻訳しなければならなかったので、読んだときはずっとすっきりした気分になりました。この抜粋は、Dreamweaver 8 に付属の「Extending Dreamweaver 8」からの抜粋です。翻訳の際には、Xiaakedao 氏の翻訳による「Dreamweaver 4 中国語ヘルプ」を参照しました。ただ、正直に言うと、ヘルプの一部がKingsoft Translationなどのソフトを使って翻訳されているのではないかと疑問を感じますが、とにかく英語より読みにくいです。
ASP、Macromedia ColdFusion、JSP、PHP などのサーバー側テクノロジは、HTML ファイルで特別な非 HTML 構文を使用し、サーバーはこれらのコードに基づいて HTML 形式のコンテンツを作成し、提供します。 Dreamweaver が非 HTML タグを検出すると、Dreamweaver はサードパーティのタグ定義ファイルを呼び出してタグを比較します。このファイルは、Dreamweaver がこれらのタグを読み取って表示する方法を指定します。
たとえば、ASP ファイルには、標準の HTML 言語に加えて、サーバーが解析するための ASP コードも含まれています。 ASP コードは HTML タグに似ており、開始 <% と終了 %> のペアのタグでマークされます。 Dreamweaver の Configuration/ThirdPartyTags フォルダーには、Tags.xml という名前のファイルがあります。このファイルは、ASP を含むさまざまなサードパーティのタグ仕様を記述し、Dreamweaver がこれらのコードを表示する方法を定義するために使用されます。このアプローチを使用すると、ASP コードが Tags.xml で標準化されるため、Dreamweaver は <%...%> の間のコードを解析しようとしなくなります。ただし、デザイン ビューでは、これが ASP コードであることを示すアイコンが表示されます。独自のタグを定義し、タグのセットごとに新しいタグ ライブラリ ファイルを作成して、Dreamweaver がタグを読み取って表示する方法を指定できます。
注: このセクションでは、Dreamweaver でカスタム ラベルを表示するメソッドを定義する方法について説明しますが、カスタム ラベルのコンテンツやプロパティを編集する方法については説明しません。カスタム ラベルのプロパティを検査および変更するためのプロパティ インスペクターを作成する方法については、「プロパティ インスペクター」を参照してください。
各タグ ライブラリ ファイルは、1 つ以上のカスタム タグの名前、タイプ、コンテンツ モード、表示仕様、およびアイコンを定義します。タグ ライブラリ ファイルはいくつでも作成できますが、Dreamweaver で読み取って処理するには、これらのファイルを Configuration/ThirdPartyTags フォルダーに配置する必要があります。タグ ライブラリ ファイルでは、.xml ファイル拡張子が使用されます。
ヒント: 複数の異なる Web サイトで同時に作業している場合 (フリーランサーであると仮定して)、すべてのタグ仕様をファイルに定義し、他の人が将来使用できるように特別なサイトに保存できます。誰かがサイトを保守するときに、カスタム アイコンやプロパティ インスペクターを含む完全なタグ ライブラリを引き渡すことができます。
tagspec という XML タグを使用してタグ仕様を定義する必要があります。たとえば、次のコードは、happy という名前のタグ仕様を表します。
<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>
tagspec を使用して定義できます。 2 種類のラベル:
・HTML形式の共通タグ
Happy タグの例は、HTML 形式の通常のタグです。 <happy> タグで始まり、開始タグと終了タグの間にデータが含まれ、</happy> タグで終わります。
·文字列区切りのタグ 文字列区切りのタグは、コンテンツも終了タグも含まないという点で、HTML の空のタグ (img など) に似ています。 happy も文字列区切りのタグである場合、その定義仕様には start_string と end_string の 2 つの属性が含まれている必要があります。 ASP タグはすべて文字列で区切られたタグであり、<% で始まり %> で終わります。終了タグはありません。
次の情報は、tagspec タグのさまざまな属性と有効な値をリストしたものです。アスタリスク (「*」) の付いた属性は、文字列で区切られたタグに適用できないことを示し、オプションの属性は中括弧 ({}) でマークされています。中括弧でマークされていない他のプロパティが必要であると推測するのは難しくありません。プロパティ。
<tagspec>
サードパーティ タグに関する
デフォルトの情報属性
を説明します
。 equivalent_tag}、{is_visual}、{server_model}
tag_name はカスタム名を表します。文字列で区切られたタグの場合、tag_name は、特定のプロパティ インスペクターがタグに適用できるかどうかを確認するためにのみ使用されます。属性インスペクタの最初の行に、適合する位置 (実際には宣言の最初の行) にタグ名が含まれており、アスタリスク (「*」) が付いている場合、インスペクタは型ラベルを検査できます。 。たとえば、ASP コードのタグ名は ASP です。ASP コードのチェックを許可するインスペクターには、最初の行に *ASP* が含まれている必要があります。プロパティ インスペクター API の詳細については、「プロパティ インスペクター」を参照してください。
tag_type は、タグが空であるかどうか (前述の img など)、または開始タグと終了タグの間にコンテンツを配置できるかどうか (code タグなど) を決定します。この属性は通常の (文字列で区切られていない) タグに必要ですが、文字列で区切られたタグには常に空であるため、影響はありません。有効な値には、「空」と「空ではない」が含まれます。
render_contents は、ラベルがデザイン ビューでコンテンツを表示するか、特定のアイコンに置き換えるかを決定します。この属性は空ではないタグにのみ必要であり、空のタグには影響しません(空のタグ自体には表示するコンテンツがありません)。この属性は、属性の外側に挿入されたタグにのみ適用されます。他のタグの属性値にタグが挿入された場合、その内容は表示されません(この段落は少しわかりにくいです。RealMedia や Flash などのオブジェクトを考えています)。それらの param タグ内にありますか?有効な値は「true」または「false」です。
content_model は、このタグにどのような種類のコンテンツを含めることができるか、およびこのタグを HTML ファイルのどこに挿入できるかを記述します。有効な値には、「block_model」、「head_model」、「marker_model」、および「script_model」が含まれます。
·block_model は、タグに div や p などのブロック オブジェクトを含めることができ、タグはボディ領域にのみ表示できることを意味します。 div、layer、td などの他の body-content タグに挿入できます。
·head_model は、ラベルにテキストのみを含めることができ、HEAD 範囲にのみ表示できることを意味します。
·marker_model は、タグに有効な HTML コードを含めることができ、HTML ファイル内のどこにでも配置できることを意味します。 Dreamweaver の組み込み HTML バリデーターは、marker_model として定義されたタグを無視します。ただし、これらのタグに含まれるコンテンツはバリデータによって無視されないため、タグ自体はどこにでも配置できますが、そのコンテンツによって HTML の一部でエラーが発生する可能性があります。たとえば、プレーン テキストはドキュメントのヘッド領域に (正当な head 要素を除いて) 表示できないため、プレーン テキストを含む marker_model タグをヘッド領域に配置することはできません (これを行う場合は、タグのコンテンツ モデルは、head_model の marker_model に置き換えられます。 marker_model を使用するタグは 1 行に表示されます (p または div などのブロック要素内、たとえば段落内) タグに独自の段落を表示するには、その前後に空白行を残します。このモードは使用しないことをお勧めします。
·script_model を使用すると、このタグをドキュメント内の HTML タグ間の任意の場所に配置できます。 Dreamweaver がこのモードを使用してタグを検出すると、タグの内容はすべて無視されます。 Dreamweaver は、そのようなタグ (特定の ColdFusion タグなど) を使用する場合、解析しません。
start_string は、文字列で区切られたラベルの開始点として区切り文字を指定します。文字列で区切られたラベルは、コメントを挿入できる場所であればどこにでも配置できます。 Dreamweaver は、start_string と end_string の間のコードを解析、エンコード、またはリンクしません。この属性は、end_string が定義されている場合に必須です。
end_string は、文字列で区切られたラベルの終了点として区切り文字を指定します。また、start_string が定義されている場合、この属性は必須です。
detect_in_attribute は、属性または値がこれらのコード間に挿入されているかどうかに関係なく、start_string と end_string (または、これら 2 つの文字列が定義されていない場合は開始タグと終了タグの間) の間のすべてのコードを無視するかどうかを指定します。デフォルト値は「false」ですが、通常、文字列で区切られたタグではこの値を「true」に設定する必要があります。たとえば、ASP タグの仕様では detect_in_attribute="true" と指定されているため、ASP タグ内に属性値を含む引用符があっても、Dreamweaver では無視されます。
parse_attributes は、タグの属性を解析するかどうかを示します。 「true」(デフォルト) に設定すると、Dreamweaver はこれらのプロパティを解析します。「false」に設定すると、Dreamweaver は引用符の外側にある「>」より前のコードをすべて無視します。たとえば、cfif などのタグでは、この属性を「false」に設定する必要があります (Dreamweaver は <cfif a is 1> などのタグを属性名と値のペアとして解析できないため)。
icon は、このラベルに一致するアイコンのパスとファイル名を指定します。このプロパティは、空のタグだけでなく、コンテンツがドキュメント ウィンドウのデザイン ビューに表示できない空ではないタグにも必要です。
icon_width はアイコンのピクセル幅を指定します。
icon_height はアイコンのピクセル高さを指定します。
equivalent_tag は、ColdFusion のフォームに関連付けられた特定のタグに相当する単純な HTML を指定します。この属性は他のタグでは使用できません。
is_visual は、ラベルがページ上に表示されるかどうかを指定します。たとえば、ColdFusion タグ cfgraph は is_visual の値を指定せず (したがって、デフォルト値 "true" が使用されます)、ColdFusion タグ cfset は is_visual の値 "false" を指定します。デフォルトのダイアログボックスの「非表示要素」列では、サーバーラベルの表示を制御できます。ビジュアルサーバーラベルと非ビジュアルサーバーラベルの表示を個別に設定できます。
server_model が設定されている場合、tagspec タグは指定されたサーバー モデルに属するページにのみ適用できることを示します。設定されていない場合、tagspec はすべてのページに適用できます。たとえば、ASP と JSP の区切り文字は同じですが、JSP に適用される tagspec タグはサーバー モードを「JSP」として指定しているため、Dreamweaver が JSP ページで特定の区切り文字を検出すると、JSP アイコンが表示されます。非 JSP ページでコードが検出された場合は、ASP アイコンが表示されます。
コンテンツ
がありません(空のタグ)。
コンテナ
なし。
例
<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>
デザイン内のカスタム タグ 方法
ドキュメント ウィンドウのデザイン ビューにカスタム タグが表示されるビューは、
tagspec タグの tag_type 属性と render_contents 属性の値に応じて異なります (カスタム サードパーティ タグの分析を参照)。 tag_type の値が「empty」の場合、icon 属性で定義された指定されたアイコンが表示されます。 tag_type の値が "nonempty" で、render_contents の値が "false" の場合、アイコンも空のタグのように表示されます。次の例は、定義したばかりの happy タグのインスタンスを HTML コードに挿入する方法を示しています。
<p>これは、<code>happy</code> タグのインスタンスを含む段落です (<happy>Joe</ happy>).</p>
タグ仕様で render_contents が false に設定されているため、happy タグ (単語 joe) は表示されず、その間のコンテンツを含む開始タグと終了タグは、シンプルなアイコン。
render_contents 値が「true」の空でないタグの場合、デザイン ビューではタグがアイコンとして表示されませんが、開始タグと終了タグの間のコンテンツ (次のようにタグ間のテキストなど) が表示されます。 mytag> これは、開始タグと終了タグ </mytag> の間のコンテンツです。メニュー オプションで [表示] > [ビジュアル アシスタント] > [非表示要素] が選択されている場合、このコンテンツは、「コード カラー」パラメータで指定されたサードパーティのタグの色を使用して強調表示されます (「コード カラー」はタグ ライブラリ ファイルにのみ適用されます)
。サードパーティのタグのハイライト色:
1.
メニュー オプションで [編集] > [環境設定] を選択し、[コードの色] 列を選択します。
2. サードパーティのラベルのカラー ボックスをクリックして、カラー ピッカーを表示します。
3. 色を選択し、「OK」をクリックしてプリセットダイアログボックスを閉じます。色の選択方法については、「Dreamweaver の使用」も参照してください。
サードパーティのタグの書き換えを避ける
Dreamweaver は HTML コードの特定のエラーを修正します。詳細については、「Dreamweaver の使用」を参照してください。デフォルトでは、Dreamweaver は、.asp (ASP)、.cfm (ColdFusion)、.jsp (JSP)、および .php (PHP) などの特定のファイル拡張子を持つファイル内の HTML コードの変更を禁止します。このデフォルト設定は、Dreamweaver が非 HTML タグに含まれるコードを誤って変更しないようにするためのものです。 Dreamweaver のデフォルトの書き換え動作を変更して、そのようなファイルを開いたときに HTML コードが書き換えられるようにしたり、Dreamweaver が書き換えを禁止するファイル タイプのリストに他のファイル タイプを追加したりすることができます。
プロパティインスペクターに特定の特殊文字を入力すると、Dreamweaver はそれらを数値にエンコードします。一般に、これらの特殊文字はさまざまなプラットフォームやブラウザでより適切に表示される可能性があるため、このエンコードは Dreamweaver に実行させるのが最善です。ただし、このエンコードはサードパーティのタグに影響するため、サードパーティのタグを含むファイルを編集するときに Dreamweaver のエンコード動作を変更することが必要になる場合があります。
Dreamweaver がより多くの種類のファイルで HTML を書き換えられるようにします。
1. メニュー オプションで [編集] > [環境設定] を選択し、[コード書き換え] 列を選択します。
2. 次のいずれかを選択します。
・不正な入れ子タグや終わりのないタグを修正する・冗長な終了タグを削除する
3. 次のいずれかを実行します。
· [コードを書き換えない: 拡張子を持つファイル] リストから 1 つ以上のファイル拡張子を削除します。
· [コードを書き換えない: 拡張子付きのファイル内] オプションのチェックを外します。注意: これにより、Dreamweaver はあらゆるタイプのファイルの HTML コードを書き換えることができます。
Dreamweaver が書き換えを禁止するファイル タイプを追加します。
1. メニュー オプションで [編集] > [環境設定] を選択し、[コード書き換え] 列を選択します。
2. 次のいずれかを選択します。
・不正な入れ子タグや終わりのないタグを修正する・冗長な終了タグを削除する
3. [コードを書き換えない: 拡張子付きのファイル] 項目が選択されていることを確認し、新しいファイル拡張子をテキスト ボックスのリストに追加します。
新しいファイルの種類が [ファイル] > [開く] ダイアログ ボックスのポップアップ メニューに表示されない場合は、それを Configuration/Extensions.txt フォルダに追加する必要がある場合があります。詳細については、「デフォルトのファイル タイプの変更」を参照してください。
Dreamweaver のコーディング オプションをオフにします。
1. メニュー オプションで [編集] > [環境設定] を選択し、[コード書き換え] 列を選択します。
2. 2 つの「特殊文字エンコーディング」オプションのいずれかをキャンセルします。
コード書き換え環境設定の選択の詳細については、「Dreamweaver の使用」を参照してください。