Variables
What are variables?
Variables are used to define what your outgoing post will look like when sent to a service. For example, if you wanted to send the title and link of a post to Mastodon, your output config would look like this:
{{ title }} {{ link }}
If you were creating a new post in a static site on GitHub, you would need to use more variables to fill out the frontmatter and might want the content in markdown:
---
title: {{ title }}
permalink: /blog/{{ date:iso }}-{{ title:slug }}/index.html
date: {{ datetime:iso_full }}
---
{{ content:markdown }}
Below are all the variables available in EchoFeed but you don't need to remember all these - the output editor will show them to you and also what they'll look like in the preview.
Feed Variables
Data from feeds is exposed as variables in EchoFeed to use in outgoing posts. Feeds have the following data available:
Variable | RSS | Atom | JSON |
---|---|---|---|
title |
✅ | ✅ | ✅ |
title:slug |
✅ | ✅ | ✅ |
author |
✅ | ✅ | ✅ |
link |
✅ | ✅ | ✅ |
external_link |
❌ | ❌ | ✅ |
content |
✅ | ✅ | ✅ |
content:plain |
✅ | ✅ | ✅ |
content:markdown |
✅ | ✅ | ✅ |
summary |
✅ | ✅ | ✅ |
hashtags |
❌ | ❌ | ✅ |
Date Variables
These variables are ideal for creating file paths or filling in frontmatter data on markdown posts.
Variable | Output |
---|---|
date:iso |
2024-04-09 |
date:int |
09-04-2024 |
date:us |
04-09-2024 |
datetime:iso |
2024-04-09 08:20 |
datetime:iso_full |
2024-04-09T08:20:32.000000Z |
datetime:int |
09-04-2024 08:20 |
datetime:us |
04-09-2024 08:20 |
date:day |
09 |
date:month |
04 |
date:year |
2024 |
Custom Variables
If your feed uses namespaced atrributes (for RSS and Atom) or custom extensions (for JSON feed), EchoFeed will expose those as variables.
RSS and Atom
For example, Letterboxd has information about the watched movie in the feed so these are available in the output editor:
custom.letterboxd.watchedDate
custom.letterboxd.rewatch
custom.letterboxd.filmTitle
custom.letterboxd.filmYear
custom.letterboxd:memberRating
custom.tmdb.movieId
JSON Feed
For custom extensions in JSON feeds, these are exposed in the same way under the custom
namespace. So the custom extension for this feed item:
{
"id" : "/blog/link-dump-3/index.html",
"title": "My Cool Blog Post",
"url": "https://example.com/blog-post",
"content_html": "<p>Some great content</p>",
"_customExtension": {
"about": "https://example.com/about/",
"text": "My Cool Blog Post https://example.com/blog-post",
},
"date_published": "2024-03-30T14:11:29.443Z",
}
Would be available as:
custom._customExtension.about
custom._customExtension.text