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ページの変更) して居るにも関わらず余り上手く行きませんでした(何故かアイコンロゴになることが多い)。 ↩