AA Sintax for Hatena Haiku
by
Akkiesoft
2011-08-11 [2011/08/11 00:24:23]
はてなハイクでAA記法を使えるようにする
@@ -9,52 +9,61 @@
* @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;
- }
- }
-}
+(function() {
+
+ 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;
+ }
+ }
+ }
+
+ aaSintax(document.body);
+
+
+ if (typeof unsafeWindow == 'undefined') {
+ /* Bookmarklet, etc... */
+ var TEN = Ten;
+ } else {
+ /* Greasemonkey */
+ var TEN = unsafeWindow.Ten;
+ }
+
+ TEN.AsyncLoader.executeWhenFragmentLoadedOrNow(function(frag) {
+ aaSintax(document.body);
+ }.bind());
+
+})();
/*
* @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.
*/
(function() {
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;
}
}
}
aaSintax(document.body);
if (typeof unsafeWindow == 'undefined') {
/* Bookmarklet, etc... */
var TEN = Ten;
} else {
/* Greasemonkey */
var TEN = unsafeWindow.Ten;
}
TEN.AsyncLoader.executeWhenFragmentLoadedOrNow(function(frag) {
aaSintax(document.body);
}.bind());
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。