主に自分がよく使う(可能性がある)ものを切り出して「あの仕組みはどのプラグインに使っていたかな?」という解決法として利用するためのものです。
去年も似たような記事を書いたやつ。
Htnpsne.API.ts for HatenaBlog CommonAPI
使い方
このエントリー時点では、以下の機能を提供します。
Htnpsne.API.htmlTagData
現在閲覧中ページの属性
- ブログの名前
- ブログのベースURL
- 表示されているデバイスモード(PC表示/スマートフォン表示)
- 投稿者
などが取得できます。
ソースを確認すると分かりますが、
document.getElementsByTagName("html")[0].dataset
を返しているだけなので、サッと使って終わる場合は上の1行を利用すると良いでしょう。
Htnpsne.API.setupCSS(url)
スタイルシートのurlを指定すると、ヘッダにタグを挿入します。
Htnpsne.API.listShuffle(array)
Fisher-Yatesアルゴリズムで配列をシャッフルしたものを返します。
Htnpsne.API.listShuffle([1,2,3,4,5])
[2, 1, 3, 4, 5]
Htnpsne.API.escapeHtml(string)
簡易的な方法で文字列内にあるhtmlタグをエスケープします。
Htnpsne.API.escapeHtml("'';!--" + '"<XSS>=&{()}``\"')
"'';!--"<XSS>=&{()}``""
Htnpsne.API.makeHtmlGoogAds(object,boolean)
※実験中
Google AdsenseのクライアントID、スロットIDからHTMLタグを生成します。
また、現在のページにGoogle Adsenseのスクリプトをロードします。
Htnpsne.API.makeHtmlGoogAds({client:"00000",slot:"123",style:"display: 'block'"})
"<ins class="adsbygoogle " style="display: 'block'" data-ad-client="00000" data-ad-slot="123" data-ad-format="auto"></ins>"
Htnpsne.API.hatenaProfileIconURL(userID,size)
はてなのIDから、プロフィールアイコンのURLを生成します。
Htnpsne.API.hatenaProfileIconURL('psne',32)
"http://n.hatena.ne.jp/psne/profile/image?type=icon&size=32"
返ってくるURLがこちらです。サッと使って終わる場合は上の1行を利用すると良いでしょう。
また、コメント内にもあるように
はてなブログ内であれば、Hatena.User.getProfileIcon(userid) を利用すればHTMLタグとして取得できます。 2016/03/21
という利用方法もあります。便利ですね。
Hatena.User.getProfileIcon('psne')
<img src="http://www.hatena.ne.jp/users/ps/psne/profile_s.gif" alt="psne" title="psne" width="16px" height="16px" class="profile-icon" style="margin: 0px 3px; border: none; vertical-align: middle;">
Htnpsne.API.hasCategory(categoryName)
記事ページ内で該当するカテゴリーに属しているかを返します。
Htnpsne.API.hasCategory('はてな')
true
Htnpsne.API.hasCategory('無いカテゴリ')
false
MITとしてありますが、好きな部分を適宜集めて適所に利用すると良いと思います。
くま。