Secretic es un lenguaje de plantilla de texto de texto rápido, potente, seguro y liviano para .NET, con un modo de compatibilidad para analizar las plantillas liquid
.
Secretic es una bifurcación directa y extensión a, escriba y, por lo tanto, hereda todas sus características increíbles, al tiempo que agrega soporte para diseños y secciones (similar a .NET Razor's) (ver más abajo).
Lo siguiente se aplica igualmente a los escrutinos y la escriba:
// Parse a scriban template
var template = Template . Parse ( " Hello {{name}}! " ) ;
var result = template . Render ( new { Name = " World " } ) ; // => "Hello World!"
Scriban es un lenguaje de plantilla de texto de texto rápido, potente, seguro y liviano para .NET, con un modo de compatibilidad para analizar las plantillas liquid
.
// Parse a scriban template
var template = Template . Parse ( " Hello {{name}}! " ) ;
var result = template . Render ( new { Name = " World " } ) ; // => "Hello World!"
Analice una plantilla de líquido usando el lenguaje líquido:
// Parse a liquid template
var template = Template . ParseLiquid ( " Hello {{name}}! " ) ;
var result = template . Render ( new { Name = " World " } ) ; // => "Hello World!"
El lenguaje es muy versátil, fácil de leer y usar, similar a las plantillas de líquido:
var template = Template . Parse ( @"
<ul id='products'>
{{ for product in products }}
<li>
<h2>{{ product.name }}</h2>
Price: {{ product.price }}
{{ product.description | string.truncate 15 }}
</li>
{{ end }}
</ul>
" ) ;
var result = template . Render ( new { Products = this . ProductList } ) ;
AVISO
De manera predeterminada, las propiedades y los métodos de los objetos .NET se expusen automáticamente con minúsculas y
_
nombres. Significa que una propiedad comoMyMethodIsNice
estará expuesta comomy_method_is_nice
. Esta es la convención predeterminada, originalmente para que coincida con el comportamiento de las plantillas líquidas. Si desea cambiar este comportamiento, debe usar un DelegadoMemberRenamer
Template.ToText
, permitiendo manipular scripts en la memoria y volver a salvarlos en el disco, útil para los escenarios de actualización de script de ida y vueltaliquid
utilizando el método Template.ParseLiquid
liquid
es menos potente que la escriba, este modo permite migrar del liquid
al lenguaje scriban
fácilmenteliquid
en un script de Scriban usando Template.ToText
Template.ParseLiquid
if
/ else
/ for
/ while
, expresiones ( x = 1 + 2
), condiciones ... etc.myvar | string.capitalize
)func
y permiten los punteros/delegados de la función a través de la alias @ directive
x = {mymember: 1}
) y matrices (por ejemplo, x = [1,2,3,4]
)wrap
arrays functions
date
html
maths functions
object
regex functions
string functions
timespan
{{...}}
Puede instalar la extensión de Scriban para el código Visual Studio para obtener coloración de sintaxis para scripts de escribas (sin HTML) y archivos HTML de Scriban. Tenga en cuenta que la extensión no reconoce las características escrita en la parte superior de Scriban.
Scriptic agrega algunas palabras clave adicionales al lenguaje de secuencias de comandos:
layout
: por ejemplo, la directiva {{layout "_main_layout.htmls"}}
indica el archivo de diseño para la página actual. Los diseños se pueden anidar, es decir, un archivo de diseño puede tener una directiva layout
. Sin embargo, solo puede haber una directiva layout
en un archivo determinado. Todo el concepto de diseño se modela después de las vistas de afeitar .NET.body
: un marcador de posición dentro de un archivo de diseño que indica dónde se representará el contenido de la página.section
, por ejemplo {{section "main-menu}"}}
en una página es un fragmento reutilizable de HTML y Scrutic. El contenido de una sección se representa donde se coloca una directiva render
correspondiente.render
- Por ejemplo {{render "main-menu"}}
indica dónde se debe representar una sección dada en un archivo de diseño. Las secciones también se pueden definir y representar dentro de la misma página. La misma sección se puede representar varias veces, por lo que es una forma conveniente de aislar fragmentos de marcado pequeños y reutilizables.markdown
: se puede usar de dos maneras diferentes:{{markdown}} <markdown text goes here> {{end}}
, en cuyo caso el texto dentro del par markdown-end
se trata como markdown puro (no debe contener expresiones especiales){{markdown "mdfilename.md"}}
, en cuyo caso se extrae el archivo de markdown externo especificado; El archivo de Markdown también puede contener declaraciones y expresiones escrógicas. Se evalúan antes de procesar la sintaxis de Markdown. La palabra clave markdown
solo funciona cuando proporciona un renderizador de texto de Markdown. Esto se hace de manera similar a cómo se especifican los cargadores de plantilla externos:
context . Markdown = new MarkdownRenderer ( ) ;
Donde MarkdownRenderer
implementa la interfaz IStringTransformer
:
public interface IStringTransformer
{
string Render ( string text ) ;
}
El transformador puede hacer una serie arbitraria de transformaciones en el texto, pero tenía la intención de funcionar bien con un procesador de Markdown como Markdig
(curiosamente, del mismo autor que Scriban).
Scriban ha estado disponible por un tiempo como un paquete Nuget :. Sabricic no está disponible en Nuget todavía.
Sabricación todavía es mucho trabajo en progreso. No ha logrado el mismo nivel de estabilidad y madurez que la escriba. Dicho esto, los escrutinos son solo una extensión menor de Scriban, por lo que disfruta de muchos beneficios de su base de código maduro. Sin embargo, es posible que hayamos roto algo inadvertidamente ... de todos modos, usamos Sabrárices para el trabajo de producción. Ymmv. Use bajo su propio riesgo.
¡Scriptic/Scriban es ardiente rápido ! Para obtener más detalles, puede consultar el documento de referencia.
Este software se lanza bajo la licencia BSD-Cláusula 2.
Sin embargo, el logotipo escrógico, claramente inspirado en el rompecabezas de Scriban, es un trabajo original de Andrew J. Wozniewicz (archivo de origen CorelDraw incluido).
Scriban fue creado y está siendo mantenido por Alexandre Mutel, también conocido como XOFX. Sabricic fue bifurcado de Scriban y extendido por Andrew J. Wozniewicz (también conocido como ANCZ).