HTML ๋ธ๋ก์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ ํํ์์ผ๋ก ๋ณํํ๋ ๋ณํ๊ธฐ๋ฅผ ๋ง๋ญ๋๋ค(์นด์ดํฐ "์ฝ์ด ํ์ฅ").
์ด ๋ฌธ์ ๋ฅผ ๋ท๋ฐ์นจํ๊ณ ์ถ์ผ์ ๊ฐ์? ํ์๊ธ์ ๊ฒ์ํ์ญ์์ค! ์ฐ๋ฆฌ๋ Bountysource ๋ฅผ ํตํด ํ์๊ธ์
์์ฑ์์๊ฒ ์ด๋ฉ์ผ์ ๋ณด๋์ง๋ง ์์ฒญ์ ์ฐฌ์ฑํ๊ธฐ ์ํด ์ฌ๊ธฐ์ ๋ค์ ๊ฒ์ํฉ๋๋ค.
์๋ ,
์ฐ์ , ๋น์ ์ ํ๋ฅญํ ์ผ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋น์ ์ ํ๋ฅญํ ์ผ์ ํด๋์ต๋๋ค. ๋๋ ๊ทธ ๊ฒฐ๊ณผ์ ์ ๋ง ๊ฐํํฉ๋๋ค.
๊ทํ์ ํ๋ก๊ทธ๋จ์ ๋ํ ์๊ฐ:
'์ญ์ฝ๋ฉ'์ด ๊ฐ๋ฅํ๊ฐ์?
์ฆ
<div id="container">
<div class="header"></div>
<div class="body">
<div class="title">Title</div>
<div class="text">Text</div>
</div>
<div class="footer"></div>
</div>
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋ณํ
??
์์? ์, ์ฐ์ ๋ ๋ฒ์งธ ์ฝ๋๋ก ์์ ํ ๋ค์ ์ ์์ผ๋ก ๋๋๋ฆฌ๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๊ฐ๋ฅํ๋ค๋ฉด ํด๋ผ์ด์ธํธ ์ธก ์๋ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์์ ๋ด์ฌ์๊ฐ emmet ์ฝ๋ html ํ์ด์ง์ _์ง์ _ ์์ฑํ๋ ์๋ฒ ์ธก ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
์ด๋ค ์ํฅ์ ๋ฏธ์น ์ง ์๊ฐํด ๋ณด์ญ์์ค.
๊ธ์, ๊ทธ๊ฒ์ ๋จ์ง ์๊ฐ์ ๋๋ค :)
๋ค์ ํ ๋ฒ ๊ฐ์ฌํฉ๋๋ค.
์ฆ๊ฑฐ์ด ์๊ฐ ๋ณด๋ด์ธ์,
์๋์ค,
์ํ
๋ค, ๊ทธ๋ฆฌ์ค, ์ ๋ฝ, ์ธ๊ณ.
๊ทธ๋์, ๊ทธ ์์ด๋์ด๋ฅผ ์ฐฌ์ฑํ๋ ๊ฒ์ ๋๋ค :+1: ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์๋ฃ๋๊ธฐ๋ฅผ ํฌ๋งํฉ๋๋ค :)
๋ด ์ฐฌ์ฑ! ํ์ด์ง๋ฅผ HTML๋ก ์ฝ๋ฉํ๊ณ emmet์ผ๋ก ๋ฒ์ญํ ๋ค์ HTML๋ก ๋์ ์ผ๋ก ํ์ฅ๋๋ emmet ์ฝ๋๋ฅผ ํฌํจํ๋ PHP ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค๊ณ ์์ํด ๋ณด์ญ์์ค.
:์: ๋ด ๋๋ผ์ด๋ธ ๋ฐ์ด 2์ผํธ:
@icb931023 ์ฒ์์
๋ชจ๋ ํ๊ทธ๊ฐ ์๋์ผ๋ก ์์ฑ๋๊ธฐ ๋๋ฌธ์ ์คํ(์: ๋ซ๋ ํ๊ทธ์ ์ฌ๋์ ๋๋ฝ)์ ๋ํด ๊ฑฑ์ ํ ํ์๊ฐ ์์ ๊ฒ ๊ฐ์ง๋ง ํ์ฅ๋ HTML๋ก ์์ ํ๊ณ ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๊ฐ๊ฒฐํ ๊ตฌ๋ฌธ) ๊ทธ๋์ ๊ทธ๊ฒ์ด ๊ทธ๊ฒ์ ๋ํ ๊ฐ๋ ฅํ ์ฃผ์ฅ์ธ์ง ํ์คํ์ง ์์ต๋๋ค. ๋๋ ๊ฐ๊ฒฐํ/์ถ์๋ ๊ตฌ๋ฌธ์ผ๋ก ์์ ํ ์๋ํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ๋ ๊ฒ์ด ํ๋ฆด ์๋ ์์ต๋๋ค.
๋๋ ์ด๊ฒ์ ์ํ๋ค. ์ค๋๋ ฅ ์๋ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด CSS ์ ์ฒ๋ฆฌ๋งํผ ๋ถ๋ช ํ ์ ์ตํ์ง๋ ์์ต๋๋ค.
๋ธ๋ผ์ฐ์ /ํ ํ๋ฆฟ ์์ง์ด Emmet ๊ตฌ๋ฌธ์ ์ดํดํ๋ค๋ฉด ์ด์ผ๊ธฐ๊ฐ ๋ฌ๋ผ์ง ๊ฒ์ ๋๋ค. ํฅ๋ฏธ๋ก์ธ ๊ฒ์ ๋๋ค!
์, ๊ทธ๊ฒ์ traduceํ๊ธฐ ์ํด JS ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋๋ ๊ฒ์ ๋งค์ฐ ํฅ๋ฏธ ๋กญ์ต๋๋ค ;)
๋ค์์ ํด๋ผ์ด์ธํธ์ ๊ด์ ์์ ์์ํ๋ ๊ฒ์ ๋๋ค. ์๋ฐ์ ์ฝง์์ผ . ์์ ๋กญ๊ฒ ๊ธฐ์ฌํ์ธ์.
@๋ฐ๋ฐํ :)
์ด๋ค ์ ๋ฐ์ดํธ?
์ด๊ฒ๋ ์ข์ํ ๊ฒ์ ๋๋ค. ๋ด ๋ชจ๋ ์์๋ฅผ โโ์ ์ฅํ๋ ์คํ์ผ ๊ฐ์ด๋ ํ์ด์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด Emmet ๋ฌธ์์ด์ ์ฌ์ฉํ์ฌ ์์๋ฅผ ๋ํ๋ด๋ ๊ฑฐ๋ํ JSON ํ์ผ์ด ์๊ณ ํ์ด์ง์์ ์ด๋ฅผ ๋ฑ์ด๋ด๋ JavaScript ๋๊ตฌ๋ฅผ ๋ง๋ค์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ง๊ธ ๋น์ฅ์ ์๋ก์ด ๊ฒ์ด ์์ฑ๋ ๋๋ง๋ค ์ด ํ์ผ์ ์ต์ ์ํ๋ก ์ ์งํ๊ธฐ ์ํด ๋ชจ๋ ์๋์ผ๋ก ๋ณํํด์ผ ํฉ๋๋ค. HTML์ Emmet ๋ฌธ์์ด๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ์ํฉ๋๋ค.
_์ถฉ๋_
HTML์ emmet์ผ๋ก ๋ณํํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๋ด๊ฐ ์์ฃผ ์ฌ์ฉํ๋ ์ฝ๋ ๋ธ๋ก์ ์นํธ ์ํธ๋ฅผ ๋ง๋๋ ๋ฐ ๋งค์ฐ ์ ์ฉํ ๊ฒ์ ๋๋ค.
๋ณ๊ฒฝ ์ฌํญ์ด ์์ต๋๊น?
@Kcko ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋ฎ์ต๋๋ค.
์ข์ ๊ธฐ๋ฅ์ด ๋ ๊ฒ์ ๋๋ค. ๊ณ์ธต ๊ตฌ์กฐ๋ emmet/zen ๊ตฌ๋ฌธ์์ ์ฝ๊ธฐ ์ฝ๊ณ ๋๋ก๋ HTML ์กฐ๊ฐ ๋์์ธ์ ๋ฐ๋ณตํ ๋ ์ฝ์ด์ ์ผ์ข ์ ๋๋ต์ ์ธ ์ด์์ ๊ฐ๋ ๊ฒ์ด ๋์์ด ๋ฉ๋๋ค.
ํ๋ฅญํ ๊ธฐ๋ฅ์ด ๋ ๊ฒ์
๋๋ค!
*n ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๋ธ๋ก์ ์์ฑํ๊ณ ๋์ค์ ๋ธ๋ก์ ๋ณ๊ฒฝํด์ผ ํ๋ค๋ ์ฌ์ค์ ์๊ฒ ๋๋ค๊ณ ์์ํด ๋ณด์ญ์์ค. ์ด์ ๋ธ๋ก์ ์ญ์ ํ๊ณ emmet ์ฝ๋๋ฅผ ๋ค์ ์์ฑํด์ผ ํฉ๋๋ค. ๋์๊ฐ์ ๋ถ๋ถ๋ง ์์ ํ ๋ค์ ๋ค์ ์์ฑํ๋๋ก ํ๋ฉด ํจ์ฌ ๋ ๋น ๋ฅผ ๊ฒ์
๋๋ค!
@MarcoWilli Emmet์๋ ๊ธฐ์กด ์ฝ๋๋ฅผ ๋น ๋ฅด๊ฒ ์์ ํ ์ ์๋ ์ถฉ๋ถํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
๋ํ ๋ฐ๋ณต๋๋ ์์์ ๋ค๋ฅธ ๋ด์ฉ์ด ํฌํจ๋ ๊ฒฝ์ฐ("๋์ค์ ์์ "์ผ๋ก ์ค๋ช ํ ๋๋ก) ์ญ ์ฝ์ด ๋ฌธ์์ด์ ์ฝ๋ ์์ฑ์ ์ฌ์ฉํ ๊ฒ๊ณผ ๋์ผํ์ง ์์ต๋๋ค.
๋์๊ฒ ํฌํํ์ญ์์ค. Emmet์ ์ฒ์ ์ ํ๊ณ ์ ๊ธฐ์ ์ ํฅ์์ํค๋ ํ์์ ์ธ ๋ฐฉ๋ฒ์ด ๋ ๊ฒ์ ๋๋ค.
์ด ๊ธฐ๋ฅ์ด ์ ๋ง ํ์ํ์ต๋๋ค. ์ ๊ฒฝ์ฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋๋ ๋ค์๊ณผ ๊ฐ์ ์ผ๋ถ ๋ธ๋ก์๋ฐ์ต๋๋ค.
<record class="main1 text">
<field name id="1">1</field>
<field name id="2">2</field>
<field name id="3">3</field>
<field name id="4">4</field>
</record>
๊ทธ๋์ ์ฒซ ๋ฒ์งธ ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๋ง์ ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ถ์ผ๋ฏ๋ก ์ด์ ๋ ์ฝ๋ ์ฝ์ด๋ฅผ ์ป๊ธฐ ์ํด ์ฝ์ด๋ฅผ ์ฌํํ๋ ค๊ณ ์๋ํ ๋ค์ (record...)*10
์ ๊ฐ์ ๊ฒ์ ์
๋ ฅํฉ๋๋ค.
๊ฐ์ฌ ํด์
@chermed ...๋๋ ๋จ์ํ ์ฝ๋ ์กฐ๊ฐ์ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ์ ์ ์์ต๋๋ค. ๊ทํ๊ฐ ์ ๊ณตํ ์ฝ๋๋ ๋งค์ฐ ๊ฐ๋จํ์ง๋ง ๋งค์ฐ ๋๋ฌธ ์ฌ์ฉ ์ฌ๋ก์
๋๋ค. ๋๋ถ๋ถ์ ๊ฒฝ์ฐ record>field[name=name1]{text1}+field[name=name2]{text2}+field[name=name3]{text3}+...
์ ๊ฐ์ ์ฝ์ด๋ก ๋๋๊ฒ ๋์ด ๊ทธ๋ค์ง ์ ์ฉํ์ง ์์ต๋๋ค.
๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ํ ํ๋ฆฟ + JSON ๊ฐ์ฒด์์ HTML ๋ฌธ์์ด์ ๋ ๋๋งํ๊ณ ๋ ๋๋ง๋ HTML ๋ฌธ์์ด๋ก POST ์์ฒญ์ ์๋ตํ๋ ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ์์ต๋๋ค. HTTP ์๋ต์์ ๊ฑฐ๋ํ HTML ๋ฌธ์์ด์ ๋ณด๋ด์ผ ํ๋ ๊ฒ์ ์ฐ๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ฆ์ ๋ณ๋ชฉ ํ์์ ์ผ๊ธฐํฉ๋๋ค.
์ด ๋ ๋๋ง๋ HTML์ ๋์ ์๋ต์ผ๋ก ์ ์ก๋๋ Emmet ์ฝ์ด๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ด ์์ผ๋ฉด ์๋ต ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ๋ ์์ ๋ฐ์ดํธ ์๋ฅผ ์ฐจ์งํ๋ฏ๋ก ๋ณ๋ชฉ ํ์์ด ์ ๊ฑฐ๋ฉ๋๋ค. ์๋ต์ ๋ฐ๋ ๋ง์ดํฌ๋ก์๋น์ค๋ ํด๋ผ์ด์ธํธ ์ธก ๋ ๋๋ง์ ์ํ ์ฝ์ด๋ฅผ emmet-expandํ ์ ์์ต๋๋ค.
@kizzlebot ์คํ ๊ฐ๋ฅํ ์ฌ์ฉ ์ฌ๋ก์ฒ๋ผ ๋ณด์ด์ง๋ง ๋ค์์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
@kizzlebot Messagepack ๋ฐ/๋๋ Apache Avro๊ฐ ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
@sergeche ๋ฅผ ์ข ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ช
์ํ ์ฌ์ดํธ๋ฅผ ๊ตฌ์ถํ๊ณ ์ด๋ฅผ ๋ค์ emmet ์ค๋ํซ์ผ๋ก ๋ณํํ์ฌ ํ๋ ์ ํ ์ด์ ํ์ดํ์ ๋ ๋น ๋ฅด๊ฒ ๋ง๋ค๊ณ ์ถ์ต๋๋ค(ํ๋ก์ธ์ค ๋ฐ๋ชจ emmet).
์๋ง๋ Hyperscript / JSX ๋ฐ AST๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ฅํ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๋ง์ ์ ์ฌ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์์ ์๋ Jade ๋ฐ HAML๊ณผ ๊ฐ์ HTML ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๊ณ ์์๋๋ฐ ์ด๊ฒ์ด ๋ถ๋ถ๋ช
ํ HTML ๊ตฌ๋ฌธ์ ๋ํ ํ๋ฅญํ ๋์ฒดํ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ถ๊ฐ ์ค์น ๋ฐ ๋ณํ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ด ํ๋ก์ ํธ์ ๋ค์ด๊ฐ ์ ์์์ต๋๋ค. ๋๋ ํญ์ Emmet๊ณผ ๊ฑฐ์ ๊ฐ์ ์์ค์ Emmet์ ์ฌ์ฉํ์ต๋๋ค(์กฐ๊ธ๋ง ์ง์ํ๊ณ ์ค์น๊ฐ ํ์ํ์ง ์์).
ํ์ง๋ง ์ค๋ ์ฌ์ดํธ ํ
ํ๋ฆฟ์ ๊ตฌ์ถํ ๋ Emmet์์ ์์ฑํ๋ ๋์ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ ๋ค์์ ์๊ฐํด ๋์ต๋๋ค.
.navbar>
.logo+
ul.menu_v>
li.menu_itm*2+
li.menu_item.dropd
^
ul.menu_v>
li.item_dd
์ด๊ฒ์ HTML๋ณด๋ค ํจ์ฌ ์ฝ๊ธฐ ์ฝ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ฐ์ด ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ์ง์ํ๋ค๋ฉด ์ข์ง ์์์๊น ํ๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋์ ๋ค์ฌ์ฐ๊ธฐ๊ฐ ์๋ HTML๋ก Emmet์ ๋ณํํ๋ ๋ณํ ๋๊ตฌ๊ฐ ์๋ค๋ฉด ์ด๋จ๊น ํ๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ๊ทธ๋ ๊ฒ ํ๋ฉด HTML์ ํตํด ์์ฑํ๊ณ ์ฝ๋ ๊ฒ์ด ํจ์ฌ ๋ ์ฌ๋ฏธ์์ต๋๋ค.
XML์ JSON์ด ๋ฐ์ํ๋ค๋ ์๋ฏธ์
๋๋ค.
HTML์ด ๋์๊ฐ ์๊ฐ์
๋๋ค...
์น ๊ตฌ์ฑ ์์, ํ์ดํผ ์คํฌ๋ฆฝํธ, JSX ๋ฐ pug๋ฅผ ์๋ฏธํฉ๋๊น? ๊ธ์, imho ์ด๊ฒ์ ์ฝ๊ธฐ๊ฐ ์ฝ์ง ์์ต๋๋ค.
Emmet์ ์ฃผ๋ก PhpStorm ํ๋ก์ ํธ์์ ๋น ๋ฅธ ํ๋กํ ํ์ดํ ๋ฐ ๋ช ๋ น ์์ฑ/์ค์บํด๋ฉ์ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ๋ผ์ Emmet ๊ตฌ๋ฌธ์ ์ผ๋ฐ์ ์ผ๋ก ์ด๋ค ํ๋ก์ ํธ์๋ ์ ์ฅ๋์ง ์๊ณ ์ต์ข html์๋ง ์ ์ฅ๋ฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์์ฑ์์๊ฒ ์ด๋ฉ์ผ์ ๋ณด๋์ง๋ง ์์ฒญ์ ์ฐฌ์ฑํ๊ธฐ ์ํด ์ฌ๊ธฐ์ ๋ค์ ๊ฒ์ํฉ๋๋ค.
์๋ ,
์ฐ์ , ๋น์ ์ ํ๋ฅญํ ์ผ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋น์ ์ ํ๋ฅญํ ์ผ์ ํด๋์ต๋๋ค. ๋๋ ๊ทธ ๊ฒฐ๊ณผ์ ์ ๋ง ๊ฐํํฉ๋๋ค.
๊ทํ์ ํ๋ก๊ทธ๋จ์ ๋ํ ์๊ฐ:
'์ญ์ฝ๋ฉ'์ด ๊ฐ๋ฅํ๊ฐ์?
์ฆ
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋ณํ
์ปจํ ์ด๋>.header+.body>.title{์ ๋ชฉ}+.text{ํ ์คํธ}^.๋ฐ๋ฅ๊ธ
??
์์? ์, ์ฐ์ ๋ ๋ฒ์งธ ์ฝ๋๋ก ์์ ํ ๋ค์ ์ ์์ผ๋ก ๋๋๋ฆฌ๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๊ฐ๋ฅํ๋ค๋ฉด ํด๋ผ์ด์ธํธ ์ธก ์๋ฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ์์ ๋ด์ฌ์๊ฐ emmet ์ฝ๋ html ํ์ด์ง์ _์ง์ _ ์์ฑํ๋ ์๋ฒ ์ธก ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
์ด๋ค ์ํฅ์ ๋ฏธ์น ์ง ์๊ฐํด ๋ณด์ญ์์ค.
๊ธ์, ๊ทธ๊ฒ์ ๋จ์ง ์๊ฐ์ ๋๋ค :)
๋ค์ ํ ๋ฒ ๊ฐ์ฌํฉ๋๋ค.
์ฆ๊ฑฐ์ด ์๊ฐ ๋ณด๋ด์ธ์,
์๋์ค,
์ํ ๋ค, ๊ทธ๋ฆฌ์ค, ์ ๋ฝ, ์ธ๊ณ.
๊ทธ๋์, ๊ทธ ์์ด๋์ด๋ฅผ ์ฐฌ์ฑํ๋ ๊ฒ์ ๋๋ค :+1: ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ด ์๋ฃ๋๊ธฐ๋ฅผ ํฌ๋งํฉ๋๋ค :)