2014-08-23 FFTT社内勉強会#202 LT
弊社フィードフォースの技術チームの社内勉強会(LT回)で発表したスライドです。
Middleman, Github Pages, TravisCi あたりの話。なお現在は TravisCI→CircleCI に乗り換えました。
Middlemanで個人ページを作っている話Github Pages, TravisCI, Middleman で独自ドメインサイト2014-08-23 Fri. @tmd45社内勉強会#202 LightningTalks
View Slide
社内勉強会#194 Github Pagesすーさんの発表おさらい①★ Github Pagesとは○ Githubリポジトリの静的コンテンツ(HTMLとか)をWebページとして公開できるホスティング機能○ 決まった形式でリポジトリを作るだけ■ User Page(Organization Page)■ Project Page ←こっち使う話だった○ 普通の公開リポジトリだから普通に無料○ 独自ドメインも使えるよ
社内勉強会#194 Github Pagesすーさんの発表おさらい②★ Middlemanとは○ 静的サイトジェネレータ(コマンドラインツール)○ RubyGemsで配布されている○ 拡張機能や追加のGemを使える(Gemfileで管理)■ gem "middleman-blog" でブログも生成できる○ Sinatra(RubyのWebフレームワーク)ベース■ 開発に ERB とか使える■ サーバ機能があるから開発環境でかんたん確認○ 丁寧な日本語翻訳サイトでわかりやすい!■ http://middlemanapp.com/jp/
個人ページを運用しています
個人ページでやってること★ Github Pages の User Page を利用○ {github-id}.github.io リポジトリの master ブランチが公開ディレクトリ(gh-pages ブランチではない)★ Middlemanでサイト開発○ source ブランチで開発して、origin/source ブランチにpush★ Travis CIでデプロイ○ `$ middleman build`で生成した静的ファイルだけ masterに push すればいいんだけど面白くないので○ これをやるのにちょっと面倒な工夫が必要★ 独自ドメイン設定
ちょっと面倒な工夫とは★ Travis CIにやらせること○ origin/source ブランチへの push をトリガーにして .travis.yml の指示通りに `middleman build` を実行する○ build した静的ファイルを origin/master に push する■ あとは Github がよしなにしてくれる★ 問題点○ Travisくんは master に push があると build してくれようとする■ ?!
ちょっと面倒な工夫とはtmd45.github.iosource ブランチmiddleman ソース開発source ブランチmaster ブランチ①push②検知してbuild実行③masterにpush④masterへのpush を検知して…
ちょっと面倒な工夫とはhttps://twitter.com/hiro_asari/statuses/418587151748845569
ちょっと面倒な工夫とは★ 解決法?○ masterブランチへの自動コミット時にTravis CIにbuildさせないようにする設定■ Travis での master コミットのメッセージに "[ci skip]"を含める■ source, master ブランチ双方の .travis.yml に「sourceブランチだけ build して」って指定する★ 参考にした○ Middleman の記事更新を Travis-CI でする■ 上記の後者を採用している■ いま考えたら [ci skip] のほうが楽そう…■ あとはGithubの設定でメインリポジトリ変えるとか
ちょっと面倒な工夫とは★ .travice.yml (source ブランチに用意)…script: bundle exec middleman buildbranches:only:- source…after_success:- cd build- echo -e "---\nbranches:\n only:\n - source" > .travis.yml- git add -A- git commit -m 'Update'- '[ $GH_TOKEN ] && git push --quiet https://$GH_TOKEN@github.com/tmd45/tmd45.github.io.git 2> /dev/null'↓こっちはmasterへのコミット内容
LTで済む話じゃなかった/(^o^)\ナンテコッタイ\(^o^)/トランザム!
★ そもそも Github Pages のことは公式の Help に丁寧にかかれてるのでそこ読めばいいよ○ https://pages.github.com/○ カスタムドメインについての説明は以下にある■ https://help.github.com/articles/setting-up-a-custom-domain-with-github-pagesGithub Pages で独自ドメイン
Github Pages で独自ドメイン★ 公開リポジトリ※に CNAME ファイルを作る○ 内容はドメインを書けばいい(プロトコルは含めない)■ $ echo 'tmd45.jp' > CNAME○ commit して push → リポジトリの設定から確認★ DNSの設定を変更する○ サブドメインかどうかとかで違うので詳細はヘルプ参照○ 自分の場合はGehirnのDNSサービスで `Apex Alias` というのを使って tmd45.github.io に向けるというのをやっている■ このへんのキーワードでggrといいデース
★ Middlemanのドキュメントの○ 基礎→テンプレート→Markdownの項があるので読め○ 他にも対応しているテンプレート言語と必要なRubyGemsが一覧になってるよ!★ SyntaxHighlightとかもできる○ なんか最新のは設定ファイル(config.rb)に `activate:syntax` って書くだけでよさそう?○ https://github.com/middleman/middleman-syntaxmarkdownとか使いたい人
オシャレなページにしたい?★ gem 'bootstrap-sass'○ twitter bootstrap を sass で使える gem★ gem 'zurui-sass-middleman'○ 少ない手間と知識でそれなりに見せる、ズルいデザインテクニックを簡単に適用できるmixinのgem★ あとはbootstrapの事例サイトを眺めながら素人なりに頑張ってデザインしました^q^○ web font入れてみたり○ 背景をパララックスさせてみたり
自分のhubページつくろう★ ブログとかツイッターとかあれとかこれとかをまとめておく○ そのURLさえ公開しとけば良いべ!ってページ★ 個人的には activity をリストアップしておくのが良かった○ イベント参加とかの記録○ イベントに参加するとページ更新のためにpushする■ そういうのないと放置気味になるし(笑)★ middlemanはフロントエンドのちょっとした勉強に便利…かも○ Gemで簡単に拡張できるしね
以上です★今回文字ばかりですみませんでした!ご清聴(?)ありがとうございました!!m(_ _)m