1
- {% assign crumbs = page.url | remove:'/index.html' | split: '/' %}
1
+ {% assign all_pages = site.documents | concat: site.pages %}
2
+
3
+ {%- assign crumbs = page.url | remove:'/index.html' | split: '/' %}
4
+
5
+ {% assign breadcrumb_pages = "" | split: "" %}
6
+ {% assign total_crumbs = crumbs.size %}
7
+ {% assign last_crumb_index = total_crumbs | minus: 2 %}
8
+
9
+ {% for breadcrumb_index in (1..last_crumb_index) %}
10
+ {% assign cumulative_path = "" %}
11
+ {% for path_index in (1..breadcrumb_index) %}
12
+ {% assign cumulative_path = cumulative_path | append: "/" | append: crumbs[path_index] %}
13
+ {% endfor %}
14
+ {% assign breadcrumb_pages = breadcrumb_pages | push: cumulative_path %}
15
+ {% endfor %}
2
16
3
17
< nav aria-label ="breadcrumb ">
4
18
< ol class ="breadcrumb p-0 " id ="breadcrumbs ">
5
- < li class ="breadcrumb-item "> < a href ="/{% if site.lang != 'en' %}{{ site.lang }}{% endif %} "> {% t generic.home %}</ a > </ li >
6
- {% for crumb in crumbs offset: 1 %}
7
- {% if forloop.last %}
8
- / < li class ="breadcrumb-item active " aria-current ="page "> {% if page.texts %}{% t {{ page.texts }}.title %}{% else %}{% t page.title %}{% endif %}</ li >
9
- {% else %}
10
- / < li class ="breadcrumb-item "> < a href ="{% if site.lang != 'en' %}/{{ site.lang }}{% endif %}{% assign crumb_limit = forloop.index %}{% for crumb in crumbs offset: 1 limit: crumb_limit %}/{{ crumb }}{% endfor %} "> {{ crumb | replace:'-',' ' | remove:'.html' | capitalize }}</ a > </ li >
11
- {% endif %}
12
- {% endfor %}
19
+ < li class ="breadcrumb-item "> < a href ="/{% if site.lang != site.defaultLang %}{{ site.lang }}{% endif %} "> {% t generic.home %}</ a > </ li >
20
+ {% for crumb in breadcrumb_pages %}
21
+
22
+ {%- assign matched_page = nil %}
23
+ {%- assign crumb_with_slash = crumb | append: "/" %}
24
+ {%- for page_item in all_pages %}
25
+ {%- if crumb == page_item.url or crumb_with_slash == page_item.url %}
26
+ {%- assign matched_page = page_item %}
27
+ {%- break %}
28
+ {%- endif %}
29
+ {%- endfor %}
30
+
31
+ < li class ="breadcrumb-item "> < a href ="{% if site.lang != site.defaultLang %}/{{ site.lang }}{% endif %}{{ crumb }} ">
32
+
33
+ {%- if matched_page.texts %}
34
+ {%- t {{ matched_page.texts }}.title %}
35
+ {%- elsif matched_page.title %}
36
+ {%- capture translated_title %}{% t {{ matched_page.title }} %}{% endcapture %}
37
+ {%- if translated_title and translated_title != "" %}
38
+ {{- translated_title }}
39
+ {%- else %}
40
+ {{- matched_page.title }}
41
+ {%- endif %}
42
+ {%- else %}
43
+ {{- crumb | split: "/" | last | replace: "-", " " | capitalize }}
44
+ {%- endif %}
45
+
46
+ </ a > </ li >
47
+ {%- endfor %}
48
+
49
+ < li class ="breadcrumb-item active " aria-current ="page ">
50
+ {%- if page.texts %}
51
+ {%- t {{ page.texts }}.title %}
52
+ {%- elsif page.title %}
53
+ {%- capture translated_title %}{% t {{ page.title }} %}{% endcapture %}
54
+ {%- if translated_title and translated_title != "" %}
55
+ {{- translated_title }}
56
+ {%- else %}
57
+ {{- page.title }}
58
+ {%- endif %}
59
+ {%- else %}
60
+ {{- crumb | split: "/" | last | replace: "-", " " | capitalize }}
61
+ {%- endif %}
62
+ </ li >
13
63
</ ol >
14
- </ nav >
64
+ </ nav >
0 commit comments