简体   繁体   中英

Dynamic title AND content in Jekyll

I have a page whose structure is somewhat like this

---
layout: contents
title: contents
description: Contents of the posts.
permalink: contents/
---


      <ul class="posts">
        {% for post in site.posts %}
            {% if post.categories != "tips" %}
          <h2><a class="post-heading" href="{{ post.url }}">{{ post.title }}</a></h2>
          <p> {{ post.description }} </p>
          <p class="date">{{ post.date | date_to_string }}</p>
          <hr class="hr-color"></hr>
          {% endif %}
        {% endfor %}
      </ul >

Currently the URL of this page is set according to permalinks (BASE_URL/contents). I want that when a user clicks on an option( Android,Java,Web are the options) in the previous page, i get the URL of this page as BASE_URL/android or BASE_URL/Java and also display the contents of that category.

Is this possible using jekyll?

Two solutions :

1 - Using a plugin

You can use this category archive generator

2 - Using hand crafted pages

If you cannot use plugin (gh-pages) you can make a page per category, like this :

android.html

---
layout: category
title: Android
permalink: android/
---

_layouts/category.hmtl

---
layout: default
---

<ul class="posts">
  {% for post in site.posts %}
    {% if post.categories contains page.title %}
      <h2><a class="post-heading" href="{{ post.url }}">{{ post.title }}</a></h2>
      <p> {{ post.description }} </p>
      <p class="date">{{ post.date | date_to_string }}</p>
      <hr class="hr-color"></hr>
    {% endif %}
  {% endfor %}
</ul >

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM