@master/internal-site 0.0.0-stage → 0.1.1
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/LICENSE +21 -0
- package/README.md +68 -2
- package/dist/astro.d.mts +3 -0
- package/dist/astro.mjs +510 -0
- package/dist/config.d.mts +69 -0
- package/dist/config.mjs +10 -0
- package/package.json +384 -4
- package/src/astro/Page.astro +12 -0
- package/src/astro/content-pages.ts +75 -0
- package/src/astro/index.ts +124 -0
- package/src/astro/module-id.ts +4 -0
- package/src/astro/propagated-assets.ts +29 -0
- package/src/astro/route-paths.ts +78 -0
- package/src/astro/routes.template.ts +110 -0
- package/src/astro/server-styles.ts +26 -0
- package/src/astro/site-context.ts +27 -0
- package/src/astro/source-url.ts +22 -0
- package/src/astro/svelte-renderer.ts +45 -0
- package/src/astro/svg-markup.ts +23 -0
- package/src/benchmarks/BenchmarkBarRows.astro +34 -0
- package/src/benchmarks/BenchmarkBars.astro +14 -0
- package/src/benchmarks/BenchmarkChart.astro +53 -0
- package/src/benchmarks/BenchmarkChartGroup.astro +24 -0
- package/src/benchmarks/BenchmarkDataTable.astro +24 -0
- package/src/benchmarks/BenchmarkDelta.astro +23 -0
- package/src/benchmarks/BenchmarkFigure.astro +30 -0
- package/src/benchmarks/BenchmarkMetricTable.astro +38 -0
- package/src/benchmarks/BenchmarkMetrics.astro +23 -0
- package/src/benchmarks/BenchmarkSampleSummary.astro +30 -0
- package/src/benchmarks/BenchmarkScrollRegion.svelte +27 -0
- package/src/benchmarks/BenchmarkSource.astro +20 -0
- package/src/benchmarks/BenchmarkStackedBars.astro +54 -0
- package/src/benchmarks/BenchmarkStatus.astro +16 -0
- package/src/benchmarks/types.ts +98 -0
- package/src/benchmarks/utils.ts +42 -0
- package/src/blog/BlogAuthors.astro +25 -0
- package/src/blog/article/BlogArticleContents.svelte +24 -0
- package/src/blog/article/BlogArticleEnd.astro +55 -0
- package/src/blog/article/BlogArticleMasthead.astro +61 -0
- package/src/blog/article/language.ts +29 -0
- package/src/blog/article/neighbors.ts +27 -0
- package/src/blog/article/title-lines.astro +14 -0
- package/src/blog/article/title-parts.ts +9 -0
- package/src/components.d.ts +5 -0
- package/src/config.ts +68 -0
- package/src/css/ButtonPreview.astro +22 -0
- package/src/css/ConfiguredExample.astro +15 -0
- package/src/css/NamespaceUtilityTable.astro +50 -0
- package/src/css/StylesheetExample.astro +15 -0
- package/src/css/ThemeNumberVariableTable.astro +57 -0
- package/src/css/configured-example.ts +53 -0
- package/src/css/foundation-data/elevation/shadow-data.ts +52 -0
- package/src/css/foundation-data/sizing/scale-data.ts +37 -0
- package/src/css/foundation-data/specimen-content.ts +10 -0
- package/src/css/foundation-data/specimens.ts +96 -0
- package/src/css/foundation-data/tokens.ts +32 -0
- package/src/css/generate-preset-css.ts +12 -0
- package/src/css/highlight.ts +34 -0
- package/src/css/manifest-utilities.ts +29 -0
- package/src/css/markdown.ts +279 -0
- package/src/css/preset-css.ts +15 -0
- package/src/css/preset-manifest.ts +3 -0
- package/src/css/stylesheet-example.ts +26 -0
- package/src/css/theme-variables.ts +74 -0
- package/src/css/variable-namespace-sources.ts +20 -0
- package/src/demo/Demo.svelte +55 -0
- package/src/demo/DemoAsset.astro +38 -0
- package/src/demo/DemoAxes.svelte +22 -0
- package/src/demo/DemoBadge.svelte +18 -0
- package/src/demo/DemoCatalog.astro +36 -0
- package/src/demo/DemoComparison.svelte +36 -0
- package/src/demo/DemoConfiguredExample.astro +48 -0
- package/src/demo/DemoContainer.svelte +48 -0
- package/src/demo/DemoControls.svelte +16 -0
- package/src/demo/DemoCopyButton.svelte +50 -0
- package/src/demo/DemoCopyGroup.svelte +15 -0
- package/src/demo/DemoExample.astro +27 -0
- package/src/demo/DemoFeatureSupport.svelte +18 -0
- package/src/demo/DemoGeneratedCSS.svelte +8 -0
- package/src/demo/DemoIndex.astro +23 -0
- package/src/demo/DemoInstallation.astro +17 -0
- package/src/demo/DemoItem.svelte +17 -0
- package/src/demo/DemoLabel.svelte +15 -0
- package/src/demo/DemoLegend.svelte +15 -0
- package/src/demo/DemoMeasure.svelte +28 -0
- package/src/demo/DemoMedia.svelte +43 -0
- package/src/demo/DemoMotion.svelte +41 -0
- package/src/demo/DemoPageViewport.astro +17 -0
- package/src/demo/DemoPalette.astro +29 -0
- package/src/demo/DemoPaletteGroups.svelte +15 -0
- package/src/demo/DemoScrollArea.svelte +15 -0
- package/src/demo/DemoStyleComparison.astro +25 -0
- package/src/demo/DemoSurface.svelte +15 -0
- package/src/demo/DemoSwatch.svelte +19 -0
- package/src/demo/DemoThemeComparison.astro +30 -0
- package/src/demo/DemoTokenTable.astro +34 -0
- package/src/demo/DemoViewTransition.astro +18 -0
- package/src/demo/DemoViewport.svelte +324 -0
- package/src/demo/DemoWaterfall.astro +30 -0
- package/src/demo/FoundationBreakpoint.astro +12 -0
- package/src/demo/ProjectStyleExample.astro +13 -0
- package/src/demo/copy-feedback.ts +10 -0
- package/src/demo/demo-waterfall.ts +17 -0
- package/src/demo/drag-readings.ts +20 -0
- package/src/demo/foundations/FoundationAxes.astro +12 -0
- package/src/demo/foundations/FoundationColorRoles.astro +5 -0
- package/src/demo/foundations/FoundationContainerGrid.astro +24 -0
- package/src/demo/foundations/FoundationDialog.astro +14 -0
- package/src/demo/foundations/FoundationElevation.astro +5 -0
- package/src/demo/foundations/FoundationElevationState.astro +5 -0
- package/src/demo/foundations/FoundationHue.astro +5 -0
- package/src/demo/foundations/FoundationLines.astro +5 -0
- package/src/demo/foundations/FoundationMedia.astro +28 -0
- package/src/demo/foundations/FoundationMotion.astro +5 -0
- package/src/demo/foundations/FoundationPalette.astro +8 -0
- package/src/demo/foundations/FoundationRadius.astro +13 -0
- package/src/demo/foundations/FoundationShapes.astro +12 -0
- package/src/demo/foundations/FoundationShrink.astro +14 -0
- package/src/demo/foundations/FoundationSizing.astro +19 -0
- package/src/demo/foundations/FoundationSpecimen.astro +20 -0
- package/src/demo/foundations/FoundationSurfaces.astro +5 -0
- package/src/demo/foundations/FoundationTextHue.astro +5 -0
- package/src/demo/foundations/FoundationTextRoles.astro +5 -0
- package/src/demo/foundations/FoundationTokens.astro +22 -0
- package/src/demo/foundations/FoundationTokensView.astro +65 -0
- package/src/demo/foundations/FoundationTransition.astro +5 -0
- package/src/demo/foundations/FoundationTypeComparison.astro +12 -0
- package/src/demo/foundations/FoundationTypography.astro +5 -0
- package/src/demo/foundations/Palette.svelte +37 -0
- package/src/demo/foundations/ShadowScaleDemo.astro +22 -0
- package/src/demo/illustration-materials.ts +180 -0
- package/src/demo/maintenance-example.ts +62 -0
- package/src/demo/playback.ts +75 -0
- package/src/demo/project-style-examples.ts +128 -0
- package/src/demo/reference/alignment.ts +42 -0
- package/src/demo/reference/animations.ts +30 -0
- package/src/demo/reference/backgrounds.ts +39 -0
- package/src/demo/reference/border-paint.ts +31 -0
- package/src/demo/reference/clipping.ts +26 -0
- package/src/demo/reference/document.ts +55 -0
- package/src/demo/reference/edges.ts +40 -0
- package/src/demo/reference/effects.ts +27 -0
- package/src/demo/reference/flexbox.ts +33 -0
- package/src/demo/reference/frame.css +118 -0
- package/src/demo/reference/grid.ts +42 -0
- package/src/demo/reference/html.ts +40 -0
- package/src/demo/reference/interaction.ts +42 -0
- package/src/demo/reference/layout-html.ts +10 -0
- package/src/demo/reference/layout.ts +102 -0
- package/src/demo/reference/media.ts +29 -0
- package/src/demo/reference/positioning.ts +90 -0
- package/src/demo/reference/scenes.ts +197 -0
- package/src/demo/reference/scrolling.ts +66 -0
- package/src/demo/reference/shapes.ts +22 -0
- package/src/demo/reference/sizing.ts +43 -0
- package/src/demo/reference/source.ts +8 -0
- package/src/demo/reference/text-effects.ts +37 -0
- package/src/demo/reference/text-flow.ts +41 -0
- package/src/demo/reference/transforms.ts +26 -0
- package/src/demo/reference/transitions.ts +24 -0
- package/src/demo/reference/type-specimens.ts +56 -0
- package/src/demo/reference/types.ts +30 -0
- package/src/demo/reference/typography.ts +32 -0
- package/src/demo/specimens/accent-color.json +50 -0
- package/src/demo/specimens/align-items.json +56 -0
- package/src/demo/specimens/animation-delay.json +55 -0
- package/src/demo/specimens/animation-direction.json +49 -0
- package/src/demo/specimens/animation-fill-mode.json +55 -0
- package/src/demo/specimens/animation-iteration-count.json +55 -0
- package/src/demo/specimens/animation-play-state.json +83 -0
- package/src/demo/specimens/animation-timing-function.json +48 -0
- package/src/demo/specimens/appearance.json +44 -0
- package/src/demo/specimens/aspect-ratio.json +28 -0
- package/src/demo/specimens/backdrop-filter.json +44 -0
- package/src/demo/specimens/background-attachment.json +49 -0
- package/src/demo/specimens/background-image.json +25 -0
- package/src/demo/specimens/background-origin.json +36 -0
- package/src/demo/specimens/background-size.json +29 -0
- package/src/demo/specimens/border-collapse.json +45 -0
- package/src/demo/specimens/border-color.json +35 -0
- package/src/demo/specimens/border-image-repeat.json +50 -0
- package/src/demo/specimens/border-image-slice.json +45 -0
- package/src/demo/specimens/border-radius.json +30 -0
- package/src/demo/specimens/box-decoration-break.json +35 -0
- package/src/demo/specimens/box-shadow.json +33 -0
- package/src/demo/specimens/clear.json +77 -0
- package/src/demo/specimens/clip-path.json +38 -0
- package/src/demo/specimens/content.json +27 -0
- package/src/demo/specimens/counter-set.json +31 -0
- package/src/demo/specimens/fill.json +23 -0
- package/src/demo/specimens/filter.json +23 -0
- package/src/demo/specimens/flex-direction.json +27 -0
- package/src/demo/specimens/flex-grow.json +27 -0
- package/src/demo/specimens/font-style.json +23 -0
- package/src/demo/specimens/font-variant-numeric.json +28 -0
- package/src/demo/specimens/grid-auto-columns.json +29 -0
- package/src/demo/specimens/grid-auto-flow.json +37 -0
- package/src/demo/specimens/grid-template-areas.json +34 -0
- package/src/demo/specimens/grid-template-columns.json +36 -0
- package/src/demo/specimens/isolation.json +25 -0
- package/src/demo/specimens/justify-content.json +36 -0
- package/src/demo/specimens/line-height.json +28 -0
- package/src/demo/specimens/list-style-position.json +36 -0
- package/src/demo/specimens/mask-image.json +54 -0
- package/src/demo/specimens/min-width.json +39 -0
- package/src/demo/specimens/mix-blend-mode.json +43 -0
- package/src/demo/specimens/object-fit.json +27 -0
- package/src/demo/specimens/object-position.json +27 -0
- package/src/demo/specimens/opacity.json +37 -0
- package/src/demo/specimens/order.json +28 -0
- package/src/demo/specimens/overflow-wrap.json +26 -0
- package/src/demo/specimens/overflow.json +53 -0
- package/src/demo/specimens/overscroll-behavior.json +29 -0
- package/src/demo/specimens/padding.json +84 -0
- package/src/demo/specimens/place-content.json +31 -0
- package/src/demo/specimens/pointer-events.json +46 -0
- package/src/demo/specimens/position.json +29 -0
- package/src/demo/specimens/resize.json +32 -0
- package/src/demo/specimens/screen-readers.json +37 -0
- package/src/demo/specimens/scroll-padding.json +29 -0
- package/src/demo/specimens/scroll-snap-stop.json +33 -0
- package/src/demo/specimens/shape-image-threshold.json +37 -0
- package/src/demo/specimens/shape-margin.json +40 -0
- package/src/demo/specimens/shape-outside.json +37 -0
- package/src/demo/specimens/stroke-width.json +27 -0
- package/src/demo/specimens/text-fill-color.json +23 -0
- package/src/demo/specimens/text-stroke-width.json +32 -0
- package/src/demo/specimens/touch-action.json +45 -0
- package/src/demo/specimens/transform-box.json +37 -0
- package/src/demo/specimens/transform-origin.json +56 -0
- package/src/demo/specimens/transform-style.json +55 -0
- package/src/demo/specimens/transform.json +47 -0
- package/src/demo/specimens/transition-delay.json +57 -0
- package/src/demo/specimens/transition-duration.json +60 -0
- package/src/demo/specimens/transition-property.json +60 -0
- package/src/demo/specimens/transition-timing-function.json +65 -0
- package/src/demo/specimens/user-drag.json +28 -0
- package/src/demo/specimens/user-select.json +25 -0
- package/src/demo/specimens/vertical-align.json +28 -0
- package/src/demo/specimens/width.json +56 -0
- package/src/demo/specimens/will-change.json +50 -0
- package/src/demo/specimens/writing-mode.json +26 -0
- package/src/demo/specimens/z-index.json +35 -0
- package/src/demo/style.ts +15 -0
- package/src/demo/tone.ts +4 -0
- package/src/demo/useDemoViewTransition.svelte.ts +71 -0
- package/src/docs-shell/common/i18n.config.d.ts +2 -0
- package/src/docs-shell/common/i18n.config.js +13 -0
- package/src/docs-shell/common/svgo.config.d.ts +2 -0
- package/src/docs-shell/common/svgo.config.js +11 -0
- package/src/docs-shell/components/ArticleHeader.astro +65 -0
- package/src/docs-shell/components/ArticleTOC.astro +18 -0
- package/src/docs-shell/components/Callout.astro +26 -0
- package/src/docs-shell/components/Code.astro +25 -0
- package/src/docs-shell/components/CodeCopyButton.astro +25 -0
- package/src/docs-shell/components/CodeTabBar.astro +40 -0
- package/src/docs-shell/components/CodeTabs.astro +53 -0
- package/src/docs-shell/components/CodeView.astro +23 -0
- package/src/docs-shell/components/Do.astro +5 -0
- package/src/docs-shell/components/DoNot.astro +5 -0
- package/src/docs-shell/components/DocArticle.astro +14 -0
- package/src/docs-shell/components/DocHeader.svelte +93 -0
- package/src/docs-shell/components/DocHeading.astro +28 -0
- package/src/docs-shell/components/DocMain.astro +19 -0
- package/src/docs-shell/components/DocMenuButton.svelte +96 -0
- package/src/docs-shell/components/DocSidebar.svelte +62 -0
- package/src/docs-shell/components/DocVersionSelect.svelte +22 -0
- package/src/docs-shell/components/DocWrapper.astro +11 -0
- package/src/docs-shell/components/DocumentAPIIndex.astro +24 -0
- package/src/docs-shell/components/DocumentChoices.astro +24 -0
- package/src/docs-shell/components/DocumentCodeExample.astro +20 -0
- package/src/docs-shell/components/DocumentCodeExampleView.astro +35 -0
- package/src/docs-shell/components/DocumentCodeTable.astro +19 -0
- package/src/docs-shell/components/DocumentComparison.astro +7 -0
- package/src/docs-shell/components/DocumentCopyButton.svelte +41 -0
- package/src/docs-shell/components/DocumentDeclaration.astro +17 -0
- package/src/docs-shell/components/DocumentDeclarationView.astro +12 -0
- package/src/docs-shell/components/DocumentDisclosure.astro +14 -0
- package/src/docs-shell/components/DocumentFileTree.astro +34 -0
- package/src/docs-shell/components/DocumentFlow.astro +27 -0
- package/src/docs-shell/components/DocumentIdentifier.astro +14 -0
- package/src/docs-shell/components/DocumentIllustration.astro +46 -0
- package/src/docs-shell/components/DocumentKeyList.astro +22 -0
- package/src/docs-shell/components/DocumentNamespaceTable.astro +20 -0
- package/src/docs-shell/components/DocumentOptionEntry.astro +15 -0
- package/src/docs-shell/components/DocumentOptionList.astro +11 -0
- package/src/docs-shell/components/DocumentOptions.astro +23 -0
- package/src/docs-shell/components/DocumentParameters.astro +30 -0
- package/src/docs-shell/components/DocumentPrompt.astro +16 -0
- package/src/docs-shell/components/DocumentValueList.astro +25 -0
- package/src/docs-shell/components/DocumentationIndex.svelte +144 -0
- package/src/docs-shell/components/Dropped.astro +21 -0
- package/src/docs-shell/components/ExpandContent.svelte +21 -0
- package/src/docs-shell/components/ExplorerView.astro +37 -0
- package/src/docs-shell/components/FileIcon.astro +123 -0
- package/src/docs-shell/components/Footer.svelte +80 -0
- package/src/docs-shell/components/GeneratedCSS.astro +8 -0
- package/src/docs-shell/components/Header.svelte +121 -0
- package/src/docs-shell/components/HeaderIcon.astro +14 -0
- package/src/docs-shell/components/HeaderNav.svelte +20 -0
- package/src/docs-shell/components/Image.svelte +56 -0
- package/src/docs-shell/components/Info.astro +5 -0
- package/src/docs-shell/components/InlineCode.astro +30 -0
- package/src/docs-shell/components/InteractingIndicator.astro +19 -0
- package/src/docs-shell/components/LanguageButton.svelte +18 -0
- package/src/docs-shell/components/LanguageSelect.svelte +44 -0
- package/src/docs-shell/components/Link.svelte +127 -0
- package/src/docs-shell/components/ModeImg.astro +11 -0
- package/src/docs-shell/components/NotFound.astro +21 -0
- package/src/docs-shell/components/OverviewButtons.astro +36 -0
- package/src/docs-shell/components/PMAction.astro +25 -0
- package/src/docs-shell/components/PackageBadges.astro +39 -0
- package/src/docs-shell/components/PageContent.svelte +38 -0
- package/src/docs-shell/components/PageContentBootstrap.astro +13 -0
- package/src/docs-shell/components/PageContentDisclosure.astro +25 -0
- package/src/docs-shell/components/PageContentList.svelte +70 -0
- package/src/docs-shell/components/PageContentProvider.svelte +15 -0
- package/src/docs-shell/components/PageContentTitle.svelte +16 -0
- package/src/docs-shell/components/PageNavs.astro +40 -0
- package/src/docs-shell/components/PreparedCodeView.astro +12 -0
- package/src/docs-shell/components/RenderNode.astro +16 -0
- package/src/docs-shell/components/RouteLayers.astro +17 -0
- package/src/docs-shell/components/SearchButton.svelte +31 -0
- package/src/docs-shell/components/SearchDialog.svelte +174 -0
- package/src/docs-shell/components/Segments.svelte +62 -0
- package/src/docs-shell/components/Step.astro +13 -0
- package/src/docs-shell/components/StepL.astro +10 -0
- package/src/docs-shell/components/StepR.astro +10 -0
- package/src/docs-shell/components/StepSection.astro +12 -0
- package/src/docs-shell/components/Tab.astro +8 -0
- package/src/docs-shell/components/Tabs.astro +10 -0
- package/src/docs-shell/components/ThemeIcon.astro +19 -0
- package/src/docs-shell/components/ThemeSelect.svelte +20 -0
- package/src/docs-shell/components/TimeAgo.svelte +32 -0
- package/src/docs-shell/components/Translate.astro +14 -0
- package/src/docs-shell/components/Warn.astro +5 -0
- package/src/docs-shell/components/code-props.ts +28 -0
- package/src/docs-shell/components/document-types.ts +119 -0
- package/src/docs-shell/components/markdown/Anchor.astro +5 -0
- package/src/docs-shell/components/markdown/Heading2.astro +5 -0
- package/src/docs-shell/components/markdown/Heading3.astro +5 -0
- package/src/docs-shell/components/markdown/Table.astro +6 -0
- package/src/docs-shell/components/markdown-components.ts +36 -0
- package/src/docs-shell/components/page-content-bootstrap.ts +115 -0
- package/src/docs-shell/components/page-content.svelte.ts +125 -0
- package/src/docs-shell/contexts/search.ts +18 -0
- package/src/docs-shell/contexts/theme-mode.svelte.ts +61 -0
- package/src/docs-shell/data/authors.ts +17 -0
- package/src/docs-shell/data/base-colors.ts +29 -0
- package/src/docs-shell/data/brands.ts +79 -0
- package/src/docs-shell/data/color-names.ts +1 -0
- package/src/docs-shell/data/color-palette.ts +50 -0
- package/src/docs-shell/data/colors.ts +1 -0
- package/src/docs-shell/factories/Page.astro +35 -0
- package/src/docs-shell/factories/create-page.ts +31 -0
- package/src/docs-shell/layouts/BlogArticle.astro +53 -0
- package/src/docs-shell/layouts/Doc.astro +41 -0
- package/src/docs-shell/remark/markdown-components.d.ts +2 -0
- package/src/docs-shell/remark/markdown-components.js +101 -0
- package/src/docs-shell/remark/slug-and-toc.d.ts +2 -0
- package/src/docs-shell/remark/slug-and-toc.js +53 -0
- package/src/docs-shell/scripts/code-tabs-bootstrap.ts +34 -0
- package/src/docs-shell/scripts/code.ts +124 -0
- package/src/docs-shell/scripts/document-anchor.ts +57 -0
- package/src/docs-shell/scripts/document.ts +47 -0
- package/src/docs-shell/site.ts +67 -0
- package/src/docs-shell/types/IllustrationImages.ts +2 -0
- package/src/docs-shell/types/Metadata.ts +17 -0
- package/src/docs-shell/types/Props.ts +9 -0
- package/src/docs-shell/types/StaticImage.ts +6 -0
- package/src/docs-shell/uses/use-selected-preview-syntax.svelte.ts +16 -0
- package/src/docs-shell/utils/anchor.ts +24 -0
- package/src/docs-shell/utils/beautify-css.ts +14 -0
- package/src/docs-shell/utils/beautify-html.ts +12 -0
- package/src/docs-shell/utils/beautify-js.ts +9 -0
- package/src/docs-shell/utils/create-highlighter.ts +50 -0
- package/src/docs-shell/utils/css-modern-grammar.ts +339 -0
- package/src/docs-shell/utils/documentation-search.ts +68 -0
- package/src/docs-shell/utils/generate-metadata.ts +60 -0
- package/src/docs-shell/utils/group-page-content.ts +10 -0
- package/src/docs-shell/utils/head.ts +72 -0
- package/src/docs-shell/utils/highlight-code-core.ts +146 -0
- package/src/docs-shell/utils/highlight-code.ts +1 -0
- package/src/docs-shell/utils/highlighted-code-text.ts +27 -0
- package/src/docs-shell/utils/i18n-pathname.ts +98 -0
- package/src/docs-shell/utils/i18n.ts +12 -0
- package/src/docs-shell/utils/is-date-within-seven-days.ts +16 -0
- package/src/docs-shell/utils/isBrowser.ts +1 -0
- package/src/docs-shell/utils/isInteractOutside.ts +16 -0
- package/src/docs-shell/utils/markdown-tree.ts +22 -0
- package/src/docs-shell/utils/metadata.ts +25 -0
- package/src/docs-shell/utils/prepared-code.ts +21 -0
- package/src/docs-shell/utils/resolve-heading.d.ts +1 -0
- package/src/docs-shell/utils/resolve-heading.js +19 -0
- package/src/docs-shell/utils/search-pages.ts +271 -0
- package/src/docs-shell/utils/slot-text.ts +15 -0
- package/src/docs-shell/utils/snackbar.ts +39 -0
- package/src/docs-shell/utils/syntax-theme.ts +53 -0
- package/src/docs-shell/utils/transformer-notation-word-mark.ts +146 -0
- package/src/docs-shell/utils/unique-id.ts +11 -0
- package/src/examples/article-transitions/page.astro +7 -0
- package/src/examples/article-transitions/transitions.css +10 -0
- package/src/examples/components/ArticleTransitionScene.svelte +83 -0
- package/src/examples/components/ViewTransitionScene.svelte +31 -0
- package/src/examples/images/article-aurora.jpg +0 -0
- package/src/examples/images/article-coast.jpg +0 -0
- package/src/examples/images/article-grid.jpg +0 -0
- package/src/examples/images/article-studio.jpg +0 -0
- package/src/examples/layout-system/page.astro +59 -0
- package/src/examples/scene.css +3 -0
- package/src/examples/view-transitions/page.astro +7 -0
- package/src/examples/view-transitions/transitions.css +9 -0
- package/src/home/HeroCanvas.svelte +617 -0
- package/src/home/HomeAction.astro +17 -0
- package/src/home/HomeBentoFrame.astro +9 -0
- package/src/home/HomeBentoGrid.astro +9 -0
- package/src/home/HomeCompactIcon.astro +15 -0
- package/src/home/HomeFooter.svelte +63 -0
- package/src/home/HomeIllustration.astro +17 -0
- package/src/home/HomeIllustrationArt.svelte +15 -0
- package/src/home/HomeLamp.svelte +18 -0
- package/src/home/design.css +532 -0
- package/src/home/footer.css +225 -0
- package/src/home/hero-shaders.ts +460 -0
- package/src/home/hero-title-mask.ts +175 -0
- package/src/home/hero.css +547 -0
- package/src/home/home-illustration.ts +5 -0
- package/src/home/home-lamp.ts +225 -0
- package/src/home/home.css +1081 -0
- package/src/home/icons/agent-check-preview-apply.svg +24 -0
- package/src/home/icons/agent-clients.svg +26 -0
- package/src/home/icons/agent-project-tools.svg +23 -0
- package/src/home/icons/artwork/agent-check-preview-apply-dark.webp +0 -0
- package/src/home/icons/artwork/agent-check-preview-apply-light.webp +0 -0
- package/src/home/icons/artwork/agent-clients-dark.webp +0 -0
- package/src/home/icons/artwork/agent-clients-light.webp +0 -0
- package/src/home/icons/artwork/agent-edit-file-dark.webp +0 -0
- package/src/home/icons/artwork/agent-edit-file-light.webp +0 -0
- package/src/home/icons/artwork/agent-project-tools-dark.webp +0 -0
- package/src/home/icons/artwork/agent-project-tools-light.webp +0 -0
- package/src/home/icons/artwork/design-cascade-layers-dark.webp +0 -0
- package/src/home/icons/artwork/design-cascade-layers-light.webp +0 -0
- package/src/home/icons/artwork/design-layout-motion-dark.webp +0 -0
- package/src/home/icons/artwork/design-layout-motion-light.webp +0 -0
- package/src/home/icons/artwork/design-p3-gamut-dark.webp +0 -0
- package/src/home/icons/artwork/design-p3-gamut-light.webp +0 -0
- package/src/home/icons/artwork/design-theme-modes-dark.webp +0 -0
- package/src/home/icons/artwork/design-theme-modes-light.webp +0 -0
- package/src/home/icons/artwork/design-theme-tokens-dark.webp +0 -0
- package/src/home/icons/artwork/design-theme-tokens-light.webp +0 -0
- package/src/home/icons/artwork/editor-color-tools-dark.webp +0 -0
- package/src/home/icons/artwork/editor-color-tools-light.webp +0 -0
- package/src/home/icons/artwork/editor-focused-highlighting-dark.webp +0 -0
- package/src/home/icons/artwork/editor-focused-highlighting-light.webp +0 -0
- package/src/home/icons/artwork/editor-hover-inspection-dark.webp +0 -0
- package/src/home/icons/artwork/editor-hover-inspection-light.webp +0 -0
- package/src/home/icons/artwork/editor-manifest-completions-dark.webp +0 -0
- package/src/home/icons/artwork/editor-manifest-completions-light.webp +0 -0
- package/src/home/icons/artwork/lint-class-order-dark.webp +0 -0
- package/src/home/icons/artwork/lint-class-order-light.webp +0 -0
- package/src/home/icons/artwork/lint-conflicting-classes-dark.webp +0 -0
- package/src/home/icons/artwork/lint-conflicting-classes-light.webp +0 -0
- package/src/home/icons/artwork/lint-fix-previews-dark.webp +0 -0
- package/src/home/icons/artwork/lint-fix-previews-light.webp +0 -0
- package/src/home/icons/artwork/lint-invalid-classes-dark.webp +0 -0
- package/src/home/icons/artwork/lint-invalid-classes-light.webp +0 -0
- package/src/home/icons/artwork/lint-strict-vocabulary-dark.webp +0 -0
- package/src/home/icons/artwork/lint-strict-vocabulary-light.webp +0 -0
- package/src/home/icons/artwork/lint-theme-tokens-dark.webp +0 -0
- package/src/home/icons/artwork/lint-theme-tokens-light.webp +0 -0
- package/src/home/icons/artwork/mcp-apply-preview-dark.webp +0 -0
- package/src/home/icons/artwork/mcp-apply-preview-light.webp +0 -0
- package/src/home/icons/artwork/mcp-css-compare-dark.webp +0 -0
- package/src/home/icons/artwork/mcp-css-compare-light.webp +0 -0
- package/src/home/icons/artwork/mcp-inspect-class-dark.webp +0 -0
- package/src/home/icons/artwork/mcp-inspect-class-light.webp +0 -0
- package/src/home/icons/artwork/mcp-lint-project-dark.webp +0 -0
- package/src/home/icons/artwork/mcp-lint-project-light.webp +0 -0
- package/src/home/icons/artwork/mcp-manifest-query-dark.webp +0 -0
- package/src/home/icons/artwork/mcp-manifest-query-light.webp +0 -0
- package/src/home/icons/artwork/mcp-preview-fixes-dark.webp +0 -0
- package/src/home/icons/artwork/mcp-preview-fixes-light.webp +0 -0
- package/src/home/icons/artwork/mcp-render-css-dark.webp +0 -0
- package/src/home/icons/artwork/mcp-render-css-light.webp +0 -0
- package/src/home/icons/artwork/mcp-scan-project-dark.webp +0 -0
- package/src/home/icons/artwork/mcp-scan-project-light.webp +0 -0
- package/src/home/icons/artwork/mcp-trace-class-dark.webp +0 -0
- package/src/home/icons/artwork/mcp-trace-class-light.webp +0 -0
- package/src/home/icons/artwork/render-progressive-dark.webp +0 -0
- package/src/home/icons/artwork/render-progressive-light.webp +0 -0
- package/src/home/icons/artwork/render-runtime-dark.webp +0 -0
- package/src/home/icons/artwork/render-runtime-light.webp +0 -0
- package/src/home/icons/artwork/render-static-dark.webp +0 -0
- package/src/home/icons/artwork/render-static-light.webp +0 -0
- package/src/home/icons/artwork/section-ai-agents-dark.webp +0 -0
- package/src/home/icons/artwork/section-ai-agents-light.webp +0 -0
- package/src/home/icons/artwork/section-css-size-dark.webp +0 -0
- package/src/home/icons/artwork/section-css-size-light.webp +0 -0
- package/src/home/icons/artwork/section-design-system-dark.webp +0 -0
- package/src/home/icons/artwork/section-design-system-light.webp +0 -0
- package/src/home/icons/artwork/section-editor-dark.webp +0 -0
- package/src/home/icons/artwork/section-editor-light.webp +0 -0
- package/src/home/icons/artwork/section-lint-dark.webp +0 -0
- package/src/home/icons/artwork/section-lint-light.webp +0 -0
- package/src/home/icons/artwork/section-rendering-dark.webp +0 -0
- package/src/home/icons/artwork/section-rendering-light.webp +0 -0
- package/src/home/icons/artwork/section-workflow-dark.webp +0 -0
- package/src/home/icons/artwork/section-workflow-light.webp +0 -0
- package/src/home/icons/artwork/source.json +303 -0
- package/src/home/icons/artwork/workflow-integrations-dark.webp +0 -0
- package/src/home/icons/artwork/workflow-integrations-light.webp +0 -0
- package/src/home/icons/artwork/workflow-monorepo-dark.webp +0 -0
- package/src/home/icons/artwork/workflow-monorepo-light.webp +0 -0
- package/src/home/icons/artwork/workflow-route-styles-dark.webp +0 -0
- package/src/home/icons/artwork/workflow-route-styles-light.webp +0 -0
- package/src/home/icons/artwork/workflow-trace-change-dark.webp +0 -0
- package/src/home/icons/artwork/workflow-trace-change-light.webp +0 -0
- package/src/home/icons/artwork.css +4 -0
- package/src/home/icons/artwork.ts +131 -0
- package/src/home/icons/catalog.ts +381 -0
- package/src/home/icons/design-cascade-layers.svg +32 -0
- package/src/home/icons/design-layout-motion.svg +16 -0
- package/src/home/icons/design-p3-gamut.svg +12 -0
- package/src/home/icons/design-theme-modes.svg +12 -0
- package/src/home/icons/design-theme-tokens.svg +20 -0
- package/src/home/icons/editor-color-tools.svg +18 -0
- package/src/home/icons/editor-focused-highlighting.svg +15 -0
- package/src/home/icons/editor-hover-inspection.svg +19 -0
- package/src/home/icons/editor-manifest-completions.svg +24 -0
- package/src/home/icons/lint-class-order-compact.svg +15 -0
- package/src/home/icons/lint-class-order.svg +28 -0
- package/src/home/icons/lint-conflicting-classes-compact.svg +11 -0
- package/src/home/icons/lint-conflicting-classes.svg +24 -0
- package/src/home/icons/lint-fix-previews-compact.svg +9 -0
- package/src/home/icons/lint-fix-previews.svg +19 -0
- package/src/home/icons/lint-invalid-classes-compact.svg +7 -0
- package/src/home/icons/lint-invalid-classes.svg +17 -0
- package/src/home/icons/lint-strict-vocabulary-compact.svg +8 -0
- package/src/home/icons/lint-strict-vocabulary.svg +16 -0
- package/src/home/icons/lint-theme-tokens-compact.svg +7 -0
- package/src/home/icons/lint-theme-tokens.svg +14 -0
- package/src/home/icons/mcp-apply-preview-compact.svg +9 -0
- package/src/home/icons/mcp-apply-preview.svg +18 -0
- package/src/home/icons/mcp-css-compare-compact.svg +9 -0
- package/src/home/icons/mcp-css-compare.svg +20 -0
- package/src/home/icons/mcp-inspect-class-compact.svg +9 -0
- package/src/home/icons/mcp-inspect-class.svg +18 -0
- package/src/home/icons/mcp-lint-project-compact.svg +14 -0
- package/src/home/icons/mcp-lint-project.svg +30 -0
- package/src/home/icons/mcp-manifest-query-compact.svg +14 -0
- package/src/home/icons/mcp-manifest-query.svg +27 -0
- package/src/home/icons/mcp-preview-fixes-compact.svg +9 -0
- package/src/home/icons/mcp-preview-fixes.svg +15 -0
- package/src/home/icons/mcp-render-css-compact.svg +13 -0
- package/src/home/icons/mcp-render-css.svg +30 -0
- package/src/home/icons/mcp-scan-project-compact.svg +7 -0
- package/src/home/icons/mcp-scan-project.svg +13 -0
- package/src/home/icons/mcp-trace-class-compact.svg +11 -0
- package/src/home/icons/mcp-trace-class.svg +24 -0
- package/src/home/icons/render-progressive.svg +17 -0
- package/src/home/icons/render-runtime.svg +23 -0
- package/src/home/icons/render-static.svg +29 -0
- package/src/home/icons/section-ai-agents.svg +24 -0
- package/src/home/icons/section-css-size.svg +13 -0
- package/src/home/icons/section-design-system.svg +24 -0
- package/src/home/icons/section-editor.svg +14 -0
- package/src/home/icons/section-lint.svg +14 -0
- package/src/home/icons/section-rendering.svg +30 -0
- package/src/home/icons/section-workflow.svg +22 -0
- package/src/home/icons/workflow-integrations.svg +15 -0
- package/src/home/icons/workflow-monorepo.svg +27 -0
- package/src/home/icons/workflow-route-styles.svg +24 -0
- package/src/home/icons/workflow-trace-change.svg +21 -0
- package/src/layouts/Document.astro +71 -0
- package/src/public/brand/v2/logo/mark/master-mark-small-on-dark.svg +1 -0
- package/src/public/brand/v2/logo/master-css/master-css-horizontal-on-dark.svg +1 -0
- package/src/public/brand/v2/logo/master-css/master-css-horizontal-on-light.svg +1 -0
- package/src/public/demo/border-grid.svg +7 -0
- package/src/public/demo/landscape.svg +1 -0
- package/src/public/demo/marker.svg +1 -0
- package/src/public/demo/mask.svg +1 -0
- package/src/public/fonts/Geist-Medium.ttf +0 -0
- package/src/public/fonts/Geist-Regular.ttf +0 -0
- package/src/public/fonts/GeistVariable.woff2 +0 -0
- package/src/public/fonts/IBMPlexMono-Bold.woff2 +0 -0
- package/src/public/fonts/IBMPlexMono-Medium.woff2 +0 -0
- package/src/public/fonts/IBMPlexMono-Regular.woff2 +0 -0
- package/src/public/fonts/IBMPlexMono-SemiBold.woff2 +0 -0
- package/src/public/fonts/index.css +40 -0
- package/src/public/icons/csharp.svg +1 -0
- package/src/public/icons/css.svg +1 -0
- package/src/public/icons/eslint.svg +1 -0
- package/src/public/icons/folder.svg +12 -0
- package/src/public/icons/html.svg +1 -0
- package/src/public/icons/php.svg +1 -0
- package/src/public/icons/sass.svg +1 -0
- package/src/public/icons/storybook.svg +1 -0
- package/src/public/icons/visualstudiocode.svg +41 -0
- package/src/public/images/authors/aron.jpg +0 -0
- package/src/public/images/authors/benseage.jpg +0 -0
- package/src/public/images/authors/joy.jpg +0 -0
- package/src/public/images/authors/lola.jpg +0 -0
- package/src/public/images/authors/miles.jpg +0 -0
- package/src/public/images/bootstrap.svg +23 -0
- package/src/public/images/build-tools/rsbuild.svg +1 -0
- package/src/public/images/build-tools/rspack.svg +1 -0
- package/src/public/images/build-tools/vite.svg +15 -0
- package/src/public/images/build-tools/webpack.svg +10 -0
- package/src/public/images/cdns/esm-sh.svg +1 -0
- package/src/public/images/chevron-left.svg +4 -0
- package/src/public/images/cover-bg.jpg +0 -0
- package/src/public/images/emotion.svg +1 -0
- package/src/public/images/frameworks/angular.svg +29 -0
- package/src/public/images/frameworks/astro.svg +4 -0
- package/src/public/images/frameworks/blazor.svg +22 -0
- package/src/public/images/frameworks/express.svg +1 -0
- package/src/public/images/frameworks/laravel.svg +8 -0
- package/src/public/images/frameworks/line-liff.svg +1 -0
- package/src/public/images/frameworks/lit.svg +1 -0
- package/src/public/images/frameworks/nextjs.svg +16 -0
- package/src/public/images/frameworks/nuxtjs.svg +3 -0
- package/src/public/images/frameworks/rails.svg +1 -0
- package/src/public/images/frameworks/react.svg +8 -0
- package/src/public/images/frameworks/remix.svg +5 -0
- package/src/public/images/frameworks/shopify.svg +1 -0
- package/src/public/images/frameworks/svelte.svg +6 -0
- package/src/public/images/frameworks/tanstack.svg +1 -0
- package/src/public/images/frameworks/vuejs.svg +11 -0
- package/src/public/images/frameworks/wordpress.svg +1 -0
- package/src/public/images/mui.svg +1 -0
- package/src/public/images/styled-components.svg +4 -0
- package/src/public/images/tailwindcss.svg +1 -0
- package/src/scripts/bundler-imports.ts +25 -0
- package/src/scripts/static-social.ts +333 -0
- package/src/scripts/write-if-changed.ts +26 -0
- package/src/sections/blog.astro +11 -0
- package/src/sections/design-system.astro +14 -0
- package/src/sections/document.astro +8 -0
- package/src/sections/examples.astro +6 -0
- package/src/sections/guide.astro +26 -0
- package/src/sections/home.astro +7 -0
- package/src/sections/page.astro +12 -0
- package/src/styles/base.css +57 -0
- package/src/styles/benchmarks.css +20 -0
- package/src/styles/blog-article.css +670 -0
- package/src/styles/blog-materials.css +399 -0
- package/src/styles/blog.css +568 -0
- package/src/styles/demo.css +30 -0
- package/src/styles/design-system.css +15 -0
- package/src/styles/docs-shell/code.css +61 -0
- package/src/styles/docs-shell/docs.css +79 -0
- package/src/styles/docs-shell/documentation-search.css +42 -0
- package/src/styles/docs-shell/footer.css +38 -0
- package/src/styles/docs-shell/header.css +73 -0
- package/src/styles/docs-shell/materials.css +25 -0
- package/src/styles/docs-shell/menu.css +19 -0
- package/src/styles/docs-shell/not-found.css +10 -0
- package/src/styles/docs-shell/page-content.css +37 -0
- package/src/styles/docs-shell/prose.css +89 -0
- package/src/styles/docs-shell/segments.css +13 -0
- package/src/styles/docs-shell/steps.css +39 -0
- package/src/styles/docs-shell/syntax-theme.css +18 -0
- package/src/styles/docs-shell/theme.css +68 -0
- package/src/styles/docs-shell/wrapper.css +10 -0
- package/src/styles/document-comparison.css +7 -0
- package/src/styles/documentation-illustration.css +34 -0
- package/src/styles/documentation-index.css +100 -0
- package/src/styles/documents.css +4 -0
- package/src/styles/documents.ts +2 -0
- package/src/styles/foundation.css +4 -0
- package/src/styles/globals.css +2 -0
- package/src/styles/interface.css +3 -0
- package/src/styles/interface.ts +2 -0
- package/src/styles/site.ts +2 -0
- package/src/styles/system/DESIGN.md +108 -0
- package/src/styles/system/buttons.css +51 -0
- package/src/styles/system/code.css +85 -0
- package/src/styles/system/controls.css +110 -0
- package/src/styles/system/data.css +134 -0
- package/src/styles/system/mixins.css +7 -0
- package/src/styles/system/prose.css +75 -0
- package/src/styles/system/shell.css +102 -0
- package/src/styles/system/specimens.css +98 -0
- package/src/styles/system/surfaces.css +104 -0
- package/src/styles/system/tokens.css +136 -0
- package/src/utils/cloudflare-image-loader.js +85 -0
- package/src/virtual.d.ts +36 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg viewBox="0 -14 256 256" version="1.1"
|
|
3
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
+
xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
|
5
|
+
<g>
|
|
6
|
+
<path d="M210.483381,73.8236374 C207.827698,72.9095503 205.075867,72.0446761 202.24247,71.2267368 C202.708172,69.3261098 203.135596,67.4500894 203.515631,65.6059664 C209.753843,35.3248922 205.675082,10.9302478 191.747328,2.89849283 C178.392359,-4.80289661 156.551327,3.22703567 134.492936,22.4237776 C132.371761,24.2697233 130.244662,26.2241201 128.118477,28.2723861 C126.701777,26.917204 125.287358,25.6075897 123.876584,24.3549348 C100.758745,3.82852863 77.5866802,-4.82157937 63.6725966,3.23341515 C50.3303869,10.9571328 46.3792156,33.8904224 51.9945178,62.5880206 C52.5367729,65.3599011 53.1706189,68.1905639 53.8873982,71.068617 C50.6078941,71.9995641 47.4418534,72.9920277 44.4125156,74.0478303 C17.3093297,83.497195 0,98.3066828 0,113.667995 C0,129.533287 18.5815786,145.446423 46.8116526,155.095373 C49.0394553,155.856809 51.3511025,156.576778 53.7333796,157.260293 C52.9600965,160.37302 52.2875179,163.423318 51.7229345,166.398431 C46.3687351,194.597975 50.5500231,216.989464 63.8566899,224.664425 C77.6012619,232.590464 100.66852,224.443422 123.130185,204.809231 C124.905501,203.257196 126.687196,201.611293 128.472081,199.886102 C130.785552,202.113904 133.095375,204.222319 135.392897,206.199955 C157.14963,224.922338 178.637969,232.482469 191.932332,224.786092 C205.663234,216.837268 210.125675,192.78347 204.332202,163.5181 C203.88974,161.283006 203.374826,158.99961 202.796573,156.675661 C204.416503,156.196743 206.006814,155.702335 207.557482,155.188332 C236.905331,145.46465 256,129.745175 256,113.667995 C256,98.2510906 238.132466,83.3418093 210.483381,73.8236374 L210.483381,73.8236374 Z M204.118035,144.807565 C202.718197,145.270987 201.281904,145.718918 199.818271,146.153177 C196.578411,135.896354 192.205739,124.989735 186.854729,113.72131 C191.961041,102.721277 196.164656,91.9540963 199.313837,81.7638014 C201.93261,82.5215915 204.474374,83.3208483 206.923636,84.1643056 C230.613348,92.3195488 245.063763,104.377206 245.063763,113.667995 C245.063763,123.564379 229.457753,136.411268 204.118035,144.807565 L204.118035,144.807565 Z M193.603754,165.642007 C196.165567,178.582766 196.531475,190.282717 194.834536,199.429057 C193.309843,207.64764 190.243595,213.12715 186.452366,215.321689 C178.384612,219.991462 161.131788,213.921395 142.525146,197.909832 C140.392124,196.074366 138.243609,194.114502 136.088259,192.040261 C143.301619,184.151133 150.510878,174.979732 157.54698,164.793993 C169.922699,163.695814 181.614905,161.900447 192.218042,159.449363 C192.740247,161.555956 193.204126,163.621993 193.603754,165.642007 L193.603754,165.642007 Z M87.2761866,214.514686 C79.3938934,217.298414 73.1160375,217.378157 69.3211631,215.189998 C61.2461189,210.532528 57.8891498,192.554265 62.4682434,168.438039 C62.9927272,165.676183 63.6170041,162.839142 64.3365173,159.939216 C74.8234575,162.258154 86.4299951,163.926841 98.8353334,164.932519 C105.918826,174.899534 113.336329,184.06091 120.811247,192.08264 C119.178102,193.65928 117.551336,195.16028 115.933685,196.574699 C106.001303,205.256705 96.0479605,211.41654 87.2761866,214.514686 L87.2761866,214.514686 Z M50.3486141,144.746959 C37.8658105,140.48046 27.5570398,134.935332 20.4908634,128.884403 C14.1414664,123.446815 10.9357817,118.048415 10.9357817,113.667995 C10.9357817,104.34622 24.8334611,92.4562517 48.0123604,84.3748281 C50.8247961,83.3942121 53.7689223,82.4701001 56.8242337,81.6020363 C60.0276398,92.0224477 64.229889,102.917218 69.3011135,113.93411 C64.1642716,125.11459 59.9023288,136.182975 56.6674809,146.725506 C54.489347,146.099407 52.3791089,145.440499 50.3486141,144.746959 L50.3486141,144.746959 Z M62.7270678,60.4878073 C57.9160346,35.9004118 61.1112387,17.3525532 69.1516515,12.6982729 C77.7160924,7.74005624 96.6544653,14.8094222 116.614922,32.5329619 C117.890816,33.6657739 119.171723,34.8514442 120.456275,36.0781256 C113.018267,44.0647686 105.66866,53.1573386 98.6480514,63.0655695 C86.6081646,64.1815215 75.0831931,65.9741531 64.4868907,68.3746571 C63.8206914,65.6948233 63.2305903,63.0619242 62.7270678,60.4878073 L62.7270678,60.4878073 Z M173.153901,87.7550367 C170.620796,83.3796304 168.020249,79.1076627 165.369124,74.9523483 C173.537126,75.9849113 181.362914,77.3555864 188.712066,79.0329319 C186.505679,86.1041206 183.755673,93.4974728 180.518546,101.076741 C178.196419,96.6680702 175.740322,92.2229454 173.153901,87.7550367 L173.153901,87.7550367 Z M128.122121,43.8938899 C133.166461,49.3588189 138.218091,55.4603279 143.186789,62.0803968 C138.179814,61.8439007 133.110868,61.720868 128.000001,61.720868 C122.937434,61.720868 117.905854,61.8411667 112.929865,62.0735617 C117.903575,55.515009 122.99895,49.4217021 128.122121,43.8938899 L128.122121,43.8938899 Z M82.8018984,87.830679 C80.2715265,92.2183886 77.8609975,96.6393627 75.5753239,101.068539 C72.3906004,93.5156998 69.6661103,86.0886276 67.440586,78.9171899 C74.7446255,77.2826781 82.5335049,75.9461789 90.6495601,74.9332099 C87.9610684,79.1268011 85.3391054,83.4302106 82.8018984,87.8297677 L82.8018984,87.830679 L82.8018984,87.830679 Z M90.8833221,153.182899 C82.4979621,152.247395 74.5919739,150.979704 67.289757,149.390303 C69.5508242,142.09082 72.3354636,134.505173 75.5876271,126.789657 C77.8792246,131.215644 80.2993228,135.638441 82.8451877,140.03572 L82.8456433,140.03572 C85.4388987,144.515476 88.1255676,148.90364 90.8833221,153.182899 L90.8833221,153.182899 Z M128.424691,184.213105 C123.24137,178.620587 118.071264,172.434323 113.021912,165.780078 C117.923624,165.972373 122.921029,166.0708 128.000001,166.0708 C133.217953,166.0708 138.376211,165.953235 143.45336,165.727219 C138.468257,172.501308 133.434855,178.697141 128.424691,184.213105 L128.424691,184.213105 Z M180.622896,126.396409 C184.044571,134.195313 186.929004,141.741317 189.219234,148.9164 C181.796719,150.609693 173.782736,151.973534 165.339049,152.986959 C167.996555,148.775595 170.619884,144.430263 173.197646,139.960532 C175.805484,135.438399 178.28163,130.90943 180.622896,126.396409 L180.622896,126.396409 Z M163.724586,134.496971 C159.722835,141.435557 155.614455,148.059271 151.443648,154.311611 C143.847063,154.854776 135.998946,155.134562 128.000001,155.134562 C120.033408,155.134562 112.284171,154.887129 104.822013,154.402745 C100.48306,148.068386 96.285368,141.425078 92.3091341,134.556664 L92.3100455,134.556664 C88.3442923,127.706935 84.6943232,120.799333 81.3870228,113.930466 C84.6934118,107.045648 88.3338117,100.130301 92.276781,93.292874 L92.2758697,93.294241 C96.2293193,86.4385872 100.390102,79.8276317 104.688954,73.5329157 C112.302398,72.9573964 120.109505,72.6571055 127.999545,72.6571055 L128.000001,72.6571055 C135.925583,72.6571055 143.742714,72.9596746 151.353879,73.5402067 C155.587114,79.7888993 159.719645,86.3784378 163.688588,93.2350031 C167.702644,100.168578 171.389978,107.037901 174.724618,113.77508 C171.400003,120.627999 167.720871,127.566587 163.724586,134.496971 L163.724586,134.496971 Z M186.284677,12.3729198 C194.857321,17.3165548 198.191049,37.2542268 192.804953,63.3986692 C192.461372,65.0669011 192.074504,66.7661189 191.654369,68.4881206 C181.03346,66.0374921 169.500286,64.2138746 157.425315,63.0810626 C150.391035,53.0639249 143.101577,43.9572289 135.784778,36.073113 C137.751934,34.1806885 139.716356,32.3762092 141.672575,30.673346 C160.572216,14.2257007 178.236518,7.73185406 186.284677,12.3729198 L186.284677,12.3729198 Z M128.000001,90.8080696 C140.624975,90.8080696 150.859926,101.042565 150.859926,113.667995 C150.859926,126.292969 140.624975,136.527922 128.000001,136.527922 C115.375026,136.527922 105.140075,126.292969 105.140075,113.667995 C105.140075,101.042565 115.375026,90.8080696 128.000001,90.8080696 L128.000001,90.8080696 Z" fill="#00D8FF"></path>
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg viewBox="0 0 40 40" fill="none"
|
|
2
|
+
xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path d="M29.3974 26.3884C29.6101 29.1209 29.61 30.4018 29.61 31.8H23.2878C23.2878 31.4955 23.2932 31.2169 23.2987 30.9344C23.3158 30.0562 23.3337 29.1404 23.1914 27.2909C23.0033 24.5833 21.8374 23.9817 19.6935 23.9817H17.7941H9.75V19.0555H19.9944C22.7024 19.0555 24.0565 18.2317 24.0565 16.0505C24.0565 14.1327 22.7024 12.9705 19.9944 12.9705H9.75V8.15H21.1228C27.2534 8.15 30.3 11.0456 30.3 15.671C30.3 19.1307 28.1561 21.387 25.26 21.763C27.7048 22.2519 29.1341 23.6433 29.3974 26.3884Z" fill="#121212"/>
|
|
4
|
+
<path d="M9.75 31.8V28.1276H16.4348C17.5514 28.1276 17.7939 28.9558 17.7939 29.4497V31.8H9.75Z" fill="#121212"/>
|
|
5
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><path d="m48.7 14.5-5.8-1.8-.1-.4C41.9 9.8 40 6 36.5 6h-.3c-1-.1-2.1.3-3.1 1.1A13 13 0 0 0 30.6 11c-2.6.8-4.4 1.3-4.7 1.4-1.4.4-1.5.4-1.7 1.8L20 47.2 45.6 52l13.5-3.4c0-.1-5.8-39.5-5.8-39.5a.9.9 0 0 0-.8-.8c-.2 0-1.8-.4-3.8-.9ZM39 13.1l-4.6 1.4c.4-1.7 1.2-3.4 2.2-4.4 1 1 1.8 2.3 2.4 3Zm-2.7-5.3c-1.5.7-3.3 2.5-4.4 7.2l-3.7 1.2c1-3.7 3.6-8.4 8.1-8.4Zm4.1 11.4-.9 6.6s-2-1-4.5-.8c-3.6.2-3.6 2.5-3.6 3.1.2 3.1 8.4 3.8 8.8 11.1.3 5.8-3.1 9.7-7.9 10-5.8.4-9-3-9-3l1.2-5.2s3.2 2.4 5.8 2.2c1.7-.1 2.4-1.5 2.3-2.5-.2-4.1-6.9-3.8-7.4-10.5-.4-5.7 3.4-11.2 11.7-11.7 3.2-.2 4.8.7 4.8.7Z" fill="#95bf47"/><path d="M48.7 14.5c2 .5 3.6.9 3.8.9.4.1.7.4.8.8l5.8 39.5L45.6 52 42.8 12.7l5.9 1.8Z" fill="#5e8e3e"/></svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg viewBox="-26 0 308 308" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g>
|
|
3
|
+
<path d="M239.681566,40.706757 C211.113272,-0.181889366 154.69089,-12.301439 113.894816,13.6910393 L42.2469062,59.3555354 C22.6760042,71.6680028 9.1958152,91.6538543 5.11196889,114.412133 C1.69420521,133.371174 4.6982178,152.928576 13.6483951,169.987905 C7.51549676,179.291145 3.33259428,189.7413 1.3524912,200.706787 C-2.77083771,223.902098 2.62286977,247.780539 16.3159596,266.951444 C44.8902975,307.843936 101.312954,319.958266 142.10271,293.967161 L213.75062,248.302665 C233.322905,235.991626 246.803553,216.005094 250.885557,193.246067 C254.302867,174.287249 251.30121,154.730228 242.355449,137.668922 C248.486748,128.365895 252.667894,117.916162 254.646134,106.951413 C258.772188,83.7560394 253.378243,59.8765465 239.682665,40.706757" fill="#FF3E00"></path>
|
|
4
|
+
<path d="M106.888658,270.841265 C83.7871855,276.848065 59.3915045,267.805346 45.7864111,248.192566 C37.5477583,236.66102 34.3023491,222.296573 36.7830958,208.343155 C37.1989333,206.075414 37.7711933,203.839165 38.4957755,201.650433 L39.845476,197.534835 L43.5173097,200.231763 C51.9971301,206.462491 61.4784803,211.199728 71.5527203,214.239302 L74.2164003,215.047419 L73.9710252,217.705878 C73.6455499,221.487851 74.6696022,225.262925 76.8616703,228.361972 C80.9560313,234.269749 88.3011363,236.995968 95.2584831,235.190159 C96.8160691,234.773852 98.3006859,234.121384 99.6606718,233.25546 L171.331634,187.582718 C174.877468,185.349963 177.321139,181.729229 178.065299,177.605596 C178.808171,173.400048 177.830501,169.072361 175.351884,165.594581 C171.255076,159.685578 163.908134,156.9582 156.947927,158.762547 C155.392392,159.178888 153.90975,159.83088 152.551509,160.695872 L125.202489,178.130144 C120.705281,180.989558 115.797437,183.144784 110.64897,184.521162 C87.547692,190.527609 63.1523949,181.484801 49.5475471,161.872188 C41.3085624,150.340895 38.0631179,135.976391 40.5442317,122.023052 C43.0002744,108.333716 51.1099574,96.3125326 62.8835328,88.9089537 L134.548175,43.2323647 C139.047294,40.3682559 143.958644,38.21032 149.111311,36.8336525 C172.21244,30.8273594 196.607527,39.8700206 210.212459,59.4823515 C218.451112,71.013898 221.696522,85.3783452 219.215775,99.3317627 C218.798144,101.59911 218.225915,103.835236 217.503095,106.024485 L216.153395,110.140083 L212.483484,107.447276 C204.004261,101.212984 194.522,96.4735732 184.44615,93.4336926 L181.78247,92.6253012 L182.027845,89.9668419 C182.350522,86.1852063 181.326723,82.4111645 179.1372,79.3110228 C175.042839,73.4032457 167.697734,70.677026 160.740387,72.4828355 C159.182801,72.8991426 157.698185,73.5516104 156.338199,74.4175344 L84.6672364,120.0922 C81.1218886,122.323199 78.6795938,125.943704 77.9387928,130.066574 C77.1913232,134.271925 78.1673502,138.601163 80.6469865,142.078963 C84.7438467,147.987899 92.0907405,150.71526 99.0509435,148.910997 C100.608143,148.493836 102.092543,147.841423 103.452857,146.976298 L130.798305,129.548621 C135.293566,126.685437 140.201191,124.528302 145.350175,123.152382 C168.451453,117.145935 192.846751,126.188743 206.451598,145.801356 C214.690583,157.332649 217.936027,171.697153 215.454914,185.650492 C212.997261,199.340539 204.888162,211.362752 193.115613,218.769811 L121.450695,264.442553 C116.951576,267.306662 112.040226,269.464598 106.887559,270.841265" fill="#FFFFFF"></path>
|
|
5
|
+
</g>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg height="660" viewBox="0 0 663 660" width="663" xmlns="http://www.w3.org/2000/svg"><path d="m305.114318.62443771c8.717817-1.14462121 17.926803-.36545135 26.712694-.36545135 32.548987 0 64.505987 5.05339923 95.64868 14.63098274 39.74418 12.2236582 76.762804 31.7666864 109.435876 57.477568 40.046637 31.5132839 73.228974 72.8472109 94.520714 119.2362609 39.836383 86.790386 39.544267 191.973146-1.268422 278.398081-26.388695 55.880442-68.724007 102.650458-119.964986 136.75724-41.808813 27.828603-90.706831 44.862601-140.45707 50.89341-63.325458 7.677926-131.784923-3.541603-188.712259-32.729444-106.868873-54.795293-179.52309291-165.076271-180.9604082-285.932068-.27660564-23.300971.08616998-46.74071 4.69884909-69.814998 7.51316071-37.57857 20.61272131-73.903917 40.28618971-106.877282 21.2814003-35.670293 48.7704861-67.1473767 81.6882804-92.5255597 38.602429-29.7610135 83.467691-51.1674988 130.978372-62.05777669 11.473831-2.62966514 22.9946-4.0869914 34.57273-5.4964306l3.658171-.44480576c3.050084-.37153079 6.104217-.74794222 9.162589-1.14972654zm-110.555861 549.44131429c-14.716752 1.577863-30.238964 4.25635-42.869928 12.522173 2.84343.683658 6.102369.004954 9.068638 0 7.124652-.011559 14.317732-.279903 21.434964.032202 17.817402.781913 36.381729 3.63214 53.58741 8.350042 22.029372 6.040631 41.432961 17.928687 62.656049 25.945156 22.389644 8.456554 44.67706 11.084675 68.427 11.084675 11.96813 0 23.845573-.035504 35.450133-3.302696-6.056202-3.225083-14.72582-2.619864-21.434964-3.963236-14.556814-2.915455-28.868774-6.474936-42.869928-11.470264-10.304996-3.676672-20.230803-8.214291-30.11097-12.848661l-6.348531-2.985046c-9.1705-4.309263-18.363277-8.560752-27.845391-12.142608-24.932161-9.418465-52.560181-14.071964-79.144482-11.221737zm22.259385-62.614168c-29.163917 0-58.660076 5.137344-84.915434 18.369597-6.361238 3.206092-12.407546 7.02566-18.137277 11.258891-1.746125 1.290529-4.841829 2.948483-5.487351 5.191839-.654591 2.275558 1.685942 4.182039 3.014086 5.637703 6.562396-3.497556 12.797498-7.199878 19.78612-9.855246 45.19892-17.169893 99.992458-13.570779 145.098218 2.172348 22.494346 7.851335 43.219483 19.592421 65.129314 28.800338 24.503461 10.297807 49.53043 16.975034 75.846795 20.399104 31.04195 4.037546 66.433549.7654 94.808495-13.242161 9.970556-4.921843 23.814245-12.422267 28.030337-23.320339-5.207047.454947-9.892236 2.685918-14.83959 4.224149-7.866632 2.445646-15.827248 4.51974-23.908229 6.138887-27.388113 5.486604-56.512458 6.619429-84.091013 1.639788-25.991939-4.693152-50.142596-14.119246-74.179513-24.03502l-3.068058-1.268177c-2.045137-.846788-4.089983-1.695816-6.135603-2.544467l-3.069142-1.272366c-12.279956-5.085721-24.606928-10.110797-37.210937-14.51024-24.485325-8.546552-50.726667-13.784628-76.671218-13.784628zm51.114145-447.9909432c-34.959602 7.7225298-66.276908 22.7605319-96.457338 41.7180089-17.521434 11.0054099-34.281927 22.2799893-49.465301 36.4444283-22.5792616 21.065423-39.8360564 46.668751-54.8866988 73.411509-15.507372 27.55357-25.4498976 59.665686-30.2554517 90.824149-4.7140432 30.568106-5.4906485 62.70747-.0906864 93.301172 6.7503648 38.248526 19.5989769 74.140579 39.8896436 107.337631 6.8187918-3.184625 11.659796-10.445603 17.3128555-15.336896 11.4149428-9.875888 23.3995608-19.029311 36.2745548-26.928535 4.765981-2.923712 9.662222-5.194315 14.83959-7.275014 1.953055-.785216 5.14604-1.502727 6.06527-3.647828 1.460876-3.406732-1.240754-9.335897-1.704904-12.865654-1.324845-10.095517-2.124534-20.362774-1.874735-30.549941.725492-29.668947 6.269727-59.751557 16.825623-87.521453 7.954845-20.924233 20.10682-39.922168 34.502872-56.971512 4.884699-5.785498 10.077731-11.170545 15.437296-16.512656 3.167428-3.157378 7.098271-5.858983 9.068639-9.908915-10.336599.006606-20.674847 2.987289-30.503603 6.013385-21.174447 6.519522-41.801477 16.19312-59.358362 29.841512-8.008432 6.226409-13.873368 14.387371-21.44733 20.939921-2.32322 2.010516-6.484901 4.704691-9.695199 3.187928-4.8500728-2.29042-4.1014979-11.835213-4.6571581-16.222019-2.1369011-16.873476 4.2548401-38.216325 12.3778671-52.843142 13.039878-23.479694 37.150915-43.528712 65.467327-42.82854 12.228647.302197 22.934587 4.551115 34.625711 7.324555-2.964621-4.211764-6.939158-7.28162-10.717482-10.733763-9.257431-8.459031-19.382979-16.184864-30.503603-22.028985-4.474136-2.350694-9.291232-3.77911-14.015169-5.506421-2.375159-.867783-5.36616-2.062533-6.259834-4.702213-1.654614-4.888817 7.148561-9.416813 10.381943-11.478522 12.499882-7.969406 27.826705-14.525258 42.869928-14.894334 23.509209-.577147 46.479246 12.467678 56.162903 34.665926 3.404469 7.803171 4.411273 16.054969 5.079109 24.382907l.121749 1.56229.174325 2.345587c.01913.260708.038244.521433.057403.782164l.11601 1.56437.120128 1.563971c7.38352-6.019164 12.576553-14.876995 19.78612-21.323859 16.861073-15.07846 39.936636-21.7722 61.831627-14.984333 19.786945 6.133107 36.984382 19.788105 47.105807 37.959541 2.648042 4.754231 10.035685 16.373942 4.698379 21.109183-4.177345 3.707277-9.475079.818243-13.880788-.719162-3.33605-1.16376-6.782939-1.90214-10.241828-2.585698l-1.887262-.369639c-.629089-.122886-1.257979-.246187-1.886079-.372129-11.980496-2.401886-25.91652-2.152533-37.923398-.041284-7.762754 1.364839-15.349083 4.127545-23.083807 5.271929v1.651348c21.149714.175043 41.608563 12.240618 52.043268 30.549941 4.323267 7.585468 6.482428 16.267431 8.138691 24.770223 2.047864 10.50918.608423 21.958802-2.263037 32.201289-.962925 3.433979-2.710699 9.255807-6.817143 10.046802-2.902789.558982-5.36781-2.330878-7.024898-4.279468-4.343878-5.10762-8.475879-9.96341-13.573278-14.374161-12.895604-11.157333-26.530715-21.449361-40.396663-31.373138-7.362086-5.269452-15.425755-12.12007-23.908229-15.340199 2.385052 5.745041 4.721463 11.086326 5.532694 17.339156 2.385876 18.392716-5.314223 35.704625-16.87179 49.540445-3.526876 4.222498-7.29943 8.475545-11.744712 11.755948-1.843407 1.360711-4.156734 3.137561-6.595373 2.752797-7.645687-1.207961-8.555849-12.73272-9.728176-18.637115-3.970415-19.998652-2.375984-39.861068 3.132802-59.448534-4.901187 2.485279-8.443727 7.923994-11.521293 12.385111-6.770975 9.816439-12.645804 20.199291-16.858599 31.375615-16.777806 44.519521-16.616219 96.664142 5.118834 139.523233 2.427098 4.786433 6.110614 4.144058 10.894733 4.144058.720854 0 1.44257-.004515 2.164851-.010924l2.168232-.022283c4.338648-.045438 8.686803-.064635 12.979772.508795 2.227588.297243 5.320818.032202 7.084256 1.673642 2.111344 1.966755.986008 5.338808.4996 7.758859-1.358647 6.765574-1.812904 12.914369-1.812904 19.816178 9.02412-1.398692 11.525415-15.866153 14.724172-23.118874 3.624982-8.216283 7.313444-16.440823 10.667192-24.770223 1.648843-4.093692 3.854171-8.671229 3.275427-13.210785-.649644-5.10184-4.335633-10.510831-6.904531-14.862134-4.86244-8.234447-10.389363-16.70834-13.969002-25.595896-2.861567-7.104926-.197036-15.983399 7.871579-18.521521 4.450228-1.400344 9.198073 1.345848 12.094266 4.562675 6.07269 6.74328 9.992815 16.777697 14.401823 24.692609l34.394873 61.925556c2.920926 5.243856 5.848447 10.481933 8.836976 15.687808 1.165732 2.031158 2.352075 5.167068 4.740424 6.0332 2.127008.77118 5.033095-.325315 7.148561-.748886 5.492297-1.099798 10.97635-2.287117 16.488434-3.28288 6.605266-1.193099 16.673928-.969342 21.434964-6.129805-6.963066-2.205375-15.011895-2.074919-22.259386-1.577863-4.352947.298894-9.178287 1.856116-13.178381-.686135-5.953149-3.783239-9.910373-12.522173-13.552668-18.377854-8.980425-14.439388-17.441465-29.095929-26.041008-43.760726l-1.376261-2.335014-2.765943-4.665258c-1.380597-2.334387-2.750786-4.67476-4.079753-7.036188-1.02723-1.826391-2.549937-4.233231-1.078344-6.24705 1.545791-2.114476 4.91472-2.239146 7.956473-2.243117l.603351.000261c1.195428.001526 2.315572.002427 3.222811-.11692 12.27399-1.615019 24.718635-2.952611 37.098976-2.952611-.963749-3.352237-3.719791-7.141255-2.838484-10.73046 1.972017-8.030506 13.526287-10.543033 18.899867-4.780653 3.60767 3.868283 5.704174 9.192229 8.051303 13.859765 3.097352 6.162006 6.624228 12.118418 9.940876 18.16483 5.805578 10.585967 12.146205 20.881297 18.116667 31.375615.49237.865561.999687 1.726685 1.512269 2.587098l.771613 1.290552c2.577138 4.303168 5.164895 8.635123 6.553094 13.461506-20.735854-.9487-36.30176-25.018751-45.343193-41.283704-.721369 2.604176.450959 4.928448 1.388326 7.431066 1.948109 5.197619 4.276275 10.147535 7.20627 14.862134 4.184765 6.732546 8.982075 13.665732 15.313633 18.553722 11.236043 8.673707 26.05255 8.721596 39.572241 7.794364 8.669619-.595311 19.50252-4.542034 28.030338-1.864372 8.513803 2.673532 11.940924 12.063098 6.884745 19.276187-3.787393 5.403211-8.842747 7.443452-15.128962 8.257566 4.445282 9.53571 10.268996 18.385285 14.490036 28.072919 1.758491 4.035895 3.59118 10.22102 7.8048 12.350433 2.805507 1.416857 6.824562.09743 9.85761.034678-3.043765-8.053625-8.742992-14.887729-11.541904-23.118874 8.533589.390544 16.786875 4.843404 24.732651 7.685374 15.630376 5.590144 31.063836 11.701854 46.475333 17.86913l7.112077 2.848685c6.338978 2.538947 12.71588 5.052299 18.961699 7.812528 2.285297 1.009799 5.449427 3.370401 7.975455 1.917215 2.061054-1.186494 3.394144-4.015253 4.665403-5.931643 3.55573-5.361927 6.775921-10.928622 9.965609-16.513481 12.774414-22.36586 22.143967-46.872692 28.402976-71.833646 20.645168-82.323009 2.934117-173.156241-46.677107-241.922507-19.061454-26.420745-43.033164-49.262193-69.46165-68.1783861-66.13923-47.336721-152.911262-66.294198-232.486917-48.7172481zm135.205158 410.5292842c-17.532977 4.570931-35.601827 8.714164-53.58741 11.040088 2.365265 8.052799 8.145286 15.885969 12.376218 23.118874 1.635653 2.796558 3.3859 6.541816 6.618457 7.755557 3.651364 1.370619 8.063669-.853747 11.508927-1.975838-1.595256-4.364513-4.279573-8.292245-6.476657-12.385112-.905215-1.687677-2.305907-3.685809-1.559805-5.68972 1.410585-3.786541 7.266452-3.563609 10.509727-4.221671 8.54678-1.733916 17.004522-3.898008 25.557073-5.611281 3.150939-.631641 7.538512-2.342438 10.705115-1.285575 2.371037.791232 3.800147 2.744743 5.152304 4.781948l.606196.918752c.80912 1.222827 1.637246 2.41754 2.671212 3.351165 3.457625 3.121874 8.628398 3.60159 13.017619 4.453686-2.678546-6.027421-7.130424-11.301001-9.984571-17.339156-1.659561-3.511592-3.023155-8.677834-6.656381-10.707341-5.005064-2.795733-15.341663 2.461334-20.458024 3.795624zm-110.472507-40.151706c-.825246 10.467897-4.036369 18.984725-9.068639 28.072919 5.76683.729896 11.649079.989984 17.312856 2.39363 4.244947 1.051908 8.156828 3.058296 12.366325 4.211763-2.250671-6.157877-6.426367-11.651913-9.661398-17.339156-3.266358-5.740912-6.189758-12.717032-10.949144-17.339156z" transform="translate(.9778)"/></svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<svg version="1.1" viewBox="0 0 261.76 226.69"
|
|
2
|
+
xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<g transform="matrix(1.3333 0 0 -1.3333 -76.311 313.34)">
|
|
4
|
+
<g transform="translate(178.06 235.01)">
|
|
5
|
+
<path d="m0 0-22.669-39.264-22.669 39.264h-75.491l98.16-170.02 98.16 170.02z" fill="#41b883"/>
|
|
6
|
+
</g>
|
|
7
|
+
<g transform="translate(178.06 235.01)">
|
|
8
|
+
<path d="m0 0-22.669-39.264-22.669 39.264h-36.227l58.896-102.01 58.896 102.01z" fill="#34495e"/>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg"><circle cx="32" cy="32" r="28" fill="#21759b"/><path d="M11.5 32c0 8.1 4.7 15.1 11.5 18.5L13.3 23.9a20.3 20.3 0 0 0-1.8 8.1Zm34.4-1c0-2.5-.9-4.3-1.7-5.7-1-1.7-2-3.1-2-4.8 0-1.9 1.4-3.6 3.5-3.6h.3A20.4 20.4 0 0 0 15.2 20c1 .1 2.6.1 2.6.1 1.1.1 1.3 1.7.1 1.8l-2 .2 7.6 22.5L28 31.2 24.8 22l-1.8-.2c-1.2-.1-1-1.7.1-1.8 0 0 3.2.1 5.2.1s5.2-.1 5.2-.1c1.1-.1 1.3 1.7.1 1.8l-2 .2 7.5 22.3 2.1-7c.9-2.9 1.7-5 1.7-6.4Zm-13.5 2.8-6.2 18a20.9 20.9 0 0 0 5.8.8c2.4 0 4.8-.4 6.9-1.2l-.1-.3-6.4-17.3Zm17.7-11.4c.1.7.2 1.4.2 2.2 0 2.1-.4 4.5-1.6 7.5l-6.4 18.4A20.5 20.5 0 0 0 52.5 32a20.1 20.1 0 0 0-2.4-9.6Z" fill="#fff"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg viewBox="0 0 600 476.30000000000007" xmlns="http://www.w3.org/2000/svg" width="2500" height="1985"><path d="M0 259.8V0l225 129.9v86.6L75 129.9v173.2z" fill="#00b0ff"/><path d="M225 129.9L450 0v259.8l-150 86.6-75-43.3 150-86.6v-86.6l-150 86.6z" fill="#0081cb"/><path d="M225 303.1v86.6l150 86.6v-86.6z" fill="#00b0ff"/><path d="M375 476.3l225-129.9V173.2l-75 43.3v86.6l-150 86.6zm150-346.4V43.3L600 0v86.6z" fill="#0081cb"/></svg>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg"
|
|
2
|
+
xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 160 160" enable-background="new 0 0 160 160" xml:space="preserve">
|
|
3
|
+
<image id="image0" width="160" height="160" x="0" y="0" href="data:image/png;base64,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" />
|
|
4
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 54 33"><g clip-path="url(#prefix__clip0)"><path fill="#38bdf8" fill-rule="evenodd" d="M27 0c-7.2 0-11.7 3.6-13.5 10.8 2.7-3.6 5.85-4.95 9.45-4.05 2.054.513 3.522 2.004 5.147 3.653C30.744 13.09 33.808 16.2 40.5 16.2c7.2 0 11.7-3.6 13.5-10.8-2.7 3.6-5.85 4.95-9.45 4.05-2.054-.513-3.522-2.004-5.147-3.653C36.756 3.11 33.692 0 27 0zM13.5 16.2C6.3 16.2 1.8 19.8 0 27c2.7-3.6 5.85-4.95 9.45-4.05 2.054.514 3.522 2.004 5.147 3.653C17.244 29.29 20.308 32.4 27 32.4c7.2 0 11.7-3.6 13.5-10.8-2.7 3.6-5.85 4.95-9.45 4.05-2.054-.513-3.522-2.004-5.147-3.653C23.256 19.31 20.192 16.2 13.5 16.2z" clip-rule="evenodd"/></g><defs><clipPath id="prefix__clip0"><path fill="#fff" d="M0 0h54v32.4H0z"/></clipPath></defs></svg>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs'
|
|
2
|
+
import { registerHooks } from 'node:module'
|
|
3
|
+
import { fileURLToPath } from 'node:url'
|
|
4
|
+
|
|
5
|
+
const image = /\.(?:avif|gif|jpe?g|png|webp)$/
|
|
6
|
+
|
|
7
|
+
// Content generation evaluates presentation modules without the Astro/Vite bundler.
|
|
8
|
+
registerHooks({
|
|
9
|
+
resolve(specifier, context, nextResolve) {
|
|
10
|
+
const query = specifier.match(/\?raw$/)?.[0]
|
|
11
|
+
if (!query) return nextResolve(specifier, context)
|
|
12
|
+
const resolved = nextResolve(specifier.slice(0, -query.length), context)
|
|
13
|
+
return { ...resolved, url: resolved.url + query, format: 'module' }
|
|
14
|
+
},
|
|
15
|
+
load(url, context, nextLoad) {
|
|
16
|
+
const { pathname, search } = new URL(url)
|
|
17
|
+
if (search === '?raw') {
|
|
18
|
+
return { format: 'module', source: `export default ${JSON.stringify(readFileSync(fileURLToPath(url.slice(0, -search.length)), 'utf8'))}`, shortCircuit: true }
|
|
19
|
+
}
|
|
20
|
+
if (pathname.endsWith('.css')) return { format: 'module', source: '', shortCircuit: true }
|
|
21
|
+
if (pathname.endsWith('.svg')) return { format: 'module', source: 'export default function SvgComponent() { return null }', shortCircuit: true }
|
|
22
|
+
if (image.test(pathname)) return { format: 'module', source: `export default ${JSON.stringify({ src: pathname, width: 1, height: 1 })}`, shortCircuit: true }
|
|
23
|
+
return nextLoad(url, context)
|
|
24
|
+
}
|
|
25
|
+
})
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto'
|
|
2
|
+
import { mkdir, readFile, readdir, rm, writeFile } from 'node:fs/promises'
|
|
3
|
+
import path from 'node:path'
|
|
4
|
+
import { Resvg } from '@resvg/resvg-js'
|
|
5
|
+
import satori from 'satori'
|
|
6
|
+
|
|
7
|
+
type StaticOgImageOptions = { title: string; description: string; category: string; authors: string[]; locale: string }
|
|
8
|
+
export interface StaticSocialOptions {
|
|
9
|
+
siteDir: string
|
|
10
|
+
outDir: string
|
|
11
|
+
origin: string
|
|
12
|
+
/** PNG product or organization signature, supplied by the owning site. */
|
|
13
|
+
logo: URL
|
|
14
|
+
defaultLocale?: string
|
|
15
|
+
locales?: readonly string[]
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** Replace dynamic card placeholders with static, content-addressed PNG files. */
|
|
19
|
+
export async function generateStaticSocialImages({ siteDir, outDir, origin, logo, defaultLocale = 'en', locales = ['en'] }: StaticSocialOptions) {
|
|
20
|
+
const authorImageFiles: Record<string, string> = { Aron: 'aron.jpg', Joy: 'joy.jpg', BenSeage: 'benseage.jpg', Miles: 'miles.jpg', Lola: 'lola.jpg' }
|
|
21
|
+
await generate()
|
|
22
|
+
|
|
23
|
+
async function generate() {
|
|
24
|
+
const textFiles = (await listFiles(outDir)).filter((file) => /\.(html|txt)$/.test(file))
|
|
25
|
+
const filesWithMatches: { file: string, content: string, matches: string[] }[] = []
|
|
26
|
+
|
|
27
|
+
for (const file of textFiles) {
|
|
28
|
+
const content = await readFile(file, 'utf8')
|
|
29
|
+
const matches = findOgImageUrls(content)
|
|
30
|
+
if (matches.length) {
|
|
31
|
+
filesWithMatches.push({ file, content, matches })
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (!filesWithMatches.length) return
|
|
36
|
+
|
|
37
|
+
await rm(path.join(outDir, 'og'), { recursive: true, force: true })
|
|
38
|
+
|
|
39
|
+
const generated = new Map<string, string>()
|
|
40
|
+
|
|
41
|
+
for (const { file, matches, content: originalContent } of filesWithMatches) {
|
|
42
|
+
let content = originalContent
|
|
43
|
+
|
|
44
|
+
for (const rawUrl of matches) {
|
|
45
|
+
const normalizedUrl = normalizeOgImageUrl(rawUrl)
|
|
46
|
+
const cacheKey = getOgImageCacheKey(normalizedUrl)
|
|
47
|
+
let staticPath = generated.get(cacheKey)
|
|
48
|
+
if (!staticPath) {
|
|
49
|
+
staticPath = await writeOgImage(normalizedUrl, cacheKey)
|
|
50
|
+
generated.set(cacheKey, staticPath)
|
|
51
|
+
}
|
|
52
|
+
// Keep the origin of absolute card URLs, which social crawlers require.
|
|
53
|
+
content = content.split(rawUrl).join(/^https?:\/\//.test(rawUrl) ? new URL(staticPath, rawUrl).href : staticPath)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if (content.includes('/api/og-image')) {
|
|
57
|
+
throw new Error(`Static postbuild left dynamic OG image URL in ${path.relative(siteDir, file)}`)
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
await writeFile(file, content, 'utf8')
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function findOgImageUrls(html: string) {
|
|
65
|
+
const matches = new Set<string>()
|
|
66
|
+
const pattern = /(?:https?:\/\/[^"'<>\s]+)?\/api\/og-image\?[^"'<>\s]+/g
|
|
67
|
+
for (const match of html.matchAll(pattern)) {
|
|
68
|
+
const rawUrl = trimEscapedStringTerminator(html, match.index || 0, match[0])
|
|
69
|
+
matches.add(rawUrl)
|
|
70
|
+
}
|
|
71
|
+
return [...matches]
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function trimEscapedStringTerminator(content: string, matchIndex: number, rawUrl: string) {
|
|
75
|
+
const nextCharacter = content[matchIndex + rawUrl.length]
|
|
76
|
+
if (nextCharacter === '"' && rawUrl.endsWith('\\')) {
|
|
77
|
+
return rawUrl.slice(0, -1)
|
|
78
|
+
}
|
|
79
|
+
return rawUrl
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function normalizeOgImageUrl(rawUrl: string) {
|
|
83
|
+
return rawUrl
|
|
84
|
+
.replaceAll('&', '&')
|
|
85
|
+
.replaceAll('\\u0026', '&')
|
|
86
|
+
.replaceAll('\\u003d', '=')
|
|
87
|
+
.replaceAll('\\u002f', '/')
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function getOgImageCacheKey(rawUrl: string) {
|
|
91
|
+
const url = new URL(rawUrl, origin)
|
|
92
|
+
const params = url.searchParams
|
|
93
|
+
return JSON.stringify({
|
|
94
|
+
locale: normalizeLocale(params.get('locale')),
|
|
95
|
+
title: params.get('title') || '',
|
|
96
|
+
description: params.get('description') || '',
|
|
97
|
+
category: params.get('category') || '',
|
|
98
|
+
authors: parseAuthors(params.get('authors'))
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
async function writeOgImage(rawUrl: string, cacheKey: string) {
|
|
103
|
+
const url = new URL(rawUrl, origin)
|
|
104
|
+
const params = url.searchParams
|
|
105
|
+
const locale = normalizeLocale(params.get('locale'))
|
|
106
|
+
const dictionary = await readDictionary(locale)
|
|
107
|
+
const image = await createStaticOgImage({
|
|
108
|
+
locale,
|
|
109
|
+
title: translate(params.get('title'), dictionary),
|
|
110
|
+
description: translate(params.get('description'), dictionary),
|
|
111
|
+
category: translate(params.get('category'), dictionary),
|
|
112
|
+
authors: parseAuthors(params.get('authors'))
|
|
113
|
+
})
|
|
114
|
+
const filename = `${createHash('sha1').update(cacheKey).digest('hex').slice(0, 16)}.png`
|
|
115
|
+
const publicPath = `/og/${filename}`
|
|
116
|
+
const outputPath = path.join(outDir, publicPath.slice(1))
|
|
117
|
+
|
|
118
|
+
await mkdir(path.dirname(outputPath), { recursive: true })
|
|
119
|
+
await writeFile(outputPath, image)
|
|
120
|
+
|
|
121
|
+
return publicPath
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
async function createStaticOgImage({ title, description, category, authors }: StaticOgImageOptions) {
|
|
125
|
+
const size = { width: 1200, height: 630 }
|
|
126
|
+
const coverBgURL = await readSharedDataURL('images/cover-bg.jpg')
|
|
127
|
+
const logotypeURL = `data:image/png;base64,${(await readFile(logo)).toString('base64')}`
|
|
128
|
+
const authorProfiles = await Promise.all(authors.map(async (name) => ({
|
|
129
|
+
name,
|
|
130
|
+
image: await readOptionalPublicDataURL(`images/authors/${authorImageFiles[name]}`)
|
|
131
|
+
})))
|
|
132
|
+
const fontRegular = await readFile(new URL('../public/fonts/Geist-Regular.ttf', import.meta.url))
|
|
133
|
+
const fontMedium = await readFile(new URL('../public/fonts/Geist-Medium.ttf', import.meta.url))
|
|
134
|
+
const titleFontSize = title.length > 72 ? 40 : title.length > 46 ? 48 : 56
|
|
135
|
+
const displayDescription = truncateText(description, 150)
|
|
136
|
+
|
|
137
|
+
const svg = await satori(
|
|
138
|
+
h('div', { style: {
|
|
139
|
+
display: 'flex',
|
|
140
|
+
position: 'relative',
|
|
141
|
+
width: size.width,
|
|
142
|
+
height: size.height,
|
|
143
|
+
overflow: 'hidden',
|
|
144
|
+
backgroundColor: '#fff',
|
|
145
|
+
color: '#111827',
|
|
146
|
+
fontFamily: 'Geist Regular'
|
|
147
|
+
} },
|
|
148
|
+
h('img', { src: coverBgURL, width: size.width, height: size.height, style: {
|
|
149
|
+
position: 'absolute',
|
|
150
|
+
top: 0,
|
|
151
|
+
right: 0,
|
|
152
|
+
bottom: 0,
|
|
153
|
+
left: 0
|
|
154
|
+
} }),
|
|
155
|
+
h('div', { style: {
|
|
156
|
+
display: 'flex',
|
|
157
|
+
flexDirection: 'column',
|
|
158
|
+
justifyContent: 'space-between',
|
|
159
|
+
position: 'relative',
|
|
160
|
+
width: '100%',
|
|
161
|
+
height: '100%',
|
|
162
|
+
padding: '70px 95px'
|
|
163
|
+
} },
|
|
164
|
+
h('img', { src: logotypeURL, width: 340 }),
|
|
165
|
+
h('div', { style: {
|
|
166
|
+
display: 'flex',
|
|
167
|
+
flexDirection: 'column',
|
|
168
|
+
gap: 24
|
|
169
|
+
} },
|
|
170
|
+
category && h('div', { style: {
|
|
171
|
+
display: 'flex',
|
|
172
|
+
color: '#64748b',
|
|
173
|
+
fontSize: 24,
|
|
174
|
+
fontFamily: 'Geist Medium'
|
|
175
|
+
} },
|
|
176
|
+
category
|
|
177
|
+
),
|
|
178
|
+
h('div', { style: {
|
|
179
|
+
display: 'flex',
|
|
180
|
+
maxWidth: 900,
|
|
181
|
+
fontFamily: 'Geist Medium',
|
|
182
|
+
fontSize: titleFontSize,
|
|
183
|
+
lineHeight: 1.22
|
|
184
|
+
} },
|
|
185
|
+
title
|
|
186
|
+
),
|
|
187
|
+
displayDescription && h('div', { style: {
|
|
188
|
+
display: 'flex',
|
|
189
|
+
maxWidth: 930,
|
|
190
|
+
color: '#64748b',
|
|
191
|
+
fontSize: 28,
|
|
192
|
+
lineHeight: 1.45
|
|
193
|
+
} },
|
|
194
|
+
displayDescription
|
|
195
|
+
)
|
|
196
|
+
),
|
|
197
|
+
h('div', { style: {
|
|
198
|
+
display: 'flex',
|
|
199
|
+
alignItems: 'center',
|
|
200
|
+
minHeight: 70
|
|
201
|
+
} },
|
|
202
|
+
authorProfiles.map(({ name, image }) => h('div', { key: name, style: {
|
|
203
|
+
display: 'flex',
|
|
204
|
+
alignItems: 'center',
|
|
205
|
+
marginRight: 32
|
|
206
|
+
} },
|
|
207
|
+
image && h('img', { src: image, width: 58, height: 58, style: {
|
|
208
|
+
borderRadius: 999,
|
|
209
|
+
objectFit: 'cover'
|
|
210
|
+
} }),
|
|
211
|
+
h('div', { style: {
|
|
212
|
+
display: 'flex',
|
|
213
|
+
marginLeft: image ? 14 : 0,
|
|
214
|
+
color: '#334155',
|
|
215
|
+
fontSize: 24
|
|
216
|
+
} },
|
|
217
|
+
name
|
|
218
|
+
)
|
|
219
|
+
))
|
|
220
|
+
)
|
|
221
|
+
)
|
|
222
|
+
),
|
|
223
|
+
{
|
|
224
|
+
...size,
|
|
225
|
+
fonts: [
|
|
226
|
+
{
|
|
227
|
+
name: 'Geist Regular',
|
|
228
|
+
data: fontRegular
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
name: 'Geist Medium',
|
|
232
|
+
data: fontMedium
|
|
233
|
+
}
|
|
234
|
+
]
|
|
235
|
+
}
|
|
236
|
+
)
|
|
237
|
+
return new Resvg(svg, { fitTo: { mode: 'width', value: size.width } }).render().asPng()
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
type SatoriChild = SatoriElement | string | number | false | null | undefined | SatoriChild[]
|
|
241
|
+
interface SatoriElement {
|
|
242
|
+
type: string
|
|
243
|
+
key: string | null
|
|
244
|
+
props: Record<string, unknown>
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* The element objects satori reads, shaped like JSX output without React: `key` stays beside the props, and one
|
|
249
|
+
* child is passed as itself rather than in an array.
|
|
250
|
+
*/
|
|
251
|
+
function h(type: string, { key = null, ...props }: Record<string, unknown> & { key?: string | null }, ...children: SatoriChild[]) {
|
|
252
|
+
if (children.length) props.children = children.length === 1 ? children[0] : children
|
|
253
|
+
// Satori types its input as a React node; these objects are the same shape.
|
|
254
|
+
return { type, key, props } as SatoriElement & Parameters<typeof satori>[0]
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
async function readPublicAsset(publicPath: string) {
|
|
258
|
+
return await readFile(path.join(siteDir, 'public', publicPath)).catch(() => readFile(new URL('../public/' + publicPath, import.meta.url)))
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
async function readOptionalPublicDataURL(publicPath: string | undefined) {
|
|
262
|
+
if (!publicPath) return undefined
|
|
263
|
+
try {
|
|
264
|
+
return await readPublicDataURL(publicPath)
|
|
265
|
+
} catch {
|
|
266
|
+
return undefined
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
async function readPublicDataURL(publicPath: string) {
|
|
271
|
+
const data = await readPublicAsset(publicPath)
|
|
272
|
+
return `data:${mimeTypeForPath(publicPath)};base64,${data.toString('base64')}`
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
async function readDictionary(locale: string) {
|
|
276
|
+
try {
|
|
277
|
+
return JSON.parse(await readFile(path.join(siteDir, 'public', 'dictionaries', `${locale}.json`), 'utf8')) as Record<string, string>
|
|
278
|
+
} catch {
|
|
279
|
+
return {}
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
function translate(value: string | null, dictionary: Record<string, string>) {
|
|
284
|
+
if (!value) return ''
|
|
285
|
+
return dictionary[value] || value
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
function normalizeLocale(locale: string | null) {
|
|
289
|
+
return locale && locales.includes(locale) ? locale : defaultLocale
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
function parseAuthors(value: string | null) {
|
|
293
|
+
if (!value) return []
|
|
294
|
+
try {
|
|
295
|
+
const parsed = JSON.parse(value)
|
|
296
|
+
if (Array.isArray(parsed)) {
|
|
297
|
+
return parsed
|
|
298
|
+
.map((author) => typeof author === 'string' ? author : author?.name)
|
|
299
|
+
.filter(Boolean)
|
|
300
|
+
}
|
|
301
|
+
} catch {
|
|
302
|
+
return value.split(',').map((author) => author.trim()).filter(Boolean)
|
|
303
|
+
}
|
|
304
|
+
return []
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
function truncateText(value: string, maxLength: number) {
|
|
308
|
+
if (value.length <= maxLength) return value
|
|
309
|
+
return value.slice(0, maxLength - 3).replace(/[,.;]?\s[\w']*$|.$/, '...')
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
function mimeTypeForPath(publicPath: string) {
|
|
313
|
+
if (publicPath.endsWith('.jpg') || publicPath.endsWith('.jpeg')) return 'image/jpeg'
|
|
314
|
+
if (publicPath.endsWith('.png')) return 'image/png'
|
|
315
|
+
if (publicPath.endsWith('.svg')) return 'image/svg+xml'
|
|
316
|
+
if (publicPath.endsWith('.ttf')) return 'font/ttf'
|
|
317
|
+
return 'application/octet-stream'
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
async function readSharedDataURL(publicPath: string) {
|
|
322
|
+
return `data:${mimeTypeForPath(publicPath)};base64,${(await readFile(new URL('../public/' + publicPath, import.meta.url))).toString('base64')}`
|
|
323
|
+
}
|
|
324
|
+
async function listFiles(directory: string): Promise<string[]> {
|
|
325
|
+
const files: string[] = []
|
|
326
|
+
for (const entry of await readdir(directory, { withFileTypes: true })) {
|
|
327
|
+
const file = path.join(directory, entry.name)
|
|
328
|
+
if (entry.isDirectory()) files.push(...await listFiles(file))
|
|
329
|
+
else if (entry.isFile()) files.push(file)
|
|
330
|
+
}
|
|
331
|
+
return files
|
|
332
|
+
}
|
|
333
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { dirname } from 'node:path'
|
|
2
|
+
import { fileURLToPath } from 'node:url'
|
|
3
|
+
import { mkdir, readFile, writeFile } from 'node:fs/promises'
|
|
4
|
+
import { mkdirSync, readFileSync, writeFileSync } from 'node:fs'
|
|
5
|
+
|
|
6
|
+
export async function writeIfChanged(file: string | URL, content: string) {
|
|
7
|
+
try {
|
|
8
|
+
if (await readFile(file, 'utf8') === content) return false
|
|
9
|
+
} catch (error) {
|
|
10
|
+
if ((error as NodeJS.ErrnoException).code !== 'ENOENT') throw error
|
|
11
|
+
}
|
|
12
|
+
await mkdir(dirname(file instanceof URL ? fileURLToPath(file) : file), { recursive: true })
|
|
13
|
+
await writeFile(file, content)
|
|
14
|
+
return true
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export function writeIfChangedSync(file: string | URL, content: string) {
|
|
18
|
+
try {
|
|
19
|
+
if (readFileSync(file, 'utf8') === content) return false
|
|
20
|
+
} catch (error) {
|
|
21
|
+
if ((error as NodeJS.ErrnoException).code !== 'ENOENT') throw error
|
|
22
|
+
}
|
|
23
|
+
mkdirSync(dirname(file instanceof URL ? fileURLToPath(file) : file), { recursive: true })
|
|
24
|
+
writeFileSync(file, content)
|
|
25
|
+
return true
|
|
26
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
import DocumentShell from './document.astro'
|
|
3
|
+
import DocHeader from '@master/internal-site/components/DocHeader.svelte'
|
|
4
|
+
|
|
5
|
+
export const bodyClass = '(background-repeat:no-repeat) (background-image:linear-gradient(oklch(100%|0|none),var(--color-zinc-0)|100vh,var(--color-zinc-0))) (background-size:cover) (background-image:linear-gradient(var(--color-zinc-90),var(--color-zinc-95)|100vh,var(--color-zinc-95)))@apply(--site-dark)'
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
<DocumentShell>
|
|
9
|
+
<DocHeader client:load stickable />
|
|
10
|
+
<slot />
|
|
11
|
+
</DocumentShell>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
import DocumentShell from './document.astro'
|
|
3
|
+
import DocHeader from '@master/internal-site/components/DocHeader.svelte'
|
|
4
|
+
import DocWrapper from '@master/internal-site/components/DocWrapper.astro'
|
|
5
|
+
|
|
6
|
+
export const bodyClass = 'bg-surface-base'
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
<DocumentShell>
|
|
10
|
+
<DocHeader client:load contained />
|
|
11
|
+
<DocWrapper>
|
|
12
|
+
<slot />
|
|
13
|
+
</DocWrapper>
|
|
14
|
+
</DocumentShell>
|