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
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
もくテク_AI駆動開発の標準化を進める_-_プロセス整備とルール選定基準の整理.pdf
redamoon
0
1.9k
MTDDCMeetupTokyo_2023_LT.pdf
redamoon
0
180
Supabase + Nuxt3 の実装素振りで チャットアプリを作ってみた
redamoon
1
420
Movable Type を Headless CMS として活用した Jamstack開発手法
redamoon
0
230
Data APIを活用したWEBサイト構築手法
redamoon
1
78
sacss110_pdf.pdf
redamoon
1
140
Vue meet up sapporo Vue + Storybook導入について
redamoon
0
71
Movable Type 7を触ってみた
redamoon
0
240
おれの使うさいきょうえでぃた
redamoon
0
220
Featured
See All Featured
New Earth Scene 8
popppiees
3
2.4k
Designing for Performance
lara
611
70k
Test your architecture with Archunit
thirion
1
2.3k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
Producing Creativity
orderedlist
PRO
348
40k
WENDY [Excerpt]
tessaabrams
11
38k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Evolving SEO for Evolving Search Engines
ryanjones
0
230
What's in a price? How to price your products and services
michaelherold
247
13k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
440
It's Worth the Effort
3n
188
29k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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