Repository navigation
Add News & Updates section to the Blazor web app home page #219
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or requestin-progressready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agentweb-app
Description
Why
In #213 (PR #214), a News & Updates section was added to the Android MAUI app's home page (/), rendering the repository's docs/news.md feed (and any referenced images under docs/assets/). Bringing this same News & Updates section to the Blazor web app home page (src/NoteBookmark.BlazorApp/Components/Pages/Home.razor) will give web users visibility into product updates as well.
Proposed scope
- Add a News & Updates section on the Blazor web app home page (
/insrc/NoteBookmark.BlazorApp/Components/Pages/Home.razor). - Load and render the Markdown feed from
docs/news.md(e.g., fetched fromhttps://raw.githubusercontent.com/fboucher/NoteBookmark/v-next/docs/news.mdor shared via a common service/component, resolving relativeassets/image URLs tohttps://raw.githubusercontent.com/fboucher/NoteBookmark/v-next/docs/assets/). - Use safe Markdown-to-HTML rendering with Markdig (
DisableHtml()and URL sanitization, matchingNewsFeedServiceinNoteBookmark.MauiApp). - Cache or gracefully handle network/fetch failures by displaying a friendly fallback message (
Welcome to NoteBookmark! Check back here for product updates.) instead of throwing or breaking the home page. - Consider sharing the Markdown parsing/sanitization logic between
NoteBookmark.MauiAppandNoteBookmark.BlazorApp(for example inNoteBookmark.SharedUIorNoteBookmark.Domain) to avoid duplication.
Relevant files
src/NoteBookmark.BlazorApp/Components/Pages/Home.razor: Web app home page where the News & Updates section should be displayedsrc/NoteBookmark.MauiApp/Components/Pages/Home.razor: Existing MAUI home page implementation for referencesrc/NoteBookmark.MauiApp/Data/NewsFeedService.csandsrc/NoteBookmark.MauiApp/Data/INewsFeedService.cs: Existing MAUI news feed fetching, Markdig rendering, asset URL resolution, and HTML sanitizationdocs/news.md: The Markdown news feed source
Acceptance criteria
- The Blazor web app home page (
/) displays a News & Updates section styled consistently with the existing Fluent UI layout. -
docs/news.mdcontent (including links and relative images underdocs/assets/) is safely rendered from Markdown to HTML. - A friendly fallback message is shown if the news feed cannot be fetched or read.
- Unit tests cover the news feed rendering, asset URL rewriting, and fallback behavior for the web app.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestin-progressready-for-agentFully specified, ready for an AFK agentFully specified, ready for an AFK agentweb-app
Projects
- StatusShow more project fieldsMerged
Activity
fboucher-os commentedon Oct 26, 2026
Agent Brief
Category: enhancement
Summary: Add a News & Updates section to the Blazor web app home page that safely renders the repository's Markdown news feed with a graceful fallback.
Current behavior:
The MAUI app home page includes a News & Updates section backed by
INewsFeedService/NewsFeedService, which fetches the repository'snews.mdMarkdown feed, resolves relativeassets/image references, converts Markdown to HTML using Markdig with raw HTML disabled, sanitizes URL attributes, and falls back to<p>Welcome to NoteBookmark! Check back here for product updates.</p>if the feed is unavailable. The Blazor web app home page (/) currently displays only the static welcome card, feature overview cards, and technology badges, with no News & Updates section.Desired behavior:
/) displays a News & Updates section styled consistently with the existing Fluent UI layout.docs/news.md, e.g. fromhttps://raw.githubusercontent.com/fboucher/NoteBookmark/v-next/docs/news.md), resolving any relativeassets/image URLs so images render properly in the web app.DisableHtml()and URL scheme sanitization (http,https,mailtoforhref, and safe image sources forsrc), preventing unsafe HTML or script injection.Welcome to NoteBookmark! Check back here for product updates.).Key interfaces:
INewsFeedService(GetHtmlAsync(),RefreshAsync(),FeedUpdated) andNewsFeedService— existing news feed contract and implementation in the MAUI app; can be adapted, shared, or implemented for the Blazor web app DI container.Homepage component (@page "/") — renders the News & Updates section within the Fluent UI layout.MarkdownPipeline(DisableHtml()) and HTML attribute sanitization logic — ensures only safehref/srcURLs are emitted in the renderedMarkupString.Acceptance criteria:
/) renders a News & Updates section styled consistently with the Fluent UI page layout.assets/) is converted to HTML with raw HTML disabled and URL attributes sanitized.assets/image paths (excluding path traversal segments like..) are resolved so images display properly in the browser.<p>Welcome to NoteBookmark! Check back here for product updates.</p>without throwing an unhandled exception.Out of scope:
docs/news.mdfeed ordocs/assets/directory.feat(web-app): add News & Updates section to Blazor home page (#219) (#…
fboucher commentedon Oct 27, 2026
in v-next
v 1.4.6 - Improves AI configuration, adds dynamic news feed, and enfo…