albertobastos / diarios-viaje-sources

Fuentes con las que construir los diarios de viaje de albertobastos.info

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Diario de viaje generado con Gatsby

Proyecto que genera un diario de viaje a partir de ficheros Markdown y JSON utilizando la herramienta GatsbyJS.

Preparación

npm install -g gatsby && npm install

Comandos

npm start

Realiza un gatsby clean seguido de un gatsby develop para arrancar el generador en modo de desarrollo.

El site estará disponible en http://localhost:8000.

La consola web para consultar el GraphQL generado por Gatsby se podrá acceder acceder en http://localhost:8000/___graphql.

npm run serve-build

Genera la versión para producción del site sin tener en cuenta el posible contexto configurado en pathPrefix.

Lanza un navegador en http://localhost:9000 para visualizar el resultado.

npm run build

Genera la versión para producción del site teniendo en cuenta el contexto final configurado en pathPrefix.

El resultado se encuentra en la carpeta /public listo para subir al servicio deseado.

Configuración del site

Toda la configuración parametrizable del site se encuentra concentrada en el objeto siteMetadata del fichero gatsby-config.js:

  • title y subtitle: Título y subtítulo del diario a mostrar en la portada y los menús.
  • description: Descripción para SEO del diario.
  • rootUrl: URL absoluta a la que apuntar la opción de menú de "Más diarios".
  • siteUrl: URL absoluta a la portada del diario, necesaria para el plugin que genera el sitemap.
  • disqus: Identificador de Disqus para alojar los comentarios del diario.
  • photoCdn: Ruta al CDN en el que se encuentran las fotografías e imágenes de mapas del diario.
  • photoFullFolder y photoThumbFolder: Carpetas del CDN de fotografías en las que se encuentran las versiones a tamaño completo y las miniaturas respectivamente.

Otra configuración relevante repartida por otras partes del fichero gatsby-config.js es la siguiente:

  • pathPrefix: Ruta relativa al dominio en la que se encontrará el diario cuando se suba a un servidor. Solo se tendrá en cuenta al generar la versión final para producción.
  • trackingId (gatsby-plugin-google-analytics): Identificador del site en Google Analytics.

Contenidos del diario

Las distintas etapas se encuentran en formato Markdown en la carpeta src/stages.

Fotografías

Las fotos de la etapa deben incluirse como enlaces referidos a simplemente el nombre del archivo de imagen. Tanto la extensión como el prefijo con la ruta del CDN en el que se encuentra serán añadidos durante la generación. El siguiente Markdown:

![Pie de foto 1](FOTO001)
![Pie de foto 2](FOTO002)

Asumiendo una ruta al CDN configurada en http://micdn.com/miviaje/ y las carpetas de imágenes en miniatura y pantalla completa en /thumb y /large, se transformará en el siguiente HTML para el site final:

<p class="custom-stage-media">
  <a class="stage-gallery" href="http://micdn.com/large/FOTO001.jpg"><img src="lazyimg.gif" data-echo="http://micdn.com/thumb/FOTO001.jpg" alt="Pie de foto 1"></a>
  <a class="stage-gallery" href="http://micdn.com/large/FOTO002.jpg"><img src="lazyimg.gif" data-echo="http://micdn.com/thumb/FOTO002.jpg" alt="Pie de foto 2"></a>
</p>

Videos (Youtube)

Los videos embedidos de YouTube deben incluirse como simples enlaces, y el generador se encargará de transformarlos en los iframe necesarios. El siguiente Markdown:

[Rickrolled!](https://www.youtube.com/watch?v=dQw4w9WgXcQ)

Se transformará en el siguiente HTML en el site final:

<div class="custom-stage-video">
  <div>
    <iframe src="https://www.youtube.com/embed/dQw4w9WgXcQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
  </div>
</div>

Meta-datos de etapa

Cada etapa viene acompañada de unos meta-datos en formato FrontMatter:

  • title: El título de la etapa.
  • description: Descripción para SEO de la etapa.
  • date: La fecha en la que tiene lugar la etapa, en formato libre.
  • index: La posición que la etapa ocupa en el diario.
  • map: (opcional) El nombre de la imagen en el CDN con el mapa de la etapa.
  • private: (opcional) Si existe y tiene el valor true la etapa será ignorada durante la generación (útil para etapas que no queremos ver todavía publicadas).

About

Fuentes con las que construir los diarios de viaje de albertobastos.info

License:MIT License


Languages

Language:JavaScript 88.7%Language:CSS 11.1%Language:HTML 0.2%