Post

home화면에서 특정 태그 포스트 숨기기

home화면에서 특정 태그 포스트 숨기기


YML 파일로 정의

숨기고 싶은 태그가 더 늘어날지도 모르니 추가하기 쉽게 yml파일로 만들고자한다.
(jekyll-theme-chirpy 7.2.4 기준)




1️⃣ _data/hidden_tags.yml 파일 생성

1
2
hidden:
  - music

후에 홈 화면에서 숨기고싶은 포스트가 있다면 여기에 태그만 추가하면 된다.




2️⃣ 홈 화면 출력 코드 수정

_layouts/home.html 코드 수정

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{% include lang.html %}

{% assign hidden_tags = site.data.hidden_tags.hidden %}

{% assign all_pinned = '' | split: '' %}
{% for post in site.posts %}
  {% assign show = true %}
  {% for tag in post.tags %}
    {% if hidden_tags contains tag %}
      {% assign show = false %}
    {% endif %}
  {% endfor %}

  {% if post.pin and show %}
    {% assign all_pinned = all_pinned | push: post %}
  {% endif %}
{% endfor %}

{% assign all_normal = '' | split: '' %}
{% for post in site.posts %}
  {% assign show = true %}
  {% for tag in post.tags %}
    {% if hidden_tags contains tag %}
      {% assign show = false %}
    {% endif %}
  {% endfor %}

  {% if post.pin != true and post.hidden != true and show %}
    {% assign all_normal = all_normal | push: post %}
  {% endif %}
{% endfor %}

{% assign posts = '' | split: '' %}

This post is licensed under CC BY 4.0 by the author.