plywood

Tela Software:
plywood
Detalhes de Software:
Versão: 1.6.3
Data de upload: 20 Feb 15
Licença: Livre
Popularidade: 64

Rating: 3.5/5 (Total Votes: 2)

contraplacado é uma gramática da linguagem modelo que olha, sente, e funciona como Python
load ('url')
load ('compressa')
doctype ('html')
html:
& Nbsp; cabeça:
& Nbsp; meta (charset = "utf-8")
& Nbsp; meta (name = "viewport", content = "width = device-width; escala inicial = 1.0")
& Nbsp; title:
& Nbsp; se o título:
& Nbsp; # docstrings * * são despojados de precedente em branco (eles devem ser
& Nbsp; # ondulado), e a primeira e última linha nova é removido.
& Nbsp; "" "
& Nbsp; {title} |
& Nbsp; "" "# string intepolation é um pouco mais pesados ​​do que o` .format () `, mas mais semelhantes do que diferentes.
& Nbsp; "bem vindo" # string literais requerem aspas: - / I * * poderia adicionar outra maneira de fazer isso ...
& Nbsp; comprimir ("css"):
& Nbsp; link (rel = "stylesheet", type = "text / css", href = estática ("css / reset.css '))
& Nbsp; link (rel = "stylesheet", type = "text / css", href = estática ("css / welcome.css '))
& Nbsp; do roteiro (src = "// ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js", type = "text / javascript")
& Nbsp; comprimir ('js'):
& Nbsp; do roteiro (src = estática ("js / underscore.js"), type = "text / javascript")
& Nbsp; do roteiro (src = estática ("js / Backbone.js"), type = "text / javascript")
& Nbsp; ieif «LT IE 9 ':
& Nbsp; do roteiro (src = "// html5shiv.googlecode.com/svn/trunk/html5.js", type = "text / javascript")
& Nbsp; link (rel = "stylesheet", type = "text / css", href = estática ("css / ie.css '))
& Nbsp; block ('extra_head') # blocos, e herança bloco? claro!
& Nbsp; do corpo:
& Nbsp; div (class = "wrapper", id = "wrapper") # nenhum atalho para classe e id (até o momento)
& Nbsp; cabeçalho:
& Nbsp; block ('header'):
& Nbsp; p (class = "logo"):
& Nbsp; block ('header_title'):
& Nbsp; se o usuário:
& Nbsp; "Bem-vindo, '{user.name}'
& Nbsp; mais:
& Nbsp; 'Bem-vindo'
& Nbsp; se current_member:
& Nbsp; p (class = "login"):
& Nbsp; "Bem-vindo, {} current_member.preferred_name"
& Nbsp; a (href = url ("logout")): 'Sair'
& Nbsp; nav:
& Nbsp; ul:
& Nbsp; block ('nav'):
& Nbsp; li: a (href = url ("login")): 'Login'
& Nbsp; classe section = "breadcrumb":
& Nbsp; block ('migalhas')
& Nbsp; seção (class = "main"):
& Nbsp; block ('mensagens'):
& Nbsp; se as mensagens:
& Nbsp; ul (class = "mensagens"):
& Nbsp; para a mensagem em mensagens:
& Nbsp; li (class = message.tags): '{mensagem}'
& Nbsp; script:
& Nbsp; literais # código, de modo que os editores mais experientes podem colorir o código-fonte
& Nbsp; `` `javascript
& Nbsp; $ (document) .ready (function () {
& Nbsp; $ ("ul.messages") addClass ("animam.");
& Nbsp; var fade_out = _ (function () {
& Nbsp; this.addClass ("fade-out")
& Nbsp;.}) Ligar ($ ("ul.messages"))
& Nbsp; setTimeout (fade_out, 5000);
& Nbsp;. $ ("Ul.messages") bind ("clique", fade_out);
& Nbsp;});
& Nbsp; `` `
& Nbsp; bloco ("conteúdo")
& Nbsp; rodapé:
& Nbsp; # p:
& Nbsp; # 'Estes são os comentários. "
& Nbsp; # útil: '|'
& Nbsp; # '& copy; 2012 CrossFit'
Instalação
& Nbsp; pip instalar plywood
& Nbsp; ply out.html
Sintaxe
Cada linha começa com uma declaração, que pode ser uma função (div, bloco) um literal (',' ''), ou uma declaração de controle (if, else, para).
Funções obter chamado com os argumentos e um "bloco":
# argumentos são ((), {}), o bloco é Block ()
p
# argumentos são ((), {'classe': 'Divvy'}), o bloco é Block ()
div (class = "dividir")
# argumentos são (('autofocus'), {'id': 'bio'}), o bloco é Block (Literal ('Esta é a minha bio'),)
textarea (autofocus, id = "bio"): "Esta é a minha bio '
Mesmo se não houver "block", você vai ter, no mínimo, no vazio bloco objeto que você pode chamar block.render diante. Será "Falsey", no entanto, para que você possa verificar a existência de um bloco. O bloco mínimo "Truthy" é uma cadeia vazia. Isso significa div '' vai lhe dar um block "Truthy", mas div será um bloco "Falsey".
Você pode estender o crap fora de madeira compensada, porque div, se, bloco, todo o lote, são todos escritos como extensões de madeira compensada. Sem as extensões embutidas, a linguagem não poderia realmente fazer alguma coisa, porque é em seu núcleo apenas uma gramática da linguagem.
POR QUE!?!?
Eu acho que há espaço para uma outra linguagem de templates.
Haml? Coffekup? Jade? Eles não parecem pythônico para mim.
Plain-Jane HTML? Claro, se você quiser. Isto é, penso eu, a melhor alternativa para a madeira compensada.
Até mesmo o grande modelo de linguagem HTML Django é feita através da inserção de nastier marcação adicional. Olhei para Jade e Haml como "sim, você está chegando lá", mas eles não pregá-lo.
Estou unapologettically um DIY-er. Eu acho que às vezes as rodas só preciso re-inventar! Além disso, isso me deu a chance de jogar com gramáticas de língua, que eu acho que são divertidos. Estou usando Modgrammar

Requisitos :

  • Python

Programas semelhantes

RTextDoc
RTextDoc

17 Feb 15

xslet / xsltester
xslet / xsltester

14 Apr 15

pandoc
pandoc

11 May 15

Amoeba
Amoeba

3 Jun 15

Outro software de desenvolvedor Colin Thomas-Arnold

StrangeCase
StrangeCase

20 Feb 15

chomsky
chomsky

20 Feb 15

punt
punt

20 Feb 15

Comentário para plywood

Comentários não encontrado
Adicionar comentário
Ligue imagens!