como crear este sitio

tecnologías usadas

  • Markdown para escribir el contenido y poder convertirlo en HTML fácilmente
  • Visual Studio Code como editor de texto con el que escribir el contenido
  • Hugo para generar el sitio
  • Firebase para el despliegue y el hosting
  • Bitbucket para guardar el proyecto en un repositorio privado

Escribir el contenido

Generar el sitio

  • para generar el sitio uso Hugo
  • antes he usado Jekyll pero Hugo es bastante más rápido e igual de fácil de manejar
  • para usar Hugo se puede seguir varios tutoriales como este escrito en la propia comunidad de Hugo bastante claro aúnque en inglés
  • la instalación es simple pues se descarga, se descomprime y ya esta listo para usar.
    • si no se quiere poner la ruta completa del ejecutable se tiene que meter la ruta en la variable PATH
Path=C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Users\javier\AppData\Local\Programs\Microsoft VS Code\bin;C:\portables\Hugo
  • es necesario reiniciar

  • para generar el sitio uso el comando hugo esto trasforma los archivos Markdown en html en el directorio public

C:\proyectos\hugo\javier-programacion>hugo
Building sites … 
                   | ES   
+------------------+-----+
  Pages            | 324
  Paginator pages  |   0
  Non-page files   |   2  
  Static files     | 367  
  Processed images |   0
  Aliases          |   0
  Sitemaps         |   1
  Cleaned          |   0

Total in 1014 ms
  • para evitar que se queden contenidos generados anteriormente que en la versión actual han sido borrados uso este bat
rd /S /Q public
call hugo

Desplegar el sitio

  • para desplegar el sitio uso Firebase
  • se puede hacer usando el plan spark (chispa) que es como llaman al plan free
  • es necesario instalar firebase y para eso antes es necesario tener node y npm instalados
npm install -g firebase-tools
C:\proyectos\firebase>npm install -g firebase-tools
C:\Users\Usuario\AppData\Roaming\npm\firebase -> C:\Users\Usuario\AppData\Roaming\npm\node_modules\firebase-tools\lib\bin\firebase.js
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.2 (node_modules\firebase-tools\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

+ firebase-tools@7.7.0
added 419 packages in 79.308s


   ╭──────────────────────────────────────╮
   │                                      │
   │   Update available 5.6.0 → 6.13.0    │
   │       Run npm i npm to update        │
   │                                      │
   ╰──────────────────────────────────────╯

firebase --version
7.7.0
  • para desplegar el sitio uso los comandos
firebase login
firebase deploy
  • el primero te permite hacer login con las credenciales de tu cuenta en firebase y el segundo despliega el contenido del sitio en el hosting de firebase
C:\proyectos\hugo\javier-programacion>firebase deploy

=== Deploying to 'javier-programacion'...

i  deploying hosting
i  hosting[javier-programacion]: beginning deploy...
i  hosting[javier-programacion]: found 694 files in public
+  hosting[javier-programacion]: file upload complete
i  hosting[javier-programacion]: finalizing version...
+  hosting[javier-programacion]: version finalized
i  hosting[javier-programacion]: releasing new version...
+  hosting[javier-programacion]: release complete

+  Deploy complete!

Project Console: https://console.firebase.google.com/project/javier-programacion/overview
Hosting URL: https://javier-programacion.firebaseapp.com
  • puede que de este error
Assertion failed: new_time >= loop->time, file c:\ws\deps\uv\src\win\core.c, line 309
  • se vuelve a lanzar y se soluciona

Escrito March 14, 2020.

← como añadir disqus a un sitio generado con hugo