Created
March 1, 2012 05:50
-
-
Save honda0510/1947644 to your computer and use it in GitHub Desktop.
Googleリーダーのアイテムをサイト別に表示するブックマークレット
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
javascript:(function(){var%20entries=document.getElementById('entries').querySelectorAll('.entry');var%20sites={};for(var%20i=0,n=entries.length;i%20%3C%20n;i++){var%20entry=entries[i];var%20site=entry.querySelector('.entry-source-title').innerHTML;var%20title=entry.querySelector('.entry-title').innerHTML;var%20url=entry.querySelector('.entry-original').href;var%20date=entry.querySelector('.entry-date').innerHTML;if(!sites[site]){sites[site]=[];}sites[site].push({title:title,url:url,date:date});}var%20dl=document.createElement('dl');for(var%20site%20in%20sites){var%20entries=sites[site];var%20table=document.createElement('table');for(var%20i=0,n=entries.length;i%20%3C%20n;i++){var%20entry=entries[i];var%20tr=document.createElement('tr');var%20span=document.createElement('span');span.innerHTML=entry.date;var%20td=document.createElement('td');td.setAttribute('style','width:100px;');td.appendChild(span);tr.appendChild(td);var%20a=document.createElement('a');a.href=entry.url;a.target=%22_blank%22;a.innerHTML=entry.title;var%20td=document.createElement('td');td.appendChild(a);tr.appendChild(td);table.appendChild(tr);}var%20dt=document.createElement('dt');dt.innerHTML=site;var%20dd=document.createElement('dd');dd.appendChild(table);dl.appendChild(dt);dl.appendChild(dd);}var%20body=(window.open()).document.querySelector('body');body.appendChild(dl);})(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function() { | |
// アイテムを取得 | |
var entries = document.getElementById('entries').querySelectorAll('.entry'); | |
var sites = {}; | |
for ( var i = 0, n = entries.length; i < n; i++ ) { | |
var entry = entries[i]; | |
var site = entry.querySelector('.entry-source-title').innerHTML; | |
var title = entry.querySelector('.entry-title').innerHTML; | |
var url = entry.querySelector('.entry-original').href; | |
var date = entry.querySelector('.entry-date').innerHTML; | |
if ( !sites[site] ) { | |
sites[site] = []; | |
} | |
sites[site].push({title: title, url: url, date: date}); | |
} | |
/* こんなHTMLを作る | |
<dl> | |
<dt>サイト名</dt> | |
<dd> | |
<table> | |
<tr><td>日時</td><td><a href="url">タイトル</a></td></tr> | |
... | |
</table> | |
</dd> | |
... | |
</dl> | |
*/ | |
var dl = document.createElement('dl'); | |
for ( var site in sites ) { | |
var entries = sites[site]; | |
var table = document.createElement('table'); | |
for ( var i = 0, n = entries.length; i < n; i++ ) { | |
var entry = entries[i]; | |
var tr = document.createElement('tr'); | |
// 日時 | |
var span = document.createElement('span'); | |
span.innerHTML = entry.date; | |
var td = document.createElement('td'); | |
td.setAttribute('style', 'width:100px;'); | |
td.appendChild(span); | |
tr.appendChild(td); | |
// タイトルとURL | |
var a = document.createElement('a'); | |
a.href = entry.url; | |
a.target = "_blank"; | |
a.innerHTML = entry.title; | |
var td = document.createElement('td'); | |
td.appendChild(a); | |
tr.appendChild(td); | |
table.appendChild(tr); | |
} | |
var dt = document.createElement('dt'); | |
dt.innerHTML = site; | |
var dd = document.createElement('dd'); | |
dd.appendChild(table); | |
dl.appendChild(dt); | |
dl.appendChild(dd); | |
} | |
// 新しいウィンドウに表示 | |
var body = (window.open()).document.querySelector('body'); | |
body.appendChild(dl); | |
/* | |
var textarea = document.createElement('textarea'); | |
textarea.innerHTML = body.innerHTML; | |
body.insertBefore(textarea, dl); | |
*/ | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment