summaryrefslogtreecommitdiff
path: root/public/vendor/codemirror/mode/smarty/index.html
diff options
context:
space:
mode:
authorWu Cheng-Han2015-05-04 15:53:29 +0800
committerWu Cheng-Han2015-05-04 15:53:29 +0800
commit4b0ca55eb79e963523eb6c8197825e9e8ae904e2 (patch)
tree574f3923af77b37b41dbf1b00bcd7827ef724a28 /public/vendor/codemirror/mode/smarty/index.html
parent61eb11d23c65c9e5c493c67d055f785cbec139e2 (diff)
First commit, version 0.2.7
Diffstat (limited to 'public/vendor/codemirror/mode/smarty/index.html')
-rwxr-xr-xpublic/vendor/codemirror/mode/smarty/index.html138
1 files changed, 138 insertions, 0 deletions
diff --git a/public/vendor/codemirror/mode/smarty/index.html b/public/vendor/codemirror/mode/smarty/index.html
new file mode 100755
index 00000000..b19c8f09
--- /dev/null
+++ b/public/vendor/codemirror/mode/smarty/index.html
@@ -0,0 +1,138 @@
+<!doctype html>
+
+<title>CodeMirror: Smarty mode</title>
+<meta charset="utf-8"/>
+<link rel=stylesheet href="../../doc/docs.css">
+
+<link rel="stylesheet" href="../../lib/codemirror.css">
+<script src="../../lib/codemirror.js"></script>
+<script src="../xml/xml.js"></script>
+<script src="smarty.js"></script>
+<style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
+<div id=nav>
+ <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>
+
+ <ul>
+ <li><a href="../../index.html">Home</a>
+ <li><a href="../../doc/manual.html">Manual</a>
+ <li><a href="https://github.com/codemirror/codemirror">Code</a>
+ </ul>
+ <ul>
+ <li><a href="../index.html">Language modes</a>
+ <li><a class=active href="#">Smarty</a>
+ </ul>
+</div>
+
+<article>
+<h2>Smarty mode</h2>
+<form><textarea id="code" name="code">
+{extends file="parent.tpl"}
+{include file="template.tpl"}
+
+{* some example Smarty content *}
+{if isset($name) && $name == 'Blog'}
+ This is a {$var}.
+ {$integer = 451}, {$array[] = "a"}, {$stringvar = "string"}
+ {assign var='bob' value=$var.prop}
+{elseif $name == $foo}
+ {function name=menu level=0}
+ {foreach $data as $entry}
+ {if is_array($entry)}
+ - {$entry@key}
+ {menu data=$entry level=$level+1}
+ {else}
+ {$entry}
+ {/if}
+ {/foreach}
+ {/function}
+{/if}</textarea></form>
+
+<p>Mode for Smarty version 2 or 3, which allows for custom delimiter tags.</p>
+
+<p>Several configuration parameters are supported:</p>
+
+<ul>
+ <li><code>leftDelimiter</code> and <code>rightDelimiter</code>,
+ which should be strings that determine where the Smarty syntax
+ starts and ends.</li>
+ <li><code>version</code>, which should be 2 or 3.</li>
+ <li><code>baseMode</code>, which can be a mode spec
+ like <code>"text/html"</code> to set a different background mode.</li>
+</ul>
+
+<p><strong>MIME types defined:</strong> <code>text/x-smarty</code></p>
+
+<h3>Smarty 2, custom delimiters</h3>
+
+<form><textarea id="code2" name="code2">
+{--extends file="parent.tpl"--}
+{--include file="template.tpl"--}
+
+{--* some example Smarty content *--}
+{--if isset($name) && $name == 'Blog'--}
+ This is a {--$var--}.
+ {--$integer = 451--}, {--$array[] = "a"--}, {--$stringvar = "string"--}
+ {--assign var='bob' value=$var.prop--}
+{--elseif $name == $foo--}
+ {--function name=menu level=0--}
+ {--foreach $data as $entry--}
+ {--if is_array($entry)--}
+ - {--$entry@key--}
+ {--menu data=$entry level=$level+1--}
+ {--else--}
+ {--$entry--}
+ {--/if--}
+ {--/foreach--}
+ {--/function--}
+{--/if--}</textarea></form>
+
+<h3>Smarty 3</h3>
+
+<textarea id="code3" name="code3">
+Nested tags {$foo={counter one=1 two={inception}}+3} are now valid in Smarty 3.
+
+<script>
+function test() {
+ console.log("Smarty 3 permits single curly braces followed by whitespace to NOT slip into Smarty mode.");
+}
+</script>
+
+{assign var=foo value=[1,2,3]}
+{assign var=foo value=['y'=>'yellow','b'=>'blue']}
+{assign var=foo value=[1,[9,8],3]}
+
+{$foo=$bar+2} {* a comment *}
+{$foo.bar=1} {* another comment *}
+{$foo = myfunct(($x+$y)*3)}
+{$foo = strlen($bar)}
+{$foo.bar.baz=1}, {$foo[]=1}
+
+Smarty "dot" syntax (note: embedded {} are used to address ambiguities):
+
+{$foo.a.b.c} => $foo['a']['b']['c']
+{$foo.a.$b.c} => $foo['a'][$b]['c']
+{$foo.a.{$b+4}.c} => $foo['a'][$b+4]['c']
+{$foo.a.{$b.c}} => $foo['a'][$b['c']]
+
+{$object->method1($x)->method2($y)}</textarea>
+
+<script>
+var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
+ lineNumbers: true,
+ mode: "smarty"
+});
+var editor = CodeMirror.fromTextArea(document.getElementById("code2"), {
+ lineNumbers: true,
+ mode: {
+ name: "smarty",
+ leftDelimiter: "{--",
+ rightDelimiter: "--}"
+ }
+});
+var editor = CodeMirror.fromTextArea(document.getElementById("code3"), {
+ lineNumbers: true,
+ mode: {name: "smarty", version: 3, baseMode: "text/html"}
+});
+</script>
+
+</article>