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
ブログ執筆を支える技術
Search
kz_morita
March 31, 2019
Technology
0
46
ブログ執筆を支える技術
https://itmokumoku.connpass.com/event/119460/
こちらのイベントで、「ブログの執筆環境」を紹介するLTを行った時のスライド
kz_morita
March 31, 2019
Tweet
Share
More Decks by kz_morita
See All by kz_morita
ブログを書き続けた話
kz_morita
1
1.1k
Other Decks in Technology
See All in Technology
Android Studio の 新しいAI機能を試してみよう / Try out the new AI features in Android Studio
yanzm
0
290
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
6
660
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
7
2k
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
4
980
株式会社ARAV 採用案内
maqui
0
380
Goでマークダウンの独自記法を実装する
lag129
0
230
LLMエージェント時代に適応した開発フロー
hiragram
1
430
KiroでGameDay開催してみよう(準備編)
yuuuuuuu168
1
150
ZOZOTOWNフロントエンドにおけるディレクトリの分割戦略
zozotech
PRO
18
5.7k
知られざるprops命名の慣習 アクション編
uhyo
11
2.7k
人を動かすことについて考える
ichimichi
2
350
Evolution on AI Agent and Beyond - AGI への道のりと、シンギュラリティの3つのシナリオ
masayamoriofficial
0
230
Featured
See All Featured
Bash Introduction
62gerente
614
210k
Code Review Best Practice
trishagee
70
19k
Why Our Code Smells
bkeepers
PRO
338
57k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A designer walks into a library…
pauljervisheath
207
24k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Optimizing for Happiness
mojombo
379
70k
Rails Girls Zürich Keynote
gr2m
95
14k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Transcript
ɹɹɹࣥච Λࢧ͑Δٕज़ िҰϒϩάߋ৽ͷཪ ϒϩά @kz_morita 2019 3/31 ͳΜͰLTେձୈ̏
ࣗݾհ • kazuki morita • ɹ foresta • @kz_morita •
NewsPicks • Software Engineer • Swift / iOS • ֬౷ܭษڧத
ϒϩάࣥචঢ়گ • 9/1 ~ 3/31 ·Ͱͷ7ϲ݄ؒ • ߹ܭ27هࣄ • ि̍هࣄϖʔε
ϒϩάΛॻ͘త • Πϯϓοτͷ ྔΛ૿͢ • Πϯϓοτͷ࣭ΛߴΊΔ • ݸਓͷϒϥϯσΟϯά
ϒϩά͕ଓ͔ͳ͍ཧ༝ • ໘͍͘͞ • → ॻ͔͟ΔΛಘͳ͍ڥΛ࡞Δ • → Ͱ͖Δ͚ͩշదͳࣥචڥΛ࡞Δ •
ωλ͕ͳ͍ • ؾ߹͍
ॻ͔͟ΔΛಘͳ͍ڥ࡞Γ
ॻ͔͟ΔΛಘͳ͍ڥͱʁ • ߴΒ͔ʹએݴ
ॻ͔͟ΔΛಘͳ͍ڥͱʁ • slackάϧʔϓʮwrite-blog-every-weekʯ
շదͳࣥචڥͷߏங
շదͳϒϩάࣥචڥͱʁ • ϒϥβ্Ͱॻ͖ͨ͘ͳ͍ • ϩʔΧϧͰαΫαΫ • Vim ͓ΈͷΤσΟλ & MarkdownͰ͔͖͍ͨ
• ॻ͍͙ͯ͢ϓϨϏϡʔ͍ͨ͠ • όʔδϣϯཧ͍ͨ͠
͘͞ΒVPS localhost:8080 Preview ϩʔΧϧPC Build & Deploy push http://~
ࣥච࣌ • ϩʔΧϧαʔόʔΛͨͯΔ • هࣄΛ৽ن࡞ • vim Ͱ Markdownฤू •
อଘ͢ΔͱϦΞϧλΠϜͰϓϨϏϡʔ͕ߋ৽ ͞ΕΔͷͰ֬ೝͰ͖Δ
σϓϩΠ • $ git push origin master • Ҏ্!
ϒϩάΛࢧ͑Δٕज़ͨͪ
͘͞ΒVPS localhost:8080 Preview ϩʔΧϧPC Build & Deploy push http://~
Hugo • Golangͷ੩తαΠτδΣωϨʔλ • MarkDown → HTMLϑΝΠϧ • $ hugo
server Ͱαʔόʔཱ͕ͭ • $ hugo Ͱmd → html ʹϏϧυ
Hugo Πϯετʔϧ • OSXͳΒHomebrew ͰҰൃͰೖΔ $ brew install Hugo •
ޙड़͢ΔσϓϩΠεΫϦϓτͷͨΊαʔόʔ ʹhugoΛೖΕΔɻʢαʔόʔCentOS ͩͬͨͷͰɺgithubͰམͱͯ͠ɺgo installʣ
͘͞ΒVPS localhost:8080 Preview ϩʔΧϧPC Build & Deploy push http://~
Jenkins • ͘͞ΒVPSʹΠϯετʔϧ • GithubͷmasterϒϥϯνͷpushΛhook͢Δ ઃఆ • deployεΫϦϓτߏங npm install
npm run webpack hugo rsync -rlptgoD --delete --exclude ".git/" \ /path/to/jenkins/workspace/public/ \ /path/to/webserver/directory/
ͦͷଞ • ϑϩϯτΤϯυ (HTML/CSS) • γΣΞػೳ • ϚʔΫμϯϨΠΞτ • MathJax(ࣜ)
• PWA • Πϯϑϥ(͘͞ΒVPS) • Let's Encrypt • αΠτσβΠϯ • ϩΰ੍࡞ • OGPը૾ • Ξχϝʔγϣϯ • SEOରࡦ
·ͱΊ • շదͳڥͰिҰͰͷϒϩάߋ৽͕ܧଓத • շదͳࣥචڥΛߏஙͨ݁͠Ռɺ৭ʑͳ ͷݟ͕ಘΒΕͨ • Πϯϑϥ / σβΠϯ
/ ϑϩϯτΤϯυ etc... • ंྠͷ࠶։ൃ࠷ߴͷ᩵
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ https://blog.foresta.me https://github.com/foresta/blog.foresta.me →͓·͚͋ΔΑ
͓·͚
ϑϩϯτΤϯυڥ • Sass + ES6 + Webpack4Ͱߏங • HTML &
CSS ΄ͱΜͲ1͔Βߏங
γΣΞ • ֤छSNSͷγΣΞϩδοΫΛ࣮ • Twitter, Facebook, Pocket, ͯͿͷରԠ
هࣄͷϨΠΞτ • هࣄ͕ಡΈ͍͢Α͏ʹϑΥϯτͩͬͨΓɺ ߦؒͩͬͨΓࡉ͔͘ௐ • ࣜΛॻͨ͘Ίͷ MathJaxͷಋೖ
PWAରԠ • ແବʹʮϗʔϜʹՃʯ͕Ͱ͖Δ • ServiceWorkerରԠ (sw.js) ͱmanifest.jsonͷஔ • Chrome 73
͔ΒͷDesktop PWAʹࣗಈͰରԠ Ͱ͖ͨ!
Πϯϑϥ • ͘͞ΒVPSΛϨϯλϧ • ηΩϡϦςΟܥͱ͔ͷઃఆΛҰ௨Γ • Let's EncryptͰ httpsରԠ (SSL/TLS)
• ໊͓લ.comͰυϝΠϯऔಘ
σβΠϯ • ৭ܾΊͨΓɺશମͷํੑܾΊͨΓ • શମతʹϚςϦΞϧσβΠϯʹ४ڌ(ͨͭ͠Γ) • ϩΰ੍࡞ • γΣΞ༻ͷOGPը૾࡞ https://material.io/design/
Ξχϝʔγϣϯ • ؾ࣋ͪྑ͍ (ͱࢥ͏) Ξχϝʔγϣϯ