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
470
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
HTML・CMSから考えるコンポーネント化について
redamoon
January 27, 2018
Transcript
32 slides
)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
More Decks by redamoon
See All by redamoon
「速くなった」では足りない ─ Cursor Meetup Sapporo で話した、弥生の Cursor 組織導入1年
redamoon
0
690
もくテク_AI駆動開発の標準化を進める_-_プロセス整備とルール選定基準の整理.pdf
redamoon
0
2.4k
MTDDCMeetupTokyo_2023_LT.pdf
redamoon
0
190
Supabase + Nuxt3 の実装素振りで チャットアプリを作ってみた
redamoon
1
440
Movable Type を Headless CMS として活用した Jamstack開発手法
redamoon
0
250
Data APIを活用したWEBサイト構築手法
redamoon
1
81
sacss110_pdf.pdf
redamoon
1
160
Vue meet up sapporo Vue + Storybook導入について
redamoon
0
74
Movable Type 7を触ってみた
redamoon
0
260
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Raft: Consensus for Rubyists
vanstee
143
7.9k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.7k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
800
Code Reviewing Like a Champion
maltzj
529
40k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.7k
How to train your dragon (web standard)
notwaldorf
96
6.9k
AI: The stuff that nobody shows you
jnunemaker
PRO
12
1.3k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
790
Optimizing for Happiness
mojombo
378
71k