Hugo themes Doit 合并 tags , categories 为检索页

本文介绍了如何在Hugo主题Doit中将tags和categories合并为一个检索页面,以提高内容查找效率。作者通过分享初始配置、失败尝试和最终的正确实现方式,提供了一种解决方案。正确做法是在terms.html中添加特定代码来获取自定义分类的内容。
摘要由CSDN通过智能技术生成

Hugo themes Doit 合并 tags , categories 为检索页

原文

总觉得 tags, categories 等页面可以合并成为一页。这样检索起来更方便一些。成果 https://www.ftls.xyz/retrieval/

初始配置

config.toml

# 用于分类的设置
[taxonomies]
author = "authors"
category = "categories"
tag = "tags"
series = "series"
retrieval = "retrieval"

失败尝试

尝试使用 yaml 中的锚点和引用。

tags: &tag []
categories: &cat []
retrieval:
 tag: *tag
 cat: *cat

很遗憾,失败了。这在单页面上,也就是说具体页面。可以成功,然而在检索页却并不是可以成功的。 https://www.ftls.xyz/retrieval/ 不能获取到正确数据。

正确尝试

使用如下在 terms.html 中获取自定义分类的具体内容。

{
  {- $terms := $.Site.Taxonomies.series.ByCount -}}

这里使用的是 Doit 的主题。大家可以借鉴一下看看大致原理。知道有这个写法,大致就知道怎么写的了。

themes\DoIt\layouts\taxonomy\terms.html end 前新增的内容

	{
  {- /* Sum Retrieval Page */ -}}
        {
  {- else if eq $taxonomies "retrieval" -}}
            <h3><a href="/tags/">>标签</a>&nbsp;&nbsp;<a href="/series/">>系列</a>&nbsp;&nbsp;<a href="/categories/">>分类</a></h3>
            <h2><a href="/tags/">标签</a></h2>
            <div class="tag-cloud-tags">
                {
  {- range $.Site.Taxonomies.tags.ByCount -}}
                    <a href="{
    { .Page.RelPermalink }}">{
  { .Page.Title }} <sup>{
  { .Count }}</sup></a>
                {
  {- end -}}
            </div>
            <h2><a href="/series/">系列</a></h2>
            {
  {- $terms := $.Site.Taxonomies.series.ByCount -}}
            <div>
                {
  {- range $terms -}}
                    {
  {- $term := .Term -}}
                    {
  {- $pages := .Pages -}}
                    {
  {- $type := "series" -}}
                    {
  {-  with $.Site.GetPage "taxonomy" (printf "%v/%v" $type $term) -}}
                    <div class="card-item">
                        <div class="card-item-wrapper">
                            <h3 class="card-item-title">
                                <a href="{
    { .RelPermalink }}">
                                    <i class="far fa-folder fa-fw"></i>&nbsp;{
  { .Page.Title }} <sup>{
  {- len $pages -}}</sup>
                                </a>
                            </h3>
                            {
  {- range first 5 $pages -}}
                                <article class="archive-item">
                                    <a href="{
    { .RelPermalink }}" class="archive-item-link">
                                        {
  {- .Title -}}
                                    </a>
                                </article>
                            {
  {- end -}}
                            {
  {- if gt (len $pages) 5 -}}
                                <span class="more-post">
                                    <a href="{
    { .RelPermalink }}" class="more-single-link">{
  { T "more" }} >></a>
                                &
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值