Feed views
Built-in feeds expose three presentation views by default: default, simple, and calendar. An opt-in fourth view, shorts, adds a full-screen photo/video player.
default is the feed's normal card/grid page and is always required. simple is the compact
/simple/ page, and calendar is the interactive ?view=calendar peer view.
To disable an alternate view for every feed, set site-wide feed defaults:
[markata-go.feed_defaults]
views = ["default", "calendar"]
A feed can override that set:
markata-go.feeds
slug = "notes"
views = ["default", "simple"]
Omitting views inherits the site defaults. Unknown view names are configuration errors, and an
explicit list must include default. Disabling simple also stops Markata from generating that
feed's /simple/ HTML output even when formats.simple_html is enabled. Disabling calendar
removes Calendar controls and avoids loading its CSS, JavaScript, and hidden calendar source data.
Output-format settings for RSS, Atom, JSON, Markdown, text, and sitemaps are independent of views.
An empty list is invalid. Config overlays replace the view list rather than
adding to it. Keep default in every explicit list. Rebuilding after disabling
Simple removes its stale generated /simple/ pages.
See feed configuration and the feed guide for pagination and output-format options.
Shorts view
The Shorts presentation uses the existing feed's selected posts and sort order, without copying the filter. To enable it for a Shots gallery:
markata-go.feeds
slug = "shots"
views = ["default", "simple", "calendar", "shorts"]
shorts_path = "/shorts/"
[markata-go.feeds.templates]
html = "feed-photo-grid.html"
The grid remains at /shots/, and the full-screen player is available at
/shorts/. A URL fragment such as #id=shots%2Fdog identifies an individual
post. The reader traverses the complete feed using static JSON chunks,
independent of normal feed pagination. Only one video plays at a time;
surrounding posts are loaded as previews. The previous and next buttons stay
fixed at the right center of the screen, separate from the video controls. Use
j/k or the up/down arrows to move, Escape to return to the grid, Space to
play or pause a video, left/right arrows to seek five seconds, and m to mute
or unmute.
If not configured, the Shorts route defaults to /<feed-slug>/shorts/. Only enable Shorts on a feed that should expose a full-screen player.
Adaptive HTML layouts
The main HTML feed can use classic, editorial, gallery, reading,
timeline, or resources. Select auto to choose from the feed's post
types. The default is classic to preserve existing sites.
markata-go.feeds
slug = "archive"
presentation = "editorial"
markata-go.feeds
slug = "ping"
presentation = "timeline"
markata-go.feeds
slug = "stars"
presentation = "resources"
Site-wide defaults may be set in [markata-go.feed_defaults] with
presentation = "classic" (or a different layout). A feed's own
presentation overrides that default.
auto chooses a specialized layout when at least 80% of eight or more
posts are photos, notes, links, or articles. Feeds with at least twelve
posts and three content types represented by two posts each use editorial
grouping. Smaller or unclassified feeds retain the classic view.
Custom HTML templates, such as feed-photo-grid.html, take precedence
over automatic layout detection.
Editorial grouping uses Monday-start publishing weeks. Weekly headings show relative
calendar time (This week, Last week, 2 weeks ago, 2 months ago, 2 years ago)
with the exact week range as a smaller caption. Relative labels are rendered
at build time and refreshed in the browser so long-cached static pages remain
accurate without a rebuild. Dates and weekly grouping remain unchanged.
Articles are
emphasized, substantial links and video follow, and all photos from a
publishing week appear together in a single responsive gallery. One-photo
weeks also use the gallery layout rather than stretching a photo into a
full-width card. Each photograph retains its own publication date, caption,
and permalink, even when photos come from different days. Brief notes are
visually quieter. featured: true on a post explicitly elevates it
within its week. Each post retains its original HTML card and metadata.
Presentation never modifies RSS, Atom, JSON, Simple, Calendar, source ordering, or the existing pagination boundaries. Weeks that span two HTML pagination pages continue on the next page. JS-pagination feeds keep classic markup because the JS paginator requires direct child cards.