HTMLテンプレートの作成

本ツールで生成されるHTMLファイルのテンプレートを作成してまいります。

◇HTMLファイルのイメージ

text2html(パッケージルートディレクトリ)の下にtemplatesというディレクトリを作り、その中に一連のテンプレートファイルを作成していくことにします。

text2html (プロジェクトルートディレクトリ)
└── text2html (パッケージルートディレクトリ)
    └── templates ※この中に作る

以下のようになります。

(ファイル名) html_template.sm

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title><%= title %></title>
</head>

<body>
<div id="sm_all">
  <header>
    <div id="sm_header">
      <%= header %>
    </div> <!-- sm_header end -->
    <div id="sm_menubar">
      <%= menubar %>
    </div> <!-- sm_menubar end -->
  </header>

  <div id="sm_middle">
    <div id="sm_left_and_contents">
      <div id="sm_contents">
        <%= contents %>
      </div> <!-- sm_contents end -->
      <div id="sm_leftside">
        <%= leftside %>
      </div> <!-- sm_left end -->
    </div> <!-- sm_left_and_contents end -->
    <div id="sm_rightside">
      <%= rightside %>
    </div> <!-- sm_rightside -->
  </div> <!-- sm_middle end -->
  <footer>
    <%= footer %>
  </footer>
</div> <!-- sm_all end -->
</body>
<html>

拡張子の.smは、本ツールで必要なプログラムファイル以外のファイルに付けます。
パッケージ管理ツールPasterScriptを使用して必要なファイルをパッケージ化するときに、認識しやすくするためです。

また、テンプレート中の「<%= 〜 %>」は、プログラムで実際の値に書き換えられます。
Ruby on Railsのテンプレート変数がこれを使っているので、真似ました。

(例)

<title><%= title %></title> ⇒ <title>ページ1のタイトル</title>

テンプレートファイルをパッケージに含める

MANIFEST.inに以下を記述します。

recursive-include text2html *.sm

参考文献

Pythonプロフェッショナルプログラミング第2版