Dynamic Variables for Pages
Pages in Pagecord support dynamic variables that let you automatically display lists of posts, tags, and other content. These variables are processed when the page is rendered, so your content stays up-to-date without manual editing.
Basic Syntax
Dynamic variables use double curly braces:
{{ variable_name }}
You can add parameters using a colon:
{{ variable_name | param: value }}
Multiple parameters are separated by pipes:
{{ variable_name | param1: value1 | param2: value2 }}
Available Variables
Posts
Display a list of your posts with dates and links.
Basic usage
{{ posts }}
With a limit
{{ posts | limit: 10 }}
Filter by tag
{{ posts | tag: photography }}
Filter by multiple tags
Shows posts matching any of the tags
{{ posts | tag: photography, travel }}
Filter by year
{{ posts | year: 2025 }}
Sort order
By default, posts are shown newest first. Use sort: asc to show oldest first — useful for chronological archives.
{{ posts | sort: asc }}
Exclude posts with a tag
{{ posts | without_tag: personal }}
Exclude posts with multiple tags
{{ posts | without_tag: personal, draft }}
Only posts with a title
{{ posts | title: true }}
Only posts without a title
{{ posts | title: false }}
Only posts sent in a newsletter
{{ posts | emailed: true }}
Only posts not sent in a newsletter
{{ posts | emailed: false }}
Combine parameters
{{ posts | limit: 5 | tag: photography }}
Posts by Year
Display posts grouped by year with headers — perfect for archive pages.
Basic usage
{{ posts_by_year }}
Filter by tag
{{ posts_by_year | tag: photography }}
Exclude posts with a tag
{{ posts_by_year | without_tag: personal }}
Only posts with a title
{{ posts_by_year | title: true }}
Only posts sent as newsletter
{{ posts_by_year | emailed: true }}
Sort order
Show years in chronological order (oldest first) instead of the default newest first.
{{ posts_by_year | sort: asc }}
Tags
Display a list of all tags used in your posts.
As a bullet list
{{ tags }}
Inline (comma-separated)
{{ tags | style: inline }}
Last Updated Date
Display the date the page was last updated. This is handy for pages that evolve over time, such as a Now page or a reading log.
{{ updated_at }}
By default, the date is shown in your blog's locale format. Use the format parameter for a specific style:
| Format | Example |
|---|---|
| (default) | 12 Sep 2026 (locale-specific) |
datetime |
12 Sep 2026 14:30 (locale-specific + time) |
long |
12 September 2026 (English only) |
long_datetime |
12 September 2026 14:30 (English only) |
dd_mm_yyyy |
12/09/2026 |
mm_dd_yyyy |
09/12/2026 |
yyyy_mm_dd |
2026-09-12 |
{{ updated_at format: datetime }}
Note: long and long_datetime always display month names in English. For non-English blogs, use the default or a numeric format.
You can style the output with the CSS class updated-at.
Email Subscription
Embed an email subscription form for readers to subscribe to your blog (premium customers only).
{{ email_subscription }}
Note: This only appears if you have email subscriptions enabled in your blog settings.
Contact Form
Embed a contact form so readers can send you a message directly from your blog.
{{ contact_form }}
Note: This is a premium feature and only appears for subscribers and users on a free trial.
Examples
Simple Archive Page
Create a page called "Archive" with this content:
Here's everything I've written:
{{ posts_by_year }}
Recent Posts on your Home Page
My latest Posts
{{ posts | limit: 5 }}
Topic Index
My Photography Posts
{{ posts | tag: photography }}
My Travel Posts
{{ posts | tag: travel }}
Browse posts by topic:
{{ tags }}
Tips
- Dynamic variables only work in pages, not blog posts
- If a variable isn't recognized, it will appear as-is in your content
- The posts list automatically excludes unpublished and scheduled posts
- Tags are sorted alphabetically