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
Gulp 芸
Search
Yuki Ishikawa
October 28, 2015
Technology
0
48
Gulp 芸
Gotanda.js #1
https://gotandajs.connpass.com/event/20838/
Yuki Ishikawa
October 28, 2015
Tweet
Share
More Decks by Yuki Ishikawa
See All by Yuki Ishikawa
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
850
ORM と向き合う
hoto17296
14
10k
明日業務で役立たない Web 開発 TIPS
hoto17296
0
170
クソ bot 実装ライブコーディング
hoto17296
0
220
DeepGBM 論文の紹介
hoto17296
0
560
試行錯誤のための Docker 活用術
hoto17296
4
3k
Hive 集計テクニック
hoto17296
0
490
データ分析と Docker / Data Analysis with Docker
hoto17296
0
360
DeepCluster 論文の紹介
hoto17296
7
2.5k
Other Decks in Technology
See All in Technology
KubeCon + CloudNativeCon Japan 2025 Recap by CA
ponkio_o
PRO
0
300
MobileActOsaka_250704.pdf
akaitadaaki
0
140
Delta airlines®️ USA Contact Numbers: Complete 2025 Support Guide
airtravelguide
0
340
Getting to Know Your Legacy (System) with AI-Driven Software Archeology (WeAreDevelopers World Congress 2025)
feststelltaste
1
140
DatabricksにOLTPデータベース『Lakebase』がやってきた!
inoutk
0
120
Lufthansa ®️ USA Contact Numbers: Complete 2025 Support Guide
lufthanahelpsupport
0
200
赤煉瓦倉庫勉強会「Databricksを選んだ理由と、絶賛真っ只中のデータ基盤移行体験記」
ivry_presentationmaterials
2
370
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
12
5.4k
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
3
7.3k
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
6
2.4k
20250707-AI活用の個人差を埋めるチームづくり
shnjtk
6
3.9k
2025-07-06 QGIS初級ハンズオン「はじめてのQGIS」
kou_kita
0
170
Featured
See All Featured
How GitHub (no longer) Works
holman
314
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Six Lessons from altMBA
skipperchong
28
3.9k
Agile that works and the tools we love
rasmusluckow
329
21k
Bash Introduction
62gerente
613
210k
Music & Morning Musume
bryan
46
6.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Unsuck your backbone
ammeep
671
58k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
HVMQܳ (PUBOEBKT !IPUP
None
+PJO4MBDL http://gotanda.js.org/
HVMQKT • λεΫϥϯφʔ • Node.js ͷ Stream API
HVMQKT TDTT DTT NJO H[ H[JQ TBTT NJOJGZ TSD EFTU
QJQF 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.jade public/ gulpfile.js
ͳʹͱ͋Ε.BSLEPXO • gulp-markdown gulp.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)VC1BHFT gulp.src('./public/**') .pipe(ghPages()); • gulp-gh-pages
ެ։͢Δ "NB[PO4 gulp.src('./public/**') .pipe(s3({ Bucket: "bucket-name", ... })); • gulp-s3-upload
ެ։͢Δ '51 gulp.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