HTML=構造

最近ひどいHTMLが多いので改めて題名の件を感じます。
本来HTMLは構造を持つ言語なので、「見出し、内容といった構造を人間にも、機械にも分かるように書くことができる」。
構造化を意識すれば<br />は使わないでかけるはず。意識しよう。

構造化を意識して書くといい例

例えば、FAQ案を考えたので、この内容をWebサイトに付けて欲しいと言う依頼があったとしよう。その時、依頼主が以下のようにFAQを書いてくれていたとしよう。

●便利な使い方
・メールをフォルダ分けしよう
フォルダを作成することによって、メールの分別ができるようになります。
・著名を設定しよう
著名を設定することができます。


●故障かなと思ったら
・メールが送信できない
あて先は間違っていませんか?


この文章は、「●」がカテゴリ、「・」が質問、何もない場合がその答えというように構造化されている。
ここで、後のことも考えて、これをデーターベースに保存することを考える。データーベースに保存するのは、後からFAQを追加する際に、依頼者が管理画面から「追加、編集、削除」をできるようにするためだ。
すると、例えばRubyOnRailsを使っているなら、次のようなスクリプトを書くことで、内容をデーターベースに反映することができる。

File.open("faq.txt") do |f|
  now_category = ""
  now_question = ""
  
  f.each do |line|
    if line =~ /(.+)/
      now_category = $1
    elsif line =~/^(.+)$/
      now_question = $1
    elsif !(line =~ /^$/)
      FAQ.create(
                  :category => now_category,
                  :question => now_question,
                  :answer => line
                )
    end
  end
end

コピー&ペーストなど、単純作業をやる必要がなくなる。