2006/03/16

blogger 続きを読む

・続きがあるときだけ表示 ・エントリーの手間がなるたけ少ない ということを考えて、 「連続した二つの改行以降(要するに第二文節以降)を隠す」 というコード。 <p>は閉じタグが省略できる、という悪しき仕様を利用してnon-validateなHTMLを生成します。人によってはアレルギー反応が出そう。
<!-- Begin .post -->
  <!-- 略 -->

  <div class="post-body">
<!-- before-custum.start -->
<!--  <div>          -->
<!--    <$BlogItemBody$>  -->
<!--  </div>          -->
<!-- before-custum.end -->
<!-- after-custum.start -->
    <div id="<$BlogItemPermalinkUrl$>">
      <$BlogItemBody$>
      <MainOrArchivePage><script>readmore("<$BlogItemPermalinkUrl$>");</script></MainOrArchivePage>
    </div>
<!-- after-custumu.end -->
  </div>
    
  <p class="post-footer">
       <!-- 略 -->
  </p>

</div>
<!-- End .post -->

  <script>
  /* readmore()の中身 */
    function readmore(_o){
      var readmoreMessage = "<a href='"+_o+"'><br>続き読みたい</a>?";
      var toChangeHiddenTag = "<p style='display:none'>";
      var targetEntry = document.getElementById(_o);
      targetEntry.innerHTML = targetEntry.innerHTML.replace(/<[Bb][Rr]>\s*<[Bb][Rr]>/, readmoreMessage + toChangeHiddenTag);
    }
  </script>
投稿者は、隠したい文節があるときは空行を入れるだけ。 普段のエントリーで空行を多用する人は、条件を「連続した3回の改行」とかにすればいけるかな? できればスクリプトレスで実現したいですが・・・ サンプル