- handbook
- Company
- Company
- Board & Investors
- Communications
- Decision making and project management
- Guides
- principles
- Remote Work
- Security
- Business Continuity & Disaster Recovery Policy
- Information Security Roles and Responsibilities
- Operations Security Policy
- Risk Management Policy
- Third-Party Risk Management Policy
- Human Resources Security Policy
- Incident Response Plan
- Cryptography Policy
- Secure Development Policy
- Information Security Policy and Acceptable Use Policy
- Data Management Policy
- Hardware Security Policy
- Access Control Policy
- Asset Management Policy
- strategy
- values
- Operations
- Product
- Blueprints
- Feedback
- Glossary
- Market Segments
- Metrics
- Node-RED Dashboard
- Personas
- Pricing Principles
- Principles
- Product Growth
- Strategy
- Versioning
- Engineering & Design Practices
- Design
- Engineering
- Contributing
- Front End
- Packaging Guidelines
- Platform Ops
- Incident Response
- Observability
- FlowFuse Dedicated
- Staging Environment
- Production Environment
- Deployment
- Update Stacks on Production
- Self Hosted Assistant
- Project Management
- Releases
- Security Policy
- Support
- tools
- Website A/B Testing
- Internal Operations
- People Ops
- Coaching Plans
- Code of Conduct
- Compensation
- Expenses
- Hiring
- Holiday & Leave
- Job Descriptions
- CEO
- CTO
- Account Executive
- Product Marketer
- Engineering Manager
- Solutions Engineer
- VP of Sales
- Developer Relations Advocate
- Chief of Staff
- Product Manager
- PeopleOps Policies
- Performance review
- Summit
- Marketing department
- Marketing
- blog
- Brand Voice
- Community
- Company Messaging
- Customer Stories
- Events
- FlowFuse for Education
- How we work
- Lead Activation
- Lead Generation
- Marketing - Website
- Marketing Programs
- Social Media
- Video
- Webinars
- Sales department
- Sales
Blog
Blogging Process
Content creation and blogging are effective ways to communicate with our community and are tied to our SEO performance (that we track in this dedicated dashboard and our Social Media Strategy. The process for publishing a blog is as follows:
- Create an initial issue or tie your blog to one of your scheduled issues here.
- Issues should be assigned a date, which should be posted here in this GitHub projects. The target date for review should be at least three working days before the planned posting date on social media. Check the social media planning and posting section.
- Create an art request for a blog tile to go with your article and share a deadline for when you're planning it to go live. This image will be used not only on the web, but also when the content is promoted on socials.
- Create a Pull Request on the website repository with your Blog Content.
- Assign yourself as an Assignee.
- Convert to Draft
- Generate a temporary, AI-generated blog tile for your article to ensure the content is publish-ready from the start.
- No Reviews shall be done until the PR is “Ready for Review”
- Assign two reviewers
- One Reviewer for Content
- One Reviewer for SEO.
- If the content is time-sensitive, please make sure everyone involved is aware of this.
- Content will be reviewed first.
- SEO will be reviewed second.
- When both reviews are done*, the Author or SEO reviewer can merge. In the event of an external author, SEO/content review will merge.
- Once merged, the article can be promoted on FlowFuse social channels by either the author or the Social Media Manager. Check the social media planning and posting section for guidance and considerations.
Blog Tile Creation Process
The blog tile is generated with AI to ensure fast, unblocked publishing and visual consistency across all articles.
This allows every post to move through review and publication without depending on design availability.
Generate a Tile With Nano Banana Pro
By generating a tile immediately, we ensure:
- Fast turnaround
- Asynchronous, non-blocking content flow
- Consistent visual completeness across all new posts
Requirements
- Enable both modes: thinking and Nano Banana.
- Always attach at least three PNG or JPG reference images from this folder
- All attached reference images must use the same background color (light indigo or dark indigo).
- To choose the correct background color, check the most recently published article:
- If the latest tile uses a light background, generate a dark one next, and vice versa.
Basic Prompt (Recommended for Speed)
Create a 1600 × 900 px image for this article:
[insert the article’s Netlify preview URL]
Use the attached images as a style reference. It should include:
- A background using the same colour palette
- The image title, using Heebo Regular and the same colour used for titles in the reference images
- An image, diagram, or isometric illustration that represents the content of the article
Optional Prompt Refinement
- You may refine the prompt if you already know the desired visual direction.
- For example, if you want a diagram-style tile:
- Attach only diagram-based reference images.
- Provide a description of the diagram or include Mermaid code.
About the Watermark
Images generated with Nano Banana Pro will include the Gemini watermark.
This is acceptable and supports fast publishing.
Design Team Visibility
After generating the temporary tile, be sure to open an art request and attach the generated tile, so the design team is aware of the asset.
This does not block publishing — it simply allows designers to review the temporary tile later and update it if a final, on-brand version is needed.
Blog CMS
When creating a blog post there are several headers which are used by the CMS to populate the blogs as well as the blog index page. e.g:
---
title: The title
subtitle: The subtitle
description: The description
date: 2022-12-20
authors: ["rob-marcer"]
image: /blog/2022/12/images/tile-image.png
video: dteXgcBXUnk # Optional: YouTube video ID to use instead of image in hero section
tags:
- posts
- node-red
- how-to
---
above more
<!--more-->
below more
Title
The title of the page can be seen on both the blog index and the articles.
Subtitle
The subtitle is only shown on the articles.
Description
Provides the (OpenGraph) description for social media sharing and may appear on search engine results pages. Also used on the /blog page for past articles. Keep it unique, simple, and concise, capturing the essence of the content within 80 to 220 characters, ideally around 160.
Date
The data can be seen on both the blog index and the articles.
The date field in the blog post front matter serves a crucial role in determining when a blog post is published. You can set this field to a future date if you wish to schedule your blog post for publication on a specific day. See the Scheduling a blog post section for more details.
Authors
The author can be seen on both the blog index and the articles. If you need to add multiple authors, it can be achieved in this way:
authors: ["rob-marcer", "joe-pavitt"]
If the authors are FlowFuse team members, the names need to be formatted inline with the file names found here
If they're not FlowFuse team members, they need to be added to the guests list. Duplicate any of the files already in that folder, proceed to change the name of the file and update the info inside the json file. You'll also need to add a headshot in the images/team folder following the same name convention as the rest of the files.
Video
You can include a YouTube video as the hero content instead of an image by adding a video field with the YouTube video ID:
---
title: The title
video: dteXgcBXUnk
---
The video ID is the part after v= in a YouTube URL. For example:
- URL:
https://www.youtube.com/watch?v=dteXgcBXUnk - Video ID:
dteXgcBXUnk
When a video field is present, it takes precedence over the image field in the hero section of the blog post. The video will be embedded using the lite-youtube component for better performance and faster page load times.
Note: You should still provide an image field as a fallback for social media previews and RSS feeds.
Tags
Tag your content appropriately from the collection of tags that help us manage our blog content. They include:
node-redflowfusehow-todashboardcommunityreleasesnewsunified-namespace
There's a page with a collection of posts for each tag in that list.
Custom Tags
You can also add your own custom tags. While these won't create a new page with a collection of posts, they will help suggest related articles. Keep in mind that for an article to be considered related, the majority of tags must match, with allowance for a difference in one tag.
Meta Keywords
Additionally, the tags you assign to your content will also be used as meta keywords for each article, alongside the default keywords.
Adding Images
Images can be added into the respective /blog/<year>/<month>/images folder.
The image can then be referenced in the markdown file like so:
{data-zoomable}
<figcaption>Caption Here</figcaption>
Alt Textis the text that will be displayed if the image fails to load../images/<image>.pngis the path to the image.{data-zoomable}is an optional attribute that allows the image to be zoomed in when clicked. It is recommended to use this as users can often explore images in more detail.<figcaption>Caption Here</figcaption>is an optional caption that will be displayed below the image. It is recommended to use these, as it makes the article easier to read.
More tag
The <!--more--> tag is used to define the text shown in the blog index from each article.
Example blog index item based on the header above

Example blogs based on the header above

Rendering Node-RED Flows
The blog uses a flow renderer to make it easier for users to understand what the flow looks like and how to use them. Furthermore it automatically provides a download and copy button too for users to use what they've learned.
To render a flow you'll need to export it to JSON in Node-RED and paste it in a
renderFlow shortcode:
{% renderFlow %}
<flowJSONHere>
{% endrenderFlow %}
Writing content
FlowFuse blog posts are written in markdown. To learn how to style content and have a nice markup for your content, please read the markdown guide
Scheduling a blog post
By setting a future date, the blog post will be automatically scheduled for publication on the specified date. This allows contributors to plan ahead and coordinate blog posts with events or marketing strategies. The post will be published at the next deploy after the date is set, a daily deploy is done at noon GMT.
Feel free to request reviews and merge your blog post when it's ready, even if the publication date is set in the future. This provides the flexibility to collaborate, make revisions, and ensure the content is polished well before it goes live. The post, to be published in the future, will be rendered when developing locally and on deployment previews.
By utilizing the scheduling feature, we can maintain a consistent and organized publishing schedule without the need for last-minute adjustments.