(id:studio-m)この広告は、90日以上更新していないブログに表示しています。〜Dreamweaver仕事の都合でDreamweaver(以下DW)のテンプレートを用意することになりました。個人的には好きじゃないけど、その方が仕事がうまく回るなら使った方がいいに決まってる。テンプレートの仕様を覚えて自分でちゃんと制御した方がいいよね、ということで少し調べてみました。手元にあるのがDreamweaver8と古いけど、基本的な仕様は多分ほとんど変わらないはず。エントリのパーマリンクからお越しの皆様へ。現在、はてダではスーパーPRE記法の中にHTMLコメントを入れると何故か表示されない不具合があるようです。日付のページからだとちゃんと表示されるので、ソース内のHTMLコメントが表示されない場合は2008/09/20のページへどうぞ。■テンプレートの構造DWのテンプレート機能は、HTMLに埋め込まれたコメントをDWが独自に解釈することで成立している。テンプレートファイルはプロジェクトのルートディレクトリにTemplatesという名前で作られる。dwtは基本的に通常のHTMLファイル。ここに以下のような「編集可能領域」をコメントで確保していく。-->この2つのコメントの間がDWで編集できるようになる。領域名は自由に設定できるが、同じ名前の領域が複数あるとテンプレートをうまくパースできなくなって、DW上でダイアログがボコボコ出て大変なことになるので避ける。テンプレートを使ったページは、この編集可能領域だけが書き換えられる。ただのコメントなので当然DW以外では書き換えられるが、テンプレートが更新されたりすると編集可能領域の外側は全てテンプレートの内容で上書きされる。このコメントの構造が崩れるとDWでテンプレートを制御できなくなる。DWでテンプレートを新規作成すると、初期状態としてhead要素の末尾と、title要素を編集可能領域としたHTMLが展開される。--></head><body></body></html>DOCTYPE宣言やcharsetの定義は、DWの環境設定でデフォルトとして設定したものが適用される。--></title>こうして、タイトルの内容だけを編集可能にした方がいいんじゃないかと思ったが、こうするとコメントもタイトルとしてブラウザに表示されてしまうことが判明して敗北。--></head>だけでいいと思う。確保するのが一番基本的なテンプレートの作り方。こんなテンプレートを書いてみた。--></body></html>■テンプレートからページを作るこうして作ったテンプレートからページを作成。HTMLがどのように展開されるかを確認してみる。InstanceBeginがテンプレートの開始、InstanceEndが終了に対応してるっぽい。DOCTYPE宣言やhtml要素は何故かInstanceの外側になっている。html要素の外側にコメントを置くとvalidじゃなくなるとか、そんな理由なんだろうか。そのせいなのか該当部分は編集可能になっている。DOCTYPE宣言とかページ毎に変更可能です。テンプレート更新して、再適用したらまた元の状態に戻る。何がしたいのかよく分からない。InstanceBeginをもう少し見てみると、2つ属性が定義されてる。tempalteで、そのページがどのテンプレートから作られたかを保持してるっぽい。codeOutesideHTMLIsLocked="false"というのはよく分からない。挿入されるものがあります。このようなスクリプトは、テンプレートおよびテンプレートから作成したドキュメントにおいて、特別な扱いが必要です。タグの後にあるスクリプトコードを変更しても、テンプレートから作成するドキュメントに変更はコピーされません。そのため、テンプレートの本体に含まれる他のサーバースクリプトが、コピーされなかったスクリプトに依存している場合、サーバーにエラーが生じる可能性があります。タグの後にあるスクリプトを変更する際に、警告が表示されます。セクションに、以下のコードを挿入します。タグの後のスクリプトへの変更は、テンプレートから作成されたドキュメントにコピーされます。ドキュメント側でこれらのスクリプトを編集することはできなくなります。これらのスクリプトの編集は、テンプレート、またはテンプレートから作成したドキュメントのいずれかで行います。両方では編集できません。いう何だかよく分からない解説が。-->とテンプレートに書いておけば、作成したページでhtml要素の外に書いたコードが、テンプレートを再適用しても上書きされないらしいです。DOCTYPE宣言とhtmlタグその物は、編集可能だけどテンプレート再適用で上書きされる。このへん、何か中途半端な印象がぬぐえない。trueにしておいた方がテンプレートが安定しそうな気がするけど、htmlの開始・終了タグの名前を変えた瞬間に編集できなくなって元に戻せなくなる(undoは効くからそれで直せるけど)とか、何だか適当に作ったような機能なのでデフォルトのままfalseにした方が安心かも。それはそうと、CSSがうまく読めてないですね。media="all">テンプレートを格納したディレクトリを起点として、DWがディレクトリを書き換えるみたいです。media="all">としておかないといけない。絶対パスで書けば安定するけど、DWのテンプレートを使うケースというのは大抵Windowsのローカルで作っているはずなので難しいですね。CSS以外にも何かファイルを読む場合や、リンクを貼る場合はdwtのあるディレクトリが起点になるので注意。TemplateEndEditableで編集可能領域を作る外部ファイルは、テンプレートがあるディレクトリを起点に相対パスで記述するひとまず、今回のテンプレートは以下で完成。releasedフリーランスという働き方cobblerでRHEL6系のリポジトリをミラー出来ない時の対処法PHPのnullはハマりポイントになりかねない月別アーカイブはてなブログをはじめよう!studio-mさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。