docus 1.0.7 → 3.0.0-beta.10

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.
Files changed (135) hide show
  1. package/README.md +9 -22
  2. package/package.json +38 -63
  3. package/theme/app/router.options.ts +18 -0
  4. package/theme/assets/css/fonts.css +84 -0
  5. package/theme/assets/css/main.css +104 -0
  6. package/theme/components/app/Container.vue +25 -0
  7. package/theme/components/app/Footer.vue +40 -0
  8. package/theme/components/app/MobileNav.vue +85 -0
  9. package/theme/components/app/Navbar.vue +37 -0
  10. package/theme/components/app/NavbarLogo.vue +33 -0
  11. package/theme/components/app/Page.vue +7 -0
  12. package/theme/components/app/PoweredByDocus.vue +11 -0
  13. package/theme/components/content/Alert.vue +124 -0
  14. package/theme/components/content/BlockHero.vue +54 -0
  15. package/theme/components/content/ButtonLink.vue +45 -0
  16. package/theme/components/content/Card.vue +46 -0
  17. package/theme/components/content/CardGrid.vue +23 -0
  18. package/theme/components/content/CodeBlock.vue +47 -0
  19. package/theme/components/content/CodeGroup.vue +135 -0
  20. package/theme/components/content/CopyButton.vue +49 -0
  21. package/theme/components/content/List.vue +5 -0
  22. package/theme/components/content/NeedContribution.vue +23 -0
  23. package/theme/components/content/ReadMore.vue +25 -0
  24. package/theme/components/content/Sandbox.vue +102 -0
  25. package/theme/components/content/TabsHeader.vue +44 -0
  26. package/theme/components/content/Terminal.vue +64 -0
  27. package/theme/components/content/VideoPlayer.vue +115 -0
  28. package/theme/components/dev/Debug.vue +65 -0
  29. package/theme/components/docs/DocsAside.vue +21 -0
  30. package/theme/components/docs/DocsAsideTree.vue +104 -0
  31. package/theme/components/docs/DocsHero.vue +39 -0
  32. package/theme/components/docs/DocsPage.vue +21 -0
  33. package/theme/components/docs/DocsPageContent.vue +32 -0
  34. package/theme/components/docs/DocsToc.vue +77 -0
  35. package/theme/components/globals/Icon.vue +24 -0
  36. package/theme/components/globals/Logo.vue +3 -0
  37. package/theme/components/globals/NuxtImg.vue +45 -0
  38. package/theme/components/globals/SocialIcons.vue +45 -0
  39. package/theme/components/globals/ThemeSelect.vue +35 -0
  40. package/theme/components/icons/IconAlgolia.vue +8 -0
  41. package/theme/components/icons/IconArrowLeft.vue +10 -0
  42. package/theme/components/icons/IconArrowRight.vue +10 -0
  43. package/theme/components/icons/IconBadgeCheck.vue +14 -0
  44. package/theme/components/icons/IconCheck.vue +10 -0
  45. package/theme/components/icons/IconCheckCircle.vue +10 -0
  46. package/theme/components/icons/IconChevronRight.vue +12 -0
  47. package/theme/components/icons/IconClipboardCheck.vue +14 -0
  48. package/theme/components/icons/IconClipboardCopy.vue +14 -0
  49. package/theme/components/icons/IconCodeSandbox.vue +8 -0
  50. package/theme/components/icons/IconCopy.vue +17 -0
  51. package/theme/components/icons/IconDots.vue +10 -0
  52. package/theme/components/icons/IconEdit.vue +18 -0
  53. package/theme/components/icons/IconExclamationCircle.vue +12 -0
  54. package/theme/components/icons/IconExclamationTriangle.vue +10 -0
  55. package/theme/components/icons/IconExternalLink.vue +12 -0
  56. package/theme/components/icons/IconGit.vue +7 -0
  57. package/theme/components/icons/IconGitHub.vue +10 -0
  58. package/theme/components/icons/IconHeart.vue +9 -0
  59. package/theme/components/icons/IconInformationCircle.vue +10 -0
  60. package/theme/components/icons/IconLighthouse.vue +83 -0
  61. package/theme/components/icons/IconLine.vue +10 -0
  62. package/theme/components/icons/IconMarkdown.vue +13 -0
  63. package/theme/components/icons/IconMenu.vue +12 -0
  64. package/theme/components/icons/IconMenuAlt.vue +10 -0
  65. package/theme/components/icons/IconMinus.vue +10 -0
  66. package/theme/components/icons/IconMoon.vue +10 -0
  67. package/theme/components/icons/IconNuxt.vue +14 -0
  68. package/theme/components/icons/IconNuxtContent.vue +20 -0
  69. package/theme/components/icons/IconNuxtLabs.vue +21 -0
  70. package/theme/components/icons/IconPlus.vue +10 -0
  71. package/theme/components/icons/IconPuzzle.vue +8 -0
  72. package/theme/components/icons/IconSSG.vue +7 -0
  73. package/theme/components/icons/IconSearch.vue +12 -0
  74. package/theme/components/icons/IconSun.vue +10 -0
  75. package/theme/components/icons/IconTailwind.vue +3 -0
  76. package/theme/components/icons/IconTocBack.vue +21 -0
  77. package/theme/components/icons/IconTocCurrent.vue +21 -0
  78. package/theme/components/icons/IconTocNext.vue +8 -0
  79. package/theme/components/icons/IconTranslate.vue +14 -0
  80. package/theme/components/icons/IconTwitter.vue +8 -0
  81. package/theme/components/icons/IconVite.vue +30 -0
  82. package/theme/components/icons/IconVue.vue +6 -0
  83. package/theme/components/icons/IconVueTelescope.vue +11 -0
  84. package/theme/components/icons/IconWindi.vue +17 -0
  85. package/theme/components/icons/IconX.vue +12 -0
  86. package/theme/components/icons/IconXCircle.vue +10 -0
  87. package/theme/components/icons/IconZap.vue +8 -0
  88. package/theme/components/prose/ProseA.vue +66 -0
  89. package/theme/components/prose/ProseBlockquote.vue +21 -0
  90. package/theme/components/prose/ProseCode.vue +67 -0
  91. package/theme/components/prose/ProseCodeInline.vue +38 -0
  92. package/theme/components/prose/ProseEm.vue +11 -0
  93. package/theme/components/prose/ProseH1.vue +22 -0
  94. package/theme/components/prose/ProseH2.vue +22 -0
  95. package/theme/components/prose/ProseH3.vue +24 -0
  96. package/theme/components/prose/ProseH4.vue +24 -0
  97. package/theme/components/prose/ProseHr.vue +13 -0
  98. package/theme/components/prose/ProseImg.vue +30 -0
  99. package/theme/components/prose/ProseLi.vue +31 -0
  100. package/theme/components/prose/ProseOl.vue +16 -0
  101. package/theme/components/prose/ProseP.vue +14 -0
  102. package/theme/components/prose/ProseStrong.vue +14 -0
  103. package/theme/components/prose/ProseTable.vue +13 -0
  104. package/theme/components/prose/ProseTbody.vue +5 -0
  105. package/theme/components/prose/ProseTd.vue +11 -0
  106. package/theme/components/prose/ProseTh.vue +11 -0
  107. package/theme/components/prose/ProseThead.vue +11 -0
  108. package/theme/components/prose/ProseTr.vue +11 -0
  109. package/theme/components/prose/ProseUl.vue +15 -0
  110. package/theme/composables/useDocus.ts +43 -0
  111. package/theme/composables/useMenu.ts +7 -0
  112. package/theme/composables/useScrollToHeading.ts +35 -0
  113. package/theme/composables/useScrollspy.ts +46 -0
  114. package/theme/composables/useUserAgent.ts +7 -0
  115. package/theme/composables/utils.ts +4 -0
  116. package/theme/layouts/default.vue +29 -0
  117. package/theme/layouts/page.vue +19 -0
  118. package/theme/middleware/components.ts +26 -0
  119. package/theme/middleware/navigation.global.ts +12 -0
  120. package/theme/middleware/page.ts +8 -0
  121. package/theme/middleware/theme.global.ts +12 -0
  122. package/theme/nuxt.config.ts +171 -0
  123. package/theme/pages/[...slug].vue +64 -0
  124. package/theme/plugins/menu.ts +67 -0
  125. package/theme/plugins/user-agent.ts +27 -0
  126. package/theme/utils/components.ts +25 -0
  127. package/theme/utils/navigation.ts +49 -0
  128. package/theme/utils/plugin.ts +21 -0
  129. package/theme/utils/queries.ts +68 -0
  130. package/theme/utils/state.ts +33 -0
  131. package/theme/utils/theme.ts +66 -0
  132. package/dist/create-docus/create-docus.js +0 -7
  133. package/dist/create-docus/helpers.js +0 -244
  134. package/dist/create-docus/index.js +0 -87
  135. package/dist/index.js +0 -10
@@ -0,0 +1,3 @@
1
+ <template>
2
+ <svg fill="#06B6D4" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12.001,4.8c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 C13.666,10.618,15.027,12,18.001,12c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C16.337,6.182,14.976,4.8,12.001,4.8z M6.001,12c-3.2,0-5.2,1.6-6,4.8c1.2-1.6,2.6-2.2,4.2-1.8c0.913,0.228,1.565,0.89,2.288,1.624 c1.177,1.194,2.538,2.576,5.512,2.576c3.2,0,5.2-1.6,6-4.8c-1.2,1.6-2.6,2.2-4.2,1.8c-0.913-0.228-1.565-0.89-2.288-1.624 C10.337,13.382,8.976,12,6.001,12z" /></svg>
3
+ </template>
@@ -0,0 +1,21 @@
1
+ <template>
2
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <rect
4
+ x="0.5"
5
+ y="0.5"
6
+ width="23"
7
+ height="23"
8
+ rx="5.5"
9
+ fill="#F1F5F9"
10
+ />
11
+ <rect
12
+ x="0.5"
13
+ y="0.5"
14
+ width="23"
15
+ height="23"
16
+ rx="5.5"
17
+ stroke="#F1F5F9"
18
+ />
19
+ <path d="M10.756 15.8657C10.8765 15.9461 11.0166 15.9923 11.1612 15.9993C11.3059 16.0063 11.4497 15.9739 11.5774 15.9056C11.7051 15.8373 11.8119 15.7356 11.8863 15.6113C11.9608 15.4871 12.0001 15.345 12 15.2001V12.9617L16.356 15.8657C16.4765 15.9461 16.6166 15.9923 16.7612 15.9993C16.9059 16.0063 17.0497 15.9739 17.1774 15.9056C17.3051 15.8373 17.4119 15.7356 17.4863 15.6113C17.5608 15.4871 17.6001 15.345 17.6 15.2001V8.80012C17.6001 8.65529 17.5608 8.51316 17.4863 8.38891C17.4119 8.26466 17.3051 8.16295 17.1774 8.09462C17.0497 8.02629 16.9059 7.99392 16.7612 8.00094C16.6166 8.00797 16.4765 8.05414 16.356 8.13452L12 11.0385V8.80012C12.0001 8.65529 11.9608 8.51316 11.8863 8.38891C11.8119 8.26466 11.7051 8.16295 11.5774 8.09462C11.4497 8.02629 11.3059 7.99392 11.1612 8.00094C11.0166 8.00797 10.8765 8.05414 10.756 8.13452L5.95603 11.3345C5.84647 11.4076 5.75663 11.5066 5.6945 11.6227C5.63236 11.7388 5.59985 11.8684 5.59985 12.0001C5.59985 12.1318 5.63236 12.2615 5.6945 12.3776C5.75663 12.4937 5.84647 12.5927 5.95603 12.6657L10.756 15.8657Z" fill="#94A3B8" />
20
+ </svg>
21
+ </template>
@@ -0,0 +1,21 @@
1
+ <template>
2
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <rect
4
+ x="0.5"
5
+ y="0.5"
6
+ width="23"
7
+ height="23"
8
+ rx="5.5"
9
+ fill="#1E293B"
10
+ />
11
+ <rect
12
+ x="0.5"
13
+ y="0.5"
14
+ width="23"
15
+ height="23"
16
+ rx="5.5"
17
+ stroke="#1E293B"
18
+ />
19
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 18.4001C13.6975 18.4001 15.3253 17.7258 16.5256 16.5256C17.7258 15.3253 18.4001 13.6975 18.4001 12.0001C18.4001 10.3027 17.7258 8.67485 16.5256 7.47461C15.3253 6.27438 13.6975 5.6001 12.0001 5.6001C10.3027 5.6001 8.67485 6.27438 7.47461 7.47461C6.27438 8.67485 5.6001 10.3027 5.6001 12.0001C5.6001 13.6975 6.27438 15.3253 7.47461 16.5256C8.67485 17.7258 10.3027 18.4001 12.0001 18.4001V18.4001ZM11.6441 9.7345C11.5236 9.65411 11.3836 9.60795 11.2389 9.60092C11.0942 9.59389 10.9504 9.62627 10.8227 9.6946C10.695 9.76293 10.5882 9.86464 10.5138 9.98889C10.4394 10.1131 10.4001 10.2553 10.4001 10.4001V13.6001C10.4001 13.7449 10.4394 13.8871 10.5138 14.0113C10.5882 14.1356 10.695 14.2373 10.8227 14.3056C10.9504 14.3739 11.0942 14.4063 11.2389 14.3993C11.3836 14.3922 11.5236 14.3461 11.6441 14.2657L14.0441 12.6657C14.1537 12.5926 14.2435 12.4937 14.3056 12.3776C14.3678 12.2614 14.4003 12.1318 14.4003 12.0001C14.4003 11.8684 14.3678 11.7388 14.3056 11.6226C14.2435 11.5065 14.1537 11.4076 14.0441 11.3345L11.6441 9.7345V9.7345Z" fill="white" />
20
+ </svg>
21
+ </template>
@@ -0,0 +1,8 @@
1
+ <template>
2
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <rect width="24" height="24" rx="6" fill="#F1F5F9" />
4
+ <g opacity="0.6">
5
+ <path d="M7.6439 9.13452C7.52342 9.05414 7.38338 9.00797 7.23872 9.00094C7.09405 8.99392 6.95019 9.02629 6.82249 9.09462C6.69479 9.16295 6.58803 9.26466 6.5136 9.38891C6.43918 9.51316 6.39988 9.65529 6.3999 9.80012V16.2001C6.39988 16.345 6.43918 16.4871 6.5136 16.6113C6.58803 16.7356 6.69479 16.8373 6.82249 16.9056C6.95019 16.9739 7.09405 17.0063 7.23872 16.9993C7.38338 16.9923 7.52342 16.9461 7.6439 16.8657L11.9999 13.9617V16.2001C11.9999 16.345 12.0392 16.4871 12.1136 16.6113C12.188 16.7356 12.2948 16.8373 12.4225 16.9056C12.5502 16.9739 12.6941 17.0063 12.8387 16.9993C12.9834 16.9923 13.1234 16.9461 13.2439 16.8657L18.0439 13.6657C18.1535 13.5927 18.2433 13.4937 18.3054 13.3776C18.3676 13.2615 18.4001 13.1318 18.4001 13.0001C18.4001 12.8684 18.3676 12.7388 18.3054 12.6227C18.2433 12.5066 18.1535 12.4076 18.0439 12.3345L13.2439 9.13452C13.1234 9.05414 12.9834 9.00797 12.8387 9.00094C12.6941 8.99392 12.5502 9.02629 12.4225 9.09462C12.2948 9.16295 12.188 9.26466 12.1136 9.38891C12.0392 9.51316 11.9999 9.65529 11.9999 9.80012V12.0385L7.6439 9.13452Z" fill="#94A3B8" />
6
+ </g>
7
+ </svg>
8
+ </template>
@@ -0,0 +1,14 @@
1
+ <template>
2
+ <svg
3
+ fill="none"
4
+ stroke-linecap="round"
5
+ stroke-linejoin="round"
6
+ stroke-width="2"
7
+ stroke="currentColor"
8
+ viewBox="0 0 24 24"
9
+ >
10
+ <path
11
+ d="M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129"
12
+ />
13
+ </svg>
14
+ </template>
@@ -0,0 +1,8 @@
1
+ <template>
2
+ <svg viewBox="0 0 124 124" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <path
4
+ d="M109 33.1157C105.542 34.6633 101.825 35.7055 97.9237 36.1754C101.907 33.7711 104.966 29.9613 106.403 25.4213C102.678 27.6479 98.5505 29.2665 94.1557 30.139C90.6425 26.3609 85.6252 24 80.0793 24C67.6284 24 58.4788 35.7095 61.2912 47.8651C45.268 47.0558 31.0583 39.3179 21.5448 27.5571C16.4923 36.2938 18.9245 47.723 27.5098 53.5105C24.353 53.4079 21.3763 52.5354 18.7796 51.0787C18.5681 60.0838 24.9718 68.5088 34.2465 70.384C31.5322 71.126 28.5595 71.2999 25.5358 70.7155C27.9877 78.4378 35.1082 84.0555 43.5525 84.2136C35.445 90.6208 25.2303 93.4832 15 92.2674C23.5344 97.7826 33.6747 101 44.563 101C80.3692 101 100.599 70.5181 99.3768 43.1789C103.144 40.4351 106.415 37.0123 109 33.1157Z"
5
+ fill="currentColor"
6
+ />
7
+ </svg>
8
+ </template>
@@ -0,0 +1,30 @@
1
+ <template>
2
+ <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 410 404">
3
+ <defs>
4
+ <linearGradient id="paint0_linear" x1="6" y1="33" x2="235" y2="344" gradientUnits="userSpaceOnUse">
5
+ <stop stop-color="#41D1FF" />
6
+ <stop offset="1" stop-color="#BD34FE" />
7
+ </linearGradient>
8
+ <linearGradient
9
+ id="paint1_linear"
10
+ x1="194.651"
11
+ y1="8.818"
12
+ x2="236.076"
13
+ y2="292.989"
14
+ gradientUnits="userSpaceOnUse"
15
+ >
16
+ <stop stop-color="#FFEA83" />
17
+ <stop offset=".083" stop-color="#FFDD35" />
18
+ <stop offset="1" stop-color="#FFA800" />
19
+ </linearGradient>
20
+ </defs>
21
+ <path
22
+ d="M399.641 59.525l-183.998 329.02c-3.799 6.793-13.559 6.833-17.415.073L10.582 59.556C6.38 52.19 12.68 43.266 21.028 44.76l184.195 32.923c1.175.21 2.378.208 3.553-.006l180.343-32.87c8.32-1.517 14.649 7.337 10.522 14.719z"
23
+ fill="url(#paint0_linear)"
24
+ />
25
+ <path
26
+ d="M292.965 1.574L156.801 28.255a5 5 0 00-4.03 4.611l-8.376 141.464c-.197 3.332 2.863 5.918 6.115 5.168l37.91-8.749c3.547-.818 6.752 2.306 6.023 5.873l-11.263 55.153c-.758 3.712 2.727 6.886 6.352 5.785l23.415-7.114c3.63-1.102 7.118 2.081 6.35 5.796l-17.899 86.633c-1.12 5.419 6.088 8.374 9.094 3.728l2.008-3.103 110.954-221.428c1.858-3.707-1.346-7.935-5.418-7.15l-39.022 7.532c-3.667.707-6.787-2.708-5.752-6.296l25.469-88.291c1.036-3.594-2.095-7.012-5.766-6.293z"
27
+ fill="url(#paint1_linear)"
28
+ />
29
+ </svg>
30
+ </template>
@@ -0,0 +1,6 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="currentColor">
3
+ <polygon fill="#81c784" points="23.987,17 18.734,8 2.974,8 23.987,44 45,8 29.24,8" />
4
+ <polygon fill="#455a64" points="29.24,8 23.987,17 18.734,8 11.146,8 23.987,30 36.828,8" />
5
+ </svg>
6
+ </template>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <svg viewBox="0 0 124 124" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <path
4
+ d="M48 82.5887L57.1066 98.175C59.3073 101.942 64.8092 101.942 67.0102 98.175L101 40H72.8834L48 82.5887Z"
5
+ fill="currentColor"
6
+ />
7
+ <path d="M77 33H104.936L105.23 32.4924C107.417 28.718 104.684 24 100.31 24H82.2142L77 33Z" fill="currentColor" />
8
+ <path d="M74 24L68.7601 33H19.0689L18.7734 32.4924C16.5759 28.718 19.3228 24 23.7177 24H74Z" fill="currentColor" />
9
+ <path d="M65 40L44 76L23 40H65Z" fill="currentColor" />
10
+ </svg>
11
+ </template>
@@ -0,0 +1,17 @@
1
+ <template>
2
+ <svg viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <path
4
+ d="M67.0788 31.5813C67.0788 21.8864 59.1923 14 49.4975 14C39.2803 14 33.1721 21.6604 33.1721 29.0696H43.2185C43.2185 26.985 45.1675 24.0464 49.4975 24.0464C53.6517 24.0464 57.0323 27.4271 57.0323 31.5813C57.0323 35.7355 54 39.1161 46.3533 39.1161H19V49.1625H46.3533C59.259 49.1625 67.0788 41.2761 67.0788 31.5813ZM67.0788 31.5813C67.0788 21.8864 59.1923 14 49.4975 14C39.2803 14 33.1721 21.6604 33.1721 29.0696H43.2185C43.2185 26.985 45.1675 24.0464 49.4975 24.0464C53.6517 24.0464 57.0323 27.4271 57.0323 31.5813C57.0323 35.7355 54 39.1161 46.3533 39.1161H19V49.1625H46.3533C59.259 49.1625 67.0788 41.2761 67.0788 31.5813Z"
5
+ fill="#42A4EF"
6
+ />
7
+ <path
8
+ d="M89.3666 96.4187C89.3666 106.114 81.4801 114 71.7853 114C61.5681 114 55.4598 106.34 55.4598 98.9304H65.5063C65.5063 101.015 67.4553 103.954 71.7853 103.954C75.9395 103.954 79.3201 100.573 79.3201 96.4187C79.3201 92.2645 75.4999 88.8839 68.6411 88.8839H38.2878V78.8375H68.6411C81.5468 78.8375 89.3666 86.7239 89.3666 96.4187ZM89.3666 96.4187C89.3666 106.114 81.4801 114 71.7853 114C61.5681 114 55.4598 106.34 55.4598 98.9304H65.5063C65.5063 101.015 67.4553 103.954 71.7853 103.954C75.9395 103.954 79.3201 100.573 79.3201 96.4187C79.3201 92.2645 75.4999 88.8839 68.6411 88.8839H38.2878V78.8375H68.6411C81.5468 78.8375 89.3666 86.7239 89.3666 96.4187Z"
9
+ fill="#42A4EF"
10
+ />
11
+ <path
12
+ d="M92 29.5C80.9188 29.5 73.102 37.9269 73.102 49.0081H82C82 43.5 86 39.5 92 39.5C98 39.5 101 43.5 101 49.0081C101 54.5162 97.1036 59.0545 86.5 59.0545H19V69.101H88C103.703 69.101 111 59.0081 111 49.0081C111 37.9269 103.5 29.5 92 29.5Z"
13
+ fill="#42A4EF"
14
+ />
15
+ <path d="M32.1701 78.8375H19V88.9683H32.1701V78.8375Z" fill="#42A4EF" />
16
+ </svg>
17
+ </template>
@@ -0,0 +1,12 @@
1
+ <template>
2
+ <svg
3
+ fill="none"
4
+ stroke-linecap="round"
5
+ stroke-linejoin="round"
6
+ stroke-width="2"
7
+ viewBox="0 0 24 24"
8
+ stroke="currentColor"
9
+ >
10
+ <path d="M6 18L18 6M6 6l12 12" />
11
+ </svg>
12
+ </template>
@@ -0,0 +1,10 @@
1
+ <template>
2
+ <svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
3
+ <path
4
+ d="M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704ZM9.85358 5.14644C10.0488 5.3417 10.0488 5.65829 9.85358 5.85355L8.20713 7.49999L9.85358 9.14644C10.0488 9.3417 10.0488 9.65829 9.85358 9.85355C9.65832 10.0488 9.34173 10.0488 9.14647 9.85355L7.50002 8.2071L5.85358 9.85355C5.65832 10.0488 5.34173 10.0488 5.14647 9.85355C4.95121 9.65829 4.95121 9.3417 5.14647 9.14644L6.79292 7.49999L5.14647 5.85355C4.95121 5.65829 4.95121 5.3417 5.14647 5.14644C5.34173 4.95118 5.65832 4.95118 5.85358 5.14644L7.50002 6.79289L9.14647 5.14644C9.34173 4.95118 9.65832 4.95118 9.85358 5.14644Z"
5
+ fill="currentColor"
6
+ fill-rule="evenodd"
7
+ clip-rule="evenodd"
8
+ />
9
+ </svg>
10
+ </template>
@@ -0,0 +1,8 @@
1
+ <template>
2
+ <svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 48 48" width="64" height="64">
3
+ <polygon
4
+ fill="#ffae0b"
5
+ points="16.828,5.828 29.966,5.828 25.172,19.414 33.966,19.414 18.621,43.138 21.034,26.379 12.828,26.379"
6
+ />
7
+ </svg>
8
+ </template>
@@ -0,0 +1,66 @@
1
+ <script setup lang="ts">
2
+ defineProps({
3
+ href: {
4
+ type: String,
5
+ default: '',
6
+ },
7
+ blank: {
8
+ type: Boolean,
9
+ default: false,
10
+ },
11
+ /**
12
+ * `true` if `href` points to a static file
13
+ */
14
+ static: {
15
+ type: Boolean,
16
+ default: false,
17
+ },
18
+ })
19
+ </script>
20
+
21
+ <template>
22
+ <NuxtLink :to="href" :blank="blank" :static="static">
23
+ <slot />
24
+ </NuxtLink>
25
+ </template>
26
+
27
+ <style lang="postcss" scoped>
28
+ :not(h1, h2, h3, h4) > a {
29
+ @apply font-medium no-underline text-primary-500 border-b border-transparent hover:border-primary-500 transition-colors;
30
+ }
31
+
32
+ h1 a,
33
+ h2 a,
34
+ h3 a,
35
+ h4 a {
36
+ @apply relative;
37
+ &::after {
38
+ @apply absolute pl-2 w-6 h-6 opacity-0;
39
+ content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="%23111827"%3E%3Cpath stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1" /%3E%3C/svg%3E');
40
+ }
41
+ &:hover {
42
+ &::after {
43
+ @apply opacity-100;
44
+ }
45
+ }
46
+
47
+ /* Hover underline */
48
+ &:before {
49
+ @apply absolute top-0 left-0 w-full;
50
+ content: '';
51
+ height: calc(100% + 4px);
52
+ }
53
+ &:hover:before {
54
+ @apply border-b border-dashed border-gray-900 dark:border-gray-100;
55
+ }
56
+ }
57
+
58
+ .dark h1 a,
59
+ .dark h2 a,
60
+ .dark h3 a,
61
+ .dark h4 a {
62
+ &::after {
63
+ content: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="white"%3E%3Cpath stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1" /%3E%3C/svg%3E');
64
+ }
65
+ }
66
+ </style>
@@ -0,0 +1,21 @@
1
+ <template>
2
+ <blockquote>
3
+ <slot />
4
+ </blockquote>
5
+ </template>
6
+
7
+ <style lang="postcss" scoped>
8
+ blockquote {
9
+ @apply text-base mt-[1.5em] mb-[1.5em] font-medium pl-4 text-secondary border-l-2 border-gray-200 dark:border-gray-700;
10
+
11
+ quotes: '201C' '201D' '2018' '2019';
12
+ }
13
+
14
+ blockquote p:first-of-type::before {
15
+ content: '';
16
+ }
17
+
18
+ blockquote p:last-of-type::after {
19
+ content: '';
20
+ }
21
+ </style>
@@ -0,0 +1,67 @@
1
+ <script setup lang="ts">
2
+ import type { PropType } from 'vue'
3
+ import type { Lang } from 'shiki-es'
4
+
5
+ defineProps({
6
+ code: {
7
+ type: String,
8
+ default: '',
9
+ },
10
+ language: {
11
+ type: String as PropType<Lang>,
12
+ default: null,
13
+ },
14
+ filename: {
15
+ type: String,
16
+ default: null,
17
+ },
18
+ highlights: {
19
+ type: Array as () => number[],
20
+ default: () => [],
21
+ },
22
+ })
23
+ </script>
24
+
25
+ <template>
26
+ <div class="prose-code text-gray-50 w-full group">
27
+ <span v-if="filename" class="filename transition-base top-2 right-2 opacity-100 absolute right-0 z-0 m-1 py-1.5 px-2 text-gray-400 bg-gray-900 rounded-lg font-mono text-xs leading-none tracking-tight">
28
+ {{ filename }}
29
+ </span>
30
+
31
+ <slot />
32
+
33
+ <CopyButton class="copy-button opacity-0 transition-base" />
34
+ </div>
35
+ </template>
36
+
37
+ <style lang="postcss" scoped>
38
+ div {
39
+ @apply relative rounded-lg overflow-hidden my-4;
40
+ }
41
+
42
+ :deep(pre) {
43
+ @apply flex flex-1 p-4 my-0 overflow-x-auto leading-relaxed text-sm code-background;
44
+ }
45
+
46
+ :deep(code) {
47
+ @apply flex flex-col;
48
+ }
49
+
50
+ :deep(.line) {
51
+ @apply inline-table min-h-[1rem];
52
+ }
53
+
54
+ :deep(.line.highlight) {
55
+ background-color: #3f3f46;
56
+ }
57
+
58
+ .group:hover {
59
+ .filename {
60
+ @apply opacity-0;
61
+ }
62
+
63
+ .copy-button {
64
+ @apply opacity-100;
65
+ }
66
+ }
67
+ </style>
@@ -0,0 +1,38 @@
1
+ <template>
2
+ <code>
3
+ <slot />
4
+ </code>
5
+ </template>
6
+
7
+ <style lang="postcss" scoped>
8
+ code {
9
+ @apply font-normal text-sm py-[3px] px-[6px] rounded-lg bg-gray-100 text-gray-800 dark:text-gray-100 dark:bg-gray-800;
10
+ }
11
+
12
+ a code {
13
+ &:hover {
14
+ @apply border-primary-500;
15
+ }
16
+ }
17
+
18
+ tbody code {
19
+ @apply text-[12px];
20
+ }
21
+
22
+ h1 a,
23
+ h2 a,
24
+ h3 a,
25
+ h4 a {
26
+ code {
27
+ @apply relative;
28
+ font-size: inherit;
29
+ }
30
+
31
+ & code:before {
32
+ @apply absolute top-[-2px] left-[-2px] -z-[1] rounded-lg pointer-events-none;
33
+ content: '';
34
+ width: calc(100% + 4px);
35
+ height: calc(100% + 4px);
36
+ }
37
+ }
38
+ </style>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <em>
3
+ <slot />
4
+ </em>
5
+ </template>
6
+
7
+ <style lang="postcss" scoped>
8
+ em {
9
+ @apply italic text-current;
10
+ }
11
+ </style>
@@ -0,0 +1,22 @@
1
+ <script setup lang="ts">
2
+ defineProps<{ id: string }>()
3
+ </script>
4
+
5
+ <template>
6
+ <h1 :id="id">
7
+ <NuxtLink :href="`#${id}`">
8
+ <slot />
9
+ </NuxtLink>
10
+ </h1>
11
+ </template>>
12
+
13
+ <style lang="postcss" scoped>
14
+ h1 {
15
+ font-size: 2rem;
16
+ @apply tracking-tight leading-snug font-semibold mt-[1em] mb-[0.5em];
17
+ }
18
+
19
+ h1 + * {
20
+ @apply mt-0;
21
+ }
22
+ </style>
@@ -0,0 +1,22 @@
1
+ <script setup lang="ts">
2
+ defineProps<{ id: string }>()
3
+ </script>
4
+
5
+ <template>
6
+ <h2 :id="id">
7
+ <NuxtLink :href="`#${id}`">
8
+ <slot />
9
+ </NuxtLink>
10
+ </h2>
11
+ </template>
12
+
13
+ <style lang="postcss" scoped>
14
+ h2 {
15
+ font-size: 1.5rem;
16
+ @apply tracking-tight leading-snug font-semibold mt-[1.25em] mb-[0.5em];
17
+ }
18
+
19
+ h2 + * {
20
+ @apply mt-0;
21
+ }
22
+ </style>
@@ -0,0 +1,24 @@
1
+ <script setup lang="ts">
2
+ defineProps<{ id: string }>()
3
+ </script>
4
+
5
+ <template>
6
+ <h3 :id="id">
7
+ <NuxtLink :href="`#${id}`">
8
+ <slot />
9
+ </NuxtLink>
10
+ </h3>
11
+ </template>
12
+
13
+ <style lang="postcss" scoped>
14
+ h3 {
15
+ /* TODO */
16
+ /* extend.fontSize do not work in Windi */
17
+ font-size: 1.25rem;
18
+ @apply tracking-tight leading-snug font-semibold mt-[1.25em] mb-[0.5em];
19
+ }
20
+
21
+ h3 + * {
22
+ @apply mt-0;
23
+ }
24
+ </style>
@@ -0,0 +1,24 @@
1
+ <script setup lang="ts">
2
+ defineProps<{ id: string }>()
3
+ </script>
4
+
5
+ <template>
6
+ <h4 :id="id">
7
+ <NuxtLink :href="`#${id}`">
8
+ <slot />
9
+ </NuxtLink>
10
+ </h4>
11
+ </template>
12
+
13
+ <style lang="postcss" scoped>
14
+ h4 {
15
+ /* TODO */
16
+ /* extend.fontSize do not work in Windi */
17
+ font-size: 1.125rem;
18
+ @apply tracking-tight leading-snug font-semibold mt-[1.25em] mb-[0.5em];
19
+ }
20
+
21
+ h4 + * {
22
+ @apply mt-0;
23
+ }
24
+ </style>
@@ -0,0 +1,13 @@
1
+ <template>
2
+ <hr>
3
+ </template>
4
+
5
+ <style lang="postcss" scoped>
6
+ hr {
7
+ @apply border-t border-gray-100 dark:border-gray-800 my-8;
8
+ }
9
+
10
+ hr + * {
11
+ @apply mt-0;
12
+ }
13
+ </style>
@@ -0,0 +1,30 @@
1
+ <script setup lang="ts">
2
+ defineProps({
3
+ src: {
4
+ type: String,
5
+ default: '',
6
+ },
7
+ alt: {
8
+ type: String,
9
+ default: '',
10
+ },
11
+ width: {
12
+ type: [String, Number],
13
+ default: undefined,
14
+ },
15
+ height: {
16
+ type: [String, Number],
17
+ default: undefined,
18
+ },
19
+ })
20
+ </script>
21
+
22
+ <template>
23
+ <NuxtImg :src="src" :alt="alt" :width="width" :height="height" />
24
+ </template>
25
+
26
+ <style lang="postcss" scoped>
27
+ :deep(img) {
28
+ @apply my-[1em];
29
+ }
30
+ </style>
@@ -0,0 +1,31 @@
1
+ <template>
2
+ <li><slot /></li>
3
+ </template>
4
+
5
+ <style lang="postcss" scoped>
6
+ li {
7
+ @apply relative my-[0.25em] pl-4;
8
+ p {
9
+ @apply my-[0.75em];
10
+ }
11
+ }
12
+
13
+ ul > li {
14
+ &::before {
15
+ @apply absolute left-0 top-[0.5em] surface-secondary rounded-full w-1.5 h-1.5;
16
+ content: '';
17
+ }
18
+ }
19
+
20
+ ol > li {
21
+ &::before {
22
+ @apply absolute left-0 top-0 text-secondary;
23
+ content: counter(list-item, decimal) '.';
24
+ content: counter(list-item, var(--list-counter-style, decimal)) '.';
25
+ }
26
+ }
27
+
28
+ :deep(.nuxt-content-highlight) {
29
+ @apply m-0;
30
+ }
31
+ </style>
@@ -0,0 +1,16 @@
1
+ <template>
2
+ <ol>
3
+ <slot />
4
+ </ol>
5
+ </template>
6
+
7
+ <style lang="postcss" scoped>
8
+ ol {
9
+ @apply mx-0 p-0 my-[1.25em] list-none;
10
+
11
+ :deep(ul),
12
+ :deep(ol) {
13
+ @apply !my-[0.5em];
14
+ }
15
+ }
16
+ </style>
@@ -0,0 +1,14 @@
1
+ <template>
2
+ <p><slot /></p>
3
+ </template>
4
+
5
+ <style lang="postcss" scoped>
6
+ p {
7
+ @apply leading-relaxed my-4;
8
+
9
+ :deep(br) {
10
+ @apply block mt-4;
11
+ content: '';
12
+ }
13
+ }
14
+ </style>
@@ -0,0 +1,14 @@
1
+ <template>
2
+ <strong>
3
+ <slot />
4
+ </strong>
5
+ </template>
6
+
7
+ <style lang="postcss" scoped>
8
+ strong {
9
+ @apply font-semibold;
10
+ }
11
+ a strong {
12
+ @apply text-current;
13
+ }
14
+ </style>
@@ -0,0 +1,13 @@
1
+ <template>
2
+ <div class="max-w-full my-6 overflow-x-auto">
3
+ <table>
4
+ <slot />
5
+ </table>
6
+ </div>
7
+ </template>
8
+
9
+ <style lang="postcss" scoped>
10
+ table {
11
+ @apply leading-5 text-sm w-full table-auto text-left;
12
+ }
13
+ </style>
@@ -0,0 +1,5 @@
1
+ <template>
2
+ <tbody>
3
+ <slot />
4
+ </tbody>
5
+ </template>
@@ -0,0 +1,11 @@
1
+ <template>
2
+ <td>
3
+ <slot />
4
+ </td>
5
+ </template>
6
+
7
+ <style lang="postcss" scoped>
8
+ tbody td {
9
+ @apply align-top first:pl-0 last:pr-0 p-[0.5em];
10
+ }
11
+ </style>