情報の海の漂流者

web上をさまよいつつ気になったことをつぶやいています。

firefoxのサイドバーをはてな記法エディタとして使うと便利

はてなダイアリーをはてな記法エディタとして使う方法 | その後の、どんなジレンマを読んだ。同じような事をしている人がいるんだなぁ。

僕はfirefoxの「このブックマークをサイドバーに読み込む」を利用して、サイドバーをはてな記法エディタとして使っている。seesaa,fc2辺りなら、結構上手く行く。

  • 言及元の記事を見ながら日記を書ける
  • ブラウザ上で日記が書ける

というのが魅力。

はてなダイヤリーの編集画面をブックマークする場合

  1. はてなダイヤリーの編集画面*1をブックマークする。
  2. 作成したブックマークを右クリック→プロパティ
  3. このブックマークをサイドバーに読み込むにチェックを入れる
  4. ブックマークツールバーにショートカットを作っておくと便利

はてな記法ワープロを使う場合。


はてな記法ワープロは、はてな記法をHTMLに変換するjavascript『text-hatena.js』を利用したダイナミックなワープロ。
リアルタイムプレビュー機能がいい。
これをブックマークすれば、はてなアカウントを持っていない人でも、サイドバーをはてな記法エディタ化することができる。
はてなの各種標準CSSを試す事ができるが、今回の使い方では「サイドメニューが無いテンプレート」の方が見やすい。
http://tech.nitoyon.com/javascript/application/texthatena/wordpro/#gray
等をブックマークしておくと良いかも。

僕の場合(PHP環境必須)

Firefoxのサイドバーに合わせたtextareaを作って、それをはてな記法エディタとして利用している。

  • リアルタイム変換は便利だが、常住させるにはちょっと重い
  • エディタとして使うならば、本文以外の要素は無くても構わない

という理由でベタベタなformを使っている。
僕はたまたまHatenaSyntax.phpを使ったが、text-hatena.jsを使えば、PHP環境が無い人でも同じ事が可能。


↑はてな記法を使ってサイドバーで日記を書き

↑ワンクリックでHTMLタグ化

HatenaSyntax.phpを利用する

http://anatoo.study.googlepages.com/HatenaSyntax.php.ver006.txt
から、HatenaSyntax.phpをダウンロード。

hatena_encoder.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<title>hatena記法変換</title>
</head>

<body>
<form action="hatena_encoder.php" method="POST">
<textarea name="origin_text" rows=44 cols=54></textarea><br>
<input type="submit" value="はてな記法→htmlタグ">
</form>
</body>
</html>
hatena_encoder.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	<title>hatena記法変換</title>
</head>

<body>
<?php
require_once("HatenaSyntax.php");

$form_h=40;	//formの行の長さ
$form_w=50;	//formの列の長さ
echo "<form><textarea rows=$form_h cols=$form_w>";

if(isset($origin_text)){
	$hatena = new HatenaSyntax();
	echo htmlspecialchars($hatena->parse($origin_text));
}

/*history.back()で戻れば、元の文章は消えない*/
echo "</textarea></form>\n<a href=javascript:history.back()>戻る</a>";
?>
</body>
</html>

僕はこれをローカル環境で動かしているので、セキュリティは結構甘い。
公開サーバーでやる場合は、もうちょっと工夫した方がいいはず。

  • 元の文章ををバックアップしてファイルに保存する機能も付けているが、今回は関係ないので省略した。

*1:http://d.hatena.ne.jp/(USER_NAME)/#edit