- Introducción y características del servicio
- Páginas de usuario / organización
- Páginas de repositorio
- Markdown GitHub
- Gestor estático de contenidos: Jekyll
- Características de GitHub Pages
- Referencia de GitHub Pages
- Sintaxis MarkDown de GitHub
- Jekyll
- Referencia de GitHub Pages y Jekyll
- Guía de instalación del entorno Ruby + Jekyll en distintos Sistemas Operativos
- Guía de inicio rápido
- Resolución de problemas con Jekyll
- Servicio de alojamiento web estático (sin lógica de servidor ni base de datos).
- Hasta 1 GB de alojamiento (ver límites de uso).
- Dos posibilidades:
- Asociado a cuenta de usuario.
- Asociado a un repositorio.
- Tecnologías que se pueden utilizar: HTML, CSS y JavaScript. También se puede publicar cualquier otro tipo de archivos para su descarga vía web (PDF, DOC, ZIP,…)
- Posibilidad de utilizar Jekyll, un gestor de contenidos estático de funcionalidades parecidas a WordPress.
Sólo se puede crear un sitio por cada cuenta de usuario u organización. Normalmente se utiliza como sitio principal relacionado con la cuenta correspondiente:
- Página personal
- Curriculum Vitae
- Página informativa
- Página de portfolio
- Página principal con la información de una asignatura
- …
Procedimiento:
- Crear un repositorio con el nombre
MINOMBREDEUSUARIO.github.io
dentro de la cuenta de usuario u organización correspondiente. - Los archivos que se creen estarán disponibles en la dirección: https://MINOMBREDEUSUARIO.github.io.
Se puede crear un sitio asociado a cualquier repositorio. Algunos ejemplos de uso:
- Documentación relacionada con el código del repositorio
- Página informativa del proyecto
- Prácticas de desarrollo de aplicaciones web
- Trabajos o presentaciones de alumnos
- …
Procedimiento:
- Crear un repositorio (
nombrerepositorio
) dentro de la cuenta de usuario u organización correspondiente (MINOMBREDEUSUARIO
). - Habilitar el servicio de GitHub Pages en el repositorio mediante una de las siguientes tres opciones:
- En los ajustes del repositorio (Settings), en la sección GitHub Pages, seleccionar la opción
master branch
. Todo lo que se almacen en la ramamaster
se publicará. - En los ajustes del repositorio (Settings), en la sección GitHub Pages, seleccionar la opción
master branch /docs folder
. Sólo se publicará lo que se almacene dentro de la la carpetadocs
de la ramamaster
. - Crear una rama denominada
gh-pages
. El servicio de publicación de GitHub Pages se activará automáticamente y sólo se publicará el contenido de dicha rama.
- En los ajustes del repositorio (Settings), en la sección GitHub Pages, seleccionar la opción
- Los archivos que se creen estarán disponibles en la dirección: https://MINOMBREDEUSUARIO.github.io/nombrerepositorio.
- Pestaña
Settings
/ SecciónGitHub Pages
- Aquí se muestran los mensajes de error de publicación
- Gestor estático de contenidos
- No necesita lógica de servidor ni bases de datos
- Independencia de la estructura del sitio (plantillas) del contenido
- El contenido se puede generar mediante MarkDown en lugar de HTML
- Integrado en GitHub Pages (no necesita ser compilado)
- Permite dividir los archivos de un sitio web en distintos trozos en los que trabajar de manera independiente (se disminuyen las posibilidades de que dos personas tengan que trabajar en el mismo archivo, disminuyendo así también las posibilidades de que haya conflictos de código)
- Resulta muy sencillo agregar contenido nuevo (posts, páginas) al sitio con independencia de la estructura HTML
- Guía de instalación del entorno Ruby + Jekyll en distintos Sistemas Operativos
- Guía de inicio rápido
- Resolución de problemas con Jekyll
jekyll new <nombre-sitio>
Si en lugar de crear un nuevo sitio lo que hacemos es clonar un repositorio que tenga un sitio Jekyll previamente creado habrá que ejecutar el siguiente comando:
# Dentro de la carpeta del repositorio clonado
bundle install
A continuación se lanza el servidor de test:
# Dentro de la carpeta del sitio
bundle exec jekyll serve
# El sitio estará disponible en http://localhost:4000/BASEURL
# BASEURL viene configurada en el archivo _config.yml
¡Muy importante! Para que funcione correctamente, la carpeta que contiene el proyecto Jekyll debe estar en una ruta sin espacios en blanco.
- Debe aparecer en todos los archivos que vayan a ser procesados por Jekyll (posts, páginas,…)
- Formato YAML
- Debe aparecer al principio del archivo antes que cualquier otro contenido
- Separado por 3 guiones:
--- layout: post title: Título del post ---
- Añadir un archivo en la carpeta
_posts
con el siguiente formato (en función de si se desea utilizar MarkDown o HTML)
AÑO-MES-DIA-TITULO.md AÑO-MES-DIA-TITULO.html
- Añadir front matter y contenido. Por ejemplo:
---
layout: post
title: "Mi título"
---
# Post 1
**Hola**, éste es mi primer post de Jekyll.
- Añadir un archivo en la carpeta raíz del repositorio o dentro de un subdirectorio (fuera de la carpeta
_posts
) - Utilizar HTML o MarkDown
- Añadir front matter y contenido.
- Contiene el sitio estático resultado del procesado de Jekyll
- Su contenido puede alojarse en cualquier servidor web estático
- Está excluida en el fichero
.gitignore
por ser un resultado de compilación, no código fuente.
- Archivo
_config.yml
- Configuración general del sitio: título, datos, correo electrónico,…
- Variable
baseurl
: almacena la ruta base donde se publicará el sitio. En caso de utilizar un sitio de repositorio con GitHub Pages se debe configurar de la siguiente manera:
baseurl: "/NOMBRE_REPOSITORIO"
- Si se va a utilizar un sitio de usuario / organización en GitHub Pages se debe dejar sin configurar
- Variable
url
: almacena la URL del servidor web. Normalmente la configuraremos para que apunte al servicio de GitHub Pages asociado a nuestra cuenta:
url: "https://NOMBRE_USUARIO.github.io"
- Documentación
- Si se modifica el fichero de configuración hay que reiniciar el servidor de test para que tengan efecto los cambios
- Crear un nuevo sitio con Jekyll:
jekyll new NOMBREPROYECTO
- Configurar archivo
_config.yml
- Inicializar un repositorio nuevo en la carpeta del sitio de Jekyll creado (
git init
) - Agregar los cambios al repositorio local
- Crear repositorio remoto vacío en GitHub
- Agregar remoto en el repositorio local
- Subir cambios con
git push -u origin master
- Activar el servicio de GitHub Pages en los ajustes del repositorio en GitHub
- Se configura en el fichero
_config.yml
- Tema por defecto: minima
- Documentación sobre Temas
- Temas soportados por GitHub
- Instalar un nuevo tema en el equipo local para poder previsualizar el sitio en el servidor de test local:
- Modificar el archivo
Gemfile
del proyecto - Añadir:
gem "NOMBRE_DEL_TEMA"
- Ejecutar el comando:
bundle install
- Modificar el archivo
A continuación se incluye un enlace a un repositorio de ejemplo con un proyecto de Jekyll básico para el diseño de un sitio web. Está pensado para utilizar con los alumnos en el desarrollo de un sitio formado por 5 páginas estáticas. Utiliza una única plantilla para todas las páginas dividida en 4 secciones. No incluye ningún tema ya que está pensado para realizar el diseño del interfaz con HTML y CSS. Si se quiere utilizar como referencia hay que recordar que hay que cambiar las variables baseurl y url en el archivo _config.yml
y adaptarla al repositorio creado.
- Crea un sitio GitHub Pages de organización en la organización que creaste en la sesión 3. Incluye un fichero
index.html
con tu nombre y tus apellidos. Comprueba que puedes acceder vía web al sitio publicado.
- Instala Jekyll en tu equipo y haz una captura de pantalla del resultado de ejecutar el comando
jekyll -version
. - Haz un fork del repositorio disponible en https://github.com/antroher/plantilla-jekyll. Puedes crear el repositorio en tu cuenta o en la cuenta de organización que has creado.
- Clona tu repositorio y a continuación ejecuta en su interior el comando
bundle install
para instalar las dependencias. - Modifica el fichero
_config.yml
para que contenga los parámetrosbaseurl
yurl
que correspondan a tu repositorio. - Ejecuta el servidor de test en tu equipo y comprueba que puedes acceder al sitio y navegar por él. Haz una captura de pantalla de una de las páginas cargadas a través del servidor local.
- Sube los cambios a GitHub.
- Configura tu copia del repositorio para activar el servicio de GitHub Pages en la rama
master
. - Comprueba que puedes acceder vía web a tu sitio publicado.
- Crea una nueva página (en la carpeta principal del repositorio) denominada
blog
. Comprueba que aparece en el menú de navegación del sitio. - Crea una nueva plantilla (en la carpeta
_layouts
) llamadaplantillablog
basada en la que se proporciona que muestre una lista de los posts del sitio. El listado debe incluir:- Un enlace al post cuyo texto sea el título del post.
- La fecha de publicación.
- Un extracto del contenido del texto del post.
- Crea 3 posts (en la carpeta
_posts
) que utilicen la plantilla por defecto. Para generar el texto de los posts puedes utilizar un generador del estilo lorem ipsum. - Configura la página
blog
de manera que utilice la plantillaplantillablog
. Comprueba que aparece la lista de posts y que se puede acceder a ellos a través de los enlaces. - Incluye las capturas de pantalla de los apartados 2 y 5 en el repositorio en una carpeta denominada
images
. - Modifica la página
galeria.html
para que incluya dos elementos<img>
que muestren las dos capturas de pantalla.
Realiza una pull request
indicando en el mensaje que has completado la tarea junto con:
- Un enlace a tu sitio web publicado.
- Un enlace al sitio de organización publicado que creaste en el apartado 1.
No hay que subir ningún archivo en la tarea de la plataforma Aules.