Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
HTML・CMSから考えるコンポーネント化について
Search
redamoon
January 27, 2018
450
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HTML・CMSから考えるコンポーネント化について
redamoon
January 27, 2018
More Decks by redamoon
See All by redamoon
「速くなった」では足りない ─ Cursor Meetup Sapporo で話した、弥生の Cursor 組織導入1年
redamoon
0
500
もくテク_AI駆動開発の標準化を進める_-_プロセス整備とルール選定基準の整理.pdf
redamoon
0
2.2k
MTDDCMeetupTokyo_2023_LT.pdf
redamoon
0
190
Supabase + Nuxt3 の実装素振りで チャットアプリを作ってみた
redamoon
1
430
Movable Type を Headless CMS として活用した Jamstack開発手法
redamoon
0
240
Data APIを活用したWEBサイト構築手法
redamoon
1
79
sacss110_pdf.pdf
redamoon
1
150
Vue meet up sapporo Vue + Storybook導入について
redamoon
0
72
Movable Type 7を触ってみた
redamoon
0
250
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
520
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Test your architecture with Archunit
thirion
2
2.4k
Making Projects Easy
brettharned
120
6.7k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
Speed Design
sergeychernyshev
33
2.1k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
900
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Chasing Engaging Ingredients in Design
codingconduct
0
310
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
530
Transcript
)5.-ɾ$.4͔Βߟ͑ΔίϯϙʔωϯτԽʹ͍ͭͯ Frontend Nagoya #3 2018.01.27 () at ϕʔεΩϟϯϓ໊ݹ
None
ܽߤܾఆޙʹΕʂ ࡳຈ͔Β໊ݹʹདྷΔͷʹɻɻɻ ͔͔࣌ؒΓ·ͨ͠ʂʂʂ
ొஃܾఆͷ࢝·Γɻɻ ʢϜAʣʮ݄̍Ջʁʁʯ
ɾؔޱ༐थ ɾגࣜձࣾ)".803,4ϑϩϯτΤϯυΤϯδχΞ ɾओͳۀɿ)5.-ɾ$44ɾ+BWB4DSJQUɾ$.4ߏங ɾ͖ͳ$.4ɿ.PWBCMF5ZQFɾ$SBGUDNT ɾ5XJUUFSɿ!SFEBNPPO ɾ(JUIVCɿSFEBNPPO
IUUQTSFEBNPPOOFU
ࠓ͢͜ͱͱ͞ͳ͍͜ͱ
͢͜ͱͱ͞ͳ͍͜ͱ ɾίϯϙʔωϯτԽʹ͍ͭͯͷ֓೦తߟ͑ํͳ ɾۀϫʔΫϑϩʔʹϑΥʔΧεͨ͠༰ ɾ$.4Խ͢Δલஈ֊Ͱ)5.-͕Ͳ͏͋Δ͖͔ ˙͞ͳ͍͜ͱ ˙͍ͨ͜͠ͱ
$.4Խ·Ͱͷఔ σβΠϯ ΫϥΠΞϯτʹఏग़͢ΔඞཁͳϖʔδͷσβΠϯ੍࡞ ίʔσΟϯάʢϓϨϏϡʔ༻ʣ ΫϥΠΞϯτʹઌߦͯ͠ݟ͓ͤͯ͘੩తͷϖʔδ $.4Խ $.4ಠࣗͷςϯϓϨʔτه๏ʢλάͳͲʣʹԊͬͨܗͰΈࠐΉ
$.4Խ͢ΔͨΊʹʁ
)5.-σʔλ $.4Խ )5.-σʔλΛ$.4ಠࣗλάɾςϯϓϨʔτʹม )5.-͔ͳΒͣඞཁͳఔ $.4Խ͢ΔͨΊʹʁ
<div class="card card--blue"> <figure class="card__element"> <figcaption>Ωϟϓγϣϯ01ͷςΩετΩϟϓγϣϯ01ͷςΩετ</figcaption> <img src="dummy01.jpg" alt="Ωϟϓγϣϯ01ͷςΩετ"> </figure>
<a class="card__button" href=“/path/“>Ϙλϯ01</a> </div> <div class="card card--black"> <figure class="card__element"> <figcaption>Ωϟϓγϣϯ02ͷςΩετΩϟϓγϣϯ02ͷςΩετ</figcaption> <img src="dummy02.jpg" alt="Ωϟϓγϣϯ02ͷςΩετ"> </figure> <a class=“card__button" href=“/path/“>Ϙλϯ02</a> </div> )5.-σʔλ
None
$.4Խʢ.PWBCMF5ZQFͷྫʣ <mt:Ignore>Layout Card Block Component</mt:Ignore> <mt:SetVarTemplate name="_base_card" key="base_card" note="Layout Card
Block Component"> <div class="card <mt:Var name="_base_card_class-modifier" />"> <figure class="card__element"> <figcaption><mt:Var name="_base_card_text" /></figcaption> <img src="<mt:Var name="_base_card_img" />" alt="<mt:Var name="_base_card_text" />"> </figure> <a class="card__button" href="<mt:Var name="_base_card_button-link" />"><mt:Var name="_base_card_button-name" /></a> </div> </mt:SetVarTemplate>
$.4Խʢ.PWBCMF5ZQFͷ߹ʣग़ྗ <mt:Ignore>Layout Card Block Component Output</mt:Ignore> <mt:Var name="_base_card" key="button" _base_card_class-modifier="card--blue"
_base_card_text="Ωϟϓγϣϯ01ͷςΩετΩϟϓγϣϯ01ͷςΩετ" _base_card_img="dummy01.jpg" _base_card_button-link="/path/" _base_card_button-name="button_name" /> <mt:Var name="_base_card" key="button" _base_card_class-modifier="card--black" _base_card_text="Ωϟϓγϣϯ02ͷςΩετΩϟϓγϣϯ02ͷςΩετ" _base_card_img=“dummy02.jpg" _base_card_button-link="/path/" _base_card_button-name="button_name" />
੩తίʔσΟϯά͔Β$.4Խ͢Δཧ༝
੩తίʔσΟϯά͔Β$.4Խ͢Δཧ༝ ɾαʔό͕༻ҙ͞Εͯͳ͍έʔεʢҊ݅ʹΑͬͯఏڙλΠϛϯάҟͳΔʣ ɾίʔσΟϯά্ͷόάͳͲΛۃྗແͨ͘͢ΊʢखΓΛ࠷খݶʹ͢Δʣ ɾ֬ೝݩʢΫϥΠΞϯτ൛ݖݩͳͲʣ͕ଟ͍έʔεʢେखͷӡ༻ʣ ɾผ$.4ʹ8&#αΠτΛҠߦ͢ΔέʔεʢϦχϡʔΞϧͰͳ͍ϨΞͳέʔεʣ
ίʔσΟϯάͷ࣭͕$.4Խͷ࣭ʹӨڹ͢Δ
ݱͷྲྀΕʢ͕ࣗۀքೖͬͨࠒ͘Β͍ʣ ɾඞཁͳϖʔδͷσβΠϯΛ͢Δ ɾϏδϡΞϧʹඞཁͳϘλϯը૾ͳͲͷॻ͖ग़͠FUD ɾඞཁͳϖʔδΛେྔʹίʔσΟϯάʢ࣌ʹԿສϖʔδ͠͠ʣ ɾίʔσΟϯάσʔλΛ$.4ԽʢςʔϚԽʣ
࠷ۙͷίʔσΟϯάۀͷݱʁ ੩తαΠτδΣωϨʔλΛ༻͢Δ͜ͱͰ ۀͷޮԽΛਤΔ͜ͱ͕ҰൠԽ͞Ε͖ͯͨ
None
)5.-σʔλʢ/VOKVDLTͷ߹ʣ {# Layout Card Block Component #} {% macro _base_card(_base_card_class-modifier,_base_card_text,_base_card_img,_base_card_button-
link,_base_card_button-name) %} <div class="card {{ _base_card_class-modifier }}"> <figure class="card__element"> <figcaption>{{ _base_card_text }}</figcaption> <img src="{{ _base_card_img }}" alt="{{ _base_card_text }}"> </figure> <a class="card__button" href="{{ _base_card_button-link }}"> {{ _base_card_button-name }} </a> </div> {% endmacro %}
)5.-σʔλʢ/VOKVDLTͷ߹ʣग़ྗ {# Layout Card Block Component Setting #} {% import
'_partial/component.html' as component %} {# Layout Card Block Component Output #} {{ component._base_card('card--blue', 'text', 'dummy01.jpg' '/path/', 'button-name') }} {{ component._base_card('card--black', 'text', 'dummy02.jpg' '/path/', 'button-name') }}
%&.0
੩తαΠτδΣωϨʔλΛ͏͜ͱͰมΘͬͨ͜ͱ ɾඞཁͳେྔϖʔδϨΠΞτΛ࡞ΒͣʹߏͷύʔπԽ͕Մೳ ɾมߋՕॴͷࠩΛඞཁ࠷ݶʹͳͬͨ ɾ$.4Խͤͣʹ)5.-͚ͩͰཧɾӡ༻Մೳ ɾ$.4ԽͷఔͰඞཁͳϩδοΫͳͲͷݟ௨͕͠ྑ͘ͳͬͨ
ͱߏͷׂ
ͱߏͷׂ <div class="card card--blue"> <figure class="card__element"> <figcaption>Ωϟϓγϣϯ01ͷςΩετΩϟϓγϣϯ01ͷςΩετ</figcaption> <img src="dummy01.jpg" alt="Ωϟϓγϣϯ01ͷςΩετ">
</figure> <a class="card__button" href=“/path/“>Ϙλϯ01</a> </div> ɾߏʢ)5.-ʣͷཧΛҰͭʹ·ͱΊΔ ɾҙͰมߋՄೳʹ͢Δ ɾ܁Γฦ͢෦ϧʔϓͳͲΛ׆༻͢Δ
Ͳ͏͍ͬͨ෦Λ ίϯϙʔωϯτԽ͓ͯ͘͠ͷ͕͍͍ͷ͔ʁ ɾݟग़͠ ɾςΩετͷ০ ɾ൚༻తͳϒϩοΫϨΠΞτ ɾϘλϯ ɾهࣄͷϦετFUD ༻ස͕ଟ͍)5.-σʔλΛίϯϙʔωϯτԽ͓ͯ͘͠
෦Խ͞Εͨ)5.- $.4Խ ੩తαΠτδΣωϨʔλͰ෦Խ͞Εͨ )5.-Λݩʹ$.4Խ͍ͯ͘͠ ݱࡏͷߏஙϑϩʔ
ίϯϙʔωϯτԽͨ͠)5.-ͷϝϦοτ ɾ)5.-มߋʹରԠ͍͢͠ ɾσʔλͷఆٛଞͷҊ݅ͷίʔσΟϯάͰ༻Մೳ ɾύʔπԽ͞Ε͍ͯΔ͜ͱͰ$.4ͷΈࠐΈ͍͢͠ ɾύʔπ໊ͷ໋໊͕͢Ͱʹܾ·͍ͬͯΔͨΊམͱ͠ࠐΈ͍͢
ίʔσΟϯάσʔλͱ$.4ͱ ྑ͍ؔͰ͋Γ͍ͨͰ͢Ͷ
IUUQTNP[JMMBHJUIVCJPOVOKVDLT IUUQTHJUIVCDPNSFEBNPPOGSPOUFOEOBHPZBWPM IUUQTHJUIVCDPNSFEBNPPONUUIFNFTUBSUFSLFU IUUQTSFEBNPPOOFU