Harukiya Archives

2005/05/14

category / Blog

by 岩崎宏美・・・とは何の関係もなく、今日もちょっとヘンな話です。

新ブロック変数というのができて(いつものコトながら出足が遅くてスマン)、Blogの表示状況によって<title>要素の内容を書き変えるというTipsを見つけた。

<title>
<!--not_permanent_area-->
<!--date_area--><%sub_title>|<!--/date_area-->
<!--category_area--><%sub_title>|<!--/category_area-->
<%blog_name>
<!--/not_permanent_area-->
<!--permanent_area--><%sub_title><!--/permanent_area-->
</title>
そこまでやるかという話もありますが、トップページはタイトルだけで余計なスペースが入らないし、記事ページはブログ名が入らなくなります。これは検索エンジンのタイトル表示が21文字くらいでカットされるので便利。
(FC2ブログ サポートフォーラム独自タグのメモ帳:schutzさんのコメント)

なんか、入れ子にするのも複数使用もOKらしいし、状況によって出力を切り替えられるということは、その状況自体を出力して順番に読めば現状を把握・評価できるじゃん!(そんなことより、私生活の惨状を把握・改善すべきなのだが。)

順序と入れ子を考えて、そのページ状態のキーワードを作りだし<html>id名にあたる部分に出力させる。idにしておけばCSSでページ状態ごとにスタイルを変えられるし、スクリプトで使う時に条件判定を大幅に減らせる。うまいことやれば、ページが読み込まれる前に、あんなこととかこんなことができるかも。

(x)html

  1. <html
  2. id="
  3. <!--not_permanent_area-->
  4. <!--prevpage-->not_<!--/prevpage-->
  5. top_page
  6. <!--date_area-->_of_dately<!--/date_area-->
  7. <!--category_area-->_of_category<!--/category_area-->
  8. <!--/not_permanent_area-->
  9. <!--permanent_area-->start
  10. <!--preventry-->ed<!--/preventry-->
  11. _entry
  12. <!--/permanent_area-->
  13. "
  14. >
  15. <body
  16. class="reading_
  17. <!--not_permanent_area-->
  18. <!--date_area-->at<%sub_title>_<!--/date_area-->
  19. <!--category_area-->kind_no_<%cno>_<!--/category_area-->
  20. <!--/not_permanent_area-->
  21. <!--permanent_area-->
  22. <!--topentry-->order_no_<%topentry_no>_
  23. <!--/topentry-->
  24. <!--/permanent_area-->
  25. page
  26. "
  27. >

注:実際には改行してません。

トップページの判定は、現時点より未来へのリンクがあるという判定を裏返してるので、”環境設定”→”エントリの表示の方法”を日付の新しい順にしている想定。時系列で並べてる場合は<!--prevXXX--><!--nextXXX-->に差し替えると同結果になる。ついでに<body>要素にサブ情報的なclass名も設定しとく。

classNameが空になる場合があるので修正(2005-05-15)

各ページでの<html>id名・<body>class名

何のページ? id&class
トップページ #top_page .reading
トップ以外のページ #not_top_page .reading
2005年5月のアーカイブ #top_page_of_dately .reading_at.200505"
2005年5月のアーカイブ2ページ目以降 #not_top_page_of_dately .reading_at.200505
未分類カテゴリページ #top_page_of_category .reading_kind_no_0
未分類カテゴリ2ページ目以降 #not_top_page_of_category .reading_kind_no_0
最新着の固定記事ページ #start_entry .reading_order_no_XXX
固定記事ページ #started_entry .reading_order_no_XXX

<%sub_title>には頭に半角スペースが入るのでCSSでの参照は.reading_at.200505のような複合クラスになる。(2005-05-15)

idclass名には論理的な名前をつけろ!ってのが定説(守っちゃいないけどさ)だけど、これほど物理的一意な名前がかつてあっただろうか?(笑

どんな使い道があるかというと、例えばトップページではヘッダとサイト名を大きく派手に見せ、それ以外のページでは控えめにするとか。

css

それ以外にも、ある固定エントリ(”About this BLOG”とか)が開かれた時だけに適用するスタイルなんかも設定しておける。

css

ページの状態、カテゴリID、エントリIDが<body>生成直後で取り出せるってことは、それらが混在したナビゲーションも比較的簡単に作れるはずなんだけど、ねむいから明日の心だ。


writeback

  1.  


< ファイルアップロード管理支援ブックマークレット | 実況改造(生ダラ) > | 表紙へ戻る | 探す | 案内


ホームページ アフィリエイト レンタルサーバー FC2ブログ キャッシング