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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
540
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
210
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
How to Ace a Technical Interview
jacobian
281
24k
Site-Speed That Sticks
csswizardry
13
1.2k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
300
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
170
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