FleekSiteFLEEKSITE
On this section
Reference

Post type reference.

Every post has a numeric type, and that one number drives three things: the name the post is exposed under, the alias you read it by in a collection, and the layout permalink that wraps it. This page is the single table that lines them all up.

The twenty post types

The Type is the number stored on the post. The Collection alias is the name you pass to {% collection %}. The Layout permalink is the permalink of the template the pipeline wraps the post in when the post has no layout of its own.

TypeNameCollection aliasLayout permalink
2blogblogs:blog
3productproducts:product
4landinglandings:landing
5picturepictures:picture
6audioaudios:audio
7videovideos:video
8pagepages:page
9testimonialtestimonials:testimonial
10locationlocations:location
11eventevents:event
12collectioncollections:collection
13categorycategory *:category
14shipping_optionshipping_options:shipping_option
15evaluationevaluations:evaluation
16applicationapplications:application
17jobjobs:job
18questionquestions:question
19serviceservices:service
20coursecourses:course
21classuse type: 21 *:class

How the columns relate

The three columns come from two different mechanisms, and it is worth knowing which is which.

The collection alias is resolved by the {% collection %} tag: it lower-cases the source, removes a single trailing "s", and looks the result up in the type list. Because only one "s" comes off, both the singular and the simple plural resolve to the same type, so blog and blogs both mean type 2. Two names are irregular and are marked with an asterisk above:

  • category (type 13): the natural plural categories does not resolve, because removing one "s" leaves categorie. Use the singular category.
  • class (type 21): no bare alias reaches it, because removing the trailing "s" from class leaves clas. Query it as posts with an explicit type instead: {% collection posts, items, type: 21 %}.

The layout permalink is resolved by the pipeline from the post's numeric type through a fixed table, independent of the collection alias. It is the permalink, of the form :name, of the site template that wraps a post of that type. Because this path uses the number and not the alias, a class post (type 21) still renders through its :class layout even though its collection alias does not resolve. How that wrapping template is chosen, and how a post can override it, is covered under type-based layouts.

System types

Two further types sit above the content range and are platform internals, not content:

TypeNamePurpose
101DOMAINInternal domain record.
102SITE_CONFIGURATIONInternal site configuration record.

Both sit above the type < 100 cutoff that {% collection posts %} applies by default, so they never appear in a listing. They have no collection alias and no layout permalink, and they are not offered as plugin permission resources. Treat them as platform internals you do not query.