[solved] Page kind are swapped for "taxonomy" and "taxonomyTerm"

I was not able to find a precise GitHub issue on the topic, please direct me to one if it exists, otherwise, I’ll create one.

On a taxonomy page (sports/), the .Kind value outputs taxonomyTerm
On a taxonomy term page (sports/football/), the .Kind value outputs “taxonomy”

Also, to set an output format to a taxonomy term page, you have to set it to taxonomy:

  taxonomy = ["json"]

While trying to set an output format to a taxonomy page doing the opposite does not work:

  taxonomyTerm = ["json"]

The problem has been referenced several times in the discourse or GitHub and while I understand fixing it would potentially break codes, I think we need to have an GitHub issue about it for reference and specing.

Other references to the problems:

and

https://discourse.gohugo.io/t/taxonomy-taxonomyterm-implementation-naming-is-probably-incorrect

1 Like

The above is correct behaviour. You may want to change that, but that isn’t happening.

So,

sports/ = taxonomy term
sports/football/ = taxonomy

Do you say that Hugo behaves inconsistently vs the above?

Ok so that is not what the doc says with its movie exemple and the expected terminology. Hence the confusion…

Or does it… Damn’ I am confused :scream:

1 Like

I still have to understand the concept of Value from the movie exemple. But the terminology to define “taxonomy” vs “taxonomy term” is at odds with most other CMS… wordpress, drupal

I am not saying there is a right and wrong here, just that maybe this distinction with other frameworks where “sport” would be the taxonomy and “football” would be a term will lead to confusion (it already does) for many dev and possibly editors.

Thanks for your answer. Will get back here if I think about a way to counter this confusion :stuck_out_tongue:

I went back and studied the Movie Exemple.

Actor                    <- Taxonomy
    Bruce Willis         <- Term

Translated to my example:

Sport                    <- Taxonomy
    Football             <- Term

So I understand that the sport page and the football page have two different purposes. The former lists all sports terms, while the latter lists all entries with the sport term “football” assigned to it.

But it still does not compute in my head why the sports page is of .Kind “taxonomyTerm” and the “football” page is of .Kind “taxonomy”

If anyone can help me understand so I can later explain it to whomever is concerned, I’ll gladly appreciate it.

Thanks a lot.

Why do you need a “why”?

To be able to explain this unique logic in a sensible way to other people just as confused as I am.

So please help me out if you have a minute as I try to make sense of Hugo’s page kind. So far I comprehend all but one:

  • “page”: a page showing one entry
  • “section”: a page listing entries from a section
  • “taxonomy”: a page listing entries of one taxonomy term (sports/football)
  • “taxonomyTerm”: this one I am not sure, a page listing all terms from a taxonomy (football, tennis etc…) ?

Thanks in advance for your help.

  • A page of Kind “taxonomyTerm” lists the terms in that taxonomy.
  • A page of Kind “taxonomy” lists the pages in a given taxonomy term

You may want it to be the other way around, but that is not going to happen. So do like in school: Memorize it.

2 Likes

Now I get it.

I must admit it makes poor sense, but at least I know where to stand when using those page kinds.

Thanks for clarifying.

I assume I chose those terms based on terms used in the code itself. It is easy to pick on decisions in hindsight – some may make more sense than others. This is is one of those not worth even considering trying to change.

Just imagine the havoc if I decided to just switch those around.

Not in a million years would I dare criticize decisions and work of others. My only pestering for finding a sense in this terminology was that, more often than not, I don’t instantly comprehend the sense of some stuff and need more help than others. So that might also have been the case.

Also, of course I don’t think it can be changed now, I was merely opening a channel for discussing how we can counter the confusion often triggered by this terminology (by looking for a sense).

I will think of a place in the doc where page “Kinds” can be listed and explained. This way people won’t be confused anymore by taxonomy/taxonomyTerm and when they are, we’ll redirect them to this doc page/chapter.

This thread intrigued me quite a bit… and I started adding taxonomy stuff to my debugprint partial… and see what happened!!

You will need to zoom out to see/understand the hierarchy.

1 Like