Octopress上で追加したWidgetについてのまとめ。
はてブ人気エントリー

はてブの人気エントリーのウィジェットは はてなのブログパーツの設定 から作ることが出来ます(はてなアカウントが必要)。
自分のURLを入れるとコードを作ってくれるのでそれを貼り付けるだけで出来ます。
Octopressでは
これをsource/_includes/custom/asides/hatebu.htmlとしてコードを保存して
おきます。(sectionタグを追加)
1 2 3 4 5 6 7 8 9 10 11 12 | |
こんな感じ。作成ページでもオプションを選べますが、
必要に応じてコードの値を変更することも出来ます。
Octopressのサイドバーに合うようにwidthは250にしました。
sortの値がcountだと全ページからはてブの多い順、
hotにすると新着エントリーになります。
載せる数や名前なども後から調整できます。
これで_config.ymlのdefault_asidesへcustom/asides/hatebu.html
を加えることでサイドバーへ表示することが出来ます。
(まだ少ないものばかりで敢えて載せるのは微妙。。。)
Twitterタイムライン

Twitterのウィジェット(Twitterのアカウントが必要)から好きなウィジェットを作れます
1。
今、サイドバーでは検索でアカウント名(rcmdnk)を検索したものを使っています(エゴサーチ。。。)。
ウィジェットを作成すると、そのウィジェットはTwitter内でID管理される様で、 出来上がったウィジェットのコードを直接書き換えて変更できることは 限られているようです。 (カスタマイズをすべて出来なくする設定もあります。)
上のページから作ったコードを下の様に
source_includes/custom/asides/twitter_search.htmlへ保存。
(sectionとh1も追加)
1 2 3 4 5 | |
data-chromeを追加することで見た目を変えられます。
- noheader: ヘッダー無し
- nofooter: フッター及びツイートボックス無し
- nobarders: 境界線無し
- noscrollbar: スクロールバー無し
- transparent: 背景を透過
のオプションがあります。
また、width、heightで大きさを変えることも出来ます。
その他検索ワードなどを変更したい場合はTwitterのウィジェット管理のページから ウィジェットの設定を変更する必要があります。
できたら、
_config.ymlのdefault_asidesへcustom/asides/twitter_search.html
を加えればOK。
Zenback

Zenbackは色々な形式のフィードバックを 表示してくれるウィジェットを提供してくれます。
上のページからアカウントを作り、自分のブログ用のコードを作ります。 表示できるのは
- ソーシャルボタンセット
- 関連する記事
- 関連するみんなの記事・キーワード (必須)
- おしらせ欄 (必須)
- Twitterでの反応
- はてなブックマークでの反応
- Facebook コメント
このページでは必須のものと、Twitter/はてブ/Facebookについて使っています。
設定を行いコードを取得したらコードを
source_includes/custom/zenback.htmlとして保存。
1
| |
さらにsource/_layouts/post.htmlへ
1 2 3 4 5 6 7 8 9 | |
の様にDisqusの上に設置。
Disqus同様、articleタグの外側にsectionタグの中に入れて
設定すると綺麗に納まります。
pageにも必要な場合、source/_layouts/page.htmlへも</article>の下へ設置します。
さらに有効化するために_config.ymlへ
1 2 | |
を加えておきます。page.commentsについては、デフォルト状態だと
rake new_postで記事を作った場合にymlブロックに
comments: true
があるはずです。ページ単位で向こうにしたいときはこれをfalseへ。
これだけで上の設定についてはOKですが、もし関連ページも表示させたいときは その精度を上げるためにいくつかタグを追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | |
この様に、記事のタイトル前後にzenback_title_begin/endタグ、
記事部分にzenback_body_begin/endタグを入れるとより正確に関連記事と
そのタイトルを表示してくれる様になります
2。
pageの方では、直接source/_layouts/page.htmlのpage.titleの行の前後と、
content行の前後に上のarticle.htmlにあるように
zenbackタグ達を入れておきます。
LinkWithin

LinkWitinはブログ内の関連ページを 画像つきでリストするウィジェットを提供してくれます。 Zenbackにも同じ機能があるのですが、 Zenbackの場合は反映されるまでに暫く時間がかかるのと、 ページの画像が上手く取れなかったので 3、LinkWithinを試してみました。 今のところ、画像もきちんととてくれるし、即座に反映されています。
上のページから自分のページについてのウィジェットを作成
(PlatformはOtherで)。
得られたコードをsource/_include/custom/after_footer.htmlに追加。
1 2 3 4 5 6 7 8 | |
最後のlinkwithin_textはLinkWithinのタイトルを変更するための値です。
Zenback同様linkwithin_showで_config.ymlから表示/非表示を変更出来るようにします。
表示するために、_config.yml
1 2 | |
を追加
この状態でもページの適当な部分に表示してくれるみたいですが、
<div class="linkwithin_div"></div>
を置くと、この位置に表示場所を指定することが出来ます。
これをsource/_include/custom/linkwitin.htmlというファイルを作って記入。
1
| |
さらにsource/_layout/post.htmlへ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
の様にZenbackの上に設置。
また、初期状態のままだと5つとか表示していると、
ブラウザの表示幅が狭くなった時、サイドバーに被ってしまいます。
これを回避するために、次の様なsass/custom/_linkwithin.scssを追加。
1 2 3 | |
sass/custom/_styles.scssでインクルード
@import "_linkwithin.scss";
で狭い時は2段組になってくれます。
埋め込みタイムライン↩</div><footer>の部分は、この直後に_post.htmlの中で<footer>があるのですが、 このつながりをみてOctopressが記事部分を抜き出すフィルターをかけてる 部分があるので、間にzenback_body_endが入るとこのフィルターが上手く行かず、 結果的にdescription等に影響が出ます。 ので、無理矢理コメントでこのつながりを追加してあります。 (post_filters.rb->raw_content()) ↩Zenbackのページを見ると、
og:imageを指定するとZenbackもそれを参照する、 ということが書いてありますが、以前からog:imageを追加(OctopressのIndexページの変更) して居るにも関わらず余り上手く行きませんでした(何故かアイコンロゴになることが多い)。 ↩