Js-beautify: Embellecer HTML: no formatear YAML al frente

Creado en 15 ago. 2014  ·  5Comentarios  ·  Fuente: beautify-web/js-beautify

Los generadores de sitios estáticos como Assemble , Middleman o Jekyll son compatibles con el material preliminar de YAML en la parte superior de una plantilla. Cuando se ejecuta html beautify en estas plantillas, el asunto principal se desordena.

Así que este tema principal de yaml:

title: Test
is-test: true

---

se convierte en:

--- title: Test is-test: true ---

Sugeriría ignorar todo lo "envuelto" entre tres guiones o agregar una opción adicional.

Más información: http://assemble.io/docs/YAML.html o http://middlemanapp.com/basics/frontmatter/

html templating fixed?

Comentario más útil

Creo que el embellecedor debería tener un parámetro como preservenewlines . Si ya lo tiene, conserve las nuevas líneas en el texto. No es sólo cuestión de frente. Por ejemplo, digamos que hay código HTML y algunas personas trabajan en VS Code y otras en MidnightCommander directamente en el servidor. es por eso que todo el texto tiene este formato.

<p>
    This is multiple
    line text, that is
    easy to read in 
    MC
</p>

Esto funciona bien cuando se procesa HTML y también es visible en MC. Pero si alguien lo formatea con embellecedor, esto desaparece.

Así que preservar nuevas líneas en el texto sería genial.

Todos 5 comentarios

Hay tantos sistemas de plantillas que la gente debe usar con js, html y css.
@einars , @evocateur , ¿tiene alguna idea u opinión sobre si (o cómo) se pueden modificar los embellecedores para que no agreguemos casos especiales en todo el código central para tratar con todo esto?

A falta de una refactorización drástica con un analizador AST robusto (p. ej., Esprima ), proporcionando una interfaz de complemento para permitir la inserción personalizada de dicho AST y, por lo tanto, abandonar la versión de Python, no veo que esto suceda. (Y casi todos los generadores de código AST, como escodegen, producen una salida que es extremadamente difícil de personalizar)

Para ser quizás un poco más contundente, este proyecto no debería hacer nada más que embellecer a JS. Tenga en cuenta que omití HTML y CSS, pero si deben permanecer, entonces solo deberían embellecer CSS y HTML. Es una locura perder el tiempo intentar distorsionar nuestro analizador estático para permitir el "azúcar" mal formado de cada pre y posprocesador de la sintaxis.

No embellecemos YAML, ni Markdown/LESS/SASS/React/Go/Ruby/Brainfuck para el caso. Dejando a un lado la cascarrabias, la creciente complejidad de soportar cada extraña fiebre de meta-sintaxis soñada por nuestra extraña y hermosa comunidad de artesanos de front-end es simplemente una locura. Hay otros embellecedores, hoy en día, que intentan involucrar el ángulo AST (aunque las API de los complementos, si es que existen, tienden a ser muy inmaduras).

Muy razonable. El mismo principio que "el embellecedor no es un formateador de propósito general".

El embellecedor js proporciona una API sencilla para envolverlo dentro de otro embellecedor. Eso es exactamente lo que hace el embellecedor html. Cuando encuentra javascript, el embellecedor html pasa el control al embellecedor js y luego integra la salida. Las personas pueden envolver o modificar los componentes proporcionados por este proyecto para crear los suyos propios. Si las personas están interesadas y dispuestas a asumir/compartir la responsabilidad, podrían hacer que sus proyectos formen parte de beautify-web.

A corto plazo, probablemente deberíamos comenzar a marcar las solicitudes de errores basadas fuera de html, css y javascript, y luego decidir a dónde ir desde allí.

Creo que el embellecedor debería tener un parámetro como preservenewlines . Si ya lo tiene, conserve las nuevas líneas en el texto. No es sólo cuestión de frente. Por ejemplo, digamos que hay código HTML y algunas personas trabajan en VS Code y otras en MidnightCommander directamente en el servidor. es por eso que todo el texto tiene este formato.

<p>
    This is multiple
    line text, that is
    easy to read in 
    MC
</p>

Esto funciona bien cuando se procesa HTML y también es visible en MC. Pero si alguien lo formatea con embellecedor, esto desaparece.

Así que preservar nuevas líneas en el texto sería genial.

Creo que esto está arreglado. Solo necesita una prueba.

¿Fue útil esta página
0 / 5 - 0 calificaciones