On Github jeanpaul1304 / gulpjs-expo
Cleaner version of HTML
Implemented with JS for Node.js Pst! Ahora llamame Pug<div class="ctn-social"> <h2>Social Networks</h2> <ul> <li> <a href="http://plus.google.com">Google +</a> </li> <li> <a href="http://www.facebook.com">Facebook</a> </li> <li> <a href="http://www.twitter.com">Twitter</a> </li> <li> <a href="http://www.instagram.com">Instagram</a> </li> </ul> </div>
.ctn-social
h2 Social Networks
ul
li
a(href="http://plus.google.com/") Google +
li
a(href="http://www.facebook.com/") Facebook
li
a(href="http://www.twitter.com/") Twitter
li
a(href="http://www.instagram.com/") Instagram
h1 Titulo a(href="#") Link p Este es un parrafo simple p Este | es | un | parrafo simple
<h1>Titulo</h1> <a href="#">Link</a> <p>Este es un parrafo simple</p> <p>Este es un parrafo simple</p>
// Comentario html //- Comentario Jade
<!-- Comentario html -->
div.row
div.columna
<a href="#">See more</a>
<div class="row">
<div class="columna">
<a href="#">See more</a>
</div>
</div>
.row
.column
p
a(href="#") Link
p Sample text
// Anidación continua
.row: .column: p: a(href="#") Link
<div class="row">
<div class="column">
<p><a href="#">Link</a></p>
<p>Sample text</p>
</div>
</div>
<!-- Anidación continua -->
<div class="row">
<div class="column">
<p><a href="#">Link</a></p>
</div>
</div>
// Jade a HTML
.contenedor
p Parrafo
//- clases
p.rojo Parrafo rojo
//- id
p#description Parrafo Azul de id description
//- Atributos
form(method="POST", action="/", class="nice-form", id="test-form")
input(type="text" placeholder="Ingrese un texto")
<!-- Jade a HTML -->
<div class="contenedor">
<p>Parrafo</p>
<p class="rojo">Parrafo rojo</p>
<p id="description">Parrafo Azul de id description</p>
<form method="POST" action="/" id="test-form" class="nice-form">
<input type="text" placeholder="Ingrese un texto">
</form>
</div>
html
head
title Web Test
body
//- Contenido dinamico
.wrapper
h1 Mi Lista
ul
li Elemento 1
li Elemento 2
li Elemento 3
li Elemento 4
//- Contenido estatico
footer
p Copyright 2016 @ Jean Paul Diaz
include - extends
//- layouts/default.jade
doctype html
html
head
title Web test
body
block content
include ../includes/footer.jade
//- includes/footer.jade footer p Copyright 2016 @ Jean Paul Diaz
//- index.jade
extends ./layouts/default.jade
block content
.wrapper
h1 Mi Lista
ul
li Elemento 1
li Elemento 2
li Elemento 3
li Elemento 4
Ejemplo de estructura de archivos para Jade
pre-app | |–– includes | |–– footer.jade | |–– head.jade | |–– header.jade | |–– navigation.jade | |–– layouts | |–– default.jade | |–– pages.jade | |–– index.jade |–– about.jade |–– contact.jade
app | |–– styles | |–– main.css | |–– main.min.css | |–– scripts | |–– scripts.js | |–– images | |–– logo.jpg | |–– index.html |–– about.html |–– contact.html
body {
font: 12px Helvetica, Arial, sans-serif;
}
a.button {
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
body
font: 12px Helvetica, Arial, sans-serif;
a.button
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
body
font: 12px Helvetica, Arial, sans-serif
a.button
-webkit-border-radius: 5px
-moz-border-radius: 5px
border-radius: 5px
border-radius()
-webkit-border-radius: arguments
-moz-border-radius: arguments
border-radius: arguments
body
font: 12px Helvetica, Arial, sans-serif
a.button
border-radius(5px)
border-radius() -webkit-border-radius: arguments -moz-border-radius: arguments border-radius: arguments body font: 12px Helvetica, Arial, sans-serif a.button border-radius: 5px
@import 'vendor' body font: 12px Helvetica, Arial, sans-serif a.button border-radius: 5px
fonts = helvetica, arial, sans-serif
body {
padding: 50px;
font: 14px/1.4 fonts;
}
# Asigancion:
number = 42
opposite = true
# Condicionales
number = 1304 if opposite
# Functions
cuadrado = (x) -> x * x
# Arrays
list = [1, 2, 3, 4, 5]
var number, apposite, cuadrado list;
number = 42;
opposite = true;
if (opposite) {
number = -42;
}
cuadrado = function(x) {
return x * x;
}
list = [1, 2, 3, 4, 5];
# Objetos
math =
root: Math.sqrt
square: square
cube: (x) -> x * square x
# Existencia
alert "Epa! Coffescript" if elvis?
# Array comprehensions
cubes = (math.cube num for num in list)
var math, cubes;
// Objetos
math = {
root: Math.sqrt,
square: square,
cube: function(x){
return x * square(x)
}
};
// Existencia
if (typeof elvis !== "undefined" && elvis !== null){
alert('Epa! Coffescript');
}
// Array comprehensions
cubes = (function() {
var i, len, results;
results = [];
for (i = 0, len = list.length; i < len; i++) {
num = list[i];
results.push(math.cube(num));
}
return results;
})();
$ npm init
$ npm install --save-dev gulp
$ npm install --save-dev gulp-jade
Sus cuatro fantasticos
gulp.task('nombretarea',function(){
// aqui continuamos
});
gulp.task('compilarJade',function(){
gulp.src('ruta/de/archivo')
// aun continuamos aqui
});
gulp.task('compilarJade',function(){
gulp.src('./jade/*.jade')
.pipe(gulp.dest('ruta/de/destino'));
});
Tarea simple que mueve un archivo de un lugar a otro
gulp.task('compilarJade',function(){
gulp.src('./jade/*.jade')
.pipe(jade())
.pipe(gulp.dest('./public/'));
});
//continuamos aqui
Tarea para compilar jade
// tarea para compilar jade
gulp.task('compilarJade',function(){
gulp.src('./jade/*.jade')
.pipe(jade())
.pipe(gulp.dest('./public/'));
});
// watch
gulp.watch('./jade/*.jade',['compilarJade']);
// variables que contienen los modulos que usamos
var gulp = require('gulp');
var jade = require('gulp-jade');
// tarea para compilar jade
gulp.task('compilarJade',function(){
gulp.src('./jade/*.jade')
.pipe(jade())
.pipe(gulp.dest('./public/'));
});
// watch
gulp.watch('./jade/*.jade',['compilarJade']);