2012-07-15 7 views
5

En mi _config.yml tengo:luchando por encontrar matriz en el archivo de configuración Jekyll (navegación del sitio)

navigation: 
- text: Home 
    url: index.html 
- text: About 
    url: about.html 
- text: Blog 
    url: blog.html 
- text: Portfolio 
    url: portfolio.html 

En mi diseño default.html que tengo:

<ul class="nav-list"> 
    {% for link in site.navigation %} 
    {% assign current = nil %} 
    {% if page.url == link.url %} 
     {% assign current = 'current' %} 
    {% endif %} 

    <li class="nav-list-item{% if forloop.first %}first{% endif %} {{ current }} {% if forloop.last %}nav-list-item-last{% endif %}"> 
     <a class="{{ current }}" href="{{ link.url }}">{{ link.text }}</a> 
    </li> 
    {% endfor %} 
</ul> 

Por alguna razón, esto no está funcionando . ¿Por qué podría ser esto?

+0

Funciona para mí. Exceptuando el marcado de la página actual como 'page.url' contiene la ruta, como" /index.html ", por lo que las comprobaciones de igualdad fallarán. ¿Cómo no funciona para usted? Absolutamente sin salida? Líquido no interpretado en la salida? ¿Simplemente no marcar el elemento actual? – manatwork

+0

Parece que no puede encontrar 'site.navigation' en absoluto. Si elimino por completo el contenido de '_config.yml' y solo ingresé lo anterior, esa es la configuración que tengo actualmente. –

+0

Puede no ser relevante, pero ¿lo está intentando localmente o en GitHub? (Solo probé a nivel local.) ¿Puede acceder a otras configuraciones desde su _config.yml? ¿Estás seguro de que los elementos de la matriz de navegación están sangrados con espacios, no pestañas? – manatwork

Respuesta

4

Acabo de enterarme de que debe reiniciar el servidor y ejecutar jekyll --server nuevamente y se puede acceder a las variables _config.yml.

Luego, después de resolverlo volvimos a esta página y estaba a punto de publicar esta respuesta, hicimos clic en add/show 4 more comments y vimos que esto también fue descubierto por la operadora. Entonces publicarlo como respuesta.

+0

Gracias. Debería haberlo publicado como una respuesta, ¡oops! –

+0

@OliverJosephAsh Te perdono. – ThomasReggi

0

Además de la otra respuesta: puede - como usted ha mencionado en su respuesta - usar Ctrl +C para terminar el servidor se está ejecutando actualmente (en su CLI). Pero , puede así iniciar el servidor con

jekyll server -w 

para contar Jekyll para observar los cambios en sus archivos. Aunque esto no funcionará para los cambios en el _config.yml, funciona para todos los demás archivos. Tenga en cuenta que esto no funcionará, incluida la opción --safe, por lo que no obtendrá errores. Para atraparlos, todavía recomiendo ejecutar jekyll --safe build de vez en cuando para ver si tienes errores de sintaxis. Lo mismo ocurre con ejecutar jekyll doctor/jekyll hyde a veces durante el proceso de desarrollo.

Cuestiones relacionadas