@docsector/docsector-reader 3.5.0 → 4.0.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 +11 -11
- package/bin/docsector.js +1 -283
- package/package.json +1 -1
- package/public/images/cards/getting-started-cover.svg +60 -0
- package/public/images/cards/quick-links-cover.svg +71 -0
- package/src/components/{DPageBlockquote.vue → DBlockBlockquote.vue} +4 -0
- package/src/components/DBlockCards.vue +223 -0
- package/src/components/{DPageEmbeddedUrl.vue → DBlockEmbeddedUrl.vue} +1 -1
- package/src/components/{DPageExpandable.vue → DBlockExpandable.vue} +4 -0
- package/src/components/{DPageFile.vue → DBlockFile.vue} +1 -1
- package/src/components/{DPageImage.vue → DBlockImage.vue} +1 -1
- package/src/components/{DMermaidDiagram.vue → DBlockMermaidDiagram.vue} +4 -0
- package/src/components/{DQuickLinks.vue → DBlockQuickLinks.vue} +4 -0
- package/src/components/{DPageSourceCode.vue → DBlockSourceCode.vue} +6 -1
- package/src/components/DBlockStepper.vue +210 -0
- package/src/components/DBlockTimeline.vue +319 -0
- package/src/components/DPageTokens.vue +51 -18
- package/src/components/page-section-tokens.js +334 -9
- package/src/i18n/languages/en-US.hjson +5 -0
- package/src/i18n/languages/pt-BR.hjson +5 -0
- package/src/pages/guide/i18n-and-markdown.overview.en-US.md +6 -6
- package/src/pages/guide/i18n-and-markdown.overview.pt-BR.md +6 -6
- package/src/pages/guide/theming.overview.en-US.md +1 -1
- package/src/pages/guide/theming.overview.pt-BR.md +1 -1
- package/src/pages/manual/content/blocks/cards.overview.en-US.md +32 -0
- package/src/pages/manual/content/blocks/cards.overview.pt-BR.md +32 -0
- package/src/pages/manual/content/blocks/cards.showcase.en-US.md +39 -0
- package/src/pages/manual/content/blocks/cards.showcase.pt-BR.md +39 -0
- package/src/pages/manual/content/blocks/embedded-urls.overview.en-US.md +3 -3
- package/src/pages/manual/content/blocks/embedded-urls.overview.pt-BR.md +3 -3
- package/src/pages/manual/content/blocks/embedded-urls.showcase.en-US.md +8 -8
- package/src/pages/manual/content/blocks/embedded-urls.showcase.pt-BR.md +8 -8
- package/src/pages/manual/content/blocks/expandable.overview.en-US.md +8 -8
- package/src/pages/manual/content/blocks/expandable.overview.pt-BR.md +8 -8
- package/src/pages/manual/content/blocks/expandable.showcase.en-US.md +6 -6
- package/src/pages/manual/content/blocks/expandable.showcase.pt-BR.md +6 -6
- package/src/pages/manual/content/blocks/files.overview.en-US.md +3 -3
- package/src/pages/manual/content/blocks/files.overview.pt-BR.md +3 -3
- package/src/pages/manual/content/blocks/files.showcase.en-US.md +5 -5
- package/src/pages/manual/content/blocks/files.showcase.pt-BR.md +5 -5
- package/src/pages/manual/content/blocks/quick-links.overview.en-US.md +4 -4
- package/src/pages/manual/content/blocks/quick-links.overview.pt-BR.md +4 -4
- package/src/pages/manual/content/blocks/quick-links.showcase.en-US.md +9 -9
- package/src/pages/manual/content/blocks/quick-links.showcase.pt-BR.md +9 -9
- package/src/pages/manual/content/blocks/stepper.overview.en-US.md +59 -0
- package/src/pages/manual/content/blocks/stepper.overview.pt-BR.md +59 -0
- package/src/pages/manual/content/blocks/stepper.showcase.en-US.md +115 -0
- package/src/pages/manual/content/blocks/stepper.showcase.pt-BR.md +115 -0
- package/src/pages/manual/content/blocks/timeline.overview.en-US.md +47 -0
- package/src/pages/manual/content/blocks/timeline.overview.pt-BR.md +47 -0
- package/src/pages/manual/content/blocks/timeline.showcase.en-US.md +170 -0
- package/src/pages/manual/content/blocks/timeline.showcase.pt-BR.md +170 -0
- package/src/pages/manual.index.js +84 -0
package/README.md
CHANGED
|
@@ -64,17 +64,17 @@ Transform Markdown content into beautiful, navigable documentation sites — wit
|
|
|
64
64
|
- 📅 **Last Updated Date** — Automatic per-page "last updated" date from git commit history, locale-formatted
|
|
65
65
|
- 📊 **Translation Progress** — Automatic translation percentage based on header coverage
|
|
66
66
|
- 🌐 **Accurate Available Translations** — Locale availability counter now uses actual localized page source presence, avoiding false negatives when metadata is equal
|
|
67
|
-
- 🧠 **Markdown Negotiation** — Responds with Markdown when clients send `Accept: text/markdown`, while keeping HTML as browser default
|
|
68
|
-
- 🔐 **Web Bot Auth** — Can publish a signed HTTP message signatures directory and includes helpers to sign outbound bot requests
|
|
69
|
-
- 🧭 **Content Signals** — Injects `Content-Signal` policy in `robots.txt` with deterministic, idempotent build output
|
|
70
67
|
- 🏠 **Markdown Home at Root** — Homepage is rendered from `src/pages/Homepage.{lang}.md` directly at `/`
|
|
71
68
|
- 🌍 **Remote README as Home** — Optional build-time remote README source for homepage with automatic local fallback
|
|
72
69
|
- 🔗 **GitHub-Compatible Heading Anchors** — Markdown headings use GitHub-style slugs so standard README Table of Contents links work inside Docsector
|
|
73
70
|
- 🧬 **Scaffolded Homepage Override Wiring** — New consumer projects automatically wire `virtual:docsector-homepage-override` into i18n message building
|
|
74
|
-
- 📖 **Expandable Markdown Sections** — Use `<d-expandable title="...">...</d-expandable>` to collapse secondary content while keeping rich Markdown support inside the body
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
71
|
+
- 📖 **Expandable Markdown Sections** — Use `<d-block-expandable title="...">...</d-block-expandable>` to collapse secondary content while keeping rich Markdown support inside the body
|
|
72
|
+
- 1️⃣ **Stepper Guides** — Use `<d-block-stepper>` with nested `<d-block-step title="...">...</d-block-step>` items to render native Quasar vertical steppers with rich Markdown and optional per-step icon overrides
|
|
73
|
+
- 🕒 **Timeline Updates** — Use `<d-block-timeline>` with nested `<d-block-timeline-item date="...">...</d-block-timeline-item>` entries and optional `<d-block-timeline-tag>` labels to publish GitBook-inspired changelog items with direct-link anchors, tag icons/colors, and rich Markdown bodies
|
|
74
|
+
- 📎 **File Attachment Blocks** — Use `<d-block-file src="/files/...">...</d-block-file>` in Markdown to render downloadable file cards with automatic local size detection and support for external URLs
|
|
75
|
+
- 🌐 **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
|
+
- 🧭 **Quick Links Custom Element** — Use `<d-block-quick-links>` and `<d-block-quick-link>` in Markdown to render rich home navigation cards
|
|
77
|
+
- 🗂️ **Cards Custom Element** — Use `<d-block-cards>` and `<d-block-card>` in Markdown to render linked content cards with optional cover images
|
|
78
78
|
- 🗂️ **API Catalog Well-Known** — Auto-generates `/.well-known/api-catalog` as Linkset JSON for machine-readable API discovery
|
|
79
79
|
- 🗃️ **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
80
|
- 🏷️ **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 }`
|
|
@@ -1025,9 +1025,9 @@ Regular blockquotes without `[!TYPE]` continue to work normally.
|
|
|
1025
1025
|
### File Attachment Blocks
|
|
1026
1026
|
|
|
1027
1027
|
```html
|
|
1028
|
-
<d-file src="/files/manual/release-checklist.txt" title="Release checklist" size="1 KB">
|
|
1028
|
+
<d-block-file src="/files/manual/release-checklist.txt" title="Release checklist" size="1 KB">
|
|
1029
1029
|
Download the example file bundled with the docs.
|
|
1030
|
-
</d-file>
|
|
1030
|
+
</d-block-file>
|
|
1031
1031
|
```
|
|
1032
1032
|
|
|
1033
1033
|
Notes:
|
|
@@ -1040,9 +1040,9 @@ Notes:
|
|
|
1040
1040
|
### Embedded URL Blocks
|
|
1041
1041
|
|
|
1042
1042
|
```html
|
|
1043
|
-
<d-embedded-url url="https://www.youtube.com/watch?v=M7lc1UVf-VE" title="YouTube player demo">
|
|
1043
|
+
<d-block-embedded-url url="https://www.youtube.com/watch?v=M7lc1UVf-VE" title="YouTube player demo">
|
|
1044
1044
|
Optional caption rendered as inline Markdown.
|
|
1045
|
-
</d-embedded-url>
|
|
1045
|
+
</d-block-embedded-url>
|
|
1046
1046
|
```
|
|
1047
1047
|
|
|
1048
1048
|
Notes:
|
package/bin/docsector.js
CHANGED
|
@@ -23,7 +23,7 @@ const packageRoot = resolve(__dirname, '..')
|
|
|
23
23
|
const args = process.argv.slice(2)
|
|
24
24
|
const command = args[0]
|
|
25
25
|
|
|
26
|
-
const VERSION = '
|
|
26
|
+
const VERSION = '4.0.0'
|
|
27
27
|
|
|
28
28
|
const HELP = `
|
|
29
29
|
Docsector Reader v${VERSION}
|
|
@@ -488,288 +488,6 @@ Docsector Reader is a markdown-first documentation engine.
|
|
|
488
488
|
- Repository: [docsector/docsector-reader](https://github.com/docsector/docsector-reader)
|
|
489
489
|
`
|
|
490
490
|
|
|
491
|
-
const TEMPLATE_BOOT_PAGE = `\
|
|
492
|
-
<template>
|
|
493
|
-
<q-page-container>
|
|
494
|
-
<q-page class="boot-page">
|
|
495
|
-
<!-- Hero Section -->
|
|
496
|
-
<div class="hero-section">
|
|
497
|
-
<div class="hero-content">
|
|
498
|
-
<div class="hero-icon-container">
|
|
499
|
-
<q-icon name="auto_stories" size="64px" color="white" />
|
|
500
|
-
</div>
|
|
501
|
-
<h1 class="hero-title">{{ projectName }}</h1>
|
|
502
|
-
<p class="hero-subtitle">{{ $t('_.home.texts[0]') }}{{ projectName }}</p>
|
|
503
|
-
<p class="hero-description">{{ $t('_.home.texts[2]') }}</p>
|
|
504
|
-
<div class="hero-actions">
|
|
505
|
-
<q-btn
|
|
506
|
-
unelevated
|
|
507
|
-
color="white"
|
|
508
|
-
text-color="primary"
|
|
509
|
-
label="Get Started"
|
|
510
|
-
icon="rocket_launch"
|
|
511
|
-
to="/guide/getting-started/overview"
|
|
512
|
-
class="hero-btn"
|
|
513
|
-
size="lg"
|
|
514
|
-
no-caps
|
|
515
|
-
/>
|
|
516
|
-
<q-btn
|
|
517
|
-
v-if="projectUrl !== '#'"
|
|
518
|
-
outline
|
|
519
|
-
color="white"
|
|
520
|
-
label="GitHub"
|
|
521
|
-
icon="fab fa-github"
|
|
522
|
-
@click="openURL(projectUrl)"
|
|
523
|
-
class="hero-btn"
|
|
524
|
-
size="lg"
|
|
525
|
-
no-caps
|
|
526
|
-
/>
|
|
527
|
-
</div>
|
|
528
|
-
</div>
|
|
529
|
-
</div>
|
|
530
|
-
|
|
531
|
-
<!-- Features Section -->
|
|
532
|
-
<div class="features-section">
|
|
533
|
-
<div class="features-grid">
|
|
534
|
-
<div class="feature-card">
|
|
535
|
-
<q-icon name="edit_note" size="40px" color="primary" />
|
|
536
|
-
<h3>Markdown Powered</h3>
|
|
537
|
-
<p>Write your documentation in Markdown. Pages are automatically converted into beautiful, navigable content.</p>
|
|
538
|
-
</div>
|
|
539
|
-
<div class="feature-card">
|
|
540
|
-
<q-icon name="translate" size="40px" color="primary" />
|
|
541
|
-
<h3>Multi-language</h3>
|
|
542
|
-
<p>Built-in i18n support. Add translations by creating locale files — no extra configuration needed.</p>
|
|
543
|
-
</div>
|
|
544
|
-
<div class="feature-card">
|
|
545
|
-
<q-icon name="palette" size="40px" color="primary" />
|
|
546
|
-
<h3>Beautiful UI</h3>
|
|
547
|
-
<p>Powered by Quasar Framework. Responsive, accessible, and production-ready out of the box.</p>
|
|
548
|
-
</div>
|
|
549
|
-
<div class="feature-card">
|
|
550
|
-
<q-icon name="bolt" size="40px" color="primary" />
|
|
551
|
-
<h3>Lightning Fast</h3>
|
|
552
|
-
<p>Vite-powered dev server with hot-reload. See your changes instantly as you write.</p>
|
|
553
|
-
</div>
|
|
554
|
-
<div class="feature-card">
|
|
555
|
-
<q-icon name="search" size="40px" color="primary" />
|
|
556
|
-
<h3>Full-text Search</h3>
|
|
557
|
-
<p>Instant client-side search across all your documentation pages and translations.</p>
|
|
558
|
-
</div>
|
|
559
|
-
<div class="feature-card">
|
|
560
|
-
<q-icon name="settings" size="40px" color="primary" />
|
|
561
|
-
<h3>Easy Configuration</h3>
|
|
562
|
-
<p>One config file for branding, links, languages, and GitHub integration.</p>
|
|
563
|
-
</div>
|
|
564
|
-
</div>
|
|
565
|
-
</div>
|
|
566
|
-
|
|
567
|
-
<!-- Quick Start Section -->
|
|
568
|
-
<div class="quickstart-section">
|
|
569
|
-
<h2 class="section-title">Quick Links</h2>
|
|
570
|
-
<div class="quickstart-grid">
|
|
571
|
-
<q-card flat bordered class="quickstart-card" clickable @click="$router.push('/guide/getting-started/overview')">
|
|
572
|
-
<q-card-section horizontal>
|
|
573
|
-
<q-card-section class="flex flex-center" style="width: 60px;">
|
|
574
|
-
<q-icon name="flag" size="28px" color="primary" />
|
|
575
|
-
</q-card-section>
|
|
576
|
-
<q-card-section>
|
|
577
|
-
<div class="text-subtitle1 text-weight-bold">Getting Started</div>
|
|
578
|
-
<div class="text-caption text-grey-7">Installation, setup, and your first page</div>
|
|
579
|
-
</q-card-section>
|
|
580
|
-
<q-space />
|
|
581
|
-
<q-card-section class="flex flex-center">
|
|
582
|
-
<q-icon name="chevron_right" color="grey-5" />
|
|
583
|
-
</q-card-section>
|
|
584
|
-
</q-card-section>
|
|
585
|
-
</q-card>
|
|
586
|
-
</div>
|
|
587
|
-
</div>
|
|
588
|
-
|
|
589
|
-
<!-- Footer -->
|
|
590
|
-
<div class="boot-footer">
|
|
591
|
-
<p>{{ $t('_.home.texts[1]') }}
|
|
592
|
-
<a :href="projectUrl" target="_blank" class="footer-link">Docsector Reader</a>
|
|
593
|
-
</p>
|
|
594
|
-
</div>
|
|
595
|
-
</q-page>
|
|
596
|
-
</q-page-container>
|
|
597
|
-
</template>
|
|
598
|
-
|
|
599
|
-
<script setup>
|
|
600
|
-
import { openURL } from 'quasar'
|
|
601
|
-
import docsectorConfig from 'docsector.config.js'
|
|
602
|
-
|
|
603
|
-
defineOptions({ name: 'BootPage' })
|
|
604
|
-
|
|
605
|
-
const projectName = docsectorConfig.branding?.name || 'My Documentation'
|
|
606
|
-
const projectUrl = docsectorConfig.links?.github || '#'
|
|
607
|
-
</script>
|
|
608
|
-
|
|
609
|
-
<style lang="sass" scoped>
|
|
610
|
-
.boot-page
|
|
611
|
-
padding: 0 !important
|
|
612
|
-
|
|
613
|
-
// Hero
|
|
614
|
-
.hero-section
|
|
615
|
-
background: linear-gradient(135deg, #655529 0%, #8b7340 50%, #a08850 100%)
|
|
616
|
-
color: white
|
|
617
|
-
padding: 80px 24px 60px
|
|
618
|
-
text-align: center
|
|
619
|
-
position: relative
|
|
620
|
-
overflow: hidden
|
|
621
|
-
|
|
622
|
-
&::before
|
|
623
|
-
content: ''
|
|
624
|
-
position: absolute
|
|
625
|
-
top: -50%
|
|
626
|
-
left: -50%
|
|
627
|
-
width: 200%
|
|
628
|
-
height: 200%
|
|
629
|
-
background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 60%)
|
|
630
|
-
animation: pulse 8s ease-in-out infinite
|
|
631
|
-
|
|
632
|
-
@keyframes pulse
|
|
633
|
-
0%, 100%
|
|
634
|
-
transform: scale(1)
|
|
635
|
-
50%
|
|
636
|
-
transform: scale(1.1)
|
|
637
|
-
|
|
638
|
-
.hero-content
|
|
639
|
-
position: relative
|
|
640
|
-
z-index: 1
|
|
641
|
-
max-width: 700px
|
|
642
|
-
margin: 0 auto
|
|
643
|
-
|
|
644
|
-
.hero-icon-container
|
|
645
|
-
margin-bottom: 24px
|
|
646
|
-
.q-icon
|
|
647
|
-
opacity: 0.9
|
|
648
|
-
|
|
649
|
-
.hero-title
|
|
650
|
-
font-size: 2.8rem
|
|
651
|
-
font-weight: 700
|
|
652
|
-
margin: 0 0 12px
|
|
653
|
-
line-height: 1.2
|
|
654
|
-
letter-spacing: -0.02em
|
|
655
|
-
|
|
656
|
-
.hero-subtitle
|
|
657
|
-
font-size: 1.2rem
|
|
658
|
-
opacity: 0.9
|
|
659
|
-
margin: 0 0 8px
|
|
660
|
-
font-weight: 400
|
|
661
|
-
|
|
662
|
-
.hero-description
|
|
663
|
-
font-size: 1rem
|
|
664
|
-
opacity: 0.7
|
|
665
|
-
margin: 0 0 32px
|
|
666
|
-
|
|
667
|
-
.hero-actions
|
|
668
|
-
display: flex
|
|
669
|
-
gap: 16px
|
|
670
|
-
justify-content: center
|
|
671
|
-
flex-wrap: wrap
|
|
672
|
-
|
|
673
|
-
.hero-btn
|
|
674
|
-
border-radius: 8px
|
|
675
|
-
padding: 8px 28px
|
|
676
|
-
font-weight: 600
|
|
677
|
-
|
|
678
|
-
// Features
|
|
679
|
-
.features-section
|
|
680
|
-
padding: 60px 24px
|
|
681
|
-
max-width: 1100px
|
|
682
|
-
margin: 0 auto
|
|
683
|
-
|
|
684
|
-
.features-grid
|
|
685
|
-
display: grid
|
|
686
|
-
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr))
|
|
687
|
-
gap: 24px
|
|
688
|
-
|
|
689
|
-
.feature-card
|
|
690
|
-
padding: 28px 24px
|
|
691
|
-
border-radius: 12px
|
|
692
|
-
border: 1px solid #e8e8e8
|
|
693
|
-
transition: transform 0.2s, box-shadow 0.2s
|
|
694
|
-
text-align: center
|
|
695
|
-
|
|
696
|
-
&:hover
|
|
697
|
-
transform: translateY(-4px)
|
|
698
|
-
box-shadow: 0 8px 25px rgba(0,0,0,0.08)
|
|
699
|
-
|
|
700
|
-
h3
|
|
701
|
-
font-size: 1.1rem
|
|
702
|
-
font-weight: 600
|
|
703
|
-
margin: 16px 0 8px
|
|
704
|
-
color: #333
|
|
705
|
-
|
|
706
|
-
p
|
|
707
|
-
font-size: 0.9rem
|
|
708
|
-
color: #666
|
|
709
|
-
line-height: 1.5
|
|
710
|
-
margin: 0
|
|
711
|
-
|
|
712
|
-
// Quick Start
|
|
713
|
-
.quickstart-section
|
|
714
|
-
padding: 40px 24px 60px
|
|
715
|
-
max-width: 700px
|
|
716
|
-
margin: 0 auto
|
|
717
|
-
|
|
718
|
-
.section-title
|
|
719
|
-
font-size: 1.6rem
|
|
720
|
-
font-weight: 700
|
|
721
|
-
text-align: center
|
|
722
|
-
margin: 0 0 24px
|
|
723
|
-
color: #333
|
|
724
|
-
|
|
725
|
-
.quickstart-grid
|
|
726
|
-
display: flex
|
|
727
|
-
flex-direction: column
|
|
728
|
-
gap: 12px
|
|
729
|
-
|
|
730
|
-
.quickstart-card
|
|
731
|
-
border-radius: 10px
|
|
732
|
-
transition: box-shadow 0.2s
|
|
733
|
-
cursor: pointer
|
|
734
|
-
|
|
735
|
-
&:hover
|
|
736
|
-
box-shadow: 0 4px 15px rgba(0,0,0,0.1)
|
|
737
|
-
|
|
738
|
-
// Footer
|
|
739
|
-
.boot-footer
|
|
740
|
-
text-align: center
|
|
741
|
-
padding: 24px
|
|
742
|
-
border-top: 1px solid #e8e8e8
|
|
743
|
-
color: #999
|
|
744
|
-
font-size: 0.85rem
|
|
745
|
-
|
|
746
|
-
.footer-link
|
|
747
|
-
color: #655529
|
|
748
|
-
text-decoration: none
|
|
749
|
-
font-weight: 500
|
|
750
|
-
|
|
751
|
-
&:hover
|
|
752
|
-
text-decoration: underline
|
|
753
|
-
|
|
754
|
-
// Dark mode
|
|
755
|
-
body.body--dark
|
|
756
|
-
.feature-card
|
|
757
|
-
border-color: #333
|
|
758
|
-
h3
|
|
759
|
-
color: #e0e0e0
|
|
760
|
-
p
|
|
761
|
-
color: #aaa
|
|
762
|
-
|
|
763
|
-
.section-title
|
|
764
|
-
color: #e0e0e0
|
|
765
|
-
|
|
766
|
-
.boot-footer
|
|
767
|
-
border-color: #333
|
|
768
|
-
.footer-link
|
|
769
|
-
color: #c4a856
|
|
770
|
-
</style>
|
|
771
|
-
`
|
|
772
|
-
|
|
773
491
|
const TEMPLATE_404_PAGE = `\
|
|
774
492
|
<template>
|
|
775
493
|
<q-page-container>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docsector/docsector-reader",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.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,60 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Getting started cover</title>
|
|
3
|
+
<desc id="desc">Abstract cover with warm gradients and onboarding steps.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
|
6
|
+
<stop offset="0%" stop-color="#12141c"/>
|
|
7
|
+
<stop offset="48%" stop-color="#1b2230"/>
|
|
8
|
+
<stop offset="100%" stop-color="#27384d"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<linearGradient id="panel" x1="0" y1="0" x2="1" y2="1">
|
|
11
|
+
<stop offset="0%" stop-color="#f1d8a1" stop-opacity="0.95"/>
|
|
12
|
+
<stop offset="100%" stop-color="#b78f41" stop-opacity="0.85"/>
|
|
13
|
+
</linearGradient>
|
|
14
|
+
<linearGradient id="accent" x1="0" y1="0" x2="1" y2="0">
|
|
15
|
+
<stop offset="0%" stop-color="#69d8c3"/>
|
|
16
|
+
<stop offset="100%" stop-color="#8ab6ff"/>
|
|
17
|
+
</linearGradient>
|
|
18
|
+
<filter id="blur" x="-20%" y="-20%" width="140%" height="140%">
|
|
19
|
+
<feGaussianBlur stdDeviation="24"/>
|
|
20
|
+
</filter>
|
|
21
|
+
</defs>
|
|
22
|
+
|
|
23
|
+
<rect width="1280" height="720" fill="url(#bg)"/>
|
|
24
|
+
<circle cx="1120" cy="132" r="136" fill="#69d8c3" opacity="0.16" filter="url(#blur)"/>
|
|
25
|
+
<circle cx="180" cy="640" r="170" fill="#8ab6ff" opacity="0.18" filter="url(#blur)"/>
|
|
26
|
+
|
|
27
|
+
<rect x="90" y="96" width="470" height="528" rx="34" fill="#0f141c" opacity="0.92" stroke="#3a4c63"/>
|
|
28
|
+
<rect x="126" y="140" width="398" height="18" rx="9" fill="url(#accent)" opacity="0.9"/>
|
|
29
|
+
<rect x="126" y="188" width="182" height="28" rx="14" fill="#f5efe1" opacity="0.92"/>
|
|
30
|
+
<rect x="126" y="242" width="300" height="16" rx="8" fill="#8da6c7" opacity="0.7"/>
|
|
31
|
+
<rect x="126" y="272" width="260" height="16" rx="8" fill="#8da6c7" opacity="0.55"/>
|
|
32
|
+
|
|
33
|
+
<g transform="translate(126 344)">
|
|
34
|
+
<rect width="318" height="68" rx="18" fill="#17212d" stroke="#32465d"/>
|
|
35
|
+
<circle cx="36" cy="34" r="15" fill="#69d8c3"/>
|
|
36
|
+
<path d="M29 34l5 5 10-12" fill="none" stroke="#0d1722" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
|
37
|
+
<rect x="72" y="22" width="110" height="12" rx="6" fill="#f1f5f9"/>
|
|
38
|
+
<rect x="72" y="42" width="160" height="10" rx="5" fill="#8da6c7" opacity="0.75"/>
|
|
39
|
+
</g>
|
|
40
|
+
|
|
41
|
+
<g transform="translate(126 430)">
|
|
42
|
+
<rect width="356" height="68" rx="18" fill="#17212d" stroke="#32465d"/>
|
|
43
|
+
<circle cx="36" cy="34" r="15" fill="#69d8c3" opacity="0.82"/>
|
|
44
|
+
<path d="M29 34l5 5 10-12" fill="none" stroke="#0d1722" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
|
45
|
+
<rect x="72" y="22" width="132" height="12" rx="6" fill="#f1f5f9"/>
|
|
46
|
+
<rect x="72" y="42" width="200" height="10" rx="5" fill="#8da6c7" opacity="0.75"/>
|
|
47
|
+
</g>
|
|
48
|
+
|
|
49
|
+
<g transform="translate(640 88)">
|
|
50
|
+
<rect width="548" height="548" rx="44" fill="url(#panel)"/>
|
|
51
|
+
<rect x="78" y="84" width="392" height="244" rx="26" fill="#0f141c" opacity="0.92"/>
|
|
52
|
+
<path d="M128 282c42-72 86-108 132-108 35 0 69 15 103 44 31 27 58 40 80 40 39 0 73-21 104-64l29 20c-42 63-87 94-136 94-33 0-67-13-102-39-32-24-60-36-84-36-34 0-67 28-98 84z" fill="#69d8c3"/>
|
|
53
|
+
<circle cx="272" cy="206" r="46" fill="#8ab6ff" opacity="0.92"/>
|
|
54
|
+
<rect x="78" y="372" width="188" height="22" rx="11" fill="#0f141c" opacity="0.88"/>
|
|
55
|
+
<rect x="78" y="414" width="300" height="16" rx="8" fill="#243447" opacity="0.6"/>
|
|
56
|
+
<rect x="78" y="444" width="262" height="16" rx="8" fill="#243447" opacity="0.44"/>
|
|
57
|
+
<rect x="78" y="484" width="164" height="56" rx="18" fill="#0f141c" opacity="0.88"/>
|
|
58
|
+
<rect x="102" y="506" width="114" height="12" rx="6" fill="#f5efe1" opacity="0.88"/>
|
|
59
|
+
</g>
|
|
60
|
+
</svg>
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Quick links cover</title>
|
|
3
|
+
<desc id="desc">Abstract navigation cover with cards and directional accents.</desc>
|
|
4
|
+
<defs>
|
|
5
|
+
<linearGradient id="bg" x1="0" y1="0" x2="1" y2="1">
|
|
6
|
+
<stop offset="0%" stop-color="#10261f"/>
|
|
7
|
+
<stop offset="45%" stop-color="#16372d"/>
|
|
8
|
+
<stop offset="100%" stop-color="#1e4d3e"/>
|
|
9
|
+
</linearGradient>
|
|
10
|
+
<linearGradient id="card" x1="0" y1="0" x2="1" y2="1">
|
|
11
|
+
<stop offset="0%" stop-color="#f3f0e7"/>
|
|
12
|
+
<stop offset="100%" stop-color="#d5ddd1"/>
|
|
13
|
+
</linearGradient>
|
|
14
|
+
<linearGradient id="accent" x1="0" y1="0" x2="1" y2="0">
|
|
15
|
+
<stop offset="0%" stop-color="#69d8c3"/>
|
|
16
|
+
<stop offset="100%" stop-color="#d3b874"/>
|
|
17
|
+
</linearGradient>
|
|
18
|
+
<filter id="blur" x="-20%" y="-20%" width="140%" height="140%">
|
|
19
|
+
<feGaussianBlur stdDeviation="26"/>
|
|
20
|
+
</filter>
|
|
21
|
+
</defs>
|
|
22
|
+
|
|
23
|
+
<rect width="1280" height="720" fill="url(#bg)"/>
|
|
24
|
+
<circle cx="154" cy="138" r="126" fill="#69d8c3" opacity="0.18" filter="url(#blur)"/>
|
|
25
|
+
<circle cx="1090" cy="598" r="170" fill="#d3b874" opacity="0.16" filter="url(#blur)"/>
|
|
26
|
+
|
|
27
|
+
<g transform="translate(98 112)">
|
|
28
|
+
<rect width="452" height="480" rx="42" fill="#0f1714" opacity="0.94" stroke="#385247"/>
|
|
29
|
+
<rect x="44" y="48" width="162" height="18" rx="9" fill="url(#accent)"/>
|
|
30
|
+
<rect x="44" y="100" width="278" height="18" rx="9" fill="#f3f0e7" opacity="0.94"/>
|
|
31
|
+
<rect x="44" y="136" width="212" height="14" rx="7" fill="#9cb5ac" opacity="0.58"/>
|
|
32
|
+
|
|
33
|
+
<g transform="translate(44 204)">
|
|
34
|
+
<rect width="364" height="86" rx="24" fill="#17231e" stroke="#33493f"/>
|
|
35
|
+
<rect x="28" y="24" width="116" height="12" rx="6" fill="#f3f0e7"/>
|
|
36
|
+
<rect x="28" y="46" width="176" height="10" rx="5" fill="#8aa196" opacity="0.82"/>
|
|
37
|
+
<circle cx="320" cy="43" r="20" fill="#22362d"/>
|
|
38
|
+
<path d="M311 43h18M321 34l9 9-9 9" fill="none" stroke="#69d8c3" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
|
39
|
+
</g>
|
|
40
|
+
|
|
41
|
+
<g transform="translate(44 310)">
|
|
42
|
+
<rect width="330" height="86" rx="24" fill="#17231e" stroke="#33493f"/>
|
|
43
|
+
<rect x="28" y="24" width="96" height="12" rx="6" fill="#f3f0e7"/>
|
|
44
|
+
<rect x="28" y="46" width="156" height="10" rx="5" fill="#8aa196" opacity="0.82"/>
|
|
45
|
+
<circle cx="286" cy="43" r="20" fill="#22362d"/>
|
|
46
|
+
<path d="M277 43h18M287 34l9 9-9 9" fill="none" stroke="#69d8c3" stroke-width="6" stroke-linecap="round" stroke-linejoin="round"/>
|
|
47
|
+
</g>
|
|
48
|
+
</g>
|
|
49
|
+
|
|
50
|
+
<g transform="translate(646 100)">
|
|
51
|
+
<rect width="536" height="520" rx="44" fill="url(#card)" opacity="0.98"/>
|
|
52
|
+
<rect x="58" y="56" width="420" height="248" rx="28" fill="#0f1714" opacity="0.94"/>
|
|
53
|
+
<g transform="translate(110 114)">
|
|
54
|
+
<rect width="116" height="116" rx="28" fill="#69d8c3"/>
|
|
55
|
+
<path d="M40 58h36M58 40l18 18-18 18" fill="none" stroke="#0f1714" stroke-width="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
56
|
+
</g>
|
|
57
|
+
<g transform="translate(250 114)">
|
|
58
|
+
<rect width="116" height="116" rx="28" fill="#d3b874"/>
|
|
59
|
+
<path d="M40 58h36M58 40l18 18-18 18" fill="none" stroke="#0f1714" stroke-width="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
60
|
+
</g>
|
|
61
|
+
<g transform="translate(180 272)">
|
|
62
|
+
<rect width="116" height="116" rx="28" fill="#8ab6ff"/>
|
|
63
|
+
<path d="M40 58h36M58 40l18 18-18 18" fill="none" stroke="#0f1714" stroke-width="10" stroke-linecap="round" stroke-linejoin="round"/>
|
|
64
|
+
</g>
|
|
65
|
+
<rect x="58" y="360" width="204" height="18" rx="9" fill="#10261f" opacity="0.92"/>
|
|
66
|
+
<rect x="58" y="396" width="294" height="14" rx="7" fill="#425b52" opacity="0.6"/>
|
|
67
|
+
<rect x="58" y="424" width="248" height="14" rx="7" fill="#425b52" opacity="0.42"/>
|
|
68
|
+
<rect x="58" y="470" width="172" height="58" rx="18" fill="#10261f" opacity="0.92"/>
|
|
69
|
+
<rect x="84" y="493" width="120" height="12" rx="6" fill="#f3f0e7" opacity="0.92"/>
|
|
70
|
+
</g>
|
|
71
|
+
</svg>
|