(0)2004-11-28コメントの送信ボタンも消してみたりして前の記事に早速反応していただいたKOROPPYさんの記事を読んで、ひらめきました。ココログなどのTypepad系は、コメント欄の設定が明示されていません。送信できずにエラーが出て初めて、「メールアドレスは入力必須」であることが分かったりします。タグも使えるのかどうか、「確認」画面で見てみないと分かりません。...なら、送信ボタンを消して確認ボタンだけにしてしまうという手もアリかと。いうことで、送信ボタンを消してみました。消すのは、下のコードを、テキスト表示に設定したマイリストのメモ欄に書くだけです。(2)コメント欄の設定を明示するココログやブログ人などのTypepad系ブログでは、コメントを書くとき、メールアドレスは必須なのか、タグは使えるのかといった設定がわからなくて不便です。そこで、このブログでは、設定を明示するようにしてみました。ここはココログのベーシックコースで、プロコースのようにテンプレートをいじることができないので、いつものようにjavascriptで作ってみました。javascriptなのでOFFの閲覧者には効果がありませんが、ないよりはマシだろうということで。Explorerなどでは動かないかもしれません。アドバイスいただければ幸いです。2006年5月現在、ブログ人ではこのスクリプトは動かないようです。白い猪亭の秋津羽さんがブログ人用スクリプトを公開されていますので、ブログ人の方はそちらからどうぞ。ブログ人カスタマイズ7B:コメントの注意書きを表示(変更)●まず、メモタイプのマイリスト(私リスト)のメモ欄に、以下のコードをコピペしてください。type="text/javascript"><!--commentNotice('<div>↓コメント本文でタグの入力はできませんが、改行は自動的に反映されます。http://で始まる文はリンクに変換されます。smaller;}--></style>●次に、最初の行にある、表示する注釈にあたる部分(commentNotice('〜');の〜の部分)を適当に変更してください。(〜の部分に改行を含むと動作しないようなので、一行で書いてください。)●あとは、保存して反映させれば終了です。上手く設置できれば、「コメントを書く」という見出しと「コメント本文」の間の右側に注意書きが表示されるはずです。注釈が長い時などは、他の位置の方がいいかもしれませんね。スクリプトをちょこっと変更すれば、他の位置に書き出すことも可能ですので、ご希望の方はお気軽にご要望ください(^^)▼カスタマイズスタイルを変更するには、上記のstyle要素内を編集してください((コメントの注釈部分全体は、"comment-notice"というidが付いたdiv要素で作られます))。x-small;)となっています。☆サイドバーのコンテンツが多い場合、注意書きが表示されるのが遅く感じられるときがあるかもしれません。その場合は、右サイドのできるだけ上部にマイリストを設置してみてください。▼著作権などこのコードは、適当に編集していただいて結構です。ご自由にお使いください。7月のバージョンアップに伴うココログの仕様変更に合わせ、注釈部分の例文を変更しました。コメントを受け付けないようにしている記事のページでエラーが発生する不具合を修正。----▼(余)以下は、2004-11-28に公開したときの設置方法です。[deprecated]※こちらの方法は、左サイドバーでは使えません。スクリプト本体→commentNotice01a.js右サイドバーのマイリスト(私リスト)の、テキスト表示にあらかじめ設定してあるメモ欄に、以下のコードを書いて、上記のスクリプト本体を呼び出す形で使用しています。0px;line-height:1.2em;"><div>←メールアドレスおよびURL欄への記入は任意です(両方もしくはURLだけ記入するとURLだけが公開されます。/><div>↓コメント本文でタグの入力はできませんが、改行は自動的に反映されます。http://で始まる文はリンクに変換されます。ココログでは、上記コードをそのままコピー&ペーストだけでOKかと思います。他のTypepad系ブログもコピー&ペーストだけで動作すると思いますが、スクリプト本体をダウンロード&アップロードした方がココログの状況に左右されなくてよいかもしれません。部分も書き換えてください。見出し要素を抽出して一覧を生成するjavascriptです。以前作ったのとあまり変わりませんが、今回のは見出し要素を使っているタイプのサイトならだいたい使えるのではないかと思います。抽出する見出しのある部分より後にあってHTMLが書ける所(ココログで本文の見出しを抽出するなら、右サイドバーのマイリストのメモ欄など)に以下のコード例をコピー&ペーストし、必要箇所を修正してください。関数extractHeadings()で、見出しの抽出元と抽出先を指定し、一覧を作成しています。targetName);です。最初の引数scopeNameで、抽出元の要素のidまたはclass名を指定します。引用符で囲んでください。例の場合、"content"というidを持つ要素(またはclass名が付いた最初の要素)の中にある見出しを抽出しているということになります。ココログなどTypepad系のブログなら、このままでOKです。"center"でも構いません。抽出元にidやclassが付いていない場合は抽出できません。二番目の引数targetNameで、抽出先の要素のidまたはclass名を指定します。例のようにtargetNameがない場合は、作成した見出し一覧を、抽出元の最初の見出しの直前に挿入するようになっています。"right");とします。任意の場所に見出し一覧を抽出することもできます。その場合は、抽出先となるdiv要素を作成して任意のidを付けて配置し、targetNameにそのidを指定してください。そのdiv要素は、関数extractHeadings()が呼び出されるより前に記述されている必要がありますので、上手くいかないこともあるかもしれません。関数extractHeadings()は、作成した一覧の要素を返すようにしてありますので、例えば、foldHeadingList(extractHeadings("content"));とすると、ページ読み込み時に見出し一覧が折り畳まれた状態になり、見出し一覧のタイトルだけが表示されるようになります。関数foldHeadingList()は、オマケです(^^;▼カスタマイズ◆スタイル(CSS)上記のコード例のすぐ下に、以下のコード例を書き足すと、今の見出し一覧のようなスタイルになります。記事別ページでは見出し一覧を出さないようにしてありますので、トップページやカテゴリページなどで御覧下さい。10px;}--></style>作成される一覧のHTML構造は、以下のようになっていますので、適当にアレンジしてください。a.level-x...最初の#(scopeName)-headingsは、上記の例では#content-headingsとなります。div.titleがタイトル部分です。タイトルはa要素でできていて、クリックすると一覧を折り畳める用になっています。span.counterについては、後述します。div.item以降が各見出しに対応しています。見出しもa要素で、こちらは、クリックすると各見出しの位置にジャンプします。抽出元の見出し要素のレベル(h1なら1、h3なら3)を指します。◆見出し一覧タイトル見出し一覧のタイトルは、ドキュメントタイトルから自動的に作成しています。この部分をカスタマイズするには、関数extractHeadings()がある行より上に、以下のようなコードを追加してください。false;のところで、見出し一覧のタイトルを、ドキュメントタイトルから取るかどうかを指定しています。デフォルトでは、ここがfalseじゃなくてtrueになっていて、次に指定する"defaultTitle"というところに記述したタイトルだけが表示されます(変更@2004-12-05)。デフォルトでは「見出し一覧」というタイトルになっています。ドキュメントタイトルから見出し一覧タイトルを自動作成する場合、不要な文字があることがあります(たとえば、サイト名など)。その場合、"erasePatternFormDocTitle"というところで、ドキュメントタイトルから不要な文字を消すことができます。記法は、正規表現です。上記の例は、ココログなどのTypepad系ブログ用の書き方です。」という文字が削除されます。上記で不要部分を削除して何も無しになった場合は、"defaultTitle"の一行で指定したタイトルが代わりに表示されます。Typepad系ではトップページのみが何も無しの場合に該当しますので、上記例では「トップページ/最近の記事」としてみました。前述したように、ドキュメントタイトルに依らず一定の見出しを付けたい場合もここで指定します。次の二行("titlePrefix"と"titleSuffix")で、タイトルの前後に常に付け足す文字を指定できます。抽出先をサイドバーにした場合などに使えるかと。◆カウント機能さらに、以下のような行を関数extractHeadings();より上に付け足すと、抽出元にある特定レベルの見出し数をタイトル右横に表示することができます。h3を数えて()で囲って表示するには、以下のようにします。記事数を表示るために付けた機能ですね(^^;また、ここはspanタグで作られていて、counterというclass名を付けていますので、スタイルは、以下のような感じで変更可能です。}◆抽出対象となる見出しレベルの制限デフォルトではh2からh6までのレベルの見出しを抽出するようになっています。これを変更するには、以下のようなコードを、関数extractHeadings();より上に追加してください。"23";右辺の引用符内に、抽出対象のレベルを列挙してください。上記例だと、h2とh3が抽出対象になります。デフォルトでは2-6となっています。TypepadTypepad系ブログのページ種を判別するjavascriptです。getPageType.js叩き台的に公開。(0)日記/Philips3か月ほど前のことだが、DVDプレイヤー付きのコンボテレビを買うことにした。いつものスーパーの電気製品コーナーには、あまり好みなのが置いてなかったので、しょうがなく商店街の電気屋に行ってみたところ、Philipsのが一台だけ残っていた。店のオヤジ曰く、「いいですよ〜、Philipsは。ウチは20年も代理店やってましたからね。今はもう代理店は辞めちゃっいましたけど、やっぱりPhilipsはいいですよ。このテレビも、小さいけど、音はいいし、オスススメですよ。NemoのDVDもつきますし。何といっても、Philipsのは品質がいいですからね。チョウド買おうと思っていたタイプに近かったこともあり、買うことにした。ところが、これが一ヶ月でお釈迦に。お約束すぎ(笑)...「ラストサムライ」を見ているときに、バリバリ!パーァン!!という音とともに停止...早速その電気屋に持って行き「もう壊れちゃったんですけど(^^;」...と言おうと思ったらオヤジ不在。店員のおばさんに「わたしでは分からないので、明日、また来てくださいますか?」といわれ、「やっぱりね」と思いつつ、もう閉店間近だったこともあり、素直に帰ることにした。翌日、店に行くと、「店では修理できないみたいなので、Philips送りになります。修理は、だいたい二週間ぐらいでしょうか。予想していたことだったので、よろしくお願いしますと言って帰る。店に確認に行くと、Philipsから連絡がまだないという。