birdHugoのPaginationテンプレート, きょうのつぶやき@digitune

HugoのPaginationテンプレート

最近のHugoにはPagination機能が含まれていますが、標準で含まれるページ送りUIがbootstrap必須だったり表示されるページ数が再現なく増えてしまったりと若干使いにくかったので1下記のようなむっちゃ簡素な見た目のオレオレテンプレートを書きました。

        {{ $pag := .Paginator }}{{ $url := .Site.BaseURL }}  
        {{ if gt $pag.TotalPages 1 }}  
            <div class="paginator">  
                {{ if $pag.First }}<a href="{{ $url }}{{ $pag.First.URL }}">First</a> |{{ end }}  
                {{ if $pag.HasPrev }}<a href="{{ $url }}{{ $pag.Prev.URL }}">Prev</a>{{ else }}Prev{{ end }} |  
                {{ if gt $pag.TotalPages .Site.Params.pagernum }}  
                    {{ $.Scratch.Set "start" (sub $pag.PageNumber (div .Site.Params.pagernum 2)) }}  
                    {{ $.Scratch.Set "end" (add $pag.PageNumber (div .Site.Params.pagernum 2)) }}  
                    {{ if lt ($.Scratch.Get "start") 1 }}  
                        {{ $.Scratch.Set "end" (sub ($.Scratch.Get "end") (sub ($.Scratch.Get "start") 1)) }}  
                        {{ $.Scratch.Set "start" 1 }}  
                    {{ else if gt ($.Scratch.Get "end") $pag.TotalPages }}  
                        {{ $.Scratch.Set "start" (sub ($.Scratch.Get "start") (sub ($.Scratch.Get "end") $pag.TotalPages)) }}  
                        {{ $.Scratch.Set "end" $pag.TotalPages }}  
                    {{ end }}  
                {{  else }}  
                    {{ $.Scratch.Set "start" 1 }}  
                    {{ $.Scratch.Set "end" $pag.TotalPages }}  
                {{ end }}  
                {{ $start := $.Scratch.Get "start" }}  
                {{ $end := $.Scratch.Get "end" }}  
                {{ range $pag.Pagers }}  
                    {{ if and (ge .PageNumber $start) (le .PageNumber $end) }}  
                        {{ if eq . $pag }}{{ .PageNumber }} |{{ else }}<a href="{{ $url }}{{ .URL }}">{{ .PageNumber }}</a> |{{ end }}  
                    {{ end }}  
                {{ end }}  
                {{ if $pag.HasNext }}<a href="{{ $url }}{{ $pag.Next.URL }}">Next</a>{{ else }}Next{{ end }} |  
                {{ if $pag.Last }}<a href="{{ $url }}{{ $pag.Last.URL }}">Last</a>{{ end }}  
            </div>  
        {{ end }}  

config.tomlなどのparams欄に、表示したい最大ページ数を「pagernum」という引数で指定してください。

Goのhtml/templateでrangeに部分配列を与える方法が分からなくてちょっと非効率な形になっちゃってますがそこはまあご愛嬌ということで。変数のスコープにも散々悩まされました…。Go templateむずい。

きょうのつぶやき@digitune

image 0Hugo標準のPagination機能がちと使いにくかったので作った>Digitune [memo] - HugoのPaginationテンプレート http://memo.digitune.org/?date=20150425 (11:00 Twitter Web Clientから・詳細)

htmlのテンプレート機能って、テンプレート側を分かりやすく綺麗に書こうと思うと変換後HTMLが汚くなっちゃうのがちょっとやな感じだよな。テンプレート側タグ内で改行するなりしてHTML側に残る改行やwhite spaceを調整するのがセオリーなんだろうけどちとめんどくさい。 (11:11 Twitter Web Clientから・詳細)

Hugoが使っているMarkdownエンジンのblackfridayはまだ定義リスト(dl/dt/dd)をサポートしておらず、今のところHTMLタグを残すしかないのだけれど、そうするとそのブロックではMarkdown記法が使えなくなってしまうのが不便。サポートされるといいなぁ。 (11:54 Twitter Web Clientから・詳細)

?なんかウチのiMacのChrome、font-family: monospaceが等幅フォントになってないんですけど… (14:12 Twitter Web Clientから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

東京が一年で一番良い季節になってきた。 (09:20 PlumeforAndroidから・詳細)

「承前」というのは前の文章に続いていることを示す、つまり「続き。」と書くのと同じ意味なんだけど(つまり文章の前後関係は維持)、何となく前置きや前提のように文章の前後関係が入れ替わるようなイメージを感じてしまうのは僕だけかなぁ。単に俺のリテラシーが低いだけか。うむ。 (11:25 PlumeforAndroidから・詳細)

最近のchromeのリソースイーターっぷりハンパない。そしてそれはどうやらプラットフォーム問わずのようだ。メモリ2GBしかない古いUbuntuマシンでも、平気で4GB以上のコミットを要求してくる。ここでもやっぱりfirefoxの方が大分快適。 (12:34 PlumeforAndroidから・詳細)

image 0御意>「知性を持つようにみえる機械に対して、我々が感情を持つのは至って自然なことだということ。」 - 将棋ソフトを「ハメる」のはいけないこと?:日経ビジネスオンライン - http://business.nikkeibp.co.jp/article/opinion/20150422/280280/?ST=smart (13:27 PlumeforAndroidから・詳細)

ちょっと前の「ワールドトリガー」を見ていたら、予告前の寸劇にプロレスラーのおかださんという人が出ていて最近の彼の試合(というか必殺技)の様子が流れたんだけど、最近のプロレスのやられアクションの進化っぷりにあゆみさんと二人で戦慄した。あゆみさん「あれじゃ死んじゃうよ」うむ、確かに。 (20:30 PlumeforAndroidから・詳細)

ああいうの全くダメ。はい。 (20:31 PlumeforAndroidから・詳細)

今期今のところ一番リアルタイムに近いタイミングで視聴しようと頑張ってるのは紐神様だなぁ<ヲ。次点は俺物語!!、シドニア、俺ガイル、アルスラーンあたりか。ユーフォは我が家に吹部が3人もいるのであるあるネタで盛り上がれて良いのだけれど、今のところまだピンと来ず。 (20:41 PlumeforAndroidから・詳細)

プラメモ、プレアデスはいろんな意味で面白い。サンリオと白組は図らずもアニメ・CGの構成が似た感じになってるのが面白くてかなり楽しんで見てるけど、あゆみさんはあの猫娘のウザさはダメみたいです(^^;。パンチラはパンチラだな!意味が分からないところが良い。うむ。 (20:46 PlumeforAndroidから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

CSSいじりだすと時間がいくらあっても足りん(汗。 (07:20 PlumeforAndroidから・詳細)

「ebb and flow」って潮の満ち干きのことだったのか。 (07:24 PlumeforAndroidから・詳細)

物語の中で月が破壊されることはままあるけれど、本当にそうなったらどうなる?という話を昨日あゆみさんとした。潮の干満が無くなるときっと生態系に大きな影響があって、おそらく大絶滅が起こる。生命は強いからそのうち復活するかもだけど、一時的な停滞は避けられないんじゃないかなぁ。 (07:27 PlumeforAndroidから・詳細)

まぁどんな風に破壊されるのかにもよるか。バラバラに割れる感じなら、そうはいってもほとんどの質量はしばらく元の位置に留まり徐々に散逸していくのだとすると、そこまで急速な変化は起こらず生き物も対応可能なのかも。 (07:42 PlumeforAndroidから・詳細)

image 0これを見るとskeletonは明らかにbootstrapを意識して作ってる感じがするなぁ>Responsive CSS Framework Comparison: Bootstrap, Foundation, Skeleton http://responsive.vermilion.com/compare.php (12:37 Twitter Web Clientから・詳細)

おうちサーバの「dnssec-validation auto;」なbind9が起動直後だけbad cache hit (./DNSKEY) error (broken trust chain)で名前解決出来ない件、原因らしきものがわかった気がする。 (15:57 Twitter Web Clientから・詳細)

夜にまとめて書こう。 (15:59 Twitter Web Clientから・詳細)

起動直後だけbindがうまく動かない件、原因は時計にありました。DNSSECのキャッシュには有効期限が設定されており、マシンの時計が狂っていると正常に動作しないことがあるのは結構よく知られた問題だったらしい(いわゆるFAQ)。 (21:53 PlumeforAndroidから・詳細)

おうちサーバでは当然ntpも動作させていますが、なぜかdebian標準の設定ではntpよりもbindの方が先に起動するようになっており、しかもおうちサーバはNAS由来のせいかリブートすると必ず時計がoriginまで巻き戻る→ntpで補正、という動きをしていたことなどが原因っぽい。 (21:57 PlumeforAndroidから・詳細)

/var/log/daemon.logを眺めているときにタイムスタンプがやたら飛んでいること、DNSSECの紹介記事に時計に注意、と書いてあったことなどで気がつきました。やーかなり難易度高いねこれ。 (21:59 PlumeforAndroidから・詳細)

RT @satoh_fumiyasu: .@OrangeMorishita @digitune 「常に」は、「いいえ」。Debian で起動時に確実に時刻合わせしたいなら、ntpdate パッケージを入れるべきです。ntpd は step で時刻合わせする設定になっているとは限… (22:15 PlumeforAndroidから・詳細)

ためしてみよ>RT (22:15 PlumeforAndroidから・詳細)

早速ntpdate入れて再起動してみたけど、それだけでは解決しないみたいだなぁ。ntpdate[2033]: step time server 157.7.235.92 offset 1429712045.539244 secとかスゴい時計ズレてて笑えるw。 (23:17 Twitter Web Clientから・詳細)

ntpdateはif-up.dで起動されるみたいなのに、それよりもbindの起動の方が速い、ってのはなんなんだ。ntpdateが時計を合わせ終わるのが起動後30秒過ぎくらいなのに対し、bindのログは起動後15秒前後から出力され始めている。bindの起動を遅らせるしかないのかな。 (23:21 Twitter Web Clientから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

image 0IIJmioの友達紹介キャンペーン、僕のURLを晒しときます。BIC SIMカウンターで申込む時は使えないかもですが…>IIJmioの格安SIMをお申し込み頂いた方限定でおトクな特典をもれなくプレゼント! https://www.iijmio.jp/campaign/mgm/invite/?id=245814807230931&sns=1 (06:00 Twitter Web Clientから・詳細)

週末忙しかったせいか体調が下降気味。むむ。 (07:28 PlumeforAndroidから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

今日はあったかいねぇ。 (09:22 PlumeforAndroidから・詳細)

以前とさほど使い方は変わってないと思うんだけど、モバイル回線での通信量がひと月1GBだと微妙に足りなくなってきた。アプリ毎の通信量を見てみると、以前はそうでもなかったはずのtwitterクライアントが一位。画像付きのつぶやきが全体に増えてるのが原因かしら… (09:26 PlumeforAndroidから・詳細)

そういや相変わらず「シドニアの騎士」はハードな展開で怖い。しっぽふりふりは可愛かったけど(^^;。 (09:27 PlumeforAndroidから・詳細)

自宅でちょっと物作りモードになるとスーパー生返事マンになるらしく、あゆみさんの機嫌が悪くなる(^^;。明示的なモードチェンジがたいせつ。 (09:30 PlumeforAndroidから・詳細)

今週はGW前の駆け込みでいろいろ新製品発表が多いのかな? (09:36 PlumeforAndroidから・詳細)

RT @mnishi41: ていうかそろそろ「日本は、作り方を含めたハード作りそのもので負けたのだ」ということをきちんと認めないとまずい。現場はわかってるのに回りがそれを認めていなくて、「日本はソフトだけで負けた」と勘違いしつづけている。 (09:39 PlumeforAndroidから・詳細)

image 0Android Chromeはやたら等幅フォントになっちゃうサイトが多いのだけれど、そのことを調査してくれた人がいました>AndroidのChromeにおける欧文フォントよく分からなかったのでfont-familyの挙動調べ… - http://memo.sanographix.net/post/82270542602 (09:51 PlumeforAndroidから・詳細)

新しいXperiaの水色素敵だなぁ。 (12:21 Twitter Web Clientから・詳細)

image 1おお、ちょっとおもろい機能が。 https://twitter.com/mnishi41/status/589992194360016896 (12:22 Twitter Web Clientから・詳細)

image 2RT @gurinomama: その昔、ある校正のプロに「第二次世界大戦は、次がないように、漢字で」と教わった。これだけは心に刻んだ。
岩波の方でした。
“@murasime: 朝日新聞の算用数字と漢数字の使い分けについて、書籍翻訳でも参考になる。 … http://twitter.com/murasime/status/588949376627671040/photo/1 (21:01 PlumeforAndroidから・詳細)

へー。僕も参考にしようっと>RT。 (21:01 PlumeforAndroidから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

ホンダS660を早速路上で見かけたよ。路上での佇まいは、黄色の車体色だったせいもあってか、まさに現代版ビート、という感じでした。バックミラーに映るS660は全く軽自動車っぽくなくてかっこ良かった。 (12:40 Twitter Web Clientから・詳細)

GWを前にまたガソリン価格が上がり始めていますね。今回は季節性のものか投機的なものか… (12:48 Twitter Web Clientから・詳細)

久々に見たNHK基礎英語テキストの表紙のテイストにちょっと驚いてしまった。 (18:46 PlumeforAndroidから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

image 0やはりAIRWAVEの完成度には及ぶべくもなく。フィットから内装変えてきたのはちょっと意外だった>ホンダ、新型コンパクトワゴン「シャトル」をホームページで先行公開 - Car Watch http://car.watch.impress.co.jp/docs/news/20150417_698307.html (07:38 Twitter Web Clientから・詳細)

そういやパーキングブレーキレバーがない、ってことは電動化された、ってことですかね?>シャトル。軽のN-BOXでも電動パーキングブレーキ搭載している時代なので驚きはないし、もしかしたら単に足踏み式なのかもしれないけれど。 (07:40 Twitter Web Clientから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

image 0実に良い観戦記だった。書かれていることに全く同意。それにしても、阿久津八段のプロ棋士らしい徹底的な研究はスゴいと思ったけど、もはや将棋じゃない別のゲームになってますね…(汗>電王戦FINAL第5局 観戦記 野月浩貴七段 http://news.nicovideo.jp/watch/nw1548112 (20:55 PlumeforAndroidから・詳細)

案の定debian wheezy標準のgolang1.0.2ではhugoうまく動かせなかったので、unstableのsrc pkgを使って1.3.3をpackaging中。それにしてもWindowsとかdarwin、netbsdのdebまで作ってるように見えるのは何でだ… (21:29 Twitter Web Clientから・詳細)

Debian unstable(sid)から持ってきたgolang1.3.3を使ってhugo動いた!とりあえず今日はここまでにしよう…。しかしgo、実行するといきなり1GB近くの仮想メモリ割り当ててるみたいなんだが何だこれ。設定出来るのかなぁ。 (23:54 Twitter Web Clientから・詳細)

birdきょうのつぶやき@digitune

きょうのつぶやき@digitune

!自動車税納めるために最近nanaco readyな状態にしたんだけど、もしかして今年ってエコカー減税により免税かも?まぁ良いか。無駄にはならんし。 (19:56 PlumeforAndroidから・詳細)

そういえばこれまでgo言語ってまともに見たことなかったんだけど、ああいう言語だったのね。ちょっと予想と違った。ここのところJSやPythonのような言語とばかり戯れていたせいかな。しかし明確に「Javaを駆逐してやる!」という意志を感じるのは妄想が過ぎるでしょーか?(^^; (20:11 PlumeforAndroidから・詳細)

image 0RT @manking: グラV来たよ! PS2アーカイブス『ロマンシングサガ ミンストレルソング』『幻想水滸伝III』『グラディウスV』『蚊2』などが配信スタート! : はちま起稿 http://blog.esuteru.com/archives/8131404.html (23:35 PlumeforAndroidから・詳細)

やべー!グラV買わねば!! (23:35 PlumeforAndroidから・詳細)

First | Prev | 226 | 227 | 228 | 229 | 230 | Next | Last