rhymix/tests/_data/template/v2example.html

93 lines
2.2 KiB
HTML

<config version="2" />
@use('Rhymix\Framework\Push', 'Push')
<div>@include('^/common/tpl/refresh.html')</div>
<div>@load('^/common/js/plugins/ckeditor/')</div>
<load src="css/style.scss" media="print" />
<?php
$foo = 'FOOFOO<"FOO">BAR';
?>
@php
$bar = ['Rhy', 'miX', 'is', 'da', 'BEST!'];
@endphp
@verbatim
{{ $foo }}
@endverbatim
<form action="{\RX_BASEURL}" method="post">
@csrf
<input type="text" @required(Context::getInstance()->get('foo'))>
<input type="text" value="{$bar[0]}" required|if="$bar[3] === 'da'" />
</form>
<div class="foobar"|unless="isset($baz)">
@if ($foo || $bar)
<p>Hello @if ($bar){$foo|noescape}@endif</p>
<p>{{ implode('|', array_map(function(\$i) { return strtoupper(\$i); }, $bar)) }}</p>
@end
</div>
@fragment('rhymix')
@forelse (Context::get('bar') as $k => $val)
<div>
@empty ($nosuchvar)
<img src="foo/../bar/rhymix.svg" alt="unit tests are cool" />
<span <!--@if($k >= 2)-->class="{$val}"<!--@end-->></span>
@endempty
</div>
@empty<div>Nothing here...</div>@end
@endfragment
@each('incl/eachtest', $bar, 'var')
@each('incl/eachtest', [], 'anything', 'incl/empty')
@desktop
<p>The full class name is {get_class(new Push)|escape}, {Push::class} really.</p>
@enddesktop
<div class="barContainer" data-bar="{$bar|json}">
<span @class([
'a-1',
'font-normal' => $foo,
'text-blue' => false,
'bg-gray-200' => true
])></span>
<span @style([
'border-radius: 0.25rem',
'margin: 1rem' => Context::get('bar'),
'padding: 2rem' => false,
])></span>
<span @class(['a' => false, 'b' => false])></span>
<span @style(['a' => false, 'b' => false])></span>
</div>
@php
$employees = [
['name' => 'Alice', 'age' => 30],
['name' => 'Bob', 'age' => 25],
['name' => 'Charlie', 'age' => 35],
];
$suffix = '님';
$names = array_map(function($e, $key = 'name') use ($suffix) {
return $e[$key] . $suffix;
}, $employees);
function convert_names(array $names = array()): array
{
return array_map(function($name) {
return ucfirst($name);
}, $names);
}
@endphp
<div class="employees">
{{ implode(', ', convert_names($names)) }} welcome!
</div>
<script type="text/javascript">
const foo = '{{ $foo }}';
const bar = @json($bar);
</script>
<style>
body { background-color: {{ '#ffffff' }}; }
</style>