Commit Graph

16 Commits

Author SHA1 Message Date
Atanas Korchev
f1b2024f82 Don't disallow llms.txt and .md in robots.txt
They already send X-Robots-Tag: noindex, which keeps them out of search results while staying readable by AI agents. A robots.txt Disallow blocks fetching entirely (so the noindex is never seen) and blocks agents from llms.txt, defeating its purpose.
2026-05-29 20:25:50 +03:00
Atanas Korchev
f45f674875 Emit Content-Signal in generated robots.txt
Add ai-train=yes, search=yes, ai-input=yes to the blazor.radzen.com
robots.txt generator so the site explicitly signals AI content usage
preferences, matching the agent-friendly posture across Link headers,
llms.txt, markdown twins, and the MCP server card.
2026-04-18 15:27:24 +03:00
Atanas Korchev
7f1c50926b Derive md/index.md from Index.razor and extract RadzenText attribute form
Run the existing Razor-to-markdown pipeline on Index.razor so the
homepage markdown twin mirrors what the page actually renders, instead
of reusing the llms.txt site index.

Extend ExtractRadzenTextContent to cover the patterns the homepage
uses:
  * Recognise TagName.H1..H6 (preferred) and TextStyle.DisplayH1..H6
    as headings, not just TextStyle.H2..H6.
  * Read the Text="..." attribute when the tag body is empty, so
    self-closing RadzenText elements (subscription cards, testimonials)
    contribute content.
  * Track self-closing tags in the depth loop so the extractor exits
    cleanly on <RadzenText .../> lines.
  * Replace the naive @expression strip with a balanced-parens variant
    that no longer leaves format-string fragments like "MMM dd, yyyy").
2026-04-18 13:24:43 +03:00
Atanas Korchev
8d88628174 Generate md/index.md as homepage markdown twin
The root URL / had no markdown twin, so the content negotiation
middleware fell back to HTML for Accept: text/markdown. Mirror llms.txt
into md/index.md so agents requesting the homepage get the same
structured site overview.
2026-04-18 12:51:46 +03:00
Atanas Korchev
aff8743e92 Update component count from 100+ to 110+ 2026-03-12 13:40:10 +02:00
Atanas Korchev
15b80de458 Improve AI discoverability: rewrite llms.txt preamble and update AI page SEO
Rewrite the llms.txt preamble to highlight key differentiators (Material 3/2/Fluent/Bootstrap themes, companion IDE, MCP server) instead of the generic description. Update the AI page with a keyword-rich title, meta description, and H1.
2026-03-03 22:54:16 +02:00
Atanas Korchev
f1b3fa9721 Replace dynamic sitemap with build-time static generation using git lastmod dates
Generate sitemap.xml and robots.txt at build time via RadzenBlazorDemos.Tools
instead of serving them dynamically through SitemapController and Razor pages.
Uses git log to embed accurate per-page last-modified dates.
2026-03-03 21:10:12 +02:00
Atanas Korchev
ea386e09f6 Improve README and llms.txt for AI discoverability
Add social proof, quick-start snippet, component inventory, and Pro subscription info to README. Update llms.txt generator with matching intro, setup instructions, and pricing link.
2026-02-21 14:36:53 +02:00
Atanas Korchev
39c2c6857a Generate separate API reference markdown files with Roslyn-extracted types
Extract parameter/event types from component source via Roslyn syntax
parsing, resolve inherited properties across the class hierarchy, and
generate per-component API reference files at api/{component}.md with
typed Parameters, Events, and Methods tables. Component pages now link
to the separate API file instead of inlining the tables.
2026-02-18 08:13:21 +02:00
Atanas Korchev
759cd71259 Add inline Keywords to generated component markdown pages
Parse Tags from ExampleService.cs via Roslyn (handling new[], string[],
and C#12 collection expressions) and emit an inline Keywords line in each
generated .md page. The keywords are placed after the description so they
land in the first chunk during heading-based splitting, directly enriching
embedding vectors for improved RAG retrieval.
2026-02-17 20:54:12 +02:00
Atanas Korchev
adc31c4024 Generate llms.txt index and per-component markdown documentation
Rewrite the RadzenBlazorDemos.Tools to produce a spec-compliant llms.txt
index with semantic grouping (parsed from ExampleService.cs via Roslyn) and
individual .md files per component page enriched with API reference tables
extracted from Radzen.Blazor XML documentation. Primary component pages
include full parameter/event tables; sub-feature pages link back to the
primary page's API reference.

Add a MapGet endpoint in the Host to serve .md files at their corresponding
URLs (e.g. /accordion.md). Update the Dockerfile to restore the Tools
project dependencies for proper Docker builds.
2026-02-17 18:28:03 +02:00
Atanas Korchev
7b96fe3cb4 Fix llms.txt generator: preserve @code blocks, fix @page regex, remove noise
- Add \b word boundary to directive regex so @page no longer matches
  @pageSizeOptions, @pageIndex etc., which was stripping attribute values
  and leaving broken Razor markup in the output.
- Stop stripping @code blocks from example files — they contain the C#
  code (methods, fields, event handlers) needed to understand examples.
- Exclude AccessibilityPage, GetStarted, and ThemeServicePage from
  generation (generic setup/WCAG content, not component documentation).
- Skip "Keyboard Navigation" sections (shortcuts rendered from C# data
  that the generator cannot extract, leaving empty placeholders).
- Skip "Radzen Blazor Studio" sections (IDE-specific, not component API).
2026-02-09 20:17:33 +02:00
Atanas Korchev
9a58c3a35a Exclude sub-component pages from llms.txt sections
Sub-component .razor files without @page directives were getting
standalone sections with rendered placeholder text instead of being
embedded as code snippets via <RadzenExample> in their parent pages.
2026-02-09 17:35:55 +02:00
Atanas Korchev
876c248a8e Cleanup llms.txt from marketing content and other noise. 2026-02-09 17:12:48 +02:00
Vladimir Enchev
0696cd20d5 Various warnings resolved and TreatWarningsAsErrors enabled (#2409) 2026-01-07 09:29:58 +02:00
Vladimir Enchev
739ebde6a8 Llmtxt generation added (#2379)
* RadzenBlazorDemos.Tools added

* GenerateLlmsTxt Condition update to Release

* GenerateLlmsTxt updated again

* code fixed

* content generation cleaned

* razor/html tags removed from example descriptions and the code is now inside codeblock

* more fixes
2025-12-05 10:14:15 +02:00