Let2JSON
by
maRk
2015-01-14 [2015/01/14 23:25:11]
レッツラJSON
@@ -4,7 +4,6 @@
* @include http://let.hatelabo.jp/*
* @license MIT License
* @require
- * @private
*/
(function(){
if( /^http:\/\/let\.hatelabo\.jp\/.*\/let\/.*/.test(location.href)) return;
/*
* @title Let2JSON
* @description レッツラJSON
* @include http://let.hatelabo.jp/*
* @license MIT License
* @require
*/
(function(){
if( /^http:\/\/let\.hatelabo\.jp\/.*\/let\/.*/.test(location.href)) return;
var clist = document.querySelectorAll('div.codelist');
var jsondata = {
'users': []
};
var user, codepath, userIcon, description, packedSource;
for (var i = 0; i < clist.length; i++) {
if (clist[i].style.display !== 'none') { //* //let.hatelabo.jp/a-kuma3/let/hJme3Kz9g6Zc 対応 */
user = getAttr(clist[i], 'img.profile-image', 'alt');
userIcon = getAttr(clist[i], 'img.profile-image', 'src');
description = clist[i].querySelector('p.description').textContent;
packedSource = clist[i].querySelector('pre')
? clist[i].querySelector('pre').textContent
: 'none';
jsondata.users.push({
'user': user,
'user_icon': userIcon,
'description': description,
'packed_source': packedSource
});
}
}
var jsonText = JSON.stringify(jsondata);
window.open('data\:text\/plain;charset=utf8,' + encodeURIComponent(jsonText));
/* to SAVE Local Storage JSON
/ for Check http://jsonlint.com/
*/
//localStorage.setItem('Hatea::let::JSON::data', JSON.stringify(jsondata));
function getAttr(target, sel, attr) {
result = target.querySelector(sel).getAttribute(attr);
return result;
}
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。