2007-03-30

はてな記法でBloggerを

下のエントリに書いたことの繰返しになりますが、
Bloggerは便利なのだけれど、WYSIWYGエディタとHTML編集の2択なのが気にくわない。
はてなには、はてな記法というものがあって、簡単に編集できるようになっています。
そこで、はてな記法で書いたテキストを読んでBloggerにポストするPerlスクリプト「Hategle(仮)」を書いてみました。

おおまかな機能はこんな感じです。


  • (多くの)はてな記法が使える

  • カテゴリ記法を使うことで、ラベルを付けることができる

  • 簡単に続きを読む記法が使える(テンプレートの設定が必要となります)



続きは、簡単に続きを読む記法が使える、の詳細について。


クリボウの Blogger Tips: Blogger beta にも「続きを読む」機能

このページを見て設定すれば続きを読む機能がとりあえず使えるようになります。
しかし、使えるようになったと言えども投稿のさいに


ここには記事冒頭の、トップやアーカイブページでも表示される文章を書きます。
<div class="fullpost">
ここにはトップやアーカイブページで省略される(記事単独ページでだけ表示される)文章を書きます。
</div>
<div class="readmore">
<a href="この投稿自体の URL">[続きを読む]</a>
</div>


のように入力し、さらに、

リンクする URL は、記事を一度投稿して、記事の URL を確かめてからあらためて書き入れるのが一番確実です。記事投稿時点で、記事単独ページの URL を予想して書き入れる場合には、投稿のタイトルと URL の関係を参考にしてください。

とあるように、一度投稿し、編集しなおす必要があり、他のBlogサービスに比べ格段に使い勝手が悪い機能です。

この続きを読む機能、Hategleを使えばはてなと同じように

ここには記事冒頭の、トップやアーカイブページでも表示される文章を書きます。
====
ここにはトップやアーカイブページで省略される(記事単独ページでだけ表示される)文章を書きます。

こう書くだけで、続きを読む機能が実現されます。
Hategleが、代りに投稿した記事のURLを調べて書きこんでくれます。

作ったばかりで、エラーメッセージあたりもまともにでませんがそれでもいいや、というかたは使ってみてください。
こちらにおいてます。


最新版のダウンロードはこちらからどうぞ。


スクリプト実験そのさん


続きを読むてすと
以下、実験




小見出し


さらに小さい見出し


  • BSD

    • FreeBSD

    • NetBSD



  • Linux



  1. Windows

  2. Mac

    1. Mac OSX





Windows

MS社

Mac

Apple社

Linux

コミュニティによる






OSWeb Server管理者
LinuxApacheroot
WindowsIISAdmin


引用病だね。
と。


pre のなか。


ここも pre。


<html><body>
<h1>HTMLもそのまま表示</h1>
</body></html>



スクリプト実験そのに


Bloggerは便利なのだけれど、WYSIWYGエディタとHTML編集の2択なのが気にくわない。
はてなには、はてな記法というものがあって、簡単に編集できるようになっている。
そこで、はてな記法で書いたテキストを読んでBloggerにポストするスクリプトを書いてみた。
以下、実験

小見出し


さらに小さい見出し


  • BSD

    • FreeBSD

    • NetBSD



  • Linux



  1. Windows

  2. Mac

    1. Mac OSX





Windows

MS社

Mac

Apple社

Linux

コミュニティによる






OSWeb Server管理者
LinuxApacheroot
WindowsIISAdmin


引用病だね。
と。


pre のなか。


ここも pre。


<html><body>
<h1>HTMLもそのまま表示</h1>
</body></html>


2007-03-29

スクリプトから投稿

このエントリはスクリプトで投稿したものです。

2007-03-28

発音できるパスワード作成

昨日、ブログライクPingoo!に登録しましたが、これらのサイトはログインにSSLを使っていないというセキュリティの甘さがありました。
こんなところに同じパスワードを使ってログインしていると、一つばれると全てまきこまれてしまうわけで。
かといって、あんまり難しいパスワードを設定すると忘れてしまうし、そもそも、それがほんとに安全なパスワードかどうかはなかなか分かりません。

そこで、発音可能なパスワードを生成というユニークな機能をもったツールを紹介します。



APG (Automated Pasword Generator)
UNIX系はもちろんのこと、Windowsにも一応対応。
Gentoo LinuxのPortageツリーにも入っています。

主なオプション

-a (0|1)
アルゴリズムを選択(0:発音できるパスワード生成,1:完全にランダムなパスワード生成)
-k
cracklibで生成されたパスワードの安全性をチェック
-m num
生成するパスワードの最短の長さを指定
-x num
生成するパスワードの最長の長さを指定
-t
発音できるパスワードの発音を表示


サンプルコード
% apg -a 0 -k -m 10 -x 15 -t
WywriWiaccic (Wy-wri-Wiac-cic)
deekVishvem (deek-Vish-vem)
segIpbuelceet8 (seg-Ip-buel-ceet-EIGHT)
OppozebEelca (Opp-oz-eb-Eel-ca)
dyuvackniwideon (dyuv-ack-ni-wi-de-on)
wuedOsGattyal* (wued-Os-Gatt-yal-ASTERISK)

10文字以上、15文字以下のパスワードを生成しています。
()の外が生成されたパスワードで、()の中がその発音になっており、発音できるので覚えやすくなっています
・・・日本人には少し厳しいですが。
日本人むけにDQ1の復活の呪文みたいなパスワードを生成するプログラムがあるといいかもしれないですね。


2007-03-27

続きを読むとコメント履歴

クリボウの Blogger 入門: Blogger にも「続きを読む」
クリボウの Blogger 入門: Blogger にも「最近のコメント」
を参考に導入。
続きを読むは、テンプレの中にいれてみたけど、毎回、続きを読むが出るのが少し面倒なので変えるかもしれない。
コメント履歴は、独自改良(?)をほどこしてみた。


続きを読む機能から

とりあえず、「記事を投稿するときにすること」の前までクリボウの Blogger 入門: Blogger にも「続きを読む」の通りに実行。
毎回、続きを読むのタグをいれるのは面倒なのでテンプレにうめこみます。

<div class='post-body'>
<p><data:post.body/></p>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
とあるのを
<div class='post-body'>
<p><data:post.body/></p>
<div style='clear: both;'/> <!-- clear for photos floats -->
<b:if cond='data:blog.pageType != "item"'>
<a expr:href='data:post.url'>続きを読む</a>
</b:if>
</div>

と変更。

あとは、投稿テンプレートに
<span class='fullpost'></span>
と書いてOK




次に、コメント履歴
クリボウの Blogger 入門: Blogger にも「最近のコメント」を見るとRSS→コメント一覧というふうになっている。
クリボウの Blogger Tips: 新 Blogger のフィード URL とパラメータにあるように、新Bloggerでは、コメントのフィードがとれる。
これを、埋め込みフィードリーダ(?)で表示してやればいいだけ。
設定→フィード→アドバンストモードでコメントのフィードの設定をいじるともっとよくなるかもしれない。

追記:記事を全部読んだらちゃんとこの方法も載ってたよ・・・。


HaloScanのコメントからBloggerのコメントに戻る

Daily HAKMEM: 更新Pingやらトラバ機能を導入で、トラバ機能を導入した時に付随して導入されたHaloScanのコメント機能は、いまいちなのでコメント機能だけBloggerのものに戻してみました。


一覧の時のコメント機能を戻します。


<!-- start haloscan (part 1) -->
<script src='http://www.haloscan.com/load/*****' type='text/javascript'> </script>
<a class='comment-link' expr:href='"http://www.haloscan.com/comments/*****/" + data:post.id + "/"' expr:onclick='"HaloScan(" + "\""+ data:post.id + "\"" + ");return false;"'>
<script type='text/javascript'>postCount(&#39;<data:post.id/>&#39;);</script>
</a> |
<a class='comment-link' expr:href='"http://www.haloscan.com/tb/*****/" + data:post.id + "/"' expr:onclick='"HaloScanTB(" + "\""+ data:post.id + "\"" + ");return false;"'>
<script type='text/javascript'>postCountTB(&#39;<data:post.id/>&#39;);</script>
</a>
</span>
<!-- end haloscan -->

こうなっているところを

<a class='comment-link' expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a> |
<!-- start haloscan (part 1) -->
<script src='http://www.haloscan.com/load/*****' type='text/javascript'> </script>
<!--
<a class='comment-link' expr:href='"http://www.haloscan.com/comments/*****/" + data:post.id + "/"' expr:onclick='"HaloScan(" + "\""+ data:post.id + "\"" + ");return false;"'>
<script type='text/javascript'>postCount(&#39;<data:post.id/>&#39;);</script>
</a> -->
<a class='comment-link' expr:href='"http://www.haloscan.com/tb/******/" + data:post.id + "/"' expr:onclick='"HaloScanTB(" + "\""+ data:post.id + "\"" + ");return false;"'>
<script type='text/javascript'>postCountTB(&#39;<data:post.id/>&#39;);</script>
</a>
</span>
<!-- end haloscan -->

こう変更。

各々の記事表示時のコメント機能を戻します。

<!-- start haloscan (part 2) -->
<script src='http://www.haloscan.com/load/*****' type='text/javascript'> </script>
<span class='post-comment-link'>
<p><a class='comment-link' expr:href='"http://www.haloscan.com/comments/*****/" + data:post.id + "/"' expr:onclick='"HaloScan(" + "\""+ data:post.id + "\"" + ");return false;"'>
<script type='text/javascript'>postCount(&#39;<data:post.id/>&#39;);</script>
</a> |
<a class='comment-link' expr:href='"http://www.haloscan.com/tb/*****/" + data:post.id + "/"' expr:onclick='"HaloScanTB(" + "\""+ data:post.id + "\"" + ");return false;"'>
<script type='text/javascript'>postCountTB(&#39;<data:post.id/>&#39;);</script>
</a></p><br/>
</span>
<!-- end haloscan -->

こうなっているところを

<h4>
<b:if cond='data:post.numComments == 1'>
1 <data:commentLabel/>:
<b:else/>
<data:post.numComments/> <data:commentLabelPlural/>:
</b:if>
</h4>

<dl id='comments-block'>
<b:loop values='data:post.comments' var='comment'>
<dt class='comment-author' expr:id='"comment-" + data:comment.id'>
<a expr:name='"comment-" + data:comment.id'/>
<b:if cond='data:comment.authorUrl'>
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
<b:else/>
<data:comment.author/>
</b:if>
<data:commentPostedByMsg/>
</dt>
<dd class='comment-body'>
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p><data:comment.body/></p>
</b:if>
</dd>
<dd class='comment-footer'>
<span class='comment-timestamp'>
<a expr:href='"#comment-" + data:comment.id' title='comment permalink'>
<data:comment.timestamp/>
</a>
<b:include data='comment' name='commentDeleteIcon'/>
</span>
</dd>
</b:loop>
</dl>

<p class='comment-footer'>
<a expr:href='data:post.addCommentUrl' expr:onclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
<!-- </p> -->
<!-- start haloscan (part 2) -->
<script src='http://www.haloscan.com/load/*****' type='text/javascript'> </script>
<!-- <span class='post-comment-link'>
<p><a class='comment-link' expr:href='"http://www.haloscan.com/comments/*****/" + data:post.id + "/"' expr:onclick='"HaloScan(" + "\""+ data:post.id + "\"" + ");return false;"'>
<script type='text/javascript'>postCount(&#39;<data:post.id/>&#39;);</script>
</a> --> |
<a class='comment-link' expr:href='"http://www.haloscan.com/tb/*****/" + data:post.id + "/"' expr:onclick='"HaloScanTB(" + "\""+ data:post.id + "\"" + ");return false;"'>
<script type='text/javascript'>postCountTB(&#39;<data:post.id/>&#39;);</script>
</a></p><br/>
<!-- </span> -->
<!-- end haloscan -->

こう変更

表示されるフィードがコメントのフィードだけになっているので

<!-- start haloscan (part 3) -->

<a class='feed-link' href='http://www.haloscan.com/members/rss.php?user=*****' target='_blank'>Comment Feed (RSS)</a>
<!-- end haloscan -->

こうなっているところに

<a class='feed-link' expr:href='data:f.url' expr:type='data:f.mimeType' target='_blank'><data:f.name/> (<data:f.feedType/>)</a> |
<!-- start haloscan (part 3) -->

<a class='feed-link' href='http://www.haloscan.com/members/rss.php?user=*****' target='_blank'>Comment Feed (RSS)</a>
<!-- end haloscan -->

もとのフィードを追加。

ついでにお礼の意味でもこめて、HaloScanのボタンリンクをサイドバーに追加。

更新Pingやらトラバ機能を導入

クリボウさんのサイトを参考に更新Pingやらトラバ機能を導入を導入してみました。


まずは、更新Ping
cf.クリボウの Blogger 入門: 更新 Ping を打とう

BlogPeople - ブログ情報ポータル・ブログランキング
ここのソフトはWindows,Macのみ対応のようなのでNG

  1. ブログライクに登録
  2. Pingoo!に登録
  3. ブログライクPingoo!のPing URLを登録
  4. Pingoo!に載っていなくてPingLinerに載っているPingリストを手動で登録

としようとしたのだけど、PingLinerだけにあるMyblog japanドリコムRSS(Pingoo!に載ってる)に移行しちゃっているし、エキサイトブログ :ブログはカテゴリが決められていてどちらかといえばトラバライクなので却下。

Blog and ping | Pingoat
ここにもたくさんPing先が載ってるけれど、ほとんどが海外のサイトで日本のサイトはPingoo!に載っているものしかなさそうなので保留。

結局、ブログライクに設定したのはYahoo!Pingoo!だけになった。
http://api.my.yahoo.co.jp/rss/ping?u=あなたのサイトのRSSファイルのアドレス
という形式も使えるようだ。




次はトラバ。
cf.クリボウの Blogger 入門: トラックバック
HaloScan.com
参考のサイトに載っているのとは若干変更があったようだ。
登録してログインするとDashboardが表示される。
上のメニューからInstall→Blogger or Blogspot (New Version / Google Login)を選択→Next
ここでBlogger or Blogspot (Old Version)を選択すればおそらく参考サイトの設定になるのだろう。
一旦別のウィンドウでBloggerにログインして、テンプレート→HTMLの編集→テンプレートをすべてダウンロード
HaloScanに戻って、さっきダウンロードしたファイルを入れて、Upload Blogger Template
Download New Templateで、編集されたテンプレートをダウンロード
Bloggerに戻って、テンプレート→HTMLの編集でHaloScanでダウンロードしたテンプレートをアップロード

とりあえず、これでトラバ機能がついた。
他のブログに比べるとトラバ送るのも大変だが、どうせ頻繁に使う機能ではないしよしとする。

Blogger始めました

まだ、右も左も分からぬような状態なので
クリボウの Blogger 入門で、勉強中


クリボウの Blogger 入門: 文字化け対策、エンコードのこと
このページの設定は、3以外は既にできていた。