Automatizar ruta a estilos en blog Jekyll de Ruby

  • Autor Autor ultracobra
  • Fecha de inicio Fecha de inicio
ultracobra

ultracobra

Ni
Verificado por Whatsapp
Estoy trabajando en un blog hecho en Jekyll de Ruby, por si alguien lo conoce.

En YouTube me sorprendióla poca info al respecto.

Cuando se construye un sitio, la ruta de los estilos se establece desde

# Assets folder
assets_dir: ./blogs/_site/assets/
Otros atributos que no entiendo bien son

# external_url: https://oportunidadesilimitadas.com/blogs
url: "https://oportunidadesilimitadas.com"
base_url: ""


Ambos tienen involucramiento en la generacion de la ruta de estilos y quizá algo más.

Pero cuando reconstruyo el sitio, todas las jodidas rutas a los posts y a los css se pierden y me toca reajustarlas manualmente.

Como una vez quedó bien, había quedado bien pero no sé "qué coma" abré quitado o puesto de más y ya no me resulta nada.
Me toca reescribir manualmente, y ahora no es tan feo pero cuando mi blog tenga x numero de entradas eso se volverá aterrador...
 
Para automatizar la ruta a los estilos en Jekyll, puedes utilizar la variable site.baseurl en tus archivos HTML y CSS, y establecerla en el archivo _config.yml. Por ejemplo:

En el archivo _config.yml:

Insertar CODE, HTML o PHP:
baseurl: "/blog"

Luego, en tus archivos HTML y CSS, puedes hacer referencia a los estilos de la siguiente manera:

Insertar CODE, HTML o PHP:
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/main.css">

De esta forma, cuando reconstruyas el sitio, la ruta a los estilos se ajustará automáticamente con la variable site.baseurl.

Para las rutas a los posts, puedes utilizar site.url y page.url, que te darán la URL completa del sitio y de la página actual, respectivamente. Por ejemplo:

Insertar CODE, HTML o PHP:
<a href="{{ site.url }}{{ page.url }}">Mi post</a>

¡Espero que esto te sea útil!
 
En realidad las genera bien, seguro estas intentando abrir las páginas del build generado abriendolas directamente en el navegador, lo cierto es que necesitas un sevidor, cualquier servidor sencillo te sirve, solo pasa los archivos al root donde se sirven por parte del servidor y verás que si funciona correctamente.
 
En realidad las genera bien, seguro estas intentando abrir las páginas del build generado abriendolas directamente en el navegador, lo cierto es que necesitas un sevidor, cualquier servidor sencillo te sirve, solo pasa los archivos al root donde se sirven por parte del servidor y verás que si funciona correctamente.
No amigo, quedan mal enrrutadas y sin querer hacer tediosa la explicación, si recuerda los archivos en jekyll se nombran con markdown así:

- 2023/04/26/nombre-archivo.md

Al generarse, el sitio se crea en una estructura mas o menos asi

└── Blogs
├── _site
│ ├── 2023
│ │ ├── 04
│ │ │ ├── 26
│ │ │ │ ├── 2023/05/03/nombre-archivo.md

Yla ruta autogenerada a CSS desde 2023/05/03/nombre-archivo.md es:

<link rel="stylesheet" href="/assets/main.css"><link type="application/atom+xml" rel="alternate" href="http://localhost:4000/feed.xml" title="Blogs de Oportunidades Ilimitadas" />

Al corregirla manualmente a la carpeta autogenerada de /assets donde queda ahorita, pasa a

<link rel="stylesheet" href="./assets/main.css"><link type="application/atom+xml" rel="alternate" href="http://localhost:4000/feed.xml" title="Blogs de Oportunidades Ilimitadas" />
Es un miserable . antes de / lo que reacomoda el estilo

Lo mismo para el index del blog de Jekyll, debo reescribir manualmente las rutas a css y desde el index del blog reeditar las rutas a los posts, y esto es el punto donde no lo puedo dejar así... Es inmanejable tener que hacer eso, además sé que es algo de configuración; gracias @Wizard

Estoy en búsqueda de un repositorio funcional de un jekyll para estudiar bien el confyg.yml...
 
En realidad las genera bien, seguro estas intentando abrir las páginas del build generado abriendolas directamente en el navegador, lo cierto es que necesitas un sevidor, cualquier servidor sencillo te sirve, solo pasa los archivos al root donde se sirven por parte del servidor y verás que si funciona correctamente.
Lo he resuelto casi todo con una mejora en el confyg.yml, incluso había conflictos de dependencias...
 
Atrás
Arriba