SetValue.NETSetValue.NET

GitHub Pages

May 10, 2020

Hola, bienvenidos. Hace años que no escribo en un blog, pero lo cierto es que de un tiempo hacía aquí, he pensado en volver a escribir, y después de estar trasteando con algunos CMS basados en todo tipo de tecnologías (principalmente en .NET Core), me he decidido a probar GitHub Pages, y la verdad es que me he llevado una grata sorpresa.

GitHub Pages, es un servicio de alojamiento de sitios estáticos que permite crear desde cero un sitio web personal, o crear uno para la documentación de un proyecto en GitHub. Los ficheros HTML, CSS y JavaScript provienen de un repositorio de GitHub.

Se puede alojar un sitio en el dominio *.github.io o en un dominio propio.

Existen tres tipos de sitios, proyecto, usuario y organización.

Sitios de Usuario o de Organización

Los sitios de Usuario u Organización son sitios que están conectados a una cuenta específica de GitHub. Estos repositorios tienen una serie de peculiaridades, y es que no pueden ser un repositorio privado, tampoco puede tener otro nombre, ni los ficheros alojarse que se visualizan en el sitio estar en una rama distinta a master.

Para crear un sitio personal o de organización se deben seguir los siguientes pasos:

  1. Crear un nuevo repositorio en GitHub con el siguiente formato username.github.io, donde username es el nombre de usuario u organización en GitHub.

New Repo

  1. Clonar el repositorio
git clone https://github.com/username/username.github.io.git
  1. Agregar un fichero index.html con un "Hola Mundo"
<!DOCTYPE html>
<html>
    <head>
    <title>Hola GitHub Pages!</title>
    </head>
    <body>
        Hola Mundo!
    </body>
</html>
  1. Push de los cambios
git add --all
git commit -m "Primer commit, hola mundo" 
git push -u origin master
  1. Acceder al nuevo sitio

Hello World!

Sitio de Proyecto

A diferencia de los otros tipos de sitios, estos permiten crear un website a partir de una rama o una carpeta de un repositorio existente, por supuesto, el repositorio no puede cumplir con la convención de nombre (username.github.io) establecida para los sitios de organización o personales.

Sobre un repositorio de proyecto, se puede elegir uno de estos tres orígenes:

  • Utilizar un branch llamado gh-pages
  • Utilizar la rama master como origen para contruir el sitio
  • Utilizar un directorio "docs" dentro de la rama master

Project GitHub Pages

Una vez seleccionada una configuración, se repite los pasos del 2 al 5 del anterior epígrafe y se obtiene un "Hola Mundo" en un sitio de Proyecto.

¿Listo para empezar?

Existen dos posibilidades para comenzar a crear un sitio web estático de GitHub Pages.

  • Mediante plantillas
  • Desde cero

Basado en plantilla

GitHub Pages dispone de una gran variedad de plantillas para empezar a crear un nuevo sitio estático.

Las plantillas se pueden seleccionar desde la sección GitHub Pages de la configuración del Repositorio.

Choose a Theme

Una vez seleccionada la plantilla, se procede a crear ficheros en formato markdown, creando un primer fichero readme.md, una vez realizado el push, el sitio de GitHub Pages cargará el contenido del fichero aplicando la plantilla seleccionada.

Hello World with GitHub Pages Template

Desde cero

Otra opción es empezar a crear contenido estático, empezando con un fichero index.html. Una vez realizado el primer push, el contenido nuevo estará disponible en GitHub Pages.

Esta aproximación, aunque es más compleja, permite un mayor grado de personalización. Existen múltiples generadores de contenido estático que permiten crear las páginas y assets de una forma sencilla, lo cual facilita en gran medida la construcción de nuevos contenidos.

Límites y usos prohibidos

Los sitios de GitHub Pages tienen los siguientes límites:

  • Los repositorios de código de GitHub Pages tienen un límite recomendado de 1GB
  • Los sitios no pueden superar 1GB
  • Tienen un límite de ancho de banda de 100GB al mes
  • Un máximo de 10 builds por hora

No se puede utilizar GitHub Pages como un hosting gratuito para negocio, e-commerce o cualquier otro uso comercial. Tampoco se puede utilizar para publicar violencia, sexo, spam o cualquier actividad ilegal.

Conclusiones

Antes de empezar un nuevo sitio de GitHub Pages es necesario comprender cuál es el escenario que aplica, si es un proyecto, o si es un sitio personal o de empresa, si se desea partir de cero o desde una plantilla. Y por supuesto, saber los límites y los usos que no están permitidos, pues no deja de ser un servicio gratuito que permite disponer en minutos de un sitio web publicado en GitHub Pages.

Buy Me A Coffee