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
58
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gulp 芸
Gotanda.js #1
https://gotandajs.connpass.com/event/20838/
Yuki Ishikawa
October 28, 2015
More Decks by Yuki Ishikawa
See All by Yuki Ishikawa
o11y 何もわからない助けてくれ
hoto17296
0
30
Snowflake Openflow さわってみた
hoto17296
0
590
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
1.4k
ORM と向き合う
hoto17296
14
12k
明日業務で役立たない Web 開発 TIPS
hoto17296
0
240
クソ bot 実装ライブコーディング
hoto17296
0
260
DeepGBM 論文の紹介
hoto17296
0
720
試行錯誤のための Docker 活用術
hoto17296
4
3.3k
Hive 集計テクニック
hoto17296
0
550
Other Decks in Technology
See All in Technology
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
130
AIっぽい文章を採点して人間らしく直すアプリを作ってみた
yama3133
2
120
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
400
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
180
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
3
1.4k
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
4
1.3k
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
53
59k
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
1k
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
370
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
4
4.4k
非エンジニアがClaudeと挑んだ「1ヶ月間プロダクト30本ノック」
askokc
0
260
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Side Projects
sachag
455
43k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Designing for Performance
lara
611
70k
How GitHub (no longer) Works
holman
316
150k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
420
Practical Orchestrator
shlominoach
191
11k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
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