朝顔日記

見出しアンカーをやめてみた

2004-04-05

どうも見出しアンカーだと紛らわしい感じがすると前から思っていたのですが、思っているだけは何ともならないので、試しに見出しアンカーをやめてみました。その代わり、記事の末尾に「この記事の永続的 URI」を明記することに。前の構造から今回の構造改革(?)を行うにあたっては、以下の xslt を使いました。また、使用した xslt プロセッサは msxsl.exe です。msxsl.exe は xhtml1.1 を処理できないので、例によってコマンドラインオプション -xe を使用しました。これで変換速度も上がります。:p)


<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/1999/xhtml"
  xmlns:x="http://www.w3.org/1999/xhtml"
  exclude-result-prefixes="x" >
  <xsl:output method="xml" version="1.0" encoding="Shift_JIS"
    doctype-public="-//W3C//DTD XHTML 1.1//EN"
    doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
    media-type="application/xhtml+xml"
    omit-xml-declaration="no"/>
  <xsl:template match="/">
    <xsl:apply-templates/>
  </xsl:template>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="x:link|x:meta|x:br|x:img|x:hr|x:input">
    <xsl:copy>
      <xsl:apply-templates select="@*" />
    </xsl:copy>
  </xsl:template>
  <xsl:template match="x:h2">
    <h2><xsl:value-of select="." /></h2>
  </xsl:template>
  <xsl:template match="x:html/x:body/x:div/x:div/x:div/x:div[attribute::class='comment']">
    <xsl:copy-of select="node()" />
  </xsl:template>
  <xsl:template match="x:h3">
    <h3 class="{./@class}"><xsl:value-of select="." /></h3>
  </xsl:template>
  <xsl:template match="x:html/x:body/x:div/x:div/x:div[attribute::class='section']">
    <div class="section" id="{./@id}">
      <xsl:apply-templates/>
      <p class="topic-info">&#12371;&#12398;&#35352;&#20107;&#12398;&#27704;&#32154;&#30340;&#32;&#85;&#82;&#73; : <a href="/{x:h3/x:a/@href}" title="{x:h3}">http://diary.noasobi.net/<xsl:value-of select="x:h3/x:a/@href"/></a></p>
    </div>
  </xsl:template>
</xsl:stylesheet>

日記ファイルのすべての書き換えにかかった時間はほんの数秒でしたが、xslt を書くのにかかった時間は…。また今回の変更に伴い、ややこし更新システム(何)は機能しなくなり、今回は全部手作業での更新です。早く RSS の生成と見出し一覧の生成を自動化しなければ、面倒でやっていられない。:p)

「見出しアンカーをやめてみた」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2004/04/diary_040405a.html