Gotanda.js #1 https://gotandajs.connpass.com/event/20838/
HVMQܳ(PUBOEBKT!IPUP
View Slide
+PJO4MBDLhttp://gotanda.js.org/
HVMQKT• λεΫϥϯφʔ• Node.js ͷ Stream API
HVMQKTTDTTDTTNJOH[H[JQTBTT NJOJGZTSD EFTUQJQF QJQF
;ͭ͏ͷ͍ํ• ES2015 / AltJS Λ ES5 ʹτϥϯεύΠϧ• JS ͷ minify / bundle• Sass ΛίϯύΠϧ / minify / autoprefix• gzip ੜ• lint
;ͭ͏͡Όͳ͍͍ํ• ϒϩάͱͯ͠͏
!IPUP• ϒϩά৬ਓ• ͍··Ͱʹ 9 ճϒϩάΛ࡞Γͳ͓͍ͯ͠Δ• ͳ͓ɺϒϩάΛ࡞ͬͯຬͯ͠͠·ͬͯ ͋·ΓهࣄΛॻ͚͍ͯͳ͍༷
͍·ͷϒϩά• http://hotolab.net/• ࠷ۙʮ jQuery ໓ͼΑʯͱ͔ݴͬͯΔͷʹ ϒϩάͷσβΠϯʹ jQuery Λ͍ͬͯΔ• Jekyll + GitHub Pages• ϓϥάΠϯ͑ͳ͍ͷͰΧελϜͮ͠Β͍
࡞Γ͍ͨϒϩά ཁ݅• ੩తͳϖʔδ܈ͱͯ͠ϏϧυͰ͖Δ• ಈతͳΞϓϦͷӡ༻͕͔͔ۚΔ• ੩తͳϖʔδͳΒແྉͰӡ༻Ͱ͖Δ• खܰʹॻ͚ͯखܰʹެ։Ͱ͖Δ• Markdown Ͱॻ͚Δ• ॻ͖ͳ͕Β֬ೝͰ͖Δ
࡞Γ͍ͨϒϩά ཁ݅• Jekyll ෩ʹهࣄʹϝλใΛઃఆͰ͖Δ• tag, description, og-image ͳͲ• ύʔϚϦϯΫ͕͑Δ• http://hotolab.net/blog/{entry_title}
ʮͯͳϒϩάΛ͑ʯ• ՝ۚ͠ͳ͍ͱಠࣗυϝΠϯ͑ͳ͍• ϒϩάʹ݄1000ԁͪΐͬͱΩπ͍• ϙʔλϏϦςΟ͕ඍົ• Markdown ͷ··ΤΫεϙʔτͰ͖ͳ͍
HVMQͰCMPH͕࡞ΕΔͷ͔• ڹ͖͕ࣅ͍ͯΔ͔Βଟ͍͚Δ
σΟϨΫτϦߏsrc/_posts/***.md_layouts/assets/index.html.jadepublic/gulpfile.js
ͳʹͱ͋Ε.BSLEPXO• gulp-markdowngulp.src('./src/_posts/*.md').pipe(markdown())
ύʔϚϦϯΫͬΆ͘͢Δ.pipe(rename((path) => {path.dirname += '/' + path.basename;path.basename = 'index';path.extname = 'html';return path;}))• gulp-rename
ϨΠΞτʹຒΊࠐΉ.pipe(layout({title: 'My New Blog!!!',layout: './src/_layout/default.jade'}))• gulp-layout
ϝλใΛϨΠΞτʹ͢gulp.src('./src/**/*.md').pipe(frontMatter()).pipe(markdown()).pipe(layout(function(file) {return file.frontMatter;}))• gulp-frontmatter
ࢀߟɿ+FLZMMͷϝλใຒΊࠐΈϝλใϚʔΫμϯ
֬ೝͰ͖ΔΑ͏ʹ͢Δgulp.src('./public').pipe(webserver({livereload: true,...}));• gulp-webserver
ެ։͢Δ (JU)VC1BHFTgulp.src('./public/**').pipe(ghPages());• gulp-gh-pages
ެ։͢Δ "NB[PO4gulp.src('./public/**').pipe(s3({Bucket: "bucket-name",...}));• gulp-s3-upload
ެ։͢Δ '51gulp.src('./public/**').pipe(ftp({host: 'example.com',user: 'hoto',pass: '1234'}));• gulp-ftp
4/4Ͱ֦ࢄ͢Δvar oauth = {consumerKey: '...',...};gulp.src('package.json').pipe(twitter(oauth, 'ϒϩάߋ৽!!!'));• gulp-twitter
ͦͷଞ• gulp-favicons: favicon ͳͲΛ·ͱΊͯੜ• gulp-fontmin: ϑΥϯτͷαϒηοτΛ࡞• gulp-robots: robots.txt Λੜ• gulp-email: ϝʔϧΛૹΔ
%&.0
͔ͨͬͨ͠ ʅŋ@ŋA
·ͱΊ• ϒϩά gulp Ͱ࡞ΕΔʂʂʂ
&OKPZ