『2chまとめツール』を自作してみた【C#】
【JavaScript】ランキング形式のテキストから、テーブルタグ化するスクリプトを作ってみた
要は以下のような感じです。
1位 ああああ
2位 いいいい
3位 うううう
4位 ええええ
5位 おおおお
こんなプレーンなテキストがあったときに、
こんな感じで、ボタン一つでテーブルタグ化するものです。
自分以外に需要があるのか不明ですが、なかなか便利です。
ソーシャルボタンを好きな画像でカスタマイズ!(忍者おまとめボタンはちょっと重い)
ソーシャルボタンを一括で色々設置したい時、「忍者おまとめボタン」が便利で使っていました。
確かに、大小さまざまなタイプのアイコン100種類以上の組み合わせを簡単に作れて、数行のコードを貼り付けるだけ、
既に登録済みのカスタマイズを変更すれば、再度コードを生成しなくても反映される、
と、確かに便利です。
ただ、これが結構重いのですよね。
livedoor相互RSSのフィードをjQueryを使ってランダム表示にする
livedoor相互RSSを利用している人で、1つのチャンネルに複数のフィードを登録している人は多いでしょう。自分もその1人です。
そして設定画面には、フィードの表示順を変更する箇所はないので恐らく、各フィードの更新日付順だろうと思われます。
ここで今更ながら、表示順が配信元によって偏りがある(特定の配信元が良く上位にいる)事に気づきました。
そう、表示順が更新日付だとすると、配信元によっては最新記事ではなく人気記事であったり、ある程度記事のアクセス数などを加味した配信内容になっている可能性があって、そうであると常に最新を配信しているRSSが配信の上位に来やすくなるのです。
これだと、アクセスを送るのに偏りがでてしまうのでは(特に表示高さを固定にしてスクロールバー制御している場合は、ほぼ表示領域以下にしか出てこなくなる)、、と思ったことがきっかけです。
チャンネル自体を細かく分けることも考えましたが、チャンネル単位で広告のフィードが表示されるので、できるだけチャンネルを少なくしたい。
じゃあ、フィードを並び替えてしまおう、と言う訳です。
ランダム表示のやり方は以下のサイトを参考にして、livedoorの相互RSS用に手を入れてみました。
以下がサンプルコードです。
※本プログラムによって発生した問題に関して一切責任を負えませんので、あくまで使用は自己責任でお願いします。
$(document).ready(function() {
$('ul.blogroll-list-wrap').each(function(){
var arr = [];
$(this).children(':not(.blogroll-ad-text)').each(function() {
arr.push($(this));
$(this).remove();
});
arr.sort(function() {
return Math.random() - Math.random();
});
for(i=0; i < arr.length; i++) {
$(this).append(arr[i]);
}
});
});
一応、ちゃんと広告用のフィードは先頭のままにするように条件を加えて、それ以外の各フィードを親から一旦削除、ランダムに並び替えた後、再設定しています。
これで、アクセスを送るのに偏りがなくなるかなぁ。
良かったら、お試しください。