Slide 1

Slide 1 text

Use GitHub Pages as a Web API GitHub Pages Λ Web API ͱͯ͠࢖͏ Kansai Front-end users group 2016.06.11 ϑϩϯτΤϯυͷਓ͕Web APIΛޠΔձ

Slide 2

Slide 2 text

WordPress core contributor Ruby on Rails contributor Wocker developer Bathe developer Frasco developer Web & graphic designer Programmer Kite KITERETZ inc. CEO & Funder ! kite.koga " ixkaito # ixkaito WHO AM I?

Slide 3

Slide 3 text

ຊ೔ͷςʔϚ͸ GitHub API Ͱ͸ͳ͘ɺ Jekyll Pages API Λ࢖͍ GitHub Pages Ͱ Web API Λ ఏڙ͢Δ͜ͱͰ͋Δɻ

Slide 4

Slide 4 text

Jekyll Pages API ͱ͸ • Jekyll ͷϓϥάΠϯ • Jekyll αΠτ಺ͷ͢΂ͯͷϖʔδɺ౤ߘɺυΩϡϝϯτɺ੩త ϑΝΠϧͷσʔλΛجʹ JSON ϑΝΠϧΛੜ੒͢Δ • API ͸ http://example.com/api/v1/pages.json ͷΑ͏ͳURL ͰऔಘՄೳ

Slide 5

Slide 5 text

GitHub Pages ΍ Jekyll Λ࢖͏ ϝϦοτ • GitHub Pages Λ࢖͏͜ͱͰɺΠϯϑϥͷϝϯςφϯε͕ෆཁ • Git ʹΑΔιʔε؅ཧ • API ͷΧελϚΠζ͕ࣗ༝ • ελςΟοΫͳϑΝΠϧͷ഑৴ͳͷͰɺηΩϡϦςΟϦεΫ͕௿͍ • ύϒϦοΫϦϙδτϦͰ͔ͭಠࣗυϝΠϯΛ࢖༻͠ͳ͍৔߹͸ແ ྉ • ଞͷαʔϏε΁ͷҠߦ΋༰қ

Slide 6

Slide 6 text

໰୊఺ GitHub Pages ͸ 
 GitHub Pages dependencies ʹ͋Δ
 ϓϥάΠϯҎ֎͸αϙʔτ͍ͯ͠ͳ͍ ͦͷ·· gh-pages ϒϥϯνͳͲʹϓογϡͯ͠΋ɺJSON ϑΝ Πϧ͸ੜ੒͞Εͳ͍

Slide 7

Slide 7 text

ղܾํ๏ • ϩʔΧϧͰੜ੒͠ɺखಈͰ gh-pages ϒϥϯνͳͲʹϓογϡ ͢Δ • Travis CI ͳͲͷ֎෦αʔϏεΛ࢖ͬͯࣗಈԽ͢Δ • Rakefile ͳͲͰσϓϩΠΛ؆୯ʹ͢Δ

Slide 8

Slide 8 text

खಈσϓϩΠ ϝϦοτ • ֶशίετ͕௿͍ • ͙͢ʹެ։͞ΕΔ σϝϦοτ • ໘౗͍͘͞

Slide 9

Slide 9 text

Travis CI ͳͲʹΑΔσϓϩΠ ϝϦοτ • ௨ৗͷ GitHub Pages/Jekyll ͷӡ༻ͱશ͘ಉ͡ σϝϦοτ • Travis CI ͳͲͷֶशίετ͕͔͔Δ • GitHub Pages ʹެ։͞ΕΔ·Ͱ͕͔͔࣌ؒΔ

Slide 10

Slide 10 text

Travis CI ʹΑΔσϓϩΠͷࣄྫ IUUQTHJUIVCDPNDXEJTBTUFSJOGPSNBUJPO

Slide 11

Slide 11 text

Rakefile ͳͲʹΑΔσϓϩΠ ϝϦοτ • ֎෦αʔϏεʹཔΔඞཁ͕ͳ͘ɺσϓϩΠͷखؒ΋͔͔Βͳ͍ • GitHub Pages ʹ͙͢ʹެ։͞ΕΔ • Travis CI ͳͲΑΓ͸ֶशίετ͕௿͍ σϝϦοτ • Rakefile Λ࡞Δඞཁ͕͋Δ • `git push` Ҏ֎ʹɺσϓϩΠ༻ͷίϚϯυΛ࣮ߦ͢Δඞཁ͕͋Δ

Slide 12

Slide 12 text

Rakefile ͷϘΠϥʔϓϨʔτ IUUQTHJUIVCDPNJYLBJUPKFLZMMBQJCPJMFSQMBUF

Slide 13

Slide 13 text

࢖͍ํ 1. Jekyll API Boilerplate ΛϑΥʔΫ 2. ϑΥʔΫͨ͠ϦϙδτϦΛΫϩʔϯ 3. Ϋϩʔϯͨ͠σΟϨΫτϦ಺ͰԼهΛ࣮ߦ
 $ bundle install --path vendor/bundle
 $ bundle exec jekyll serve --baseurl /jekyll-api-boilerplate 4. http://localhost:4000/jekyll-api-boilerplate/api/v1/ pages.json ʹΞΫηε͢Δ͜ͱͰ JSON API Λ֬ೝͰ͖Δ

Slide 14

Slide 14 text

GitHub Pages ʹσϓϩΠ 1. `_config.yml` ಺ͷ `url` Λࣗ͝਎ͷ΋ͷʹมߋ 2. σΟϨΫτϦ಺ͰԼهΛ࣮ߦ
 $ bundle exec rake deploy 3. http://username.github.io/jekyll-api-boilerplate/api/v1/ pages.json ͷΑ͏ͳ URL ʹɺJSON API ͕ެ։͞Ε·͢

Slide 15

Slide 15 text

Thank You!