こちらのブログのテンプレートを編集しています。
ブログリンク先
##取り組んでいること
記事の本文やタイトルにふりがなを振ることが多く、ふりがなを適用したい場所にclassを付与して以下のjavascriptを動かしています。
javascript
1 $(".story").each(function() { 2 $(this).html( 3 $(this).html() 4 /* 半角または全角の縦棒以降の文字をベーステキスト、括弧内の文字をルビテキストとします。 */ 5 .replace(/[\||](.+?)《(.+?)》/g, '<ruby>$1<rt>$2</rt></ruby>') 6 .replace(/[\||](.+?)((.+?))/g, '<ruby>$1<rt>$2</rt></ruby>') 7 .replace(/[\||](.+?)((.+?))/g, '<ruby>$1<rt>$2</rt></ruby>') 8 /* 漢字の連続の後に括弧が存在した場合、一連の漢字をベーステキスト、括弧内の文字をルビテキストとします。 */ 9 .replace(/([一-龠]+)《(.+?)》/g, '<ruby>$1<rt>$2</rt></ruby>') 10 /* ただし丸括弧内の文字はひらがなかカタカナのみを指定できます。 */ 11 .replace(/([一-龠]+)(([ぁ-んァ-ヶ]+?))/g, '<ruby>$1<rt>$2</rt></ruby>') 12 .replace(/([一-龠]+)(([ぁ-んァ-ヶ]+?))/g, '<ruby>$1<rt>$2</rt></ruby>') 13 /* 括弧を括弧のまま表示したい場合は、括弧の直前に縦棒を入力します。 */ 14 .replace(/[\||]《(.+?)》/g, '《$1》') 15 .replace(/[\||]((.+?))/g, '($1)') 16 .replace(/[\||]((.+?))/g, '($1)') 17 ); 18 });
ここは|概要《あらすじ》です のように書いたとき、【概要】の上に【あらすじ】とふりがなが振られています。
##現況
この方法を使って、
- 記事一覧ページのタイトル、概要(本文部分を使用)
- リンククリックして入った個別記事部分のタイトル、本文(追記部分を使用)
- 個別記事部分の下部に表示される【前の記事を読む】、【次の記事を読む】のリンク部分
にふりがなを適用することができました。
##改善したいこと
個別ページにアクセスした際、タブ型のブラウザ等で見ると、タブに出るページのタイトルがそのまま【ここは|表題《タイトル》です】となってしまっています。
これを、【ここは表題です】というように、ルビのない形で表示させたいのです。
##やってみたこと
- 他の箇所と同じように<title>タグを<div class="story"><div>ではさんでみる
→タブのタイトル自体が【ここは<ruby>表題<rt>タイトル</rt></ruby>です】になる(タグがそのままテキスト化されて表示)
- タイトルに 【ここは<ruby>表題<rt>タイトル</rt></ruby>です】のように直接タグ記述してみる
→タブ、記事タイトルともに【ここは表題タイトルです】になる
以上のような結果となり、うまくいきませんでした。
##ヒント?
表示されたページにて、ふりがなのついた部分をドラッグ選択してコピー→メモ帳等に貼り付けると、【ここは表題です】が取得できます。プレーンテキスト化されていると推測します。
この結果をうまくタブに反映できれば、まさに求めている結果になるのですが・・・。
お忙しい中恐れ入りますが、お知恵をお貸しいただければ幸いです。どうぞよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー