AA Sintax for Hatena Haiku
by
Akkiesoft
2011-08-11 [2011/08/11 00:24:23]
はてなハイクでAA記法を使えるようにする
@@ -9,12 +9,12 @@
* @license MIT License.
*/
-if (unsafeWindow) {
- /* Greasemonkey */
- unsafeWindow.Hatena.Haiku.Pager.addEventListener('loadedEntries', aaSintax);
-} else {
+if (typeof unsafeWindow == 'undefined') {
/* Bookmarklet, etc... */
Hatena.Haiku.Pager.addEventListener('loadedEntries', aaSintax);
+} else {
+ /* Greasemonkey */
+ unsafeWindow.Hatena.Haiku.Pager.addEventListener('loadedEntries', aaSintax);
}
aaSintax(document.body);
void(0);
/*
* @title AA Sintax for Hatena Haiku
* @description はてなハイクでAA記法を使えるようにする
* @include http://h.hatena.ne.jp/*
* @exclude http://h.hatena.ne.jp/help/*
* @exclude http://h.hatena.ne.jp/setting/*
* @exclude http://h.hatena.ne.jp/settings/*
* @exclude http://h.hatena.ne.jp/album/*
* @license MIT License.
*/
if (typeof unsafeWindow == 'undefined') {
/* Bookmarklet, etc... */
Hatena.Haiku.Pager.addEventListener('loadedEntries', aaSintax);
} else {
/* Greasemonkey */
unsafeWindow.Hatena.Haiku.Pager.addEventListener('loadedEntries', aaSintax);
}
aaSintax(document.body);
void(0);
function aaSintax(doc) {
var startSintax = /^>\;\|aa\|$/;
var endSintax = /^\|\|<\;$/;
var sintaxFlag = false;
var entry = document.getElementsByClassName('entry-body-content');
for (i in entry) {
var out = '';
var body = entry[i].innerHTML;
if (body) {
var lines = body.split("<br>");
var last = lines.length - 1;
for (l in lines) {
if (l == 0) {
lines[l] = lines[l].replace("\n ", '');
}
if (startSintax.test(lines[l]) == true) {
sintaxFlag = true;
out += '<div style="font-family:IPAMonaPGothic,'+
"'" + 'MS Pゴシック' + "'" +
',sans-serif;font-size:16px;line-height:18px;">';
} else if (endSintax.test(lines[l]) == true && sintaxFlag == true) {
sintaxFlag = false;
out += '</div>';
} else {
out += lines[l];
}
if (l != last) {
out += '<br>';
}
}
if (sintaxFlag == true) {
sintaxFlag = false;
out += lines[l];
}
entry[i].innerHTML = out;
}
}
}
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。