Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ブログを Octopress 2 + GitHub Pages から Jekyll 3 + A...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kazuhiro NISHIYAMA
March 17, 2018
Technology
670
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ブログを Octopress 2 + GitHub Pages から Jekyll 3 + AMP + Netlify に移行した話
個人ブログを Octopress 2 + GitHub Pages から Jekyll 3 + AMP + Netlify に移行したので、その際に苦労した点や工夫した点を紹介します。
Kazuhiro NISHIYAMA
March 17, 2018
More Decks by Kazuhiro NISHIYAMA
See All by Kazuhiro NISHIYAMA
Rubyの配布パッケージの変遷
znz
0
28
Headscale + Tailscale に移行中
znz
0
69
Ruby on Rails と私
znz
0
79
riscv64.rubyci.org internal
znz
0
58
Rubyの日本語リファレンスマニュアルの現在と未来
znz
0
120
devise-two-factorを4.xから5.xに上げた話
znz
0
430
docs.ruby-lang.org/ja/ の生成方法を変えた
znz
0
120
Ubuntuのriscv64版をqemuで動かした
znz
0
150
lilo.linux.or.jpをbusterからbullseyeに上げた
znz
0
150
Other Decks in Technology
See All in Technology
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
1.4k
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
300
攻撃者がいなくてもAIエージェントはインシデントを起こす
nomizone
0
200
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
2
510
勉強会企画をアプリで構造化してみた 〜そこで見えた、AIとの付き合い方〜 / I've structured a study group plan using an app.
pauli
0
330
Agentic AI 時代のテスト手法: Kiro とはじめるプロパティベーステスト (AWS Summit Japan 2026 | DEV212)
ymhiroki
0
220
Why is RC4 still being used?
tamaiyutaro
0
310
しぶいSRE: サーバから見えない障害にどう向き合うか。ラストワンマイルのデバッグ実践 / Shibui SRE
kanny
12
4.8k
AI Agent SaaS を支える自社仮想化基盤への挑戦と実運用 / ai-agent-saas-virtualization
flatt_security
2
2.8k
Compose 新機能総まとめ / What's New in Jetpack Compose
yanzm
0
150
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
400
Zoom2Youtube.Claude
kawaguti
PRO
2
460
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
ラッコキーワード サービス紹介資料
rakko
1
3.8M
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
450
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
How to build a perfect <img>
jonoalderson
1
5.8k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
220
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Optimizing for Happiness
mojombo
378
71k
Transcript
ブログを Octopress 2 + GitHub Pages から Jekyll 3 +
AMP + Netlify に移⾏した話 Kazuhiro NISHIYAMA 第81回 Ruby関⻄ 勉強会 2018/03/17 Powered by Rabbit 2.2.1
⾃己紹介 Ruby コミッターなど Twitter, GitHub: @znz https://blog.n-z.jp 1/25
Jekyll とは? markdown などから静的なサイトを⽣成す るもの GitHub Pages などでホスティングできる 動的なコンテンツは JavaScript
や外部サイ トを使う https://jekyllrb.com/ 2/25
Octopress とは? Jekyll 2.x ベースのブログ⽣成ソフト Octopress 3.0 も開発されたが⽌まってい る そのため
Octopress のバージョンアップでは なく Jekyll 直接に移⾏ https://github.com/imathis/octopress 3/25
GitHub Pages とは? GitHub の静的ファイルホスティングサー ビス git push するだけで反映される jekyll
などの⾃動ビルドも可能 プラグインなどが制限されている ⼿元や CI で⽣成して⽣成物を push も可能 4/25
GitHub Pages とは? 独⾃ドメインはそのままだと https 対応で きない Cloudflare などの CDN
と組み合わせる例が多 い 5/25
Netlify とは? 静的なサイトのホスティングサービス 動的なもの (問い合わせフォームなど) も少し対 応しているらしい (未使⽤) Git 連携あり
CDN あり 独⾃ドメインでも https 対応可能 6/25
Amplify for Jekyll とは? Jekyll の AMP (Accelerated Mobile Pages)
対応テーマ https://github.com/ageitgey/amplify 基本的に AMP のみのサイト⽤ amp-jekyll gem (プラグイン) とは別 https://github.com/juusaw/amp-jekyll 7/25
AMP とは? Accelerated Mobile Pages の略 ⾼速なモバイル対応サイトを作れる仕組み 制限された AMP HTML
で書く 動的なものは AMP 側で対応しているもののみ amp-iframe である程度は独⾃の javascript も 可能 https://www.ampproject.org/ja/ 8/25
なぜ amplify? ほぼ⽂字コンテンツだけなので AMP 対応だ けで良い 別対応は面倒 amp-jekyll gem は
AMP 対応は別 URL で ⽣成 9/25
なぜ amplify? ⾃前でテーマを作るのは⼤変そうだった AMP ベースだけだとマージンがなくなるとか素 の HTML よりみづらくなる コードの highlight
の CSS とか欲しかった 10/25
移⾏措置
URL 維持の変更 categories を tags にして category: blog を追加 カテゴリが
URL の⼀部になるため permalink 設定も互換性があるように変更 カテゴリ別ページはリダイレクトで対応 pagination は直接ブックマークやリンクな どはないだろうと思って何もせず 12/25
画像対応 少しだけ使っていたので対応 amp-img (width, height 必須) に書き換 え amp-jekyll から
amp_filter.rb だけ利⽤ サイズ⾃動埋め込み ファイル名のミスが検知できる nokogiri と fastimage を Gemfile に 13/25
スライド埋め込み https://slide.rabbit-shocker.org/ から埋 め込み iframe から amp-iframe に変更 これも width
と height 必須だが固定値で良い https 必須だったので古い http の URL は書き 換え 14/25
アマゾンの書影 これも iframe から amp-iframe に変更 これも width と height
必須だが固定値で 良い allow-popups も必要だった ないと表⽰だけでクリックしても開けない 15/25
Google Analytics amp-analytics に変更 AMP 側で対応があるので、普通のページに 埋め込むより楽な点もある 16/25
Google AdSense amp-ad に変更 なぜか空白しか表⽰されていない… jekyll.environment で分岐してローカ ルでは⾮表⽰ 17/25
google カスタム検索 サイト内検索 終了予定なので削除 使われてなさそうだったので代替も設置せ ず 18/25
social share Twitter は amplify でリンクがあった 他も含めて zenback から amp-social-
share に変更 amp-social-share が組み込み対応してい ないものも data-share-endpoint 指定で 対応可能 19/25
feed.xml octopress デフォルトの atom.xml から amplify デフォルトに名前変更 リダイレクトを設定 フィードリーダーに影響はないはず 20/25
GitHub Pages から Netlify 主に https 対応のため github-pages gem (177)
は jekyll のバ ージョンが古かった (3.6.2) 最新は jekyll 3.7.3 octopress の頃と同様に⼿元で⽣成する⼿もあ る 21/25
JEKYLL_ENV 設定 Netlify の Web 画面からでは staging と production を分けられず
netlify.toml で設定 [context.production.environment] JEKYLL_ENV = "production" [context.deploy-preview.environment] JEKYLL_ENV = "preview" [context.branch-deploy.environment] JEKYLL_ENV = "staging" 22/25
使ったプラグイン (1/2) jekyll-paginate jekyll-paginate-v2 は互換性がなくなる予定だ ったので不採⽤ jekyll-compose amplify の Gemfile
に⼊っていたので試し中 jekyll-tagging タグごとのページ⽣成⽤ 23/25
使ったプラグイン (2/2) jekyll-minifier カスタム CSS が全ページに埋め込みなのに無駄 に⼤きい気がしたので style amp-boilerplate が変わらないのは確認
済み jekyll-sitemap 必要性はよくわからないが⼀応追加 24/25
まとめ 開発が⽌まっている Octopress 2 から Jekyll 3 に移⾏ ついでに AMP
対応と https 対応 https は AMP に必須だった GitHub Pages から Netlify に移⾏ ⼿元で⽣成をやめた 25/25 Powered by Rabbit 2.2.1