Si quieres utilizar pug sin prepros y por terminal debes:
- Instalarlo
npm i pug-cli -g
- Compilar
pug -w --pretty landing.pug
Introducción
Qué aprenderás sobre preprocesadores
Conceptos básicos de CSS
Selectores de CSS
Evolución de las Tecnologías de Front-End
Introducción a los Preprocesadores
Metodologías para estructurar código
Introducción a BEM
Guías para creación y mantenimiento de código
Instalación de herramientas de compilación
Preprocesadores para HTML
Introducción a Pug
Sintaxis
Interpolación
Variables
Condicionales y Loops
Mixins
Includes y Extends
Finalizando ejercicio de Landing Page
Less
Introducción a Less
Anidamiento e imports
Variables
Funciones
Mixins
Finalizando ejercicio de página de artículos
Sass
Introducción a Sass
Variables
Imports y Extends
Mixins
Funciones
Condicionales y Loops
Finalizando ejercicio de perfil de usuario
Stylus
Introducción a Stylus
Variables
Mixins
Funciones
Condicionales y Loops
Desarrollo del proyecto Platzi Games
Introducción al proyecto
Plantillas modulares con PUG: Header
Plantillas modulares con PUG: Footer
Grid System con Sass
Mixins para manejo de fuentes responsivas
Funciones para media queries
Finalizando el proyecto
Conclusiones y Cierre
Conclusiones y Cierre
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 116
Preguntas 30
Si quieres utilizar pug sin prepros y por terminal debes:
npm i pug-cli -g
pug -w --pretty landing.pug
Si quieren compilar los archivos Pug primero necesitan instalar NodeJS.
Luego desde la terminal instalar pug :
>>npm install pug-cli -g
y ya pueden compilar desde visual studio code
pug archivo.pug
compila una sola vez
pug -w archivo.pug
compila cada vez que el archivo cambia, genera un HTML minificado
pug -w --pretty archivo.pug
compila un HTML identado
pug directorio
compila todos los archivos dentro de ese directorio
yo lo hice desde windows 10 😄
No me gustan los pre procesadores para HTML es más tardado para mi gusto. Prefiero para el CSS 😉.
Video de Tabs vs Spaces que comenta el profe:
**Pug me parece una excelente herramienta para el desarrollo. **
Las ventajas que veo:
**Nota: La versión actual de PUG, no tiene ningún problema con diferenciar tab y espacios. Puedes usar ambos, sin ningún problema.
**
¿No es más tardado usar un preprocesador para html en lugar de los atajos de vscode con EMMET?
Con vscode, al empezar un documento con HTML 5 basta con usar html:5 y tabulador y crea toda la estructura básica y con atributos de cada meta y links.
Si se usa un preprocesador como PUG hay que hacerlo todo paso por paso
¿O me equivoco?
Gracias.
Wow, tenía miedo de entrar a los preprocesadores porque pensaba que podían ser muy difíciles o poco útiles (soy de los que prefiero hacer todo el código sin usar ningún tipo de ayuda), pero toda esa mentalidad se ha ido a la basura con estas clases.
Excelente clase, muchas gracias.
Si usan VisualStudio Code recomiendo tener instalado Live Server para ver los cambios automáticamente entre el .pug vs .html:
Debo ser al unico que le gusta este preprocesador solo porque le hace sentir como estar programando en python jajaa
Qué interesante, pero honestamente no me está agradando pug, quizás en clases futuras mi opinión cambie.
Pug trabaja por indentación; es Html con una sintaxis “sencilla”
Sólo tienes que poner la etiqueta un espacio y su contenido.
Los atributos se escriben entre paréntesis. Si quieres poner varios atributos tienen que ir separados con una (,).
Para incluir una clase, la etiqueta va seguida de un (.) y el nombre de la clase; y si queremos agregar un id en lugar de punto se pone un (#).
Para anidar, tenemos que empezar en una nueva linea y dar un espacio con el tabulador.
Anidación en una linea
div: p: span Hola!
Aun no entiendo que está solucionado PUG, pues siento que usarlo es doble trabajo. todo eso sale en VSC con emmet y ya es el documento html.
Alguna otra opinión?
Sinceramente, ya probe el pug sin prepos y se me hace super rapido y eficiente, la verdad me gusto mucho, prefiero usar la terminal que prepos para pug sinceramente
Para instalar en terminal Ubuntu necesitas instalar node js y su manejador de packetes npm
Recuerda haber actualizado antes de instalar estos packetes
sudo apt-get update
sudo apt-get upgrade
Y para instalar nodejs y npm
sudo apt install nodejs
sudo apt install npm
Y luego instala el pug
npm i pug-cli -g
SI no te deja instalarlo asi normal, dale permisos root escibiendole primero “sudo”, asi:
sudo npm i pug-cli -g
Y listo, los comandos para complar son estos:
pug archivo.pug
*compila una sola vez
pug -w archivo.pug
*compila cada vez que el archivo cambia, genera un HTML minificado
pug -w --pretty archivo.pug
*compila un HTML identado
pug directorio
*compila todos los archivos dentro de ese directorio
Debes elegir entre utilizar TAB o 2 espacios, si usas ambos no funcionará.
Nunca está demás conocer cosas nuevas aun así cuando creas que no las vas a utilizar.
Aqui les dejo el video de tab vs space silicon valley
https://www.youtube.com/watch?v=SsoOG6ZeyUI
¿y tú eres una persona de tab o de 2space?
yo amo usar tab ❤️
Solo coloca doc
y un enter para que pug te complete la estructura básica de un archivo html
.
Esta estructura es la de la foto de abajo
Protip:
Si quieres ahorrar aun mas codigo y tipear menos, emmet es compatible para extender la sintaxis de pug
les dejo el codigo del final abreviado, para usarlo
Copien y peguen
Borren una letra y vuelvanla a escribir
Aprenten tab
escriban la ruta del archivo de estilos
html>head>meta:utf+link:css^body>header>h1{PlatziGames}+a.boton{Registro}```
comandos para compilar de pug a html con node:
emmet simplifica todo, te ayuda a autocompletar 😄
Team Tabs 😃
Sintaxis de pug
1- Nos olvidamos de las signos de <> / y solamente ponemos el nombre de la etiqueta que deseamos usar una sola vez y al lado de ellas su contenido.
h1 Titulo
2- Si queremos que una etiqueta sea hija de otra simplemente usamos espacios (debajo de la etiqueta padre) o el tabulador, sin embargo tiene que ser solo uno de los dos durante todo el proyecto de otra forma nos dará error.
section
h1 titulo
p contenido
div
img
section
h2
3- Si queremos usar atributos dentro de las etiquetas o elementos simple usamos parentesis y dentro el atributo (o los atributos) como en html. Si los atributos que queremos añadir son clases o ids no necistamos parentesis simplemente podemos poner .punto para clases y #numeral para ids.
div.MyBlock
p#Myp
Una forma muy clara de explicar del teacher.
Entendible todo. 😃
Este es el video de Space over Tabs
Memorable capítulo de Silicon Valley: Tabs vs Espacios.
Esta extension de VSCode trabaja igual que prepros, solo la instalas y enciendes
por defecto para compilar los archivos se va a crear una carpeta llamada dist, pero eso se puede cambiar en las propiedades de la extension
Si instalas Pug usando el temrinal en la carpeta de trabajo:
npm install pug
Puedes usar el Live Server de visual Studio Code en el archivo .html donde se compila el código.
Si quieres usar terminal y al tratar de instalar pug te sale el siguiente error:
$ error: eacces
Este video me ayudo para arreglar el error
https://www.youtube.com/watch?v=bxvybxYFq2o
Luego podras realizar el comando:
No sé realmente me tardo igual que hacerlo sin preprocesador de HTML, ya que en vscode tengo las extensiones de autocompletado
Solo escribo “head” y se autocompleta <head></head> y me deja justo en el espacio para escribir el texto.
Alguien más le pasa igual?
yo estoy usando el tab y el espacio para identar y no me genera errores 😅
Al utilizar “Live Sass”, necesito todavía usar PrePros…?
hola!
Estoy usando VSC y Pug sobre Ubuntu, todo corre de maravilla.
Y aparte de todo puedo usar Emmen con Pug lo que facilita aún más la vida.
Se me hace super raro prepros, no me esta gustando para nada:s
me gusta esto 😄
7:07 a mi si me compilo
ok ahora que veo lo facil y marvilloso de usar pseudocodigo me pregunto porque demonios no hicieron la sintaxis HTML asi desde el principio.
No era muy fan de pug hace 5 minutos pero ahora que lo uso si es mas limpio mi maquetación
A mí sí me funcionó con tab y espacios jaja quizá es porque tengo instalado Prettier… que indenta mi código automáticamente cuando guardo.
Muy genial, preprocesadores como Pug o Stylus están modificando el HTML y CSS a algo muy similar a Python (Sintaxis sencilla y rápida)
Me cuesta trabajo acostumbrame a pug porque no veo los tags de cierre, pero bueno vamos siempre hay que aprender cosas nuevas. 😵
Pues a mí me funciona indistintamente de usar Tab o espacios. ¿Lo han actualizado o algo?
In my case i didn’t install the prepos app. I feel more comfortable using it from command line. So first I initialized the project as a npm project:
npm init
Then install pug as a global dependency:
npm i pug-cli -g
And then I created a src folder and I moved the source code in there and finally add the following script in your package.json:
“compile-watch-html”: “pug -w --pretty ./src”,
You can execute like this:
npm run compile-watch-html
I hope you find this helpful.
Happy coding!
team tabs B)
Otro aporte que me parece importante es:
¿Cómo manejar atributos en pug?
las etiquetas que contengan atributos se usan asi;
link(rel=”stylesheet”, href=”css/ejercicio-pug.css”)
El atributo se ingresa dentro de los paréntesis, tal cual como se escribe en html.
No hay que dejar espacios entre la etiqueta y los paréntesis que contienen los atributos, como tambíen es importante usar comillas estándar que no tengan estilos porque enviará error a prepos.
¿Cómo crear clases en pug?
nombre de la etiqueta y punto seguido.
p.clase
a.clase
Notas de la clase
Trabajando con Prepos y archivos pug para a través de ellos escribir código html.
La Primera diferencia a destacar es la importancia de no usar < > simbolos de apertura ni de cierre en las etiquetas.
para llamar un <h1>
basta con solamente escribir h1
Para generar elementos padres se utiliza la indentación:
con 2 espacios con barra espaciadora o
con 1 espacio tabular.
div
span boton
Es importante saber o indentas con espacio de barra espaciadora, o usas espacio tabular.
(sin embargo a día de hoy 22/2/22 se resolvió ese conflicto y se pueden usar los dos. Pero lo recomendable por buenas prácticas es usar tabs. o espacios, pero uno solo.)
A día de hoy 22/2/22 Prepos permite usar espacios de barra espaciadora y espacios tabulares. Lo acabo de comprobar.
Hermosa la referencia a silicon valley lol la vi hace años y igual me acordaba
Pug es el hijo de python y html, se tenia que decir y se dijo
Considero que es mejor utilizar HTML sin preprocesador…
Quita demasiado tiempo usar pug
Recomiendo que instalen la extensión de pug en VSCODE les permitirá utilizar todos los atajos de emmet.
En lo personal me ha gustado PUG o almenos lo visto hasta ahora. Será cuestión de seguir con el curso haber que tanto se complica esto. Lo que me gusta gustado es haber hecho los estilos desde 0 y no tener el css ya hecho. Pero sigamos 😄
😮 ESTO ES MAGICO 😮 AWWW
team Tab 😎
Yo soy del #teamTab y tu??
Este es el error que me da:

link(rel="stylesheet", href="../css/ejercicio-pug.css")
body
header
h1 PlatziGames
a.boton Registro
Me parece interesante la sintaxis de Pug, pero a la vez siento que voy mucho mas lento que escribiendo HTML puro.
Probé lo del espaciado o tabulador en mi vs code y prepros me compilo perfectamente usando las dos maneras. 🤔 Aunque yo en particular uso 4 espacios, no se si eso tenga algo que ver.
Aparentemente, en la actualidad, Prepos ya no genera errores si utilizas TAB o dos puntos, ambas me las tomó correctas. 😁
tab
o spaces
, pero no ambos al mismo tiempo. Algunas personas prefieren el tab porque no tienes que apretar la barra espaciadora muchas veces.meta(charset="UTF-8")
div.container Contenido del div
Se siente pro usar Pug jaja
yo prefiero edteam 6.23
Notas de la clase
Estaba probando lo que dijo que el profe, sobre los espacios y el tabulador, y creo que actualmente pug ya soporta usar ambas a la vez.
(Cabe aclarar que no debería de usarse ambas, para llevar un mayor orden sobre el código)
Vista en PUG
doctype html
html
head
meta(charset="UTF-8")
link(rel="stylesheet", href="css/ejercicio-pug.css")
body
header
h1 Platzi Games
a.boton Registro```
Vista en **HTML**
<!DOCTYPE html>
<html>
<head>
<meta charset=“UTF-8”>
<link rel=“stylesheet” href=“css/ejercicio-pug.css”>
</head>
<body>
<header>
<h1>Platzi Games</h1><a class=“boton”>Registro</a>
</header>
</body>
</html>```
Si necesitan más info: https://github.com/pugjs/pug-cli
Para la previsualización los en Prepros, es Ctrl+L
Debemos crear un archivo llamado landig.pug, que tendra nuestro codigo html
doctype html
html
head
meta(charset="UTF-8")
link(rel="stylesheet", href='css/ejercicio_pug.css')
body
header
h1 PlatziGames
a.boton Registro
Este codigo se complica a traves de prepos y lo convierte en landing.html
yo uso tabs se me hace mas facil pero alla cada quien
Usar “tabs” que sean reemplazados por espacios como lo configura vscode por defecto, es lo mejor?
Qué raro, usé dos espacios junto a tabs y también me compiló
Vamos bien! 😄
La estructura con HTML5 por defecto con (! + TAB)
Trabajando desde la consola!
Muy buen contenido para simplificar mucho el código html
La sintaxis de pug me encanta, algo que noté en el minuto 10:20 es que le profesor escribe el atributo “UFT-8”, los invito a corregir a “UTF-8”
Unicode Transformation Format)
meta(charset="UTF-8")
Alguien me puede explicar como puedo compilar desde VSCode ?
consulta como pasamos nuestro proyecto en html a pug, descompilamos con prepros?
Me siento medio raro utilizando Pug…internamente extraño HTML normal.
Estoy seguro de que una vez lo dominas te ahorra mucho tiempo.
Yo siempre había usado handlebars para este tipo de cosas, pero pug es mucho más sencillo y cómodo.
Genial, Gran clase
Yo estoy usando dedora y ni pude utilizar Prepos.
Encontre los comando para instalar PUG y realizar el mismo proceso que el Profe, les comparto los comandos
Primero se instala con NPM
Segundo revisar si se instalo
Tercero se corre plug
-w watch
-o output
./ la dirección
-P pretty
npm i -g pug-cli
pug --version
pug -w . -o ./ -P
Después de eso basta con realizar lo mismo que en la clase y cada que se guarda se realiza la actualización del codigo html
Puedo hacer que al copilar en vez de crear un archivo html, cree un php?
a mi solo me funciona el arcghivo .pug y .html dentro de la carpeta css, por que se da eso??. Estoy haciendo algo mal??
#tab
genial!
El curso promete mucho
Gran clase, por cierto Team Tap 😄
El video que te recomiendo después de esta clase.
Tab vs Space HBO: Sillicon Valley
https://www.youtube.com/watch?v=V7PLxL8jIl8
easy!!
Genial !!
¡Wow, me encanta! ¡Se ahorra mucha energía mental!
Para aquellos que tengan windows y la consola nos les deja ejecutar los scripts de pug.
Tienen desabilitar las restriciones de de ejecucion de script en la maquina.
1.Abrir el shell de windows como administradores
2.Ejecutar los siguientes comandos siguiente comando
~
3.(Opcional para visualizar los permiso)
Get-ExecutionPolicy -list
4.Introducir este comando y acpetar los cambios
Set-ExecutionPolicy -Scope CurrentUser unrestricted
Dependienco del idioma enq ue tengan el pc
si o yes
Excelente, me encanta seguir aprendiendo más 😄
Muy bueno el video de Tab vs Spaces (llevado al limite) ahaha
Es de pago el prepos?
la extensión de vs code: compile hero pro
permite compilar automáticamente un archivo después de guardarlo
soporta pug
y tamién soporta: Sass/Less/Scss/Typescript/Javascript/Jade
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.