Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sculpin - Static site generator

Sculpin - Static site generator

Static site generator in PHP

Jesus Urrutia

August 26, 2015
Tweet

Transcript

  1. ¿CON HTML ESTÁTICO? ... ¡MALA IDEA! Beneficios Contras Mayor Seguridad

    Mayor Velocidad Desarrollo inicial sencillo Mantención lenta Las requerimientos siempre estan cambiando. Por lo anterior, los sitios también lo hacen. HTML no tiene una forma de abstraer estructuras repetitivas. ... O incluir trozos de HTML
  2. ¿CON ALGÚN LENGUAJE DINÁMICO? (PHP, RUBY, NODE, ETC.) ... ¡ALGO

    MEJOR! Beneficios Contras Permite abstraer las estructuras repetitivas. Realizar cambios es mucho mas fácil. El servidor debe volver a procesar el sitio cada vez que es servido aún cuando este no cambia. Más expuesto a sufrir de alguna vulnerabilidad de seguridad
  3. PERO ... ¿QUE ES UN STATIC SITE GENERATOR? Permiten desarrollar

    como si fuera un sitio dinámico. Permiten hacer deploy de el sitio como si fuera uno estático. El contenido se puede generar en formatos alternativos al HTML (Markdown, Texttile)
  4. CARACTERÍSTICAS Desarrollado en PHP utilizando el Kernel de Symfony Templates

    hechos en Twig Contenido en HTML o MarkDown Librerías del frontend con Composer Extensible
  5. INSTALAR SCULPIN c u r l - O h t

    t p s : / / d o w n l o a d . s c u l p i n . i o / s c u l p i n . p h a r c h m o d + x s c u l p i n . p h a r s u d o m v s c u l p i n . p h a r / u s r / l o c a l / b i n / s c u l p i n
  6. DESCARGAR KIT DE INICIO c d ~ g i t

    c l o n e h t t p s : / / g i t h u b . c o m / s c u l p i n / s c u l p i n - b l o g - s k e l e t o n . g i t s t a t i c c d s t a t i c - s i t e - f o l d e r
  7. INSTALAR DEPENDENCIAS c d ~ / s t a t

    i c - s i t e - f o l d e r s c u l p i n i n s t a l l
  8. EJECUTAR SCULPIN s c u l p i n g

    e n e r a t e - - w a t c h - - s e r v e r ¡Listos para comenzar a crear!
  9. CREAR SITIO DE PRODUCCIÓN s c u l p i

    n g e n e r a t e - - e n v = p r o d
  10. EJEMPLOS < b o d y > < h e

    a d e r > < h 1 > T í t u l o d e l a s i t i o < / h 1 > < / h e a d e r > < d i v i d = " m a i n " > { % b l o c k m a i n % } { % e n d b l o c k % } < / d i v > < f o o t e r > < p > & c o p y ; A l g u n o s d e r e c h o s r e s e r v a d o s . < / p > < / f o o t e r > < / b o d y > Definiendo una zona extensible (base, layout, etc.)
  11. EJEMPLOS { % e x t e n d s

    ' l a y o u t . h t m l . t w i g ' % } { % b l o c k m a i n % } < h 1 > T i t u l o c o n t e n i d o < / h 1 > < p > ¿ M u y d i f í c i l ? . . . t r a n q u i l o y a l o c o m p r e n d e r á s . < / p > { % b l o c k m a i n % } Extendiendo el template del ejemplo anterior. (contenidos)
  12. EJEMPLOS { % i n c l u d e

    ' _ p a r t i a l . h t m l . t w i g ' % } Incluyendo un partial (Trozo de código reutilizable).
  13. EJEMPLOS T í t u l o d e l

    c o n t e n i d o = = = = = = = = = = = = = = = = = = = = U n p á r r a f o c o m ú n y c o r r i e n t e . . . - i t e m 1 - i t e m 2 - i t e m 3
  14. MAS EJEMPLOS * T e x t o e n

    i t á l i c a * * * T e x t o e n N e g r i t a * * * * * T e x t o e n n e g r i t a s e i t á l i c a * * * > C i t a s [ E n l a c e ] ( h t t p : / / l i n e t s . c l )
  15. PARA SABER MAS ... Documentación oficial ( ) Markdown Extra

    ( ) https://daringfireball.net/projects/markdown/ https://michelf.ca/projects/php- markdown/extra/