• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

scriptype / writ-cms / 18160146944 / 2
39%
master: 39%

Build:
DEFAULT BRANCH: master
Ran 01 Oct 2025 11:06AM UTC
Files 109
Run time 3s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 Oct 2025 10:55AM UTC coverage: 72.804% (-2.7%) from 75.46%
18160146944.2

push

github

scriptype
[CM2] Introduce facets

An interactive rebase of months worth of thinking, doing and not doing.

Faceting is similar to the earlier tag indexing. With facets, posts can be indexed by any fields, not just tags.

With this, tag indexing is no longer a special case. There's no need for modelling or rendering tags.

Facets are created based on 'facetKeys' of a contentType. A simple array of keys works.

Now, each collection has a new route: '/by' which is listing all available facet views in the collection.

And each facet view has a route: /by/facet-name. E.g. /by/author, /by/date, /by/tags. In that page, possible values for the facet can be listed.

And each possible value for the facet has the route: /by/facet-name/value. E.g. /by/author/enes, /by/date/1970-11-23, /by/tags/css. There, posts matching the criteria can be shown.

These new render targets should be implemented inside the theme, and that's what should come soon. So far, working with a local laboratory that has a custom theme.

A notable side-effect of turning a field into a facet is that the field becomes an object in the shape of: { value, facetPermalink }. So, if 'date' field is a facet, templates should do: {{date.value}} to display its value and {{date.facetPermalink}} to render a link to the facet value page in the collection. The name 'facetPermalink' is so ugly tho.

If a facet field links to another entry, then the field's value, which is populated with the linked entry, just gets a 'facetPermalink', to make it possible to render links both to the linked entry and to the facet value page.

Facets work across deep category tree. So, all of the mentioned routes exist at each stop.

E.g.
site.com/photos/by/subject,
site.com/photos/astro/by/subject,
site.com/photos/astro/deep-space/by-subject

An 'afterEffects' mechanism is invented for models. Facets needed to be collected after the tree-building and linking are finished. So, all the way from the root, each model does whatever side-eff... (continued)

494 of 810 branches covered (60.99%)

Branch coverage included in aggregate %.

2282 of 3003 relevant lines covered (75.99%)

34.67 hits per line

Source Files on job 18160146944.2
  • Tree
  • List 109
  • Changed 108
  • Source Changed 108
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 18160146944
  • 30316503 on github
  • Prev Job for on master (#14481949487.7)
  • Next Job for on master (#18189769398.2)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc