@docsector/docsector-reader 4.1.0 โ 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -6
- package/bin/docsector.js +1 -1
- package/docsector.config.js +15 -0
- package/package.json +1 -1
- package/public/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md +118 -0
- package/public/.well-known/agent-skills/docsector-documentation-authoring/references/authoring-patterns.md +98 -0
- package/public/.well-known/agent-skills/docsector-documentation-authoring/references/block-catalog.md +321 -0
- package/public/.well-known/agent-skills/docsector-documentation-authoring/references/mcp-webmcp.md +90 -0
- package/public/.well-known/agent-skills/docsector-documentation-authoring/references/page-structure.md +101 -0
- package/public/api/manual/http-client.json +91 -0
- package/public/quasar-api/QSeparator.json +39 -0
- package/src/components/DBlockApi.vue +634 -0
- package/src/components/DBlockApiEntry.js +623 -0
- package/src/components/DBlockCodeExample.vue +22 -0
- package/src/components/DBlockSourceCode.vue +2 -4
- package/src/components/DMenu.vue +70 -25
- package/src/components/DPageTokens.vue +8 -0
- package/src/components/api-block-model.js +326 -0
- package/src/components/page-section-tokens.js +53 -1
- package/src/components/source-code-lines.js +17 -0
- package/src/pages/manual/basic/agent-skills.overview.en-US.md +77 -0
- package/src/pages/manual/basic/agent-skills.overview.pt-BR.md +77 -0
- package/src/pages/manual/content/blocks/api-reference.overview.en-US.md +40 -0
- package/src/pages/manual/content/blocks/api-reference.overview.pt-BR.md +40 -0
- package/src/pages/manual/content/blocks/api-reference.showcase.en-US.md +33 -0
- package/src/pages/manual/content/blocks/api-reference.showcase.pt-BR.md +33 -0
- package/src/pages/manual.index.js +57 -0
package/README.md
CHANGED
|
@@ -30,6 +30,7 @@ Transform Markdown content into beautiful, navigable documentation sites โ wit
|
|
|
30
30
|
- ๐ค **AI-Friendly robots.txt** โ Scaffold includes a `robots.txt` explicitly allowing 23 AI crawlers (GPTBot, ClaudeBot, PerplexityBot, GrokBot, etc.)
|
|
31
31
|
- ๐งญ **Content Signals** โ Optional `Content-Signal` directive for declaring AI usage policy (`ai-train`, `search`, `ai-input`) in `robots.txt`
|
|
32
32
|
- ๐งฉ **Agent Skills Discovery Index** โ Optional `/.well-known/agent-skills/index.json` with RFC v0.2.0 schema and SHA-256 digests
|
|
33
|
+
- โ๏ธ **Docsector Authoring Skill** โ Publishable `SKILL.md` that teaches agents Docsector blocks, page patterns, MCP lookup, and WebMCP tools
|
|
33
34
|
- ๐ชช **MCP Server Card** โ Optional `/.well-known/mcp/server-card.json` for MCP server discovery before connection
|
|
34
35
|
- ๐ **WebMCP Browser Tools** โ Optional registration of in-page tools via `navigator.modelContext` for browser agents
|
|
35
36
|
- ๐ **Homepage Link Headers** โ Auto-generated `Link` response headers for agent discovery (`api-catalog`, `service-doc`, `service-desc`, `describedby`) per RFC 8288 / RFC 9727
|
|
@@ -75,11 +76,14 @@ Transform Markdown content into beautiful, navigable documentation sites โ wit
|
|
|
75
76
|
- ๐ **Embedded URL Blocks** โ Use `<d-block-embedded-url url="https://...">...</d-block-embedded-url>` to render curated embeds for YouTube, Vimeo, Spotify, and CodePen with a safe link-card fallback for unsupported URLs
|
|
76
77
|
- ๐งญ **Quick Links Custom Element** โ Use `<d-block-quick-links>` and `<d-block-quick-link>` in Markdown to render rich home navigation cards
|
|
77
78
|
- ๐๏ธ **Cards Custom Element** โ Use `<d-block-cards>` and `<d-block-card>` in Markdown to render linked content cards with optional cover images
|
|
79
|
+
- ๐งพ **API JSON Reference Block** โ Use `<d-block-api src="..." />` in Markdown to render Quasar-compatible API reference UIs from public JSON assets without inventing a new schema
|
|
78
80
|
- ๐๏ธ **API Catalog Well-Known** โ Auto-generates `/.well-known/api-catalog` as Linkset JSON for machine-readable API discovery
|
|
81
|
+
- ๐ง **Docsector Authoring Skill Docs** โ Documents the built-in `SKILL.md` and reference files so agents can learn Docsector blocks, page patterns, MCP lookup, and WebMCP tools from a public manual page
|
|
79
82
|
- ๐๏ธ **Multi-Version History** โ Archive older major versions under `src/pages/.old/<version>/` and expose them at prefixed routes (e.g. `/v0.x/guide/...`) while keeping the current docs at unprefixed routes
|
|
80
83
|
- ๐ท๏ธ **Version Selector Badges** โ Every version in the sidebar selector displays a color-coded badge: green for released, orange for draft, red for deprecated; fully customizable via `badge: { label, color, textColor }`
|
|
81
84
|
- ๐ **Tabbed Code Blocks** โ Group consecutive fenced code blocks into tabs using the `group` and `tab` attributes in the fence info line
|
|
82
85
|
- ๐งช **Live Code Example Blocks** โ Use `<d-block-code-example src="..." />` to render bundled Vue SFC examples with a live preview, GitHub source link, source toggle, and CodePen export for compatible examples
|
|
86
|
+
- ๐ **Accurate Source Code Line Counts** โ Code example headers count visible lines correctly across LF, CRLF, and terminal newlines without inflating the total
|
|
83
87
|
- ๐ **Breadcrumb Path Display** โ Show a file path breadcrumb above code blocks with the `breadcrumb` attribute; renders as clickable path segments
|
|
84
88
|
- ๐จ **File Type Icons** โ Automatically resolves file extension or filename to a Material Icon Theme SVG icon, shown inline in tabs and beside the last breadcrumb segment
|
|
85
89
|
- โ๏ธ **Single Config File** โ Customize branding, links, and languages via `docsector.config.js`
|
|
@@ -525,6 +529,12 @@ The generated payload follows Agent Skills Discovery RFC v0.2.0 and includes:
|
|
|
525
529
|
- `$schema`
|
|
526
530
|
- `skills[]` entries with `name`, `type`, `description`, `url`, `digest`
|
|
527
531
|
|
|
532
|
+
This repository publishes the built-in Docsector authoring skill at:
|
|
533
|
+
|
|
534
|
+
- `/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md`
|
|
535
|
+
|
|
536
|
+
The skill teaches agents Docsector Markdown authoring, all documented blocks, page/source conventions, MCP lookup, and WebMCP browser tools.
|
|
537
|
+
|
|
528
538
|
When `digest` is omitted in config, Docsector computes it automatically from the referenced local artifact and writes it as:
|
|
529
539
|
|
|
530
540
|
- `sha256:{hex}`
|
|
@@ -541,10 +551,10 @@ export default {
|
|
|
541
551
|
schema: 'https://schemas.agentskills.io/discovery/0.2.0/schema.json',
|
|
542
552
|
skills: [
|
|
543
553
|
{
|
|
544
|
-
name: '
|
|
554
|
+
name: 'docsector-documentation-authoring',
|
|
545
555
|
type: 'skill-md',
|
|
546
|
-
description: '
|
|
547
|
-
url: '/.well-known/agent-skills/
|
|
556
|
+
description: 'Author Docsector documentation with Markdown, custom blocks, MCP, and WebMCP.',
|
|
557
|
+
url: '/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md'
|
|
548
558
|
}
|
|
549
559
|
]
|
|
550
560
|
}
|
|
@@ -755,10 +765,10 @@ export default {
|
|
|
755
765
|
schema: 'https://schemas.agentskills.io/discovery/0.2.0/schema.json',
|
|
756
766
|
skills: [
|
|
757
767
|
{
|
|
758
|
-
name: '
|
|
768
|
+
name: 'docsector-documentation-authoring',
|
|
759
769
|
type: 'skill-md',
|
|
760
|
-
description: '
|
|
761
|
-
url: '/.well-known/agent-skills/
|
|
770
|
+
description: 'Author Docsector documentation with Markdown, custom blocks, MCP, and WebMCP.',
|
|
771
|
+
url: '/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md'
|
|
762
772
|
}
|
|
763
773
|
]
|
|
764
774
|
},
|
package/bin/docsector.js
CHANGED
package/docsector.config.js
CHANGED
|
@@ -55,6 +55,21 @@ export default {
|
|
|
55
55
|
toolSuffix: 'docsector'
|
|
56
56
|
},
|
|
57
57
|
|
|
58
|
+
// @ Agent Skills
|
|
59
|
+
agentSkills: {
|
|
60
|
+
enabled: true,
|
|
61
|
+
path: '/.well-known/agent-skills/index.json',
|
|
62
|
+
schema: 'https://schemas.agentskills.io/discovery/0.2.0/schema.json',
|
|
63
|
+
skills: [
|
|
64
|
+
{
|
|
65
|
+
name: 'docsector-documentation-authoring',
|
|
66
|
+
type: 'skill-md',
|
|
67
|
+
description: 'Author Docsector documentation with Markdown, custom blocks, MCP, and WebMCP.',
|
|
68
|
+
url: '/.well-known/agent-skills/docsector-documentation-authoring/SKILL.md'
|
|
69
|
+
}
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
|
|
58
73
|
// @ Home page source
|
|
59
74
|
homePage: {
|
|
60
75
|
source: 'remote-readme',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docsector/docsector-reader",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "A documentation rendering engine built with Vue 3, Quasar v2 and Vite. Transform Markdown into beautiful, navigable documentation sites.",
|
|
5
5
|
"productName": "Docsector Reader",
|
|
6
6
|
"author": "Rodrigo de Araujo Vieira",
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: docsector-documentation-authoring
|
|
3
|
+
description: "Author Docsector documentation with Markdown, d-block custom elements, page structures, blocks, MCP, WebMCP, and agent-readable docs. Use when writing or editing Docsector pages, choosing content blocks, creating examples, documenting APIs, or helping an AI understand Docsector authoring syntax."
|
|
4
|
+
argument-hint: "Describe the Docsector page, block, or documentation task"
|
|
5
|
+
user-invocable: true
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Docsector Documentation Authoring
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
Use this skill when creating, reviewing, or editing documentation for a site built with Docsector Reader.
|
|
13
|
+
|
|
14
|
+
Use it for:
|
|
15
|
+
|
|
16
|
+
- Choosing the right Docsector block for a content need.
|
|
17
|
+
- Writing Markdown pages with Docsector custom elements.
|
|
18
|
+
- Creating overview, showcase, guide, API reference, changelog, or landing content.
|
|
19
|
+
- Finding live Docsector docs through MCP, WebMCP, Markdown negotiation, or `llms.txt`.
|
|
20
|
+
- Teaching an AI assistant how Docsector pages, blocks, and examples are authored.
|
|
21
|
+
|
|
22
|
+
## Expected Outcome
|
|
23
|
+
|
|
24
|
+
- The page uses standard Markdown where Markdown is enough.
|
|
25
|
+
- Rich interactions use the appropriate Docsector custom element.
|
|
26
|
+
- Links, assets, examples, and API JSON use Docsector conventions.
|
|
27
|
+
- The result is easy to scan, accessible, and friendly to both humans and agents.
|
|
28
|
+
- When MCP or WebMCP is available, current Docsector documentation is queried instead of relying only on memory.
|
|
29
|
+
|
|
30
|
+
## Authoring Workflow
|
|
31
|
+
|
|
32
|
+
1. Identify the page purpose: concept, tutorial, API reference, release note, navigation hub, example showcase, or troubleshooting guide.
|
|
33
|
+
2. Use headings to shape the reading path. In normal page content, start with `##` because the page title is supplied by metadata.
|
|
34
|
+
3. Pick the simplest block that communicates the content. Prefer Markdown first, then Docsector custom elements when the layout or interaction needs it.
|
|
35
|
+
4. Keep custom element attributes short and explicit. Use `to` for internal navigation and `href` for external URLs.
|
|
36
|
+
5. Put reusable assets in stable public paths such as `/images/...`, `/files/...`, `/api/...`, or `/quasar-api/...`.
|
|
37
|
+
6. For live examples, place Vue SFCs under `src/examples/**/*.vue` and reference them with `<d-block-code-example>`.
|
|
38
|
+
7. For API references, serve JSON from a same-origin public asset and reference it with `<d-block-api>`.
|
|
39
|
+
8. Validate links, anchors, code fences, and custom element closing tags before finishing.
|
|
40
|
+
|
|
41
|
+
## Quick Block Selection
|
|
42
|
+
|
|
43
|
+
| Need | Use |
|
|
44
|
+
| ------------------------------- | ------------------------ |
|
|
45
|
+
| Narrative text | Paragraphs |
|
|
46
|
+
| Page sections and anchors | Headings |
|
|
47
|
+
| Features or requirements | Unordered lists |
|
|
48
|
+
| Sequential instructions | Ordered lists or Stepper |
|
|
49
|
+
| Progress states | Task lists |
|
|
50
|
+
| Notes, tips, warnings | Hints |
|
|
51
|
+
| Quoted text | Quotes |
|
|
52
|
+
| Commands or source snippets | Code blocks |
|
|
53
|
+
| Live Vue demos | Code examples |
|
|
54
|
+
| Flowcharts or diagrams | Mermaid diagrams |
|
|
55
|
+
| Screenshots or diagrams | Images |
|
|
56
|
+
| Downloads | Files |
|
|
57
|
+
| Videos, audio, or pens | Embedded URLs |
|
|
58
|
+
| Equations | Math and TeX |
|
|
59
|
+
| Optional detail | Expandable |
|
|
60
|
+
| Guided sequence with navigation | Stepper |
|
|
61
|
+
| Changelog or release log | Timeline |
|
|
62
|
+
| Comparisons or matrices | Tables |
|
|
63
|
+
| Custom structure | Raw HTML |
|
|
64
|
+
| Small navigation sets | Quick Links |
|
|
65
|
+
| Visual navigation grids | Cards |
|
|
66
|
+
| Structured API docs | API Reference |
|
|
67
|
+
|
|
68
|
+
For the complete syntax and guidance, read [the block catalog](./references/block-catalog.md).
|
|
69
|
+
|
|
70
|
+
## MCP and WebMCP
|
|
71
|
+
|
|
72
|
+
When a Docsector site exposes MCP, prefer live lookup for exact syntax and current examples.
|
|
73
|
+
|
|
74
|
+
Typical MCP tools are named with the configured suffix:
|
|
75
|
+
|
|
76
|
+
- `search_{suffix}` searches documentation pages.
|
|
77
|
+
- `get_page_{suffix}` returns raw Markdown for a documentation page.
|
|
78
|
+
|
|
79
|
+
This repository uses the suffix `docsector`, so the local docs tools are expected to be `search_docsector` and `get_page_docsector` when the MCP server is connected.
|
|
80
|
+
|
|
81
|
+
Use known paths such as:
|
|
82
|
+
|
|
83
|
+
- `manual/content/blocks/cards/overview`
|
|
84
|
+
- `manual/content/blocks/quick-links/overview`
|
|
85
|
+
- `manual/content/blocks/api-reference/overview`
|
|
86
|
+
- `manual/content/blocks/timeline/showcase`
|
|
87
|
+
|
|
88
|
+
Browser agents may also see WebMCP tools such as `docs.search_docs`, `docs.get_page`, `docs.navigate_to`, and `docs.copy_current_page`.
|
|
89
|
+
|
|
90
|
+
Read [MCP and WebMCP reference](./references/mcp-webmcp.md) for details and caveats.
|
|
91
|
+
|
|
92
|
+
## Page and Asset Conventions
|
|
93
|
+
|
|
94
|
+
Read [page structure reference](./references/page-structure.md) before changing page layout, localization, examples, or public assets.
|
|
95
|
+
|
|
96
|
+
Key conventions:
|
|
97
|
+
|
|
98
|
+
- Manual block docs live under `src/pages/manual/content/blocks/`.
|
|
99
|
+
- Block pages usually have `overview` and `showcase` subpages.
|
|
100
|
+
- Localized source files use suffixes such as `.en-US.md` and `.pt-BR.md`.
|
|
101
|
+
- Downloadable files should use `/files/...` paths backed by `public/files/...`.
|
|
102
|
+
- Images should use `/images/...` paths backed by `public/images/...`.
|
|
103
|
+
- API JSON should use same-origin public paths such as `/api/...` or `/quasar-api/...`.
|
|
104
|
+
|
|
105
|
+
## Authoring Patterns
|
|
106
|
+
|
|
107
|
+
Read [authoring patterns](./references/authoring-patterns.md) for common page recipes such as tutorials, changelogs, navigation hubs, API reference pages, and example showcases.
|
|
108
|
+
|
|
109
|
+
## Quality Checklist
|
|
110
|
+
|
|
111
|
+
- The page has a clear first section and predictable heading hierarchy.
|
|
112
|
+
- Every custom element has required attributes and matching closing tags unless it is intentionally self-closing.
|
|
113
|
+
- Internal links use route paths and external links use absolute URLs.
|
|
114
|
+
- Images, files, examples, and API JSON point to assets that exist or are intentionally external.
|
|
115
|
+
- Hints are reserved for semantic callouts, not general decoration.
|
|
116
|
+
- Tables are not overloaded with prose that would read better as sections or lists.
|
|
117
|
+
- Nested custom blocks are used conservatively; avoid unsupported nested Expandable and Stepper patterns.
|
|
118
|
+
- MCP or WebMCP was used for current docs when available.
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# Docsector Authoring Patterns
|
|
2
|
+
|
|
3
|
+
Use these patterns to choose a page shape before writing detailed content.
|
|
4
|
+
|
|
5
|
+
## Tutorial or Setup Guide
|
|
6
|
+
|
|
7
|
+
Use when readers must follow a sequence.
|
|
8
|
+
|
|
9
|
+
Recommended blocks:
|
|
10
|
+
|
|
11
|
+
- Headings for major phases.
|
|
12
|
+
- Stepper for guided, interactive sequences.
|
|
13
|
+
- Code blocks for commands and configuration.
|
|
14
|
+
- Hints for warnings or best practices.
|
|
15
|
+
- Files for downloadable checklists or templates.
|
|
16
|
+
|
|
17
|
+
Start with a short outcome statement, then move into steps. Keep each step focused on one action and one result.
|
|
18
|
+
|
|
19
|
+
## Concept or Overview Page
|
|
20
|
+
|
|
21
|
+
Use when readers need understanding before action.
|
|
22
|
+
|
|
23
|
+
Recommended blocks:
|
|
24
|
+
|
|
25
|
+
- Paragraphs for explanation.
|
|
26
|
+
- Headings for scannable sections.
|
|
27
|
+
- Unordered lists for capabilities and constraints.
|
|
28
|
+
- Images or Mermaid diagrams for mental models.
|
|
29
|
+
- Quick Links or Cards for next steps.
|
|
30
|
+
|
|
31
|
+
Avoid heavy custom blocks if a simple section and list are clearer.
|
|
32
|
+
|
|
33
|
+
## Navigation Hub
|
|
34
|
+
|
|
35
|
+
Use when a page primarily routes readers to other content.
|
|
36
|
+
|
|
37
|
+
Recommended blocks:
|
|
38
|
+
|
|
39
|
+
- Quick Links for compact next steps.
|
|
40
|
+
- Cards for visual destinations.
|
|
41
|
+
- Short paragraphs for framing.
|
|
42
|
+
- Headings only when the hub has multiple groups.
|
|
43
|
+
|
|
44
|
+
Use `to` for Docsector routes and `href` for external URLs.
|
|
45
|
+
|
|
46
|
+
## Changelog or Release Notes
|
|
47
|
+
|
|
48
|
+
Use when content is chronological.
|
|
49
|
+
|
|
50
|
+
Recommended blocks:
|
|
51
|
+
|
|
52
|
+
- Timeline for dated entries.
|
|
53
|
+
- Timeline tags for release channels, categories, or status.
|
|
54
|
+
- Hints for breaking changes or migration warnings.
|
|
55
|
+
- Code blocks for commands that users must run.
|
|
56
|
+
- Quick Links for related upgrade docs.
|
|
57
|
+
|
|
58
|
+
Give timeline items stable `anchor` values for important releases and migration entries.
|
|
59
|
+
|
|
60
|
+
## API Reference Page
|
|
61
|
+
|
|
62
|
+
Use when structured API data is available.
|
|
63
|
+
|
|
64
|
+
Recommended blocks:
|
|
65
|
+
|
|
66
|
+
- API Reference for Quasar-compatible JSON.
|
|
67
|
+
- Code blocks for quick usage examples.
|
|
68
|
+
- Hints for compatibility or deprecation notes.
|
|
69
|
+
- Tables only for small summaries not already covered by the API block.
|
|
70
|
+
|
|
71
|
+
Keep JSON assets under same-origin public paths such as `/api/manual/...` or `/quasar-api/...`.
|
|
72
|
+
|
|
73
|
+
## Example Showcase
|
|
74
|
+
|
|
75
|
+
Use when readers need to inspect behavior and source.
|
|
76
|
+
|
|
77
|
+
Recommended blocks:
|
|
78
|
+
|
|
79
|
+
- Code Examples for live Vue SFC previews.
|
|
80
|
+
- Code blocks for smaller standalone snippets.
|
|
81
|
+
- Expandable for optional implementation notes.
|
|
82
|
+
- Cards or Quick Links for related examples.
|
|
83
|
+
|
|
84
|
+
Use `expanded="true"` when source inspection is the main value. Set `codepen="false"` when an example cannot be exported safely.
|
|
85
|
+
|
|
86
|
+
## Troubleshooting Page
|
|
87
|
+
|
|
88
|
+
Use when readers need to diagnose and resolve problems.
|
|
89
|
+
|
|
90
|
+
Recommended blocks:
|
|
91
|
+
|
|
92
|
+
- Headings for symptoms or error messages.
|
|
93
|
+
- Hints for warnings and high-risk operations.
|
|
94
|
+
- Ordered lists for resolution steps.
|
|
95
|
+
- Code blocks for commands and logs.
|
|
96
|
+
- Expandable for verbose logs or advanced diagnostics.
|
|
97
|
+
|
|
98
|
+
Keep the shortest successful path visible and move rare details into Expandable blocks.
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
# Docsector Block Catalog
|
|
2
|
+
|
|
3
|
+
This catalog summarizes the Docsector authoring blocks that an agent should know before writing documentation. Each block has live manual pages at `manual/content/blocks/{slug}/overview` and usually `manual/content/blocks/{slug}/showcase`.
|
|
4
|
+
|
|
5
|
+
## Custom Element Blocks
|
|
6
|
+
|
|
7
|
+
| Block | Syntax | Use For | Manual Path |
|
|
8
|
+
| ------------- | --------------------------------------------------- | -------------------------------------------------------- | ---------------------------------------------- |
|
|
9
|
+
| Quick Links | `<d-block-quick-links>` with `<d-block-quick-link>` | Small sets of next-step links | `manual/content/blocks/quick-links/overview` |
|
|
10
|
+
| Cards | `<d-block-cards>` with `<d-block-card>` | Visual navigation grids and landing sections | `manual/content/blocks/cards/overview` |
|
|
11
|
+
| Timeline | `<d-block-timeline>` with `<d-block-timeline-item>` | Changelogs, release notes, rollout logs | `manual/content/blocks/timeline/overview` |
|
|
12
|
+
| Stepper | `<d-block-stepper>` with `<d-block-step>` | Guided multi-step flows with navigation | `manual/content/blocks/stepper/overview` |
|
|
13
|
+
| Expandable | `<d-block-expandable>` | Optional details, appendices, longer examples | `manual/content/blocks/expandable/overview` |
|
|
14
|
+
| Files | `<d-block-file>` | Download cards for attachments | `manual/content/blocks/files/overview` |
|
|
15
|
+
| Embedded URLs | `<d-block-embedded-url>` | YouTube, Vimeo, Spotify, CodePen, or link-card fallbacks | `manual/content/blocks/embedded-urls/overview` |
|
|
16
|
+
| Code Examples | `<d-block-code-example>` | Live Vue SFC previews with source inspection | `manual/content/blocks/code-examples/overview` |
|
|
17
|
+
| API Reference | `<d-block-api>` | Quasar-compatible JSON API reference UIs | `manual/content/blocks/api-reference/overview` |
|
|
18
|
+
|
|
19
|
+
### Quick Links
|
|
20
|
+
|
|
21
|
+
Use Quick Links when a page needs a compact group of destinations without a long prose list.
|
|
22
|
+
|
|
23
|
+
```html
|
|
24
|
+
<d-block-quick-links title="Get started">
|
|
25
|
+
<d-block-quick-link
|
|
26
|
+
title="Install"
|
|
27
|
+
description="Set up the project"
|
|
28
|
+
to="/guide/getting-started"
|
|
29
|
+
/>
|
|
30
|
+
<d-block-quick-link
|
|
31
|
+
title="GitHub"
|
|
32
|
+
description="Open the repository"
|
|
33
|
+
href="https://github.com/docsector/docsector-reader"
|
|
34
|
+
/>
|
|
35
|
+
</d-block-quick-links>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Use `to` for internal navigation and `href` for external URLs. Keep descriptions short.
|
|
39
|
+
|
|
40
|
+
### Cards
|
|
41
|
+
|
|
42
|
+
Use Cards for landing sections, curated resource grids, and visual navigation.
|
|
43
|
+
|
|
44
|
+
```html
|
|
45
|
+
<d-block-cards title="Explore more">
|
|
46
|
+
<d-block-card
|
|
47
|
+
title="Install"
|
|
48
|
+
description="Set up the project"
|
|
49
|
+
to="/guide/getting-started"
|
|
50
|
+
image="/images/cards/getting-started-cover.svg"
|
|
51
|
+
/>
|
|
52
|
+
<d-block-card
|
|
53
|
+
title="GitHub"
|
|
54
|
+
description="Open the repository"
|
|
55
|
+
href="https://github.com/docsector/docsector-reader"
|
|
56
|
+
icon="launch"
|
|
57
|
+
/>
|
|
58
|
+
</d-block-cards>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Prefer `image` for landing-page tiles and `icon` for lighter cards without covers.
|
|
62
|
+
|
|
63
|
+
### Timeline
|
|
64
|
+
|
|
65
|
+
Use Timeline for chronological entries such as changelogs, release notes, migrations, and rollout journals.
|
|
66
|
+
|
|
67
|
+
```html
|
|
68
|
+
<d-block-timeline>
|
|
69
|
+
<d-block-timeline-item date="2025-12-25" anchor="brand-new-update">
|
|
70
|
+
<d-block-timeline-tag color="warning" icon="rocket_launch"
|
|
71
|
+
>beta</d-block-timeline-tag
|
|
72
|
+
>
|
|
73
|
+
<d-block-timeline-tag color="secondary" text-color="white"
|
|
74
|
+
>docs</d-block-timeline-tag
|
|
75
|
+
>
|
|
76
|
+
|
|
77
|
+
## A brand new update Use this block for release notes, product
|
|
78
|
+
announcements, migration notices, or operational updates.
|
|
79
|
+
</d-block-timeline-item>
|
|
80
|
+
</d-block-timeline>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Every item needs `date`. Tags are optional and support text content or `label`, plus `color`, `text-color`, and `icon`. `anchor` is optional; Docsector can generate one from the date and first visible text. Headings inside timeline items are flattened so the page ToC stays stable.
|
|
84
|
+
|
|
85
|
+
### Stepper
|
|
86
|
+
|
|
87
|
+
Use Stepper when the reader should move through a guided sequence.
|
|
88
|
+
|
|
89
|
+
```html
|
|
90
|
+
<d-block-stepper>
|
|
91
|
+
<d-block-step title="Install dependencies">
|
|
92
|
+
Run `npm install` in the project root.
|
|
93
|
+
</d-block-step>
|
|
94
|
+
|
|
95
|
+
<d-block-step
|
|
96
|
+
title="Ship the release"
|
|
97
|
+
icon="rocket_launch"
|
|
98
|
+
active-icon="rocket_launch"
|
|
99
|
+
done-icon="task_alt"
|
|
100
|
+
>
|
|
101
|
+
Use icon attributes when a numbered prefix is not expressive enough.
|
|
102
|
+
</d-block-step>
|
|
103
|
+
</d-block-stepper>
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Every step needs `title`. Step bodies support common Markdown such as paragraphs, lists, hints, code fences, images, tables, and math. Avoid nested Stepper blocks and other custom Docsector blocks inside steps in the current version.
|
|
107
|
+
|
|
108
|
+
### Expandable
|
|
109
|
+
|
|
110
|
+
Use Expandable for optional material that should not interrupt the main reading path.
|
|
111
|
+
|
|
112
|
+
```html
|
|
113
|
+
<d-block-expandable title="Release checklist" open="true">
|
|
114
|
+
- Review breaking changes - Update screenshots - Run smoke tests
|
|
115
|
+
</d-block-expandable>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Use `open="true"` to start expanded. Keep page headings outside expandable bodies because inner headings are flattened. Avoid nesting one expandable inside another.
|
|
119
|
+
|
|
120
|
+
### Files
|
|
121
|
+
|
|
122
|
+
Use Files for attachments such as checklists, PDFs, sample bundles, and release assets.
|
|
123
|
+
|
|
124
|
+
```html
|
|
125
|
+
<d-block-file
|
|
126
|
+
src="/files/manual/release-checklist.txt"
|
|
127
|
+
title="Release checklist"
|
|
128
|
+
size="1 KB"
|
|
129
|
+
>
|
|
130
|
+
Download the example attachment used in this manual.
|
|
131
|
+
</d-block-file>
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
`src` is required. `title` and `size` are optional. When `title` is omitted, Docsector falls back to the file name from `src`. Store repo-tracked attachments under `public/files/` and reference them as `/files/...`.
|
|
135
|
+
|
|
136
|
+
### Embedded URLs
|
|
137
|
+
|
|
138
|
+
Use Embedded URLs for curated public embeds while keeping Docsector's consistent card and preview treatment.
|
|
139
|
+
|
|
140
|
+
```html
|
|
141
|
+
<d-block-embedded-url
|
|
142
|
+
url="https://www.youtube.com/watch?v=M7lc1UVf-VE"
|
|
143
|
+
title="YouTube player demo"
|
|
144
|
+
>
|
|
145
|
+
Optional caption rendered as inline Markdown.
|
|
146
|
+
</d-block-embedded-url>
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
`url` is required and `title` is optional. Supported providers are YouTube, Vimeo, Spotify, and CodePen. Unsupported or private URLs render as safe external-link cards.
|
|
150
|
+
|
|
151
|
+
### Code Examples
|
|
152
|
+
|
|
153
|
+
Use Code Examples to render project Vue SFCs as live previews with source inspection.
|
|
154
|
+
|
|
155
|
+
```html
|
|
156
|
+
<d-block-code-example
|
|
157
|
+
src="manual/code-examples/basic-counter"
|
|
158
|
+
title="Basic counter"
|
|
159
|
+
/>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Place examples under `src/examples/**/*.vue`. The `src` value is normalized to kebab-case, so `manual/code-examples/basic-counter` resolves to `src/examples/manual/code-examples/BasicCounter.vue`. `file` is an alias for `src`.
|
|
163
|
+
|
|
164
|
+
Common attributes:
|
|
165
|
+
|
|
166
|
+
| Attribute | Purpose |
|
|
167
|
+
| ------------ | ---------------------------------------------- |
|
|
168
|
+
| `src` | Example id under `src/examples/**/*.vue` |
|
|
169
|
+
| `file` | Alias for `src` |
|
|
170
|
+
| `title` | Header title above the preview |
|
|
171
|
+
| `expanded` | Opens the source panel by default when `true` |
|
|
172
|
+
| `codepen` | Shows the CodePen action unless set to `false` |
|
|
173
|
+
| `scrollable` | Gives the preview a fixed scrollable height |
|
|
174
|
+
| `overflow` | Allows horizontal and vertical overflow |
|
|
175
|
+
| `height` | Sets a preview height such as `360` or `420px` |
|
|
176
|
+
|
|
177
|
+
### API Reference
|
|
178
|
+
|
|
179
|
+
Use API Reference blocks to render Quasar-compatible JSON API documentation.
|
|
180
|
+
|
|
181
|
+
```html
|
|
182
|
+
<d-block-api src="/quasar-api/QSeparator.json" />
|
|
183
|
+
|
|
184
|
+
<d-block-api
|
|
185
|
+
src="/api/manual/http-client.json"
|
|
186
|
+
title="HTTP Client API"
|
|
187
|
+
page-link="true"
|
|
188
|
+
/>
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
`src` is required and should point to same-origin JSON. `title` overrides the header. `page-link="true"` shows a Docs button when the JSON includes `meta.docsUrl`. Useful JSON sections include `props`, `methods`, `events`, `value`, `arg`, and `quasarConfOptions`; entries with `internal: true` are hidden.
|
|
192
|
+
|
|
193
|
+
## Markdown and Native Blocks
|
|
194
|
+
|
|
195
|
+
| Block | Syntax | Use For | Manual Path |
|
|
196
|
+
| ---------------- | -------------------------- | ------------------------------- | ------------------------------------------------- |
|
|
197
|
+
| Paragraphs | Plain Markdown text | Explanations and transitions | `manual/content/blocks/paragraphs/overview` |
|
|
198
|
+
| Headings | `##`, `###`, `####` | Sections, anchors, page ToC | `manual/content/blocks/headings/overview` |
|
|
199
|
+
| Unordered Lists | `- item` | Feature sets and requirements | `manual/content/blocks/unordered-lists/overview` |
|
|
200
|
+
| Ordered Lists | `1. item` | Sequential procedures | `manual/content/blocks/ordered-lists/overview` |
|
|
201
|
+
| Task Lists | `- [ ] item`, `- [x] item` | Static checklists | `manual/content/blocks/task-lists/overview` |
|
|
202
|
+
| Hints | `> [!WARNING]` | Semantic notes and warnings | `manual/content/blocks/hints/overview` |
|
|
203
|
+
| Quotes | `> text` | Neutral quoted text | `manual/content/blocks/quotes/overview` |
|
|
204
|
+
| Code Blocks | Fenced code | Commands and snippets | `manual/content/blocks/code-blocks/overview` |
|
|
205
|
+
| Mermaid Diagrams | Fenced `mermaid` code | Flowcharts and diagrams | `manual/content/blocks/mermaid-diagrams/overview` |
|
|
206
|
+
| Images | `` | Screenshots and illustrations | `manual/content/blocks/images/overview` |
|
|
207
|
+
| Math and TeX | `$...$`, `$$...$$` | Inline and display equations | `manual/content/blocks/math-and-tex/overview` |
|
|
208
|
+
| Tables | Markdown tables | Comparisons and matrices | `manual/content/blocks/tables/overview` |
|
|
209
|
+
| Raw HTML | HTML tags | Custom structure and attributes | `manual/content/blocks/raw-html/overview` |
|
|
210
|
+
|
|
211
|
+
### Paragraphs
|
|
212
|
+
|
|
213
|
+
Use paragraphs for narrative copy. Separate paragraphs with a blank line. Inline emphasis, links, inline code, and math work inside normal paragraphs.
|
|
214
|
+
|
|
215
|
+
### Headings
|
|
216
|
+
|
|
217
|
+
Use headings to organize the page and feed the right-side table of contents. In page content, start with `##` because the page title is generated from page metadata. Keep heading levels in order and use headings for sections that readers may bookmark or deep-link.
|
|
218
|
+
|
|
219
|
+
### Lists
|
|
220
|
+
|
|
221
|
+
Use unordered lists when order does not matter. Use ordered lists when sequence matters. Use task lists when each item should show a done or not-done state. Published task-list checkboxes are static and cannot be toggled by readers.
|
|
222
|
+
|
|
223
|
+
### Hints
|
|
224
|
+
|
|
225
|
+
Use GitHub-style alert markers in blockquotes:
|
|
226
|
+
|
|
227
|
+
```markdown
|
|
228
|
+
> [!WARNING]
|
|
229
|
+
> This operation may interrupt workers.
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Supported markers are `NOTE`, `TIP`, `IMPORTANT`, `WARNING`, and `CAUTION`. Unknown markers fall back to regular quotes.
|
|
233
|
+
|
|
234
|
+
### Quotes
|
|
235
|
+
|
|
236
|
+
Use regular blockquotes for cited text or neutral notes that should stand apart from the main flow without semantic alert styling.
|
|
237
|
+
|
|
238
|
+
```markdown
|
|
239
|
+
> This is a regular quote.
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Code Blocks
|
|
243
|
+
|
|
244
|
+
Use fenced code blocks for commands and snippets. Docsector renders syntax highlighting, line numbers, copy support, grouped tabs, breadcrumbs, and file metadata.
|
|
245
|
+
|
|
246
|
+
````markdown
|
|
247
|
+
```bash :filename="install.sh";
|
|
248
|
+
npm install
|
|
249
|
+
npm run dev
|
|
250
|
+
```
|
|
251
|
+
````
|
|
252
|
+
|
|
253
|
+
Useful metadata attributes are `filename`, `group`, `tab`, and `breadcrumb` using `:attr;` syntax.
|
|
254
|
+
|
|
255
|
+
### Mermaid Diagrams
|
|
256
|
+
|
|
257
|
+
Use a fenced `mermaid` block for diagrams.
|
|
258
|
+
|
|
259
|
+
````markdown
|
|
260
|
+
```mermaid
|
|
261
|
+
flowchart TD
|
|
262
|
+
A[Start] --> B[Finish]
|
|
263
|
+
```
|
|
264
|
+
````
|
|
265
|
+
|
|
266
|
+
Docsector lazy-loads Mermaid, renders responsive SVG, adapts to light and dark mode, and shows a safe error state for invalid Mermaid syntax.
|
|
267
|
+
|
|
268
|
+
### Images
|
|
269
|
+
|
|
270
|
+
Use standard Markdown images for screenshots, illustrations, diagrams, and product UI.
|
|
271
|
+
|
|
272
|
+
```markdown
|
|
273
|
+

|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Standalone Markdown images render as block figures with click-to-zoom. The label is used as both caption and alt text. Use raw `<figure>` and `<picture>` markup when alt text and visible caption need to differ.
|
|
277
|
+
|
|
278
|
+
### Math and TeX
|
|
279
|
+
|
|
280
|
+
Use single dollar delimiters for inline math and double dollar delimiters for display math.
|
|
281
|
+
|
|
282
|
+
```markdown
|
|
283
|
+
Use $E = mc^2$ inside a sentence.
|
|
284
|
+
|
|
285
|
+
$$
|
|
286
|
+
\int_0^1 x^2 dx
|
|
287
|
+
$$
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
Math works in paragraphs, hints, and expandable blocks. Delimiters remain literal inside inline code and fenced code blocks.
|
|
291
|
+
|
|
292
|
+
### Tables
|
|
293
|
+
|
|
294
|
+
Use tables for comparisons, option matrices, compatibility notes, and scannable row-column content.
|
|
295
|
+
|
|
296
|
+
```markdown
|
|
297
|
+
| Feature | Status | Notes |
|
|
298
|
+
| ------- | ------ | ------------------------ |
|
|
299
|
+
| Search | Done | Available in the sidebar |
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
Keep column labels short. Split very dense tables into smaller sections.
|
|
303
|
+
|
|
304
|
+
### Raw HTML
|
|
305
|
+
|
|
306
|
+
Use raw HTML only when Markdown is not expressive enough or when authoring Docsector custom elements.
|
|
307
|
+
|
|
308
|
+
```html
|
|
309
|
+
<div data-kind="secondary-note">
|
|
310
|
+
This block uses raw HTML inside the page source.
|
|
311
|
+
</div>
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
Prefer plain Markdown first. Keep raw markup readable because documentation content still needs maintenance.
|
|
315
|
+
|
|
316
|
+
## Renderer and Parser References
|
|
317
|
+
|
|
318
|
+
- `src/components/page-section-tokens.js` parses custom elements and Markdown tokens.
|
|
319
|
+
- `src/components/DPageTokens.vue` dispatches tokens to block components.
|
|
320
|
+
- `src/components/DBlockCards.vue`, `DBlockQuickLinks.vue`, `DBlockTimeline.vue`, `DBlockStepper.vue`, `DBlockExpandable.vue`, `DBlockFile.vue`, `DBlockEmbeddedUrl.vue`, `DBlockCodeExample.vue`, and `DBlockApi.vue` render custom element blocks.
|
|
321
|
+
- `src/components/DBlockSourceCode.vue`, `DBlockMermaidDiagram.vue`, `DBlockBlockquote.vue`, and `DBlockImage.vue` render richer Markdown blocks.
|