Foros del Web » Programando para Internet » Node.js »

node.js pone todo el codigo HTML en una sola código

Estas en el tema de node.js pone todo el codigo HTML en una sola código en el foro de Node.js en Foros del Web. ?Cómo fuerzo los saltos de linea? gracias Cita: <!DOCTYPE html><html><head><title>Hola</title><link rel="stylesheet" href="http://designsnack.com/css/main.css"></head><body><header><section><a href="/"><img src="" alt="Soy un logo"></a><h1>Nuestra Página</h1><form action="search" method="post"><input type="text" placeholder="Buscar" name="palabra"></form></section></header><nav><ul><li><a href="pagina1">Enlace 1</a></li><li><a ...
  #1 (permalink)  
Antiguo 25/03/2013, 21:29
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
node.js pone todo el codigo HTML en una sola código

?Cómo fuerzo los saltos de linea? gracias

Cita:
<!DOCTYPE html><html><head><title>Hola</title><link rel="stylesheet" href="http://designsnack.com/css/main.css"></head><body><header><section><a href="/"><img src="" alt="Soy un logo"></a><h1>Nuestra Página</h1><form action="search" method="post"><input type="text" placeholder="Buscar" name="palabra"></form></section></header><nav><ul><li><a href="pagina1">Enlace 1</a></li><li><a href="pagina2">Enlace 2</a></li></ul></nav><section id="slider"><article><iframe src="http://www.flintstudio.biz/stuff/sliders1.html" frameborder="0"></iframe><section id="content"><article><p>Pagina 2</p></article><aside>indo <hr> info2<hr class="clear"></aside></section><footer>Pie de pagina</footer></article></section></body></html>
  #2 (permalink)  
Antiguo 25/03/2013, 22:22
Avatar de Albuss  
Fecha de Ingreso: enero-2012
Ubicación: Coruña
Mensajes: 475
Antigüedad: 12 años, 3 meses
Puntos: 30
Respuesta: node.js pone todo el codigo HTML en una sola código

usas Node como si fuese php? es decir, imprimir html con node? .... Node se creo para y por evitar AJAX, NODE es ASINCRONICO BIDIRECCIONAL, no tiene mucho sentido escribir un documento html en node.
  #3 (permalink)  
Antiguo 26/03/2013, 00:26
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: node.js pone todo el codigo HTML en una sola código

Cita:
Iniciado por Albuss Ver Mensaje
usas Node como si fuese php? es decir, imprimir html con node? .... Node se creo para y por evitar AJAX, NODE es ASINCRONICO BIDIRECCIONAL, no tiene mucho sentido escribir un documento html en node.
No digas tonterías anda.

¿Qué tiene que ver ajax aquí? No sabes ni de lo que hablas. ¿Si no sabes para qué hablas? Abstente de aconsejar sobre lo que no sabes.

a quico5, si estás leyendo un documento sin saltos de línea lo evidente es que te lo imprima sin saltos.

También podrías simularlo, usando replace, aunque es poco práctico.

Código Javascript:
Ver original
  1. html = html.replace("<","<br/><");
  2. response.end(html);
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor

Última edición por dontexplain; 26/03/2013 a las 00:42
  #4 (permalink)  
Antiguo 26/03/2013, 04:01
 
Fecha de Ingreso: enero-2008
Mensajes: 580
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: node.js pone todo el codigo HTML en una sola código

Gracias por responder

Cita:
html = html.replace("<","<br/><");
response.end(html);
Curioso, pensaba en \n ó \\n

como me aproxime más fue en layout.js poniendo un salto de linea JS en la segunda liena, pero anulaba el DOCTYPE
Cita:
doctype 5
\n html
head
title= title
link(rel='stylesheet', href='http://designsnack.com/css/main.css')
body
block content
no tengo claro como implementar el codigo que comentas
Cita:
doctype 5
html = html.replace("<","<br/><");
response.end(html);
head
title= title
link(rel='stylesheet', href='http://designsnack.com/css/main.css')
body
block content
Cita:
Iniciado por dontexplain Ver Mensaje
No digas tonterías anda.

¿Qué tiene que ver ajax aquí? No sabes ni de lo que hablas. ¿Si no sabes para qué hablas? Abstente de aconsejar sobre lo que no sabes.

a quico5, si estás leyendo un documento sin saltos de línea lo evidente es que te lo imprima sin saltos.

También podrías simularlo, usando replace, aunque es poco práctico.

Código Javascript:
Ver original
  1. html = html.replace("<","<br/><");
  2. response.end(html);
  #5 (permalink)  
Antiguo 26/03/2013, 05:09
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: node.js pone todo el codigo HTML en una sola código

Es que una cosa son los saltos de línea html, que son visuales

Cita:
<br>
y distinto los saltos de línea ascii, que también son visuales, pero no competen a html, estos saltos de línea sólo se ven a la hora de examinar el código. Y son \n ó \r\n generalmente. Con expresiones regulares y replace puedes haacerlo fácilmente

Código Javascript:
Ver original
  1. html = html.replace(/(<(\s)?\/[A-Za-z0-9]{2,6}(\s)?>)/g,"$1\n");

He puesto un ejemplo de expresión regular que puede servir, no he probado que funcione en el 100% de los casos. La idea es que capture las etiquetas de cierre de todos los tags y los reemplace por la etiqueta de cierre ($1 capturado con () ) y un salto de línea simple.

Esto convertiría

Código HTML:
Ver original
  1. <form action="search" method="post"><input type="text" placeholder="Buscar" name="palabra"></form></section></header>

en

Código HTML:
Ver original
  1. <form action="search" method="post"><input type="text" placeholder="Buscar" name="palabra"></form>

Lo mismo puedes hacer con los principios de etiqueta mediante <(?!\/)[A-Za-z0-9]{2,6} o similares. Aplicando esas dos regexp, una tras otra, la salida del html anterior sería


Código Javascript:
Ver original
  1. <form action="search" method="post">
  2. <input type="text" placeholder="Buscar" name="palabra"></form>
  3. </section></header>

Un saludo.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor

Última edición por dontexplain; 26/03/2013 a las 05:16
  #6 (permalink)  
Antiguo 26/03/2013, 16:57
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: node.js pone todo el codigo HTML en una sola código

Por lo que muestras en tu código veo que se trata de jade.

Si estás compilando a mano prueba con la opción --pretty

Si lo estás usando con Expressjs puedes mirar esto: http://stackoverflow.com/questions/5...ut-pretty-html (la segunda respuesta).


Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: html, input, javascript, todo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:07.