Geradores de sites estáticos como Assemble ou Middleman ou Jekyll suportam o front-mate YAML na parte superior de um modelo. Ao executar o html beautify nesses modelos, o assunto principal fica confuso.
Portanto, esta frente do yaml é importante:
title: Test
is-test: true
---
converte para:
--- title: Test is-test: true ---
Eu sugeriria ignorar tudo "embrulhado" entre três traços ou adicionar uma opção extra.
Mais informações: http://assemble.io/docs/YAML.html ou http://middlemanapp.com/basics/frontmatter/
Existem tantos sistemas de modelagem que as pessoas usam com js, html e css.
@einars , @evocateur você tem alguma ideia/opinião sobre se (ou como) os embelezadores podem ser modificados para que não estejamos adicionando casos especiais em todo o código principal para lidar com tudo isso?
A não ser uma refatoração dramática com um analisador AST robusto (por exemplo, Esprima ), fornecendo uma interface de plug-in para permitir o uso personalizado de tal AST e, portanto, abandonando a versão Python, não vejo isso acontecendo. (E quase todos os geradores de código AST, como o escodegen, produzem uma saída extremamente difícil de personalizar)
Para ser talvez um pouco mais contundente, este projeto não deve fazer nada além de embelezar o JS. Observe que deixei de fora o HTML e o CSS, mas se eles devem permanecer, eles devem apenas embelezar o CSS e o HTML. É uma loucura perder tempo tentar contorcer nosso analisador estático para permitir o "açúcar" de sintaxe malformado de cada pré e pós-processador.
Nós não embelezamos YAML, nem Markdown/LESS/SASS/React/Go/Ruby/Brainfuck para esse assunto. Mesquinharias à parte, a crescente complexidade de apoiar cada estranha febre de meta-sintaxe sonhada por nossa estranha e bela comunidade de artesãos de front-end é simplesmente maluca. Existem outros embelezadores, hoje, que tentam envolver o ângulo AST (embora as APIs de plugins, se existirem, tendam a ser muito imaturas).
Muito razoável. Mesmo princípio que "embelezador não é um formatador de uso geral".
O embelezador js fornece uma API fácil para envolvê-lo dentro de outro embelezador. Isso é exatamente o que o embelezador html faz. Quando encontra o javascript, o embelezador html passa o controle para o embelezador js e integra a saída. As pessoas são bem-vindas para envolver ou modificar os componentes fornecidos por este projeto para criar seus próprios. Se as pessoas estiverem interessadas e dispostas a assumir/compartilhar responsabilidades, elas podem tornar seus projetos parte do beautify-web.
A curto prazo, provavelmente deveríamos começar a marcar solicitações de bugs com base fora de html, css e javascript, e então decidir para onde ir a partir daí.
Eu acredito que o embelezador deve ter um parâmetro como preservenewlines
. Se já o tiver, preserve novas linhas no texto. Não é só questão de frente. Por exemplo, digamos que haja código HTML e algumas pessoas trabalhem no VS Code e outras no MidnightCommander diretamente no servidor. é por isso que todo o texto é formatado assim.
<p>
This is multiple
line text, that is
easy to read in
MC
</p>
Isso funciona bem quando o HTML é renderizado e também visível no MC. Mas se alguém formatá-lo com embelezador, isso desaparece.
Portanto, preservar novas linhas no texto seria incrível.
Eu acho que isso é fixo. Só precisa de um teste.
Comentários muito úteis
Eu acredito que o embelezador deve ter um parâmetro como
preservenewlines
. Se já o tiver, preserve novas linhas no texto. Não é só questão de frente. Por exemplo, digamos que haja código HTML e algumas pessoas trabalhem no VS Code e outras no MidnightCommander diretamente no servidor. é por isso que todo o texto é formatado assim.Isso funciona bem quando o HTML é renderizado e também visível no MC. Mas se alguém formatá-lo com embelezador, isso desaparece.
Portanto, preservar novas linhas no texto seria incrível.