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でページ状態ごとにスタイルを変えられるし、スクリプトで使う時に条件判定を大幅に減らせる。うまいことやれば、ページが読み込まれる前に、あんなこととかこんなことができるかも。
<html id="<!--not_permanent_area--><!--prevpage-->not_<!--/prevpage-->top_page<!--date_area-->_of_dately<!--/date_area--><!--category_area-->_of_category<!--/category_area--><!--/not_permanent_area--><!--permanent_area-->start<!--preventry-->ed<!--/preventry-->_entry<!--/permanent_area-->">〜<body class="reading_<!--not_permanent_area--><!--date_area-->at<%sub_title>_<!--/date_area--><!--category_area-->kind_no_<%cno>_<!--/category_area--><!--/not_permanent_area--><!--permanent_area--><!--topentry-->order_no_<%topentry_no>_<!--/topentry--><!--/permanent_area-->page">注:実際には改行してません。
トップページの判定は、現時点より未来へのリンクがあるという判定を裏返してるので、”環境設定”→”エントリの表示の方法”を日付の新しい順にしている想定。時系列で並べてる場合は<!--prevXXX-->を<!--nextXXX-->に差し替えると同結果になる。ついでに<body>要素にサブ情報的なclass名も設定しとく。
classNameが空になる場合があるので修正(2005-05-15)
| 何のページ? | 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)
id名class名には論理的な名前をつけろ!ってのが定説(守っちゃいないけどさ)だけど、これほど物理的一意な名前がかつてあっただろうか?(笑
どんな使い道があるかというと、例えばトップページではヘッダとサイト名を大きく派手に見せ、それ以外のページでは控えめにするとか。
それ以外にも、ある固定エントリ(”About this BLOG”とか)が開かれた時だけに適用するスタイルなんかも設定しておける。
ページの状態、カテゴリID、エントリIDが<body>生成直後で取り出せるってことは、それらが混在したナビゲーションも比較的簡単に作れるはずなんだけど、ねむいから明日の心だ。
< ファイルアップロード管理支援ブックマークレット | 実況改造(生ダラ) > | 表紙へ戻る |