Intro

ν…Œλ§ˆ μ œμž‘

라이믹슀둜 ν…Œλ§ˆ(λ ˆμ΄μ•„μ›ƒ, λͺ¨λ“ˆ μŠ€ν‚¨, μœ„μ ― μŠ€ν‚¨)λ₯Ό μ œμž‘ν•  λ•ŒλŠ” 2κ°€μ§€ λ²„μ „μ˜ ν…œν”Œλ¦Ώ 문법 쀑 ν•˜λ‚˜λ₯Ό 선택할 수 있고,
각각의 버전 λ‚΄μ—μ„œλ„ λ‹€μ–‘ν•œ ν‘œν˜„ 방법이 μžˆμœΌλ―€λ‘œ μ›ν•˜λŠ” μŠ€νƒ€μΌμ„ λ”°λ₯Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

라이믹슀 2.2 이상을 λŒ€μƒμœΌλ‘œ μ‹ κ·œ μ œμž‘ν•˜λŠ” 자료라면 ν…œν”Œλ¦Ώ 문법 v2λ₯Ό ꢌμž₯ν•©λ‹ˆλ‹€.
ν…œν”Œλ¦Ώ 문법 v1은 ꡬ 버전과 XE 1.x에 λ§žμΆ”μ–΄ μ œμž‘λœ μžλ£Œμ™€ bug-for-bug ν˜Έν™˜μ„±μ„ μœ μ§€ν•  λͺ©μ μœΌλ‘œ 계속 μ§€μ›ν•©λ‹ˆλ‹€.

ν…œν”Œλ¦Ώ 문법 v2

μžμ„Ένžˆ 보기

라이믹슀 2.1.8λΆ€ν„° 프리뷰 ν˜•μ‹μœΌλ‘œ 제곡되고, 라이믹슀 2.2λΆ€ν„° 정식 지원할 ν…œν”Œλ¦Ώ λ¬Έλ²•μž…λ‹ˆλ‹€.

Laravel Blade 문법을 기반으둜, 라이믹슀의 ꡬ쑰와 κΈ°λŠ₯에 맞게 ν™•μž₯ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
μ£Όμš” λ‘œμ§μ„ μ΅œλŒ€ν•œ μ§§κ³  κ°„κ²°ν•˜κ²Œ ν‘œν˜„ν•˜λŠ” 것을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€.
좜λ ₯ν•˜λŠ” λͺ¨λ“  데이터λ₯Ό λ¬Έλ§₯에 따라 μžλ™μœΌλ‘œ escapeν•˜λ―€λ‘œ λ³΄μ•ˆμ„±μ΄ λ›°μ–΄λ‚˜κ³ ,
자주 μ‚¬μš©ν•˜λŠ” κΈ°λŠ₯듀을 μ‰½κ²Œ λŒμ–΄μ“Έ 수 μžˆλ„λ‘ @lang, @url λ“± λ‹€μ–‘ν•œ μ§€μ‹œμž(directive)λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

ν™•μž₯μžλŠ” .htmlκ³Ό .blade.php 쀑 자유둭게 선택할 수 μžˆμŠ΅λ‹ˆλ‹€.
ν›„μžλ₯Ό 선택할 경우, λŒ€λΆ€λΆ„μ˜ 에디터(IDE)μ—μ„œ Blade 문법 ν•˜μ΄λΌμ΄νŒ…κ³Ό μžλ™ μ™„μ„±μ˜ ν˜œνƒμ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.

[v2 μ •κ·œ 문법 μ˜ˆμ‹œ] [Blade]

@include('header')
@load('comment.scss', $vars)

@foreach ($comments as $comment)
    @if ($comment->isAccessible())
        <div @class(['comment', 'secret' => $comment->isSecret()])>
            {{ $comment->getContent() }}
        </div>
    @endif
@endforeach

<script>
    const data = @json($data);
</script>

λ§ˆμ΄κ·Έλ ˆμ΄μ…˜ 편의λ₯Ό μœ„ν•΄ ν…œν”Œλ¦Ώ 문법 v1μ—μ„œ μ‚¬μš©ν•˜λ˜ HTML νƒœκ·Έλ‚˜ 주석 방식도 일뢀 μ§€μ›ν•©λ‹ˆλ‹€.
쑰건문 μ’Œμš°μ— 주석을 λΆ™μ΄κ±°λ‚˜, μ€‘κ΄„ν˜Έλ₯Ό ν•˜λ‚˜λ§Œ μ“°κ±°λ‚˜, @endifλ₯Ό @end둜 μΆ•μ•½ν•˜λ”λΌλ„ 정상 μΈμ‹ν•©λ‹ˆλ‹€.
v1으둜 μž‘μ„±λœ λŒ€λΆ€λΆ„μ˜ ν…œν”Œλ¦Ώμ€ 비ꡐ적 μ‰½κ²Œ, μ μ§„μ μœΌλ‘œ v2둜 λ³€ν™˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
v1 ν…œν”Œλ¦Ώμ—μ„œ v2 ν…œν”Œλ¦Ώμ„ μΈν΄λ£¨λ“œν•˜κ±°λ‚˜, v2μ—μ„œ v1을 μΈν΄λ£¨λ“œν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

[v2 λŒ€μ²΄ 문법 μ˜ˆμ‹œ] [HTML]

<!--@if($comment->isAccessible())-->
    <div class="comment <!--@if($comment->isSecret())-->secret<!--@end-->">
        {$comment->getContent()}
    </div>
<!--@end-->

ν…œν”Œλ¦Ώ 문법 v1

μžμ„Ένžˆ 보기

XE 1.xμ—μ„œ μ‚¬μš©ν•˜λ˜ ν…œν”Œλ¦Ώ λ¬Έλ²•μœΌλ‘œ, λŒ€λΆ€λΆ„μ˜ κΈ°λŠ₯을 HTML νƒœκ·Έμ™€ μ£Όμ„μ˜ ν˜•νƒœλ‘œ κ΅¬ν˜„ν•˜λ €κ³  μ‹œλ„ν•©λ‹ˆλ‹€.
λΌμ΄λ―ΉμŠ€μ—μ„œλ„ 8λ…„κ°„ μ§€μ†μ μœΌλ‘œ κΈ°λŠ₯이 κ°•ν™”λ˜μ–΄ μ™”μœΌλ‚˜,
v2 문법 정식 곡개 ν›„μ—λŠ” 더이상 κΈ°λŠ₯이 μΆ”κ°€λ˜μ§€ μ•Šμ„ μ˜ˆμ •μž…λ‹ˆλ‹€.

κ·ΈλŸ¬λ‚˜ κΈ°μ‘΄ μžλ£Œμ— μ‚¬μš©ν•  경우 μ—¬μ „νžˆ 100% μ§€μ›ν•˜λ©°, 지원을 μ’…λ£Œν•  κ³„νšλ„ μ—†μŠ΅λ‹ˆλ‹€.

[v1 문법 μ˜ˆμ‹œ] [HTML]

<include target="header" />
<load target="comment.scss" vars="$vars" />

<block loop="$comments => $comment">
    <!--@if($comment->isAccessible())-->
        <div class="comment"|cond="!$comment->isSecret()" class="comment secret"|cond="$comment->isSecret()">
            {$comment->getContent()}
        </div>
    <!--@end-->
</block>

<script>
    const data = {json_encode($data)};
</script>

버전 ν‘œκΈ° 방법

ν™•μž₯μžκ°€ .blade.php인 νŒŒμΌμ€ λͺ¨λ‘ v2둜 μΈμ‹ν•©λ‹ˆλ‹€.

ν™•μž₯μžκ°€ .html인 νŒŒμΌμ—μ„œ v2 문법 μ‚¬μš©μ„ μ›ν•œλ‹€λ©΄ μ΅œμƒλ‹¨μ— 버전을 ν‘œκΈ°ν•΄μ•Ό ν•©λ‹ˆλ‹€.
버전 ν‘œκΈ° 방법은 2κ°€μ§€κ°€ μžˆμŠ΅λ‹ˆλ‹€.

[v2 μ •κ·œ 문법]
@version(2)
[v2 λŒ€μ²΄ 문법]
<config version="2" />

ν™•μž₯μžκ°€ .html인 νŒŒμΌμ—μ„œ 버전을 ν‘œκΈ°ν•˜μ§€ μ•ŠμœΌλ©΄ v1 ν…œν”Œλ¦ΏμœΌλ‘œ μ·¨κΈ‰ν•©λ‹ˆλ‹€.