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
46
Snowflake Openflow さわってみた
hoto17296
0
660
第3回 Snowflake 中部ユーザ会- dbt × Snowflake ハンズオン
hoto17296
4
1.4k
ORM と向き合う
hoto17296
14
12k
明日業務で役立たない Web 開発 TIPS
hoto17296
0
250
クソ bot 実装ライブコーディング
hoto17296
0
270
DeepGBM 論文の紹介
hoto17296
0
730
試行錯誤のための Docker 活用術
hoto17296
4
3.4k
Hive 集計テクニック
hoto17296
0
550
Other Decks in Technology
See All in Technology
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
TypeScript入門 2026
recruitengineers
PRO
3
660
モバイルアプリ開発概論2026
recruitengineers
PRO
6
640
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
840
関東Kaggler会発表資料
takoi
1
250
Reference-Free Image Quality Assessment for Virtual Try-On via Human Feedback
zozotech
PRO
0
510
ハーレムエンジニアリング
kazuma777777
0
180
事業価値と Engineering 2026年度版
recruitengineers
PRO
50
24k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
310
ラジオの科学
frievea
0
330
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
130
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
280
Featured
See All Featured
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
470
A Tale of Four Properties
chriscoyier
163
24k
Documentation Writing (for coders)
carmenintech
77
5.5k
First, design no harm
axbom
PRO
2
1.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
400
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Writing Fast Ruby
sferik
630
63k
Amusing Abliteration
ianozsvald
1
250
Optimising Largest Contentful Paint
csswizardry
37
3.9k
The SEO identity crisis: Don't let AI make you average
varn
0
530
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