Skip to content

Render every FAQ through one Faq component - #5859

Open
Yndira-E wants to merge 4 commits into
mainfrom
feat/unify-faq
Open

Yndira-E wants to merge 4 commits into
mainfrom
feat/unify-faq

Conversation

@Yndira-E

@Yndira-E Yndira-E commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Description

Every FAQ on Nuxt pages now renders through Faq (renamed from BlogFaq), including /pricing/ and /integrations/opcua/, which had their own markup and raw HTML answers. This prepares FAQ links to be tracked like the rest of the site's CTA links, the follow-up to #5857 that comes in the next PR.

  • Answers are parsed into nodes instead of HTML strings, so no FAQ renders with v-html and a link can become a component. Output is unchanged for all existing answers.
  • The pricing and OPC UA answers moved from raw HTML to the same markdown subset every other FAQ uses.
  • The inline parser now lives in inline-markdown.mjs. The industry Applications copy and the remote device management copy render through the same InlineMarkdown component.

Heads-up: #5811, #5793 and #5747 add <BlogFaq> usages. They share no files with this PR, so no merge conflict will flag it: whichever merges second needs to rename them to <Faq>, or that FAQ renders empty while the build still passes.

Follow-ups:

  • Track FAQ links to CTA destinations, in the inline CTA link PR.
  • Generate FAQ structured data (JSON-LD) inside Faq, so pages don't have to remember to add it (/integrations/opcua/ has none today) and answers go out as plain text instead of markdown. On pricing, this PR swaps HTML, which Google accepts, for markdown. Impact is low, since Google only shows FAQ rich results for government and health sites.

Related Issue(s)

Checklist

  • I have read the contribution guidelines
  • I have considered the performance impact of these changes
  • Suitable unit/system level tests have been added and they pass
  • Documentation has been updated
  • For blog PRs, an Art Request has been created (instructions)

Note

Render all FAQ sections through shared Faq component

  • Renames BlogFaq to Faq and routes every FAQ section through this single component, including the custom accordions on the OPC UA and pricing pages.
  • Replaces v-html string injection with structured parsing in faq-answer.mjs and inline-markdown.mjs, rendering typed paragraph and list nodes through InlineMarkdown.vue.
  • Replaces v-html in non-FAQ copy with InlineMarkdown in Applications.vue and remote-device-management.vue.
  • Behavioral Change: FAQ answers and updated copy now render only the supported markdown subset (links, emphasis, lists). Literal HTML tags in answer content render as escaped text instead of HTML elements.

Macroscope summarized e6fa737.

faq-answer.mjs now parses answers into nodes instead of HTML strings, and
InlineMarkdown renders them, so no answer needs v-html. Pricing and the
OPC UA page use BlogFaq instead of their own FAQ markup, with answers
moved from raw HTML to the markdown subset.
It renders every FAQ on the site, not just blog posts.
parseInline is shared by InlineMarkdown and FAQ answers, so it gets its own
module; faq-answer.mjs keeps only the paragraph and list handling.
@netlify

netlify Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for flowfuse-website ready!

Name Link
🔨 Latest commit e6fa737
🔍 Latest deploy log https://app.netlify.com/projects/flowfuse-website/deploys/6ab5693ad7716b0008b14395
😎 Deploy Preview https://deploy-preview-5859--flowfuse-website.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 43 (🟢 up 7 from production)
Accessibility: 95 (no change from production)
Best Practices: 92 (no change from production)
SEO: 92 (no change from production)
PWA: -
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify project configuration.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant