Here is the wiki page for sharing information for Hatena Star, Hatena Star Everywhere Greasemonkey and compatible user scripts.
Please specify a host name and configurations for the host as JSON data in Text::Hatena's "Supre Pre Syntax" (>|| .. ||<).
You can specify as many configurations for a host as you like. Multiple configurations will be tried in the order written in here.
path: '^/[\w-]+/', // RegExp string. location.pathname.match(new RegExp(path)) will be executed against this string. entryNodes: { // This entry specifies which nodes should have stars. 'div.section': { // CSS selector for entry nodes. uri: 'h3 a', // Selector for entry's uri. element.href will be used. You can also use 'window.location' instead of a selector. title: 'h3', // Selector for entry's title. Scraped text from element.childNodes or element.title or element.alt will be used. container: 'h3' // Selector for container. Buttons and stars will be appended into this element. } }
entryNodes: { 'div.section': [ // Entry selectors can also be an array of selectors {uri: 'h3 a', title: 'h3', container: 'h3'}, {uri: 'h3 a', title: 'h3', container: 'parent'}, ] }
HatenaStar.js (Ten.js) supports some CSS1,2,3 selectors.
location.href
path: '^/', entryNodes: { 'h3.title': { uri: 'a', title: 'parent', container: 'parent' } }
path: '^/' , entryNodes: { 'div.entry': { uri: 'a.permalink', title: 'h3', container: 'h3' } }
path: '^/', entryNodes: { 'h3.title': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/[\w-]+/\d+\.html$', entryNodes: { 'div.postdate': { uri: 'window.location', title: 'div.posttitle', container: 'div.posttitle' } }
path: '^/([\w-]+/|applet/[\w-]+/)', entryNodes: { 'div.postdate': { uri: 'div.postcommtb a:first-child', title: 'div.posttitle', container: 'div.posttitle' } }
path: '^/elem/\d+/\d+/\d+/\d+/', entryNodes: { 'div#contdefault': { uri: 'window.location', title: 'h1', container: 'h1' }, 'div.relatedarticle ul.relatedarticle li': { uri: 'strong > a', title: 'strong > a', container: 'strong > a' } }
path: '^/cate/15/$', entryNodes: { 'div.namegroups': { uri: 'h3 a', title: 'h3 a', container: 'h3' } }
path: '^/cate/\d+/$', entryNodes: { 'div.namegroup': { uri: 'h2 a', title: 'h2 a', container: 'h2' } }
path: '^/cate/\d+/$', entryNodes: { 'div.pickupsc': { uri: 'h3 a', title: 'h3 a', container: 'h3' } }
path: '^/\d+/article_\d+\.html', entryNodes: { 'div#blog-head': { uri: 'window.location', title: 'h2', container: 'h2' } }
path: '^/($|\d+/index\.html|theme/)', entryNodes: { 'div#postlist table tbody tr td:first-child': { uri: 'a:first-child', title: 'a:first-child', container: 'p.response' } }
path: '^/$', entryNodes: { 'div.entry': { uri: 'h3 a:nth-child(1)', title: 'h3', container: 'h3' } }
path: '^/monthly/.+/$', entryNodes: { 'div.entry': { uri: 'h3 a:nth-child(1)', title: 'h3', container: 'h3' } }
path: '^/category/\w+/$', entryNodes: { 'div.entry': { uri: 'h3 a:nth-child(1)', title: 'h3', container: 'h3' } }
path: '^/entry/\d+/$', entryNodes: { 'div.entry': { uri: 'h3 a:nth-child(1)', title: 'h3', container: 'h3' } }
とりあえず2種類まとめてかなり乱暴に対応中。別パターン追加や不具合修正求む。
path: '^/.*', entryNodes: { '.EntryInnerBlock': { uri: '.EntryTitle a:nth-child(1)', title: '.EntryTitle', container: '.EntryTitle' }, 'div.entry_table': { uri: 'h3 a', title: 'h3', container: 'h3' } }
path: '^/$', entryNodes: { 'div.left': { uri: 'a:first-child', title: 'h3', container: 'h3' } }
path: '^/\w+/$', entryNodes: { 'div.entry': { uri: 'h2 a', title: 'h2 a', container: 'h2' } }
path: '^/.*html$', entryNodes: { 'div#main': { uri: 'h2 a', title: 'h2 a', container: 'h2' } }
path: '^/$', entryNodes: { 'div.blogbody': { uri: 'a:nth-child(1)', title: 'h2', container: 'h2' } }
path: '^/$', entryNodes: { '.entry_table': { uri: '.entry_title a:nth-child(1)', title: '.entry_title', container: '.entry_title' } }
path: '^/blog-(entry|date|category)-\d+\.html$', entryNodes: { '.entry_table': { uri: '.entry_title a:nth-child(1)', title: '.entry_title', container: '.entry_title' } }
path: '.*', entryNodes: { 'div.post': { uri: 'h3.post-title a', title: 'h3.post-title', container: 'h3.post-title' }, '.hentry': { uri: 'a.timestamp-link', title: '.entry-title', container: '.post-footer-line-1' } }
path: '^/.*', entryNodes: { 'div.entry': { uri: 'a.permalink', title: 'h3', container: 'h3' } }
path: '^/.*', entryNodes: { 'div.post': { uri: 'span.TIME a', title: 'div.POST_TTL', container: 'div.POST_TTL' } }
path: '^/.*html$', entryNodes: { 'div.left': { uri: 'a:nth-child(1)', title: 'h3', container: 'h3' } }
path: '^/bbs/\d+', entryNodes: { 'div.day': { uri: 'h2 a:nth-child(1)', title: 'h2', container: 'h2' } }
path: '^/[\w-]+/', entryNodes: { 'div.section': { uri: 'h3 a', title: 'h3', container: 'h3' }, '.hatena-section li': { uri: 'a', title: 'a', container: 'a' } }
path: '^/\w+/gallery', entryNodes: { '#gallery li.gallery-item': { uri: 'div h3 a', title: 'div h3 a', container: 'div h3' } }
path: '^/\w+/persona/\d+', entryNodes: { '#maincontent div.persona-detail': { uri: 'window.location', title: 'h3', container: 'h3' } }
path: '^/$', entryNodes: { 'h2.title': { uri: 'a', title: 'a.mytitle', container: 'parent' } }
path: '^/index\.php?', entryNodes: { 'div#maincol div.content': { uri: 'window.location', title: 'h2.title', container: 'h2.title' } }
path: '^/one/\d+', entryNodes: { 'div.naka': { uri: 'h3 a:first-child', title: 'h3 a:first-child', container: 'h3' } }
path: '^/[a-z]+/articles/\d+/\d+/news[\d_]+.html$', entryNodes: { 'div.articles': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '/$', entryNodes: { 'h3, div.headline li, div.hl li, ul.linkset li': { uri: 'a', title: 'parent', container: 'parent' } }
path: '^(/$|/\??page=\d)', entryNodes: { 'ul.stream li.presence div div': { uri: 'h3 a', title: 'h3', container: 'p.meta'} ,'ul.stream li.comment div div' : { uri: 'p.meta a:nth-child(2)', title: 'p.comment', container: 'p.meta'} }
path: '^/presence/\w+', entryNodes: { 'div#current-stream': { uri: 'window.location', title: 'h2', container: 'h2'} }
path: '^/.*', entryNodes: { 'div.entry': { uri: 'div.entry_state a:nth-child(1)', title: 'div.entry_title', container: 'div.entry_title' } }
permalinkへのリンクの位置が一定しないので苦肉の策
コメントを付けると、permalinkページの☆が消えてしまう・・・・
path: '^/$', entryNodes: { 'div.newest,div.item1,div.item2': { uri: 'h3 a', title: 'h3', container: 'p:last_child' }, 'li.arrow': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/(headline|special)/archives/.+$', entryNodes: { 'li.arrow': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/headline/\d+/index.html$', entryNodes: { 'div#headline': { uri: 'document.location', title: 'h3', container: 'li#sbm' }, 'li.arrow': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/column/\d+/index.html$', entryNodes: { 'div#column': { uri: 'document.location', title: 'h3', container: 'p' } }
path: '^/$', entryNodes: { 'div.blogbody': [ { uri: 'div.posted a', title: 'h3.title', container: 'h3.title' }, { uri: 'div.titlebody h1.title a', title: 'div.titlebody h1.title', container: 'div.titlebody h1.title' } ] }
path: '^/archives/\d+\.html', entryNodes: { 'div.blogbody': [ { uri: 'window.location', title: 'document.title', container: 'h3.title' }, { uri: 'window.location', title: 'document.title', container: 'div.titlebody h1.title' } ] }
path: '^/' , entryNodes: { 'div.entry': { uri: 'a.permalink', title: 'h3', container: 'h3' } }
path: '^/entry/[\w]+', entryNodes: { 'div.entry h2.entry-title': { uri: 'window.location', title: 'parent', container: 'parent' } }
path: '^/$', entryNodes: { 'div.entry-inner': { uri: 'h2.entry-title a', title: 'h2.entry-title a', container: 'h2.entry-title' } }
path: '^/status/$', entryNodes: { 'dl.past-doing': { uri: 'dt span a', title: 'dd', container: 'dd' }, 'dl.newest-doing': { uri: 'dt span a', title: 'dd div', container: 'dd div' } }
ギブアップ。ヘルプ求む
path: '^/a/content/\?id=?', entryNodes: { 'div.box11_r_in': { uri: 'window.location', title: 'p.music_title wordbreak', container: 'parent' } }
path: '^/member\.php$', entryNodes: { 'div.profile-unit': { uri: 'window.location', title: 'document.title', container: 'ul.badges' }, 'li.image-item': { uri: 'a', title: 'h1', container: 'parent' } }
path: '^/member_illust\.php$', entryNodes: { 'div.work-detail-unit': { uri: 'window.location', title: 'document.title', container: 'ul.share-button' }, 'div.cool-work-main': { uri: 'window.location', title: 'document.title', container: 'span.date' } }
div.work-detail-unitは1枚表示(... /member_illust.php?mode=medium&illust_id= ...)のとき。
div.cool-work-mainはログインしていないとき。
path: '^/', entryNodes: { 'div.blog': { uri: 'a:nth-child(1)', title: 'h3', container: 'h3' } }
path: '^/.*', entryNodes: { 'div.blogbody': { uri: 'h3.title a:first-child', title: 'h3.title', container: 'h3.title' } }
path: '^/.*', entryNodes: { 'div.entry': { uri: 'a.permalink', title: 'h3', container: 'h3' } }
path: '^/.*$', entryNodes: { 'div.post': { uri: 'a:nth-child(1)', title: 'h1', container: 'h1' } }
path: '^/[\w-]+$', entryNodes: { 'div.log': { uri: 'h3.title a', title: 'h3.title', container: 'h3.title' } }
path: '^/[\w-]+/\d+$', entryNodes: { 'div.log': { uri: 'h3.title a', title: 'h3.title', container: 'h3.title' } }
div.shareの後ろに入れたかったけれど、きれいに入らなかったのでむしゃくしゃしてタイトルの横につけた。
wwwありなしの区別めんどい。
http://s.hatena.ne.jp/siteconfig?host=theinterviews.jp
path: '^/.*', entryNodes: { 'div.entry': { uri: 'a.permalink', title: 'h3', container: 'h3' } }
path: '^.*/\d+/\d+/.*\.html$', entryNodes: { 'div.entry': { uri: 'window.location', title: 'h3', container: 'h3' } }
path: '^/', entryNodes: { 'div.entry': { uri: 'h3.entry-header a', title: 'h3.entry-header a', container: 'h3.entry-header' } }
path: '^.*/\d+/\d+/.*\.html$', entryNodes: { 'div.entry': { uri: 'window.location', title: 'h3', container: 'h3' } }
path: '^/', entryNodes: { 'div.entry': { uri: 'h3 > a', title: 'h3 > a', container: 'h3' } }
path: '^/library/post/', entryNodes: { 'div.asset-name-outer': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '^/', entryNodes: { 'div.asset-header': { uri: 'h2 > a', title: 'h2', container: 'h2' } }
path: '^/$', entryNodes: { 'div.entry': { uri: 'h3 a', title: 'h3', container: 'h3' } }
path: '^/\w+/$', entryNodes: { 'div.entry': { uri: 'h3 a', title: 'h3', container: 'h3' } }
path: '^/\w+/\d+/\d+/.+\.html$', entryNodes: { 'div.entry': { uri: 'window.location', title: 'h3', container: 'h3' } }
path: '^/watch?', entryNodes: { 'div#baseDiv': { uri: 'window.location', title: '#vidTitle', container: '#vidTitle' } }
各国語対応版(というかドメインを変えただけ)。
path: '^/.*$', entryNodes: { 'div.blogbody': { uri: 'a:nth-child(1)', title: 'h2', container: 'h2.title' } }
path: '^/(music|images)\/.+$', entryNodes: { 'div.colmask.doublepage': { uri: 'h2 strong a', title: 'h2', container: '#media_actions' } }
path: '^/.+/.+/addon/\d+$', entryNodes: { 'div.addon-feature': { uri: 'document.location', title: 'h2', container: 'h2' } }
path: '^/.+/.+/browse/.+$', entryNodes: { 'div.addon-listitem': { uri: 'a', title: 'h2', container: 'h2' } }
path: '^/.+/.+/recommended$', entryNodes: { 'div.addon-listitem': { uri: 'a', title: 'h2', container: 'h2' } }
path: '^/blog/$', entryNodes: { 'div.metadata': { uri: 'h2 a', title: 'h2 a', container: 'h2' } }
path: '^/.*/entry-\d+\.html$', entryNodes: { 'div.entry': { uri: 'window.location', title: 'h3.title', container: 'h3.title' } }
path: '^/', entryNodes: { 'div.entry': { uri: 'div.foot > a:nth-child(1)', title: 'h3.title', container: 'h3.title' } }
path: '^/', entryNodes: { 'article': { uri: '.skinArticleHeader2 h1 a', title: '.skinArticleHeader2 h1', container: '.skinArticleHeader2 h1' } }
path: '.*', entryNodes: { 'div.section': { uri: 'h3 a', title: 'h3', container: 'h3' } }
path: '^/elem/\d+/\d+/\d+/\d+/', entryNodes: { 'div#contdefault': { uri: 'window.location', title: 'h1', container: 'h1' }, 'div.relatedarticle ul.relatedarticle li': { uri: 'strong > a', title: 'strong > a', container: 'strong > a' } }
path: '^/cate/15/$', entryNodes: { 'div.namegroups': { uri: 'h3 a', title: 'h3 a', container: 'h3' } }
path: '^/cate/\d+/$', entryNodes: { 'div.namegroup': { uri: 'h2 a', title: 'h2 a', container: 'h2' } }
path: '^/cate/\d+/$', entryNodes: { 'div.pickupsc': { uri: 'h3 a', title: 'h3 a', container: 'h3' } }
path: '^/\w+(/best)?$', entryNodes: { 'div.questionBox': { uri: 'a.link-time', title: 'div.question > span > span', container: 'div.question' } }
path: '^/\w+/answer/\d+$', entryNodes: { 'div.questionBox': { uri: 'a.link-time', title: 'div.question > span > span', container: 'div.question' } }
path: '^/Yuichirou/', entryNodes: { 'dl.bookmarklist': { uri: 'dt.bookmark a', title: 'dt.bookmark', container: 'dt.bookmark' } }
原理的にはできるのにおかしいなと思ったら、Hatena.Starオブジェクトが上書きされているのでこれでは動きません_| ̄|○ by Yuichirou (2007/09/28)
path: '^/bookmarklist', entryNodes: { 'dl.bookmarklist': { uri: 'dd.bookmarker a', title: 'dt.bookmark', container: 'dd.comment' } }
# deleted
path: '^/makoto/articles/.+\.html$', entryNodes: { 'div.newart': { uri: 'document.location', title: 'h1', container: 'h1' } }
path: '^/perfume/p/archive/\d+/\d+-\d+-\d+\.php', entryNodes: { 'div.blog': { uri: 'window.location', title: 'div.day > h2', container: 'div.day > h2' } }
path: '^/perfume/p/item/\d+', entryNodes: { 'div.blog': { uri: 'window.location', title: 'div.day h2', container: 'div.day h2' } }
path: '^/blog$', entryNodes: { 'div#mgbp_title': { uri: 'window.location', title: 'h2.title', container: 'h2.title' } }
path: '^/[\w-]+', entryNodes: { 'div.post': { uri: 'span.TIME a', title: 'div.POST_TTL', container: 'div.POST_TTL' } }
path: '^/', entryNodes: { 'div.entry': { uri: 'h2 a', title: 'h2', container: 'h2' } }
path: '^/[\w-]+', entryNodes: { 'div.art_title, div.entryTitle, div.etBar, div.etTitleKazari, h2.entryTitle, h3, td.entry > table > tbody > tr:nth-child(2) > td, td.entry > table > tbody > tr:nth-child(4) > td, td.entryTitle, td.et2 div, td.etBg > div:nth-child(2), td.etTitle, td.etTitlebg': { uri: 'a.etTitleLink', title: 'a.etTitleLink', container: 'parent' }, 'div.entry h2, div.entry_title, div.entry-top h2, div.entry-top h3, div.entry_tt p, div.eTitle, h2.etTitle, h3.title, p.title, table.entryHead, td.entry_top': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/[\w_-]+/e/[\w\d]+$', entryNodes: { 'td.tbg03': { uri: 'a.etTitleLink', title: 'span.etTitle', container: 'span.etTitle' } }
path: '^/dankogai/$', entryNodes: { 'div.blogbody': { uri: 'h3 > a.aposted', title: 'h3', container: 'h3' } }
path: '^/dankogai/archives/\d+\.html', entryNodes: { 'div.blogbody': { uri: 'window.location', title: 'h3', container: 'h3' } }
path: '^/[\w-]+/$', entryNodes: { 'div.blogbody': { uri: 'div.posted a', title: 'h3', container: 'h3' }, 'div.article-title-outer': { uri: 'h2 a', title: 'h2', container: 'h2' } }
path: '^/[\w-]+/archives/\d+\.html', entryNodes: { 'div.blogbody': { uri: 'window.location', title: 'h3', container: 'h3' }, 'div.article-title-outer': { uri: 'window.location', title: 'h2', container: 'h2' } }
path: '^/[\w-]+/', entryNodes: { 'h1': { uri: 'document.location', title: 'parent', container: 'parent' } }
path: '^/$', entryNodes: { 'div#pixiv div#leftcolumn div.entry_post': { uri: 'h3 a', title: 'h3 a', container: 'h3' } }
(自ブログ内で対応したため削除)
" path: '^/ws/$', entryNodes: { 'div.entry': { uri: 'h2 a', title: 'h2 a', container: 'h2' } } "
path: '^/\w+/', entryNodes: { 'div.entry': [ { uri: 'div.permaLink a', title: 'div.entryTitle', container: 'div.entryMetaInfo' }, { uri: 'div.permaLink a', title: 'div.entryTitle', container: 'div.permaLink p' } ] }
path: '^/service/', entryNodes: { 'div.entry-body-wrap': { uri: 'document.location', title: 'h2', container: 'h2' } }
path: '.*', entryNodes: { 'div.entry-body-wrap': { uri: 'h2 a', title: 'h2', container: 'h2' } }
path: '.+', entryNodes: { 'div.main_block': { uri: 'div.main_title a', title: 'div.main_title a', container: 'div.main_title td' } }
# 対応したので削除したよ
detail.chiebukuro.yahoo.co.jp に変更
path: '^/product/\d+_\d+.html', entryNodes: { 'div.meta_box_site': { uri: 'h1.site_name a', title: 'h1.site_name', container: 'h1.site_name' } }
path: '^/source/view/', entryNodes: { 'div#main': { uri: 'h2.detail_tit a', title: 'h2.detail_tit', container: 'h2.detail_tit' } }
path: '^/mymemo/[\w-_]+/blog/.*html$', entryNodes: { 'div.ytrvTmMdTdArticle': { uri: 'window.location', title: 'h3', container: 'h3' } }
path: '^/mymemo/[\w-_]+/buzz/.*html$', entryNodes: { 'div.ytrvTmMdRepArticle': { uri: 'window.location', title: 'h3 span.span02', container: 'h3 span.span02' } }
path: '^/[\w-]+/', entryNodes: { 'h3': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/(?:keyword|asin)/', entryNodes: { 'div.box-curve-bar': { uri: 'h2 > span.title > a', title: 'h2 > span.title > a', container: 'h2 > span.title' } }
path: '^/(?:keywordlist|hot.*|gourmet/)', entryNodes: { '.keyword-list li': { uri: 'h3 a', title: 'h3', container: 'h3' } }
path: '^/themesample', entryNodes: { 'div.section': { uri: 'h3 a', title: 'h3', container: 'h3' } }
path: '^/[\w-]+/(?!edit)', entryNodes: { 'div.commentshort p': { uri: 'span.timestamp a', title: 'parent', container: 'span.commentator' } }
path: '^/url/[\w]+', entryNodes: { 'h4.nomb': { uri: 'a', title: 'a', container: 'parent' } }
path: '.*', entryNodes: { 'ol.posts li': { uri: 'h4 a', title: 'h4', container: 'div.commands' } }
ブックマークの一覧でもスターが出るように追加しました。 by koko1000ban
ノートコメント一個づつに☆つけようかと思いましたが、やめました。 by mattn
path: '^/url/[\w]+', entryNodes: { 'div.data > h4': { uri: 'a', title: 'a', container: 'parent' } }
path: '.*', entryNodes: { 'div.data h4': { uri: 'a', title: 'a', container: 'parent' } }
ブックマークの一覧でもスターが出るように追加しました。 by koko1000ban
ノートコメント一個づつに☆つけようかと思いましたが、やめました。 by mattn
uri をどうしたらいいか分からず。
path: '^/qa/question_detail/q\d+', entryNodes: { 'div.Extends-details': { uri: 'a', title: 'p.user-name', container: 'p.user-name' } }
path: '^/\w+/$', entryNodes: { '#recententry li': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/', entryNodes: { 'article.entry': { uri: 'h1 a', title: 'h1', container: 'div.categories' } }
path: '^/a/*', entryNodes: { 'div.article-tab-nico': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '.*', entryNodes: { 'div.news-body': { uri: 'h3 a', title: 'h3', container: 'h3' } }
path: '^/wiki/[^&]+$', entryNodes: { 'div#globalWrapper': { uri: '#p-cactions ul:first-child li.selected a', title: 'h1.firstHeading', container: 'h1.firstHeading' } }
path: '^/archive/(.+)$', entryNodes: { 'div.entry': { uri: '#hatena-star > a', title: '#hatena-star > a', container: '#hatena-star' } }
path: '^/p/', entryNodes: { 'table.tasklist tr': { uri: 'td.tasktitle a', title: 'td.tasktitle a', container: 'td.tasktitle' }, 'table.taskdetail': { uri: 'ul.permalink a:nth-child(2)', title: 'td.tasktitle', container: 'ul.userset li:nth-child(2)' } }
www.flickr.comのコピーです
あ、消せない...
すみません。消して下さい。
path: '^/photos/[@\w-]+/\d+/$', entryNodes: { '#photoswftd': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '^/photos/[@\w-]+/?', entryNodes: { 'td.PhotosColumn > table td': { uri: 'a:first-child', title: 'a:first-child img', container: 'p.Activity' } }
path: '^/explore/$', entryNodes: { 'div#Main': { uri: 'table.Interestingness > tbody > tr > td > a', title: 'table.Interestingness > tbody > tr > td > a > img', container: 'h1' } }
path: '^/2.0/javadoc/.*/(?!package-frame)', entryNodes: { 'body': { uri: 'document.location', title: 'pre:first-child b', container: 'h2' } }
path: '^/$', entryNodes: { 'h2.title': { uri: 'a', title: 'a.mytitle', container: 'parent' } }
path: '^/index\.php?', entryNodes: { 'div#maincol div.content': { uri: 'window.location', title: 'h2.title', container: 'h2.title' } }
path: '^/\w+/*$', entryNodes: { 'div.path': { uri: 'b a', title: 'b', container: 'b' } }
path: '^/\w+/?$', entryNodes: { 'div.path': { uri: 'a:first-child', title: 'a:first-child', container: 'a:first-child' } }
path: '.*', entryNodes: { 'div.post': { uri: 'h3.post-title a', title: 'h3.post-title', container: 'p.post-footer' } }
path: '^/entry/.+$', entryNodes: { 'div.day': { uri: 'p.permalink a', title: 'h2', container: 'h2' } }
path: '^/hl', entryNodes: { 'div.yntop': { uri: 'document.location', title: 'h1', container: 'h1' }, 'div.yjXL': { uri: 'document.location', title: 'h1', container: 'h1' }, 'ul.cptComment': { uri: 'document.location', title: 'li.hdTop span', container: 'li.hdTop' } }
path: '^/maname/$|^/maname/log/', entryNodes: { 'p table td:first-child table:first-child, p table td:first-child p table:first-child': { uri: 'a', title: 'td', container: 'td' } }
i'm feeling curious
path: '^/(?!idea(list)?)', entryNodes: { 'td.icontent': { uri: 'a', title: 'a', container: 'div' } }
path: '/', entryNodes: {'body': {uri: 'document.location', title: 'parent', container: 'parent'}}
path: '^/p/6182566$', entryNodes: { 'div#main': { uri: 'a:nth-child(1)', title: 'img', container: 'div#main' } }
path: '^/static/yajiuma/\d{4}/\d{2}/', entryNodes: { 'td.body-text > a': { uri: 'a.news', title: 'a.news', container: 'a.news' } }
path: '^/$', entryNodes: { 'table:nth-child(3) table:nth-child(3) table tr': { uri: 'td a', title: 'td a', container: 'td a' } }
path: '^/article/', entryNodes: { 'div#kijiBox': { uri: 'document.location', title: 'document.title', container: 'h1.kijiTitle' } }
(id:NATさんのコメント)2008年3月27日にイッテミアの画面デザインが大幅に変更された影響で、はてなスターが表示されなくなった画面もありますが、修正できてません。
(id:kazyamaのコメント 09/04/01(水)更新)イッテミア前線のトップページの画面デザインの変更に対応しました。
イッテミアラリー(旧:イッテミア)のサイトデザイン変更への対応はまだです。
なお、過去のコメントは、"Edit Logs"を参照ください。
path: '^/mission_search.php$', entryNodes: { 'div.summarySpread': { uri: 'a', title: 'a', container: 'dt' } }
path: '^/mission_detail.php/mission_id/\d+$', entryNodes: { 'div#detail': { uri: 'window.location', title: 'h1.pageTitle', container: 'h1.pageTitle' }, 'div#main > table ul.iconLinkNormal': { uri: 'a', title: 'a', container: 'li' } }
path: '^/all_progress.php\?search_type=1$', entryNodes: { 'div#main': { uri: 'window.location', title: 'h1', container: 'h1' }, 'div.wordsBalloonAdd': { uri: 'strong > a', title: 'strong', container: 'dt' } }
path: '^/progress_detail.php|commu_board_detail.php$', entryNodes: { 'div#main': { uri: 'window.location', title: 'h1#pageTitle', container: 'h1#pageTitle' } }
path: '^/all_progress.php\?search_type=15$', entryNodes: { 'div#main': { uri: 'window.location', title: 'h1', container: 'h1' }, 'div.wordsBalloonAdd': { uri: 'strong > a', title: 'strong', container: 'dt' } }
path: '^/all_progress.php$', entryNodes: { 'div.wordsBalloonAdd': { uri: 'strong > a', title: 'strong', container: 'dt' } }
path: '^/commu_board.php$', entryNodes: { 'ul.iconLinkNormal': { uri: 'a', title: 'a', container: 'li' } }
path: '^/($|top.php$)', entryNodes: { 'div#my_progress ul.iconLinkNormal, div.mainColumn > table ul.iconLinkNormal, div.mainColumn dl.dateList ul': { uri: 'a', title: 'a', container: 'li' }, 'div.subColumn div.sectionBox:nth-child(2) div.box': { uri: 'dt a', title: 'dt a', container: 'dt' }, 'div.subColumn div.sectionBox:nth-child(3) dd': { uri: 'a', title: 'a', container: 'parent' }, 'div.subColumn div.sectionBox:nth-child(4) dd': { uri: 'a', title: 'a', container: 'parent' }, 'div.subColumn div.sectionBox:nth-child(5) li': { uri: 'a', title: 'parent', container: 'parent' } }
path: '^/zensen/themes/view/\d+$', entryNodes: { 'div#Container': { uri: 'window.location', title: 'h1.PageTitleType1', container: 'h1.PageTitleType1' }, 'div.RightBoxInner': { uri: 'a', title: 'a', container: 'li' }, 'div.additionalBox li': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/zensen/comments/theme/\d+$', entryNodes: { 'div#Container': { uri: 'div.LocalNaviHorizontalBox a', title: 'h1.PageTitleType1', container: 'h1.PageTitleType1' } }
path: '^/zensen/announces/view/\d+$', entryNodes: { 'div#Container': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '^/zensen/announces/$', entryNodes: { 'dd': { uri: 'a', title: 'li', container: 'li' } }
path: '^/zensen/$', entryNodes: { 'h3.SubjectTitle': { uri: 'a', title: 'a', container: 'parent' }, 'div.UserPostingListType2': { uri: 'a', title: 'a', container: 'li' }, 'ul.UnorderedList > li': { uri: 'a', title: 'a', container: 'parent' }, 'div.ThemeListType1': { uri: 'a', title: 'a', container: 'parent' }, 'div.ThemeListType2': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/wiki/', entryNodes: { '#content': { uri: 'window.location', title: '#firstHeading span', container: '#firstHeading span' } }
path: '^/wiki/[^&]+$', entryNodes: { 'div#content': { uri: 'window.location', title: 'h1.firstHeading', container: 'h1.firstHeading' } }
uriを'#p-cactions ul:first-child li.selected a'から'window.location'に変更(#p-cactionsがなくなった?) by Akkiesoft (2010/09/21)
'div#globalWrapper'から'div#content'に変更 by Akkiesoft (2010/09/21)
ノートページなどにも対応。 by Yuichirou (2007/09/28)
記号を含む記事にも対応。 by Yuichirou (2007/09/28)
path: '^(/$|/\??page=\d)', entryNodes: { 'ul.stream li.presence div div': { uri: 'h3 a', title: 'h3', container: 'p.meta'} ,'ul.stream li.comment div div' : { uri: 'p.meta a:nth-child(2)', title: 'p.comment', container: 'p.meta'} }
path: '^/presence/\w+', entryNodes: { 'div#current-stream': { uri: 'window.location', title: 'h2', container: 'p'} }
path: '^/news/media/story/\d+,\d+,\d+,\d+.htm$', entryNodes: { 'div.block_leaf': { uri: '#sbm_list_url_saaf_EXTPOSITION', title: 'h1', container: 'h1' } }
path: '^/$', entryNodes: { 'div.post h2': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/\d+/\d+/\d+/[\w-]+/', entryNodes: { 'div.post h2': { uri: 'window.location', title: 'span', container: 'parent' } }
path: '^/j2se/1.5.0(/[a-z]+)?/docs(/[a-z]+)?/api/.*/(?!package-frame)', entryNodes: { 'body': { uri: 'document.location', title: 'pre:first-child b', container: 'h2' } }
for http://java.sun.com/j2se/1.5.0/docs/api/index.html and http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/index.html .
path: '^/.*/(?!package-frame)', entryNodes: { 'body': { uri: 'document.location', title: 'pre:first-child b', container: 'h2' } }
path: '^/(index\.html$|$)', entryNodes: { 'div.section div.article': { uri: 'a', title: 'a', container: 'h3' }, 'div.section ul.headlinelist01 li': { uri: 'a', title: 'a', container: 'a' } }
path: '^/\w+/\w+/\w+/', entryNodes: { 'div#articleMain': { uri: 'window.location', title: 'h2', container: 'h2' }, 'div.section ul.headlinelist01 li': { uri: 'a', title: 'a', container: 'a' }, 'div.section ul.headlinelist02 li': { uri: 'a', title: 'a', container: 'a' }, 'div.section > ul.linklist01 li': { uri: 'a', title: 'a', container: 'a' } }
path: '^/\w+/\w+/($|index\.html$)', entryNodes: { 'div.section div.article': { uri: 'a', title: 'a', container: 'h3' }, 'div.section ul.headlinelist01 li': { uri: 'a', title: 'a', container: 'a' }, 'div.section ul.headlinelist02 li': { uri: 'a', title: 'a', container: 'a' }, 'div.section > ul.linklist01 li': { uri: 'a', title: 'a', container: 'a' } }
エントリ内にリンクが無いので、コメント用URLをエントリURLとして使ってます。他の方法があったら書き換えてください。
path: '^/\d+/\d+/\d+/[\w-]*/$', entryNodes: { 'div#single_post': { uri: 'document.location', title: 'h1', container: 'h1' } }
path: '^/archives/', entryNodes: { 'div.post_subheader': { uri: 'document.location', title: 'document.title', container: 'div.post_subheader_left' } }
path: '^/$', entryNodes: { 'div.post': { uri: 'h2 a', title: 'h2', container: 'small.postmetadata' } }
path: '^/$', entryNodes: { 'div.entry-info': { uri: 'a', title: 'span.entry-permalink', container: 'span.entry-permalink' } }
path: '^/\d+/$', entryNodes: { 'div.entry-info': { uri: 'a', title: 'span.entry-permalink', container: 'span.entry-permalink' } }
path: '^/~masanori/blog/', entryNodes: { 'div#alpha-inner': { uri: 'p.entry-footer a', title: 'h2#archive-title', container: 'h2#archive-title' } }
path: '^/\d*$', entryNodes: { '.recentEntry': { uri: '.usertext a', title: '.usertext a', container: '.created_at' } }
path: '^/show/\d+$', entryNodes: { 'div#maincontent': { uri: 'window.location', title: 'img', container: 'p' } }
path: '^/\w+/(\d+)*', entryNodes: { 'div.listboxin': { uri: 'div.listboxtxt h3 a', title: 'div.listboxtxt h3', container: 'div.listboxtxt h3' } }
*.way-nifty.comへ
path: '^/blog/', entryNodes: { 'div.blogbody': { uri: 'h3.title > a', title: 'h3.title', container: 'div.posted' } }
path: '^/\d{4}/\d{2}/.*\.php$', entryNodes: { 'div.entry': { uri: 'document.location', title: 'h1', container: 'h1' } }
path: '.*', entryNodes: { 'div.entry': { uri: 'h3.title a', title: 'h3.title', container: 'h3.title' } }
path: '^/blog-entry-\d+.html$' , entryNodes: { 'div#main': { uri: 'a:nth-child(2)', title: 'span.a_title', container: 'span.a_title' } }
path: '^/$', entryNodes: { 'body': { uri: 'window.location', title: 'h2', container: 'h2' } }
path: '^/$', entryNodes: { 'div.tophl-body ul li': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/select/\w+/news/\w+\.html$', entryNodes: { 'div.newsarticle': { uri: 'window.location', title: 'h2.newstitle', container: 'h2.newstitle' } }
path: '^/enta/\w+/\w+/news/\w+\.html$', entryNodes: { 'div.newsarticle': { uri: 'window.location', title: 'h2.newstitle', container: 'h2.newstitle' } }
path: '^/select/$', entryNodes: { 'div.m-body01 a': { uri: 'parent', title: 'parent', container: 'parent' } }
path: '^/enta/$', entryNodes: { 'div.m-body01 a': { uri: 'parent', title: 'parent', container: 'parent' } }
path: '^/select/\w+/$', entryNodes: { 'div.m-body01 a': { uri: 'parent', title: 'parent', container: 'parent' } }
path: '^/select/\w+/archive/', entryNodes: { 'div.mainmargin ul.mark li a': { uri: 'parent', title: 'parent', container: 'parent' } }
path: '^/nounai/r/', entryNodes: { 'div#con_main': { uri: window.location, title: 'h1#maga_title', container: 'h1' } }
path: '^/\d+', entryNodes: { 'div.entry-asset': { uri: 'h2.asset-name a', title: 'h2.asset-name', container: 'h2' } }
path: '/upload.cgi$', entryNodes: { 'table.list tr': { uri: 'td:nth-child(2) a:nth-child(2)', title: 'td:nth-child(3)', container: 'parent' }, 'p': { uri: 'a:first-child', title: 'parent', container: 'parent' } }
path: '^/list_diary\.pl', entryNodes: { 'div.listDiaryTitle': { uri: 'dt a:nth-child(1)', title: 'dt a:nth-child(1)', container: 'dt' } }
path: '^/new_friend_diary\.pl', entryNodes: { 'div.newFriendDiaryArea li': { uri: 'dd a:nth-child(1)', title: 'dd a:nth-child(1)', container: 'dd' } }
path: '^/view_diary\.pl', entryNodes: { 'div.listDiaryTitle': { uri: 'window.location', title: 'dt', container: 'dt' } }
path: '^/(re(cent|s)|list)_echo\.pl', entryNodes: { 'div.archiveList tr': { uri: 'td.comment span:first-child a', title: 'td.comment div:last-child', container: 'td.comment' } }
path: '^/view_echo\.pl', entryNodes: { 'div.echoStatus': { uri: 'window.location', title: 'div.status div div:last-child', container: 'p:first-child' } }
path: '^/recent_voice\.pl', entryNodes: { ".archive": { "uri": ".voiced p a", "title": ".voiced p", "container": ".voiced p span" } }
http://www.faqs.org/rfcs/rfc3229.html#Comments_form
path: '^/friend/.*', entryNodes: { 'div.friendentry-box': { uri: 'span.time a.blue-cms', title: 'h2.statustitle', container: 'span.time' } }
path: '^/\w+/news\.php?', entryNodes: { 'div#cnt': { uri: 'window.location', title: 'h1#cap', container: 'h1' } }
path: '^/news/show/id/\w+$', entryNodes: { '#article-title': { uri: 'window.location', title: 'h2', container: '#article-title' } }
path: '^/$', entryNodes: { 'body': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '^/niji/head_[\w_]+\d+\.html$', entryNodes: { 'table:nth-child(2) dl': { uri: 'dd a:nth-child(2)', title: 'dt b:first-child', container: 'dd a:nth-child(2)' } }
path: '^/niji/msg_[\d_]+\.html$', entryNodes: { 'table:nth-child(2) dl': { uri: 'dd a:nth-child(2)', title: 'dt a', container: 'dd a:nth-child(2)' } }
nomasvirus.com
path: '^/', entryNodes: { 'div#con_main': { uri: window.location, title: 'h1#maga_title', container: 'h1' } }
path: '^/search_pv\.php3', entryNodes: { 'table.ok_list tr': { uri: 'td.ok_list_content a:first-child', title: 'td.ok_list_content a:first-child', container: 'td.ok_list_content a:first-child' } }
path: '^/c\d+\.html$', entryNodes: { 'table.ok_list tr': { uri: 'td.ok_list_content a', title: 'td.ok_list_content a', container: 'td.ok_list_content a' } }
https://www.pcrednet.com
<h3><a href="http://uri.for/entry">Title of Entry</a></h3>
<script type="text/javascript" src="http://s.hatena.com/js/HatenaStar.js"></script>
{
title: 'Peach Fansite',
url: 'http://www.nintendo.com/',
star_container: object for stars and "star" button.
comment_container: object for comment box.
}
.hatena-star-star-image {
background-image: url(http://www.porkchopsammiches.com/mario/coin.gif);
}
.hatena-star-add-button-image {
background-image: url(http://exapmle.com/add.gif);
}
.hatena-star-comment-button-image {
background-image: url(http://exapmle.com/comment.gif);
}
.hatena-star-comment-button-image-active {
background-image: url(http://exapmle.com/comment_active.gif);
}
.hatena-star-inner-count {
color: #f4b128;
font-weight: bold;
font-size: 200%;
padding: 0 8px;
}
.hatena-star-inner-count {
background-image: url(http://exapmle.com/background.gif);
}
path: '^/ping/thumbnail.html', entryNodes: { 'div#honbun > ul > li': { uri: 'a', title: 'a', container: 'div:nth-child(1)' } }
path: '^/photo/show/\d+/\d+', entryNodes: { 'div.media_padding': { uri: 'window.location', title: 'h1#media_title', container: 'div.favorite' }, '#main div.content_box_wrapper article.content_box': { uri: 'window.location', title: '#main div.content_box_wrapper article.content_box section#media h1', container: '#main div.content_box_wrapper article.content_box section#media h1' } }
path: '^/content/?', entryNodes: { 'span.icon_ill': { uri: 'window.location', title: 'parent', container: 'parent' } }
path: '^/content/?', entryNodes: { 'span.icon_snd': { uri: 'window.location', title: 'parent', container: 'parent' } }
path: '^/content/?', entryNodes: { 'span.icon_lyc': { uri: 'window.location', title: 'parent', container: 'parent' } }
path: '^/u/\w+/$', entryNodes: { 'div.photo-box': { uri: 'h3 a', title: 'h3', container: 'ul.stats' } }
path: '^/u/\w+/\d+', entryNodes: { 'div#container': { uri: 'window.location', title: 'h2', container: 'ul.stats-detail' } }
path: '^/u/\w+/(photos|movies|magical_maker)', entryNodes: { 'div.p-box': { uri: 'h4.title a', title: 'h4.title', container: 'ul.stats' } }
path: '^(/u/\w+)?/t/', entryNodes: { 'div.p-box': { uri: 'h4.title a', title: 'h4.title', container: 'h4' } }
2009-01-29 00:30:34の状態に差し戻して一部編集
path: '^/\w+/blog/[\d-]+', entryNodes: { 'h2.title-area-single': { uri: 'window.location', title: 'parent', container: 'parent' } }
path: '^/\w+/blog/', entryNodes: { 'h2.title-area': { uri: 'a:nth-child(1)', title: 'parent', container: 'parent' } }
もともと☆に似た♥を付けるSNSだけど、そこをあえて☆を付ける!
path: '^/\w+/diary/\d+/', entryNodes: { 'div.DIV': { uri: 'window.location', title: 'h4.h4:first-child td:first-child', container: 'h4.h4:first-child td:first-child' } }
path: '^/\w+($|/$|/diary/$)', entryNodes: { 'h4.h4': { uri: 'td a', title: 'td a', container: 'td' } }
path: '^/', entryNodes: { '.a-f-i': { uri: '.a-f-i-p-U a.ot-anchor, .a-f-i-p-U a.a-Ja-h', title: '.a-f-i-p-qb', container: '.a-f-i-bg' } }
path: '^/\d+/\d+/\d+/\w+', entryNodes: { 'td > table td.tx12px b': { uri: 'window.location', title: 'document.title', container: 'parent' } }
実はこのjsonに"img: 'http://......./my-star.gif'"とか書けると面白いとおもった。by mattn
path: '^/album/\w+/pic/\w+$', entryNodes: { '#contents': { uri: 'window.location', title: 'h1.title', container: 'h1.title' } }
path: '^/\w+/$', entryNodes: { 'div.entry': { uri: 'h3.entry-header', title: 'h3', container: 'h3' } }
path: '^/\d+', entryNodes: { 'div.comment-title': { uri: 'a', title: 'parent', container: 'parent' } }
表示されないので削除
path: '^/', entryNodes: { '.item-box': { container: '.item-box-title', uri: '.item-box-title a', title: '.item-box-title a' } }
path: '^/items', entryNodes: { '.comment-box': { container: '.comment-user-name', uri: '.comment-post-time a', title: '.comment-content' } }
path: '^/.$', entryNodes: { 'div.entry': { uri: 'window.location', title: 'h2', container: 'h2.entry_title' } }
path: '^/\d', entryNodes: { '#archive-title': { uri: 'window.location', title: 'parent', container: 'parent' } }
path: '^/', entryNodes: { 'h3.entry-header': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/siteconfig', entryNodes: { 'h2': { uri: 'a', title: 'parent', container: 'parent' } }
path: '^/siteconfig', entryNodes: { 'h2': { uri: 'a', title: 'parent', container: 'parent' } }
Hatena Star Everywhereでは、path の正規表現は location.pathname と比較される。location.pathname にはクエリー部分は含まれないので、'^/siteconfig\?host=.+' ではダメ。
このh2と続くdivを束ねるdivが無いと、一覧のページでもスターを出す事が出来ないんですよね。アンカーが反応して良いならば、キーを"div h2"、uri、title、containerを全て"a"にすれば行けますよ。by mattn
parentに対応したので編集しました(jkondo)
jkondo☆☆☆
path: '^/$', entryNodes: { 'div.entry-box': { uri: 'a:nth-child(1)', title: 'td.entry-title', container: 'h2' } }
添削お願いします
path: '^/(top\.htm|$)', entryNodes: { 'div.region6 ul.singlelist1 li': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/\w+/\w+/\d+/[\w-]+\.htm$', entryNodes: { 'div#articleTextnews1': { uri: 'window.location', title: 'h1 span#__r_article_title__', container: 'h1' } }
path: '^/\w+/\w+/\d+/\w+-\w\.htm$', entryNodes: { 'div#articleTextnews1': { uri: 'window.location', title: 'h1 span#__r_article_title__', container: 'h1' } }
path: '^/search', entryNodes: { 'p': { uri: 'a:nth-child(2)', title: 'b', container: 'small a:nth-child(1)' }, 'body > p': { uri: 'small > a:last-child', title: 'small > a:last-child', container: 'small:nth-child(2)' } }
path: '^/~\w+/.+\d/$', entryNodes: { 'div.box:nth-child(1)': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '^/dist/[^/]+/$', entryNodes: { 'div.box:nth-child(1)': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '^/~\w+/$', entryNodes: { 'div.box:nth-child(2) > table > tbody > tr': { uri: 'td:nth-child(1) > a', title: 'td:nth-child(1) > a', container: 'td:nth-child(1)' }, 'div.box:nth-child(1)': { uri: 'window.location', title: 'div.t1', container: 'div.t1' } }
path: '^/.*$', entryNodes: { 'div.serif_data': { uri: 'a:nth-child(1)', title: 'a:nth-child(1) img', container: 'div.serifer' } }
https://sexocio.com
path: '^/~\w+/journal/', entryNodes: { 'div.journalentry': { uri: 'div.title h3 a, div.journalhead h2 a', title: 'div.title h3 a, div.journalhead h2', container: 'div.title h3, div.journalhead h2' } }
path: '^/journal\.pl?', entryNodes: { 'div.journalentry': { uri: 'div.title h3 a, div.journalhead h2 a', title: 'div.title h3 a, div.journalhead h2', container: 'div.title h3, div.journalhead h2' } }
path: '^/.*', entryNodes: { 'div.commentTop': { uri: 'span.otherdetails a', title: 'div.title h4 a', container: 'div.title h4' } }
path: '^/.*/comments\.pl?.*', entryNodes: { 'div.commentTop': { uri: 'span.otherdetails a', title: 'div.title h4 a', container: 'div.title h4' } }
path: '^/' , entryNodes: { 'div.entry': { uri: 'a.permalink', title: 'h3', container: 'h3' } }
closed.
Hello users of hatena! I wanted to make a site for the users of hatena.
I guess I may make an upgrade to hatena.
Well,that's it!
path: '^/[\w-]+$', entryNodes: { 'div.log': { uri: 'h3.title a', title: 'h3.title', container: 'h3.title' } }
path: '^/[\w-]+/\d+$', entryNodes: { 'div.log': { uri: 'h3.title a', title: 'h3.title', container: 'h3.title' } }
div.shareの後ろに入れたかったけれど、きれいに入らなかったのでむしゃくしゃしてタイトルの横につけた。
wwwありなしの区別めんどい。
http://s.hatena.ne.jp/siteconfig?host=*.theinterviews.jp
path: '^/media/',
entryNodes: {
'table.db-output': {
uri: 'a',
title: 'a',
container: 'td'
}
}
path: '^/li/\d+', entryNodes: { '.list_body': { uri: 'h5 a', title: 'h4', container: 'h5' }, '.list_item': { uri: '.status_right a:last-child', title: '.tweet', container: '.status_right' } }
path: '^/html/rfc\d+$', entryNodes: { 'pre': { uri: 'window.location', title: 'span.h1:first-child > h1', container: 'span.h1:first-child' } }
RFCのURIってこのアドレスで良いんだろうか……
path: '^/$', entryNodes: { 'div.blogbody': { uri: 'a:nth-child(1)', title: 'h2', container: 'h2' } }
path: '^/rec/', entryNodes: { '.entry': { uri: 'a', title: 'h2', container: 'p.meta' } }
path: '.*', entryNodes: { '.recent_entry': { uri: 'a:nth-child(2)', title: 'h2', container: 'h2' } }
path: '^/' , entryNodes: { 'div.entry': { uri: 'a.permalink', title: 'h3', container: 'h3' } }
path: '^/graffiti/.*', entryNodes: { 'div.list': {uri: 'div.left a', title: 'document.title', container: 'parent'} }
path: '^/[0-9a-z]{6,7}$', entryNodes: { 'div#contents': {uri: 'window.location', title: 'document.title', container: 'h3'} }
".list .(right|left) img" の width/height が決め打ちされているので,やむを得ず div.list をコンテナに…
Stylish 等でマージンを調整すれば,なんとか見られるようにはなる
@-moz-document domain(twitpaint.com) {div.list span.hatena-star-star-container {margin-left: 12px}}
path: '^/', entryNodes: { '#content': { uri: 'window.location', title: '#view-photo-caption', container: 'h1' }, '#user-photos li': { uri: '.user-photo a', title: '.user-tweet', container: '.tweet-meta' }, 'div#media-main': { uri: 'window.location', title: 'document.title', container: 'div#media-caption' }, '#media-main': { uri: 'window.location', title: '#media-caption p:nth-child(3)', container: '#media-caption p:nth-child(3)' } }
path: '^/photos/', entryNodes: { '.user-photo-wrap': { uri: 'window.location', title: 'p.message', container: '.meta .inline-list li:nth-child(2)' } }
path: '^/', entryNodes: { '.hentry': { uri: '.entry-date', title: '.entry-content', container: '.entry-meta' }, '.tweet': { uri: '.permalink-link, .tweet-timestamp, .embed-link', title: '.tweet-text, .js-tweet-text', container: '.js-tweet-text' } }
path: '^/memo/', entryNodes: { 'div.entry': { uri: 'h3 > a', title: 'h3', container: 'h3' } }
path: '^/~\w+/journal/', entryNodes: { 'div#journalslashdot': { uri: 'div.adminoptions a:last-child', title: 'div.title h3', container: 'div.title h3' } }
path: '^/article.pl', entryNodes: { 'div.article': { uri: 'div.commentBox a:first-child', title: 'h3', container: 'h3' } }
path: '^/user/[\w]+/statuses/[\w]+', entryNodes: { 'div.MsgBody': { uri: 'window.location', title: 'p.message', container: 'p.message' } }
path: '^/timeline/public', entryNodes: { 'div.MsgBody': { uri: 'p.messagefoot a:nth-child(2)', title: 'p.message', container: 'p.message' } }
path: '^/my/|/user/[\w]+$', entryNodes: { 'div.MsgBody': { uri: 'p.messagefoot a:nth-child(2)', title: 'p.message', container: 'p.message' } }
*.way-nifty.comへ
path: '^/$', entryNodes: { '.hentry': { uri: 'a', title: 'a', container: 'a' } }
path: '^/databases/.*/items$', entryNodes: { '.hentry': { uri: 'a', title: 'a', container: 'div' } }
path: '^/items/.*$', entryNodes: { '#content': { uri: 'window.location', title: 'document.title', container: 'h3' } }
path: '^/', entryNodes: { 'div.entry': { uri: 'h2 a', title: 'h2', container: 'h2' } }
path: '^/(index|pukiwiki).php$', entryNodes: { 'h1#title': { uri: 'window.location', title: 'h1#title a', container: 'h1#title' }, 'div#Panels ul li': { uri: 'a', title: 'a', container: 'a' } }
path: '^.+/\d+\.html$', entryNodes: { 'div#entry': { uri: 'document.location', title: 'h1', container: 'h1' }, 'li.group': { uri: 'a', title: 'a', container: 'span.date' }, 'ul.linklist li': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/code/[0-9a-f]+$', entryNodes: { 'div#code_title_wrapper': { uri: 'a', title: 'div.parents', container: 'span.code_meta_right' } }
path: '^/.*html$', entryNodes: { 'div#main': { uri: 'h2 a', title: 'h2 a', container: 'h2' } }
path: '^.+$', entryNodes: { 'div.detail384': { uri: 'document.location', title: 'div.detail384Head h1', container: 'div.detail384Head h1' }, 'div.photo384': { uri: 'div.photo384Head a', title: 'div.photo384Head a', container: 'div.photo384Head h1' }, 'div.headlineList ul li': { uri: 'a', title: 'a', container: 'span.date' }, 'div.thumbArticleL': { uri: 'div.thumbArticleLHead h3 a', title: 'div.thumbArticleLHead h3', container: 'div.thumbArticleLHead h3' }, 'ul.ctgryListBlock li': { uri: 'a', title: 'a', container: 'span.date' }, 'div.thumbArticleSS ul li': { uri: 'a', title: 'a', container: 'span.date' }, 'div.thumbArticleS': { uri: 'h2 a', title: 'h2', container: 'h2' }, 'div.headlineList div ul li': { uri: 'a', title: 'a', container: 'a' } }
path: '^/$', entryNodes: { 'div.content h3': { uri: 'a', title: 'parent', container: 'parent' } }
path: '^/archives/[\w-/]+\.html', entryNodes: { 'div.content': { uri: 'window.location', title: 'div.kobetutitle', container: 'div.kobetutitle' } }
path: '^/$', entryNodes: { 'ul.Lnk li': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/\w+/update/\w+/\w+\.html', entryNodes: { 'div#HeadLine': { uri: 'window.location', title: 'h1', container: 'h1' }, 'ul.Lnk li': { uri: 'a', title: 'a', container: 'span.update, span.Update' } }
path: '^/\w+/\w+/\w+\.html', entryNodes: { 'div#HeadLine': { uri: 'window.location', title: 'h1', container: 'h1' }, 'ul.Lnk li': { uri: 'a', title: 'a', container: 'span.update, span.Update' } }
path: '^/list\.html', entryNodes: { 'ul.Lnk li': { uri: 'a', title: 'a', container: 'span.update, span.Update' } }
path: '^/\w+/(\w+\.html|$)', entryNodes: { 'ul.Lnk li': { uri: 'a', title: 'a', container: 'span.update, span.Update' } }
path: '^/\w+/\w+/$', entryNodes: { 'ul.Lnk li': { uri: 'a', title: 'a', container: 'span.update, span.Update' } }
path: '.*', entryNodes: { 'div.blog': { uri: 'p.posted a', title: 'h3', container: 'h3' } }
path: '^/~hibiki/$', entryNodes: { 'div.entry-asset': { uri: 'div.asset-meta > a.permalink', title: 'h2 > a', container: 'h2' } }
path: '^/~hibiki/hotchpotch/\d+/\d+/.+\.html', entryNodes: { 'div.entry-asset': { uri: 'div.asset-meta > a.permalink', title: 'h1', container: 'h1' } }
path: '^/\d+/\d+/\w+\.html$', entryNodes: { 'div.entry-asset': { uri: 'h2.entry-title a', title: 'h2.entry-title', container: 'h2.entry-title' } }
path: '^/\d+/\d+/\w+\.html$', entryNodes: { '.entrybodyHead': { uri: 'h2 a', title: 'h2', container: 'h2' } }
path: '^/release/.*$', entryNodes: { 'body': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '^/', entryNodes: { 'body': { uri: 'window.location', title: 'a', container: 'p:nth-child(2)' } }
path: '^/', entryNodes: { 'body': { uri: 'window.location', title: 'a', container: 'p:nth-child(2)' } }
path: '^/', entryNodes: { 'body': { uri: 'window.location', title: 'a', container: 'p:nth-child(2)' } }
path: '^/.*', entryNodes: { 'div.storyInnerContent': { uri: 'span.uiStreamSource a', title: 'h6 span.messageBody', container: 'span.UIActionLinks' }, 'div.uiStreamSubstory': { uri: 'span.uiStreamSource a', title: 'h6 span.messageBody', container: 'span.UIActionLinks' } }
path: '^/photos/[@\w-]+/\d+/$', entryNodes: { '#photoswftd': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '^/photos/[@\w-]+/?', entryNodes: { 'td.PhotosColumn > table td': { uri: 'a:first-child', title: 'a:first-child img', container: 'p.Activity' } }
path: '^/explore/$', entryNodes: { 'div#Main': { uri: 'table.Interestingness > tbody > tr > td > a', title: 'table.Interestingness > tbody > tr > td > a > img', container: 'h1' } }
path: '^/$|^/\d+/\d+/.*\.html$|^/mt/mt-search\.cgi$', entryNodes: { 'h2': { uri: 'a', title: 'parent', container: 'parent' } }
google 検索が重くなるので削除しました。
path: '^/search$', entryNodes: { 'div.g': { uri: 'a.l', title: 'a.l', container: 'h2.r' } }
path: '^/$', entryNodes: { 'div.newest,div.item1,div.item2': { uri: 'h3 a', title: 'h3', container: 'p:last_child' }, 'li.arrow': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/(headline|special)/archives/.+$', entryNodes: { 'li.arrow': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/headline/\d+/index.html$', entryNodes: { 'div#headline': { uri: 'document.location', title: 'h3', container: 'li#sbm' }, 'li.arrow': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/column/\d+/index.html$', entryNodes: { 'div#column': { uri: 'document.location', title: 'h3', container: 'p' } }
path: '^/[a-zA-Z][a-zA-Z0-9_-]{1,30}[a-zA-Z0-9]/$', entryNodes: { 'div#header-body h1': {uri: 'window.location', title: 'parent', container: 'parent'} }
path: '^/faq/', entryNodes: { 'li.qaitem': { container: '.q p, .q', uri: 'a.q', title: 'a.q' } }
path: '^/archives/\w+.html$', entryNodes: { 'div.blog': { uri: 'window.location', title: 'h3', container: 'h3' } }
path: '^/jp/news/', entryNodes: { 'div.box-content-5': { uri: 'window.location', title: 'h1', container: 'p.info' } }
path: '^/news/newsarticle/', entryNodes: { 'div#izanews_detail': { uri: 'document.location', title: 'h2.contents_title', container: 'h2.contents_title' } }
path: '^/$', entryNodes: { 'div.text-column h3': { uri: 'a', title: 'a', container: 'a' } }
path: '^/\d+/\d+/\d+\.html$', entryNodes: { 'div#entry h1': { uri: 'window.location', title: 'parent', container: 'parent' } }
path: '^/user/\d+$', entryNodes: { 'td.keyword': { uri: 'a', title: 'h3', container: 'ul.sub'}, 'div.entry': { uri: 'a', title: 'h4', container: 'h4' } }
path: '^/keyword/\d+$', entryNodes: { 'div.ColA': { uri: 'window.location', title: 'h1 ruby rb', container: 'h1' } }
path: '^/diary/\d+$', entryNodes: { 'div#entry': { uri: 'window.location', title: 'h2', container: 'h2' } }
path: '^/keyword/$', entryNodes: { 'div.keyword': { uri: 'a', title: 'h2', container: 'ul' } }
path: '^/diary/$', entryNodes: { 'div.entry': { uri: 'a', title: 'h2', container: 'ul' } }
path: '^/user/\d+/keyword', entryNodes: { 'td.keyword': { uri: 'a', title: 'h2', container: 'ul.sub'} }
path: '^/user/\d+/diary', entryNodes: { 'div.entry': { uri: 'a', title: 'h3', container: 'h3' } }
path: '^/collection/\d+$', entryNodes: { 'div#collection': { uri: 'document.location', title: 'h1', container: 'h1' } }
path: '^/community/\d+$', entryNodes: { 'div.header': { uri: 'document.location', title: 'h1', container: 'h1' } }
path: '^/bemani/gfdm/gfdmv4/music/.*$', entryNodes: { 'div.entryBox': { uri: 'window.location', title: 'h3', container: 'h3' } }
path: '^/bbs/sst/sst.php$', entryNodes: { 'tr.bgc': { uri: 'window.location', title: 'a', container: 'a' } }
+2011-01-28 PVの後ろに★を付けるように変更
何故か「更新(リロード)」で題名の後ろに来てしまう。
左側の板名選択をするとPVの後ろに戻る
path: '^/blog/', entryNodes: { 'div.entry': { uri: 'h3 > a', title: 'h3 > a', container: 'h3:nth-child(1)' } }
path: '^index.html$', entryNodes: { 'div.mybody': { uri: 'window.location', title: 'img', container: 'div.addstar' } }
path: '^/$', entryNodes: { 'div.entry': { uri: 'h2 a:nth-child(1)', title: 'h2', container: 'h2' } }
path: '^/\d{4}/\d{2}/$', entryNodes: { 'div.entry': { uri: 'h2 a:nth-child(1)', title: 'h2', container: 'h2' } }
path: '^/category/.*/$', entryNodes: { 'div.entry': { uri: 'h2 a:nth-child(1)', title: 'h2', container: 'h2' } }
path: '^/\d{4}/\d{2}/\w+/$', entryNodes: { 'div.entry': { uri: 'h2 a:nth-child(1)', title: 'h2', container: 'h2' } }
path: '^/addons/.+/extensions/.+$', entryNodes: { 'div.corner-box dl dt': { uri: 'a', title: 'a', container: 'parent' } } dt要素の中なのがまずいのか、スターが巨大化してしまうので、無効にしておきます。
path: '^/material/', entryNodes: { '#index_content': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '^/tree/', entryNodes: { '#tree_n p:last-child': { uri: 'a', title: 'parent', container: 'parent' } }
path: '^/$|^/\?t=|^/recent/', entryNodes: { 'div.cmn_thumb_frm': { uri: 'p.TXT12:first-child a', title: 'p.TXT12:first-child', container: 'p.TXT12:first-child' } }
path: '^/watch/\w+', entryNodes: { 'div#WATCHHEADER': { uri: 'window.location', title: 'p.video_title', container: 'p.video_title' } }
2010/10/16: titleとcontainerをh1からp.video_titleに変更
path: '^/$', entryNodes: { 'ul.newslist li': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/[\w/]+top-\w+\.html$', entryNodes: { 'ul.newslist li': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/[\w/]+\w-[\w-]+\.html$', entryNodes: { 'div#news': { uri: 'window.location', title: 'h2', container: 'h2' } }
path: '^/$', entryNodes: { 'div.newest,div.item1,div.item2': { uri: 'h3 a', title: 'h3', container: 'p:last_child' }, 'li.arrow': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/(headline|special)/archives/.+$', entryNodes: { 'li.arrow': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/headline/\d+/index.html$', entryNodes: { 'div#headline': { uri: 'document.location', title: 'h3', container: 'li#sbm' }, 'li.arrow': { uri: 'a', title: 'a', container: 'parent' } }
path: '^/column/\d+/index.html$', entryNodes: { 'div#column': { uri: 'document.location', title: 'h3', container: 'p' } }
path: '^/[^/]*/[^/]*/$', entryNodes: { 'div.zingedright': { uri: 'window.location', title: 'h3', container: 'h3' } }
path: '^/~kjm/security/memo/', entryNodes: { 'h3': { uri: 'a:nth-child(1)', title: 'a:nth-child(2)', container: 'parent' }, 'li p': { uri: 'a.nu', title: 'a:nth-child(2)', container: 'parent' } }
path: '^/blog/archives/\d+\.html', entryNodes: { 'div.entry': { uri: 'p.entry-footer a:first-child', title: 'h3.entry-header', container: 'h3.entry-header' } }
path: '^/blog/', entryNodes: { 'div.entry': { uri: 'p.entry-footer a:first-child', title: 'h3.entry-header', container: 'h3.entry-header' } }
path: '^/view/\d+$', entryNodes: { '.viewdata': { uri: 'window.location', title: 'h1 span', container: 'h1' } }
path: '^/search/', entryNodes: { '.result_list td': { uri: 'a', title: '.title span', container: '.capt' } }
path: '^/blog/\d+/\d+/.+.php$', entryNodes: { 'div#main': { uri: 'window.location', title: 'h1', container: 'h1' } }
path: '^/blog/$', entryNodes: { 'div.entry': { uri: 'h2 > a', title: 'h2', container: 'h2' } }
path: '^/.*\.htm$', entryNodes: { '#HATENA': { uri: 'document.location', title: 'document.title', container: 'span.hatena-star' } }
http://www.vividsolutions.com/jts/javadoc/index.html
path: '^/jts/javadoc/.*/(?!package-frame)', entryNodes: { 'body': { uri: 'document.location', title: 'pre:first-child b', container: 'h2' } }
path: '^/jts/javadoc/overview-frame.html$', entryNodes: { 'font.FrameItemFont': { uri: 'a', title: 'a', container: 'a' } }
path: '^/watch?', entryNodes: { 'div#baseDiv': { uri: 'window.location', title: '#vidTitle', container: '#vidTitle' } }
entryNodes: { '#news_main': { 'title': 'h1', 'uri': 'window.location', 'container': 'h1' }, '#news_syuyo div': { 'title': 'a', 'uri': 'a', 'container': 'a' } }
XxxZon Adult Website to Watch Videos and Movies Online Tube
path: '^/yurisii/$', entryNodes: { 'div.entry': { uri: 'h3 > a', title: 'h3 > a', container: 'h3'} }
path: '^/yurisii/archive/\d+$', entryNodes: { 'div.entry': { uri: 'window.location', title: 'h3', container: 'h3' } }
path: '^/strawberry2/(archive/\d+)?$', entryNodes: { 'div.entry': { uri: 'h2 > a', title: 'h2 > a', container: 'h2' } }
path: '^/[\w-]+/archive/\d+$', entryNodes: { 'div.entry_title h2, div.entry_title h3, div.blog_title h2, td.entry_bgmain h2': { uri: 'window.location', title: 'parent', container: 'parent' } }
path: '^/[\w-]+/($|\d+$|category|daily|monthly)', entryNodes: { 'div.entry_title h2, div.entry_title h3, div.blog_title h2, td.entry_bgmain h2': { uri: 'a', title: 'parent', container: 'parent' } }
path: '^/watch?', entryNodes: { 'div#baseDiv': { uri: 'window.location', title: '#vidTitle', container: '#vidTitle' } }