Files
@ 35fcc232f652
Branch filter:
Location: kallithea/rhodecode/public/js/mode/smarty/index.html - annotation
35fcc232f652
3.4 KiB
text/html
Use META_TO_EXT in separate file and import it only in gists template
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 c9bcfe2d2ade a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 c9bcfe2d2ade a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 c9bcfe2d2ade a60a0e9092c6 c9bcfe2d2ade a60a0e9092c6 c9bcfe2d2ade a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 c9bcfe2d2ade a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 c9bcfe2d2ade c9bcfe2d2ade c9bcfe2d2ade c9bcfe2d2ade c9bcfe2d2ade c9bcfe2d2ade c9bcfe2d2ade a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 a60a0e9092c6 | <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CodeMirror: Smarty mode</title>
<link rel="stylesheet" href="../../lib/codemirror.css">
<script src="../../lib/codemirror.js"></script>
<script src="smarty.js"></script>
<style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>
<link rel="stylesheet" href="../../doc/docs.css">
</head>
<body>
<h1>CodeMirror: Smarty mode</h1>
<h3>Default settings (Smarty 2, <b>{</b> and <b>}</b> delimiters)</h3>
<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>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
lineNumbers: true,
mode: "smarty"
});
</script>
<br />
<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>
<script>
var editor = CodeMirror.fromTextArea(document.getElementById("code2"), {
lineNumbers: true,
mode: {
name: "smarty",
leftDelimiter: "{--",
rightDelimiter: "--}"
}
});
</script>
<br />
<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("code3"), {
lineNumbers: true,
mode: "smarty",
smartyVersion: 3
});
</script>
<p>A plain text/Smarty version 2 or 3 mode, which allows for custom delimiter tags.</p>
<p><strong>MIME types defined:</strong> <code>text/x-smarty</code></p>
</body>
</html>
|