feat: prepare @rocket/launch release

This commit is contained in:
Thomas Allmer
2022-07-24 19:18:23 +02:00
parent 09cca4c486
commit 6c949ee80d
127 changed files with 2841 additions and 637 deletions

View File

@@ -18,6 +18,7 @@ export async function registerCustomElements() {
await import('#components/MyCounter.js').then(m => m.MyCounter),
);
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export default () => html`

View File

@@ -5,5 +5,11 @@
"url": "/",
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0
"level": 0,
"components": {
"hello-wave": "#components/HelloWave.js::HelloWave",
"hello-typer": "#components/HelloTyper.js::HelloTyper",
"my-counter": "#components/MyCounter.js::MyCounter"
},
"needsLoader": true
}

View File

@@ -7,6 +7,13 @@
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"blog-author": "rocket-blog-starter/components/BlogAuthor::BlogAuthor",
"blog-header": "rocket-blog-starter/components/BlogHeader::BlogHeader",
"blog-post": "rocket-blog-starter/components/BlogPost::BlogPost",
"blog-post-preview": "rocket-blog-starter/components/BlogPostPreview::BlogPostPreview",
"site-footer": "rocket-blog-starter/components/SiteFooter::SiteFooter"
},
"description": "The perfect starter for your perfect blog.",
"layout": false,
"permalink": "https://example.com/",
@@ -26,7 +33,14 @@
"url": "/about/",
"outputRelativeFilePath": "about/index.html",
"sourceRelativeFilePath": "about.rocket.md",
"level": 1
"level": 1,
"components": {
"blog-author": "rocket-blog-starter/components/BlogAuthor::BlogAuthor",
"blog-header": "rocket-blog-starter/components/BlogHeader::BlogHeader",
"blog-post": "rocket-blog-starter/components/BlogPost::BlogPost",
"blog-post-preview": "rocket-blog-starter/components/BlogPostPreview::BlogPostPreview",
"site-footer": "rocket-blog-starter/components/SiteFooter::SiteFooter"
}
},
{
"name": "blog/index.rocket.js",
@@ -35,6 +49,13 @@
"outputRelativeFilePath": "blog/index.html",
"sourceRelativeFilePath": "blog/index.rocket.js",
"level": 1,
"components": {
"blog-author": "rocket-blog-starter/components/BlogAuthor::BlogAuthor",
"blog-header": "rocket-blog-starter/components/BlogHeader::BlogHeader",
"blog-post": "rocket-blog-starter/components/BlogPost::BlogPost",
"blog-post-preview": "rocket-blog-starter/components/BlogPostPreview::BlogPostPreview",
"site-footer": "rocket-blog-starter/components/SiteFooter::SiteFooter"
},
"layout": false,
"children": [
{
@@ -48,6 +69,13 @@
"level": 2,
"author": "Thomas Allmer (@daKmoR)",
"authorHref": "https://twitter.com/daKmoR",
"components": {
"blog-author": "rocket-blog-starter/components/BlogAuthor::BlogAuthor",
"blog-header": "rocket-blog-starter/components/BlogHeader::BlogHeader",
"blog-post": "rocket-blog-starter/components/BlogPost::BlogPost",
"blog-post-preview": "rocket-blog-starter/components/BlogPostPreview::BlogPostPreview",
"site-footer": "rocket-blog-starter/components/SiteFooter::SiteFooter"
},
"description": "Just a Hello World Post!",
"publishDate": "12 Sep 2021",
"value": 128
@@ -64,6 +92,13 @@
"alt": "Liftoff Flames",
"author": "Thomas Allmer (@daKmoR)",
"authorHref": "https://twitter.com/daKmoR",
"components": {
"blog-author": "rocket-blog-starter/components/BlogAuthor::BlogAuthor",
"blog-header": "rocket-blog-starter/components/BlogHeader::BlogHeader",
"blog-post": "rocket-blog-starter/components/BlogPost::BlogPost",
"blog-post-preview": "rocket-blog-starter/components/BlogPostPreview::BlogPostPreview",
"site-footer": "rocket-blog-starter/components/SiteFooter::SiteFooter"
},
"description": "Now with an image!",
"heroImage": "./assets/liftoff-flames.jpg",
"publishDate": "13 Sep 2021",

View File

@@ -6,5 +6,25 @@
"url": "/",
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.html",
"level": 0
"level": 0,
"components": {
"block-columns": "@rocket/components/block-columns.js::BlockColumns",
"testimonial-small": "@rocket/components/testimonial-small.js::TestimonialSmall",
"feature-small": "@rocket/components/feature-small.js::FeatureSmall",
"the-block": "@rocket/components/the-block.js::TheBlock",
"inline-notification": "@rocket/components/inline-notification.js::InlineNotification",
"permanent-notification": "@rocket/components/permanent-notification.js::PermanentNotification",
"card-icon": "@rocket/components/card-icon.js::CardIcon",
"server-icon": "@rocket/components/server-icon.js::ServerIcon",
"opengraph-overview": "@rocket/components/open-graph-overview.js::OpenGraphOverview",
"rocket-drawer": "@rocket/components/drawer.js::RocketDrawer",
"rocket-header": "@rocket/components/header.js::RocketHeader",
"main-docs": "@rocket/components/main-docs.js::MainDocs",
"main-content": "@rocket/components/main-content.js::MainContent",
"rocket-social-link": "@rocket/components/social-link.js::RocketSocialLink",
"content-area": "@rocket/components/content-area.js::ContentArea",
"block-blue": "@rocket/spark/block-blue.js::BlockBlue",
"block-features": "@rocket/spark/block-features.js::BlockFeatures",
"block-columns-gray": "#components/BlockColumnsGray.js::BlockColumnsGray"
}
}

View File

@@ -5,6 +5,9 @@
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "@test/components::MyVeryLongElementName"
},
"fakeComponents": "",
"fakeHtml": "",
"fakeLayout": "",

View File

@@ -14,5 +14,7 @@ export const rocketComponents = {
'rocket-drawer': '@rocket/components/drawer.js::RocketDrawer',
'rocket-header': '@rocket/components/header.js::RocketHeader',
'main-docs': '@rocket/components/main-docs.js::MainDocs',
'main-content': '@rocket/components/main-content.js::MainContent',
'rocket-social-link': '@rocket/components/social-link.js::RocketSocialLink',
'content-area': '@rocket/components/content-area.js::ContentArea',
};

View File

@@ -0,0 +1 @@
export { ContentArea } from '../src/content-area/ContentArea.js';

View File

@@ -0,0 +1 @@
export { MainContent } from '../src/main-content/MainContent.js';

View File

@@ -0,0 +1,30 @@
import { LitElement, html, css } from 'lit';
export class ContentArea extends LitElement {
render() {
return html`
<div id="content-area">
<slot></slot>
</div>
`;
}
static styles = [
css`
/** content-area */
#content-area {
padding: 0 20px;
display: block;
justify-content: space-between;
align-items: center;
}
@media screen and (min-width: 1024px) {
#content-area {
max-width: 1200px;
margin: 0 auto;
position: relative;
}
}
`,
];
}

View File

@@ -3,13 +3,11 @@ import { LitElement, html, css } from 'lit';
export class RocketHeader extends LitElement {
render() {
return html`
<div id="content-area">
<slot name="logo"></slot>
<slot name="search"></slot>
<slot id="content"></slot>
<slot name="mobile-menu"></slot>
<slot name="social"></slot>
</div>
<slot name="logo"></slot>
<slot name="search"></slot>
<slot id="content"></slot>
<slot name="mobile-menu"></slot>
<slot name="social"></slot>
`;
}
@@ -27,6 +25,9 @@ export class RocketHeader extends LitElement {
--shadow-strength: 1%;
--shadow-2: 0 3px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
0 7px 14px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%));
display: flex;
justify-content: space-between;
align-items: center;
}
slot[name='logo']::slotted(*) {
@@ -49,20 +50,6 @@ export class RocketHeader extends LitElement {
}
}
/** content-area */
#content-area {
padding: 0 20px;
display: flex;
justify-content: space-between;
align-items: center;
}
@media screen and (min-width: 1024px) {
#content-area {
max-width: 1200px;
margin: 0 auto;
}
}
slot[name='social']::slotted(*:last-child) {
margin-right: 0;
}

View File

@@ -0,0 +1,55 @@
import { LitElement, html, css } from 'lit';
export class MainContent extends LitElement {
render() {
return html`
<div id="content">
<slot id="content-slot"></slot>
</div>
<div id="toc">
<div id="toc-sticky">
<slot name="toc"></slot>
</div>
</div>
`;
}
static styles = [
css`
:host {
display: grid;
gap: 5ch;
}
#toc {
display: none;
max-width: 25ch;
}
#content {
max-width: 100vw;
box-sizing: border-box;
/* makes sure that code blocks don't grow bigger then main => see https://css-tricks.com/preventing-a-grid-blowout/ */
min-width: 0;
}
@media screen and (min-width: 1024px) {
#toc {
display: block;
}
#content {
grid-column: 2 / 3;
}
#toc {
grid-column: 3 / 4;
}
}
#toc-sticky {
position: sticky;
top: 70px;
overflow: auto;
max-height: calc(100vh - 70px);
}
`,
];
}

View File

@@ -3,19 +3,17 @@ import { LitElement, html, css } from 'lit';
export class MainDocs extends LitElement {
render() {
return html`
<div id="content-area">
<div id="menu">
<div id="menu-sticky">
<slot name="menu"></slot>
</div>
<div id="menu">
<div id="menu-sticky">
<slot name="menu"></slot>
</div>
<div id="content">
<slot id="content-slot"></slot>
</div>
<div id="toc">
<div id="toc-sticky">
<slot name="toc"></slot>
</div>
</div>
<div id="content">
<slot id="content-slot"></slot>
</div>
<div id="toc">
<div id="toc-sticky">
<slot name="toc"></slot>
</div>
</div>
`;
@@ -23,7 +21,7 @@ export class MainDocs extends LitElement {
static styles = [
css`
#content-area {
:host {
display: grid;
gap: 5ch;
}
@@ -42,10 +40,6 @@ export class MainDocs extends LitElement {
}
@media screen and (min-width: 1024px) {
#content-area {
max-width: 1200px;
margin: 0 auto;
}
#menu,
#toc {
display: block;

View File

@@ -132,4 +132,17 @@ export class Layout {
this.options = originalOptions;
return output;
}
getCurrentPage() {
if (this.options.pageTree) {
return this.options.pageTree.getPage(this.data.sourceRelativeFilePath);
}
}
getCurrentPageData() {
const current = this.getCurrentPage();
if (current) {
return current.model;
}
}
}

View File

@@ -52,6 +52,7 @@ export class AdjustAssetUrls {
assetElements = [
{ tagName: 'img', attribute: 'src' },
{ tagName: 'img', attribute: 'srcset' },
{ tagName: 'source', attribute: 'src' },
{ tagName: 'source', attribute: 'srcset' },
{ tagName: 'a', attribute: 'href' },
{ tagName: 'link', attribute: 'href' },

View File

@@ -4,5 +4,9 @@
"url": "/",
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0
"level": 0,
"options": {
"a": "aValue",
"b": "bValue"
}
}

View File

@@ -5,6 +5,9 @@
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "@test/components::MyVeryLongElementName"
},
"fakeComponents": "",
"fakeHtml": "",
"fakeLayout": "",

View File

@@ -4,5 +4,8 @@
"url": "/",
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0
"level": 0,
"components": {
"my-el": "@test/components::MyEl"
}
}

View File

@@ -5,5 +5,8 @@
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "@test/components::MyEl"
},
"needsLoader": true
}

View File

@@ -5,5 +5,8 @@
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el2": "@test/components::MyEl2"
},
"needsLoader": true
}

View File

@@ -5,5 +5,9 @@
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el4": "@test/components/MyEl4::MyEl4",
"my-only": "@test/components/MyOnly::MyOnly"
},
"needsLoader": true
}

View File

@@ -4,5 +4,8 @@
"url": "/",
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0
"level": 0,
"components": {
"my-el": "@test/components::MyEl"
}
}

View File

@@ -5,5 +5,11 @@
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"needsLoader": true
"components": {
"my-el": "@test/components::MyEl"
},
"needsLoader": true,
"openGraphServerComponents": {
"my-el": "@test/components::MyEl"
}
}

View File

@@ -4,5 +4,10 @@
"url": "/",
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0
"level": 0,
"components": {
"my-el": "@test/components::MyEl",
"other-el": "@test/components::OtherEl",
"next-el": "@test/components::NextEl"
}
}

View File

@@ -5,5 +5,8 @@
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"needsLoader": true
"needsLoader": true,
"components": {
"my-el": "@test/components::MyEl"
}
}

View File

@@ -6,5 +6,8 @@
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"title": "Package import specifier \"#components\" is not defined in package /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/package.json imported from /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/docs/index.rocket.js",
"h1": "Package import specifier \"#components\" is not defined in package /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/package.json imported from /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/docs/index.rocket.js"
"h1": "Package import specifier \"#components\" is not defined in package /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/package.json imported from /Users/ff67qn/html/rocket/packages/engine/test-node/fixtures/14-components/11-start-correct-wrong-header/docs/index.rocket.js",
"components": {
"my-el": "@test/components::MyEl"
}
}

View File

@@ -4,5 +4,8 @@
"url": "/",
"outputRelativeFilePath": "index.html",
"sourceRelativeFilePath": "index.rocket.js",
"level": 0
"level": 0,
"components": {
"my-el": "@test/components::MyEl"
}
}

View File

@@ -7,5 +7,8 @@
"level": 0,
"title": "Cannot read properties of undefined (reading 'not')",
"h1": "Cannot read properties of undefined (reading 'not')",
"needsLoader": true
"needsLoader": true,
"components": {
"my-el": "@test/components::MyEl"
}
}

View File

@@ -6,7 +6,7 @@
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "() => import('@test/components').then(m => m.MyEl)"
"my-el": "@test/components::MyEl"
},
"needsLoader": true
}

View File

@@ -6,7 +6,7 @@
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "() => import('@test/components').then(m => m.MyEl)"
"my-el": "@test/components::MyEl"
},
"needsLoader": true
}

View File

@@ -6,7 +6,7 @@
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "() => import('@test/components').then(m => m.MyEl)"
"my-el": "@test/components::MyEl"
},
"needsLoader": true
}

View File

@@ -6,7 +6,7 @@
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "() => import('@test/components').then(m => m.MyEl)"
"my-el": "@test/components::MyEl"
},
"needsLoader": true
}

View File

@@ -6,7 +6,7 @@
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "() => import('@test/components').then(m => m.MyEl)"
"my-el": "@test/components::MyEl"
},
"needsLoader": true
}

View File

@@ -6,7 +6,7 @@
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "() => import('@test/components').then(m => m.MyEl)"
"my-el": "@test/components::MyEl"
},
"needsLoader": true
}

View File

@@ -6,7 +6,7 @@
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "() => import('@test/components').then(m => m.MyEl)"
"my-el": "@test/components::MyEl"
},
"needsLoader": true
}

View File

@@ -6,7 +6,7 @@
"sourceRelativeFilePath": "index.rocket.js",
"level": 0,
"components": {
"my-el": "() => import('@test/components').then(m => m.MyEl)"
"my-el": "@test/components::MyEl"
},
"needsLoader": true
}

View File

@@ -26,6 +26,7 @@ body {
min-height: 100vh;
max-width: 100vw;
overflow-x: hidden;
line-height: 24px;
}
* {
@@ -175,12 +176,6 @@ main > * {
scroll-margin-top: 85px;
}
@media screen and (min-width: 1024px) {
main {
z-index: 50;
}
}
.content-footer {
border-top: 1px solid var(--primary-lines-color);
margin-top: 100px;

View File

@@ -463,7 +463,7 @@
background-color: var(--markdown-table-row-odd-background-color, #f6f8fa);
}
.markdown-body img {
.markdown-body img, .markdown-body video {
box-sizing: content-box;
max-width: 100%;
width: 100%;

View File

@@ -17,6 +17,7 @@ html {
/* typography */
--text-color: black;
--text-color-lighter: #616e7c;
--primary-font-family: 'Rubik', sans-serif;
--secondary-font-family: 'Montserrat', sans-serif;
--monospace-font-family: 'SFMono-Regular', 'Consolas', 'Liberation Mono', 'Menlo', 'Courier', monospace;

View File

@@ -0,0 +1 @@
export { LaunchBlogDetails } from '../src/blog/LaunchBlogDetails.js';

View File

@@ -0,0 +1 @@
export { LaunchBlogOverview } from '../src/blog/LaunchBlogOverview.js';

View File

@@ -0,0 +1 @@
export { LaunchBlogPreview } from '../src/blog/LaunchBlogPreview.js';

View File

@@ -1,3 +1,6 @@
export const launchComponents = {
'launch-home': '@rocket/launch/home.js::LaunchHome',
'launch-blog-overview': '@rocket/launch/blog-overview.js::LaunchBlogOverview',
'launch-blog-preview': '@rocket/launch/blog-preview.js::LaunchBlogPreview',
'launch-blog-details': '@rocket/launch/blog-details.js::LaunchBlogDetails',
};

View File

@@ -0,0 +1 @@
export { LaunchContent } from '../src/content/LaunchContent.js';

View File

@@ -0,0 +1,26 @@
/* eslint-disable @typescript-eslint/ban-ts-comment */
import { renderJoiningGroup, TableOfContentsMenu } from '@rocket/engine';
import { html } from 'lit';
import { LayoutMain } from './LayoutMain.js';
export class LayoutBlogPost extends LayoutMain {
renderContent() {
return html`
<content-area>
<main-content>
<main class="markdown-body">
${renderJoiningGroup('content', this.options, this.data)}
</main>
<aside slot="toc">
${this.options.pageTree.renderMenu(
new TableOfContentsMenu(),
this.data.sourceRelativeFilePath,
)}
<launch-blog-details .data=${this.getCurrentPageData()}></launch-blog-details>
</aside>
</main-content>
</content-area>
`;
}
}

View File

@@ -1,9 +1,9 @@
/* eslint-disable @typescript-eslint/ban-ts-comment */
import { renderJoiningGroup } from '@rocket/engine';
import { html, nothing } from 'lit';
import { LayoutSidebar } from './LayoutSidebar.js';
import { LayoutMain } from './LayoutMain.js';
export class LayoutHome extends LayoutSidebar {
export class LayoutHome extends LayoutMain {
/** @type {import('../types/layout.js').LayoutHomeOptions} */
options = {
...this.options,
@@ -12,7 +12,7 @@ export class LayoutHome extends LayoutSidebar {
${this.options.socialLinks.map(
socialLink => html`
<rocket-social-link
dark-background
?dark-background=${this.options.headerDarkBackground}
url="${socialLink.url}"
name="${socialLink.name}"
siteName=${this.options.siteName}
@@ -23,17 +23,18 @@ export class LayoutHome extends LayoutSidebar {
`,
content__600: () => nothing,
content__650: () => nothing,
headerHideLogo: true,
headerNoBackground: true,
headerNotSticky: true,
headerDarkBackground: true,
};
renderHeader() {
return html`
<rocket-header hide-logo no-background not-sticky dark-background>
${renderJoiningGroup('header', this.options, this.data)}
<rocket-drawer slot="mobile-menu" loading="hydrate:onMedia('(max-width: 1024px)')">
<div class="drawer">${renderJoiningGroup('drawer', this.options, this.data)}</div>
</rocket-drawer>
</rocket-header>
`;
/**
* @param {import('../types/layout.js').LayoutHomeOptions} options
*/
constructor(options) {
super(options);
this.options = { ...this.options, ...options };
}
renderContent() {

View File

@@ -0,0 +1,288 @@
/* eslint-disable @typescript-eslint/ban-ts-comment */
import {
Layout,
renderJoiningGroup,
SiteMenu,
IndexMenu,
NextMenu,
PreviousMenu,
TableOfContentsMenu,
} from '@rocket/engine';
import { html, nothing } from 'lit';
// @ts-ignore
import { pageDefaults } from '@rocket/components';
export class LayoutMain extends Layout {
/**
* Options for this layout.
*
* ⚠️ changes effect all following pages using this layout
* => mostly useful in recursive.data.js and local.data.js files
*
* If you want to change only the current page, use `setPageOptions`
*
* Example: append html to sidebar only for this page
* @example
* layout.setPageOptions(sourceRelativeFilePath,
* {
* sidebar__70: html`
* <p>appended only on this page</p>
* `
* }
* );
*
* @type {import('../types/layout.js').LayoutSidebarOptions}
*/
options = {
...this.options,
...pageDefaults({ ...this.options }),
bodyClasses: {
...this.options.bodyClasses,
},
headerHideLogo: false,
headerNoBackground: false,
headerNotSticky: false,
headerDarkBackground: false,
dsdPending: true,
siteName: 'Rocket',
logoSrc: '/icon.svg',
logoAlt: 'Rocket Logo',
gitSiteUrl: 'https://github.com/modernweb-dev/rocket',
gitBranch: 'next',
description: 'A static site generator for modern web development',
socialLinks: [
{
name: 'GitHub',
url: 'https://github.com/modernweb-dev/rocket',
},
{
name: 'Slack',
url: 'https://join.slack.com/t/lit-and-friends/shared_invite/zt-llwznvsy-LZwT13R66gOgnrg12PUGqw',
},
{
name: 'Discord',
url: 'https://discord.gg/sTdpM2rkKJ',
},
],
footerMenu: [],
titleWrapperFn: title => `${title} | ${this.options.siteName}`,
};
/**
* @param {string} sourceRelativeFilePath
* @param {Partial<import('../types/layout.js').LayoutSidebarOptions>} options
*/
setPageOptions(sourceRelativeFilePath, options) {
super.setPageOptions(sourceRelativeFilePath, options);
}
/**
* @param {Partial<import('../types/layout.js').LayoutSidebarOptions>} options
*/
constructor(options) {
super(options);
// @ts-ignore
this.options = { ...this.options, ...options };
// set it in two passes so we can us the values above in the templates
this.options = {
...this.options,
head__10: data => {
const description = data.description ? data.description : this.options.description;
const title = this.options.titleWrapperFn(
// @ts-ignore
this.options.pageTree.getPage(data.sourceRelativeFilePath)?.model?.name,
);
return html`
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="color-scheme" content="light" />
<title-server-only>${title}</title-server-only>
<meta property="og:title" content="${title}" />
<meta name="generator" content="rocket 0.1" />
<meta name="description" content="${description}" />
<meta property="og:description" content="${description}" />
<link rel="canonical" href="${data.url}" />
<meta property="og:url" content="${data.url}" />
`;
},
head__20: html`
<link rel="icon" href="/favicon.ico" sizes="any" /><!-- 32x32 -->
<link rel="icon" href="/icon.svg" type="image/svg+xml" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" /><!-- 180x180 -->
<link rel="manifest" href="/site.webmanifest" />
`,
head__30: html`
<meta property="og:site_name" content="${this.options.siteName}" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary_large_image" />
`,
head__40: html`
<link
rel="preload"
href="/fonts/Rubik-VariableFont_wght.woff2"
as="font"
type="font/woff2"
crossorigin
fetchpriority="low"
/>
<link rel="stylesheet" href="resolve:@rocket/launch/css/variables.css" />
<link rel="stylesheet" href="resolve:@rocket/launch/css/layout.css" />
<link rel="stylesheet" href="resolve:@rocket/launch/css/markdown.css" />
`,
head__50: html`
<style>
body[dsd-pending] {
display: none;
}
</style>
`,
header__10: html`
<a class="logo-link" href="/" slot="logo">
<img src="/icon.svg" alt="${this.options.logoAlt}" />
<span>${this.options.siteName}</span>
</a>
`,
header__50: data =>
this.options.pageTree.renderMenu(new SiteMenu(), data.sourceRelativeFilePath),
header__60: () =>
html`
${this.options.socialLinks.map(
socialLink => html`
<rocket-social-link
url="${socialLink.url}"
name="${socialLink.name}"
siteName=${this.options.siteName}
slot="social"
></rocket-social-link>
`,
)}
`,
drawer__10: html`
<a class="logo-link" href="/">
<img src="${this.options.logoSrc}" alt="${this.options.logoAlt}" />
<span>${this.options.siteName}</span>
</a>
`,
drawer__20: html`
<div class="drawer-social">
${this.options.socialLinks.map(
socialLink => html`
<rocket-social-link
url="${socialLink.url}"
name="${socialLink.name}"
siteName=${this.options.siteName}
></rocket-social-link>
`,
)}
</div>
`,
drawer__50: data =>
this.options.pageTree.renderMenu(new IndexMenu(), data.sourceRelativeFilePath),
sidebar__100: data =>
this.options.pageTree.renderMenu(new IndexMenu(), data.sourceRelativeFilePath),
content__600: data => html`
<div class="content-previous-next">
${this.options.pageTree.renderMenu(new PreviousMenu(), data.sourceRelativeFilePath)}
${this.options.pageTree.renderMenu(new NextMenu(), data.sourceRelativeFilePath)}
</div>
`,
content__650: data => html`
<div class="content-footer">
<p>
Caught a mistake or want to contribute to the documentation?
<a
href="${this.options.gitSiteUrl}/edit/${this.options
.gitBranch}/site/pages/${data.sourceRelativeFilePath}"
>Edit this page on GitHub!</a
>
</p>
</div>
`,
footer__100: html`
<div id="footer-menu">
${this.options.footerMenu.map(
category => html`
<nav>
<h3>${category.name}</h3>
<ul>
${category.children.map(
entry => html`
<li>
<a href="${entry.href}">${entry.text}</a>
</li>
`,
)}
</ul>
</nav>
`,
)}
</div>
`,
// @ts-ignore
bottom__60: data => {
if (data.renderMode === 'production') {
return html`<script
type="module"
src="resolve:@rocket/launch/js/register-service-worker.js"
></script>`;
}
return nothing;
},
};
}
renderHeader() {
return html`
<content-area>
<rocket-header
?hide-logo=${this.options.headerHideLogo}
?no-background=${this.options.headerNoBackground}
?not-sticky=${this.options.headerNotSticky}
?dark-background=${this.options.headerDarkBackground}
>
${renderJoiningGroup('header', this.options, this.data)}
<rocket-drawer slot="mobile-menu" loading="hydrate:onMedia('(max-width: 1024px)')">
<div class="drawer">${renderJoiningGroup('drawer', this.options, this.data)}</div>
</rocket-drawer>
</rocket-header>
</content-area>
`;
}
renderContent() {
return html`
<content-area>
<main-content>
<main class="markdown-body">
${renderJoiningGroup('content', this.options, this.data)}
</main>
<aside slot="toc">
${this.options.pageTree.renderMenu(
new TableOfContentsMenu(),
this.data.sourceRelativeFilePath,
)}
</aside>
</main-content>
</content-area>
`;
}
}

View File

@@ -1,274 +1,25 @@
/* eslint-disable @typescript-eslint/ban-ts-comment */
import {
Layout,
renderJoiningGroup,
SiteMenu,
IndexMenu,
NextMenu,
PreviousMenu,
TableOfContentsMenu,
} from '@rocket/engine';
import { html, nothing } from 'lit';
// @ts-ignore
import { pageDefaults } from '@rocket/components';
export class LayoutSidebar extends Layout {
/**
* Options for this layout.
*
* ⚠️ changes effect all following pages using this layout
* => mostly useful in recursive.data.js and local.data.js files
*
* If you want to change only the current page, use `setPageOptions`
*
* Example: append html to sidebar only for this page
* @example
* layout.setPageOptions(sourceRelativeFilePath,
* {
* sidebar__70: html`
* <p>appended only on this page</p>
* `
* }
* );
*
* @type {import('../types/layout.js').LayoutSidebarOptions}
*/
options = {
...this.options,
...pageDefaults({ ...this.options }),
bodyClasses: {
...this.options.bodyClasses,
},
dsdPending: true,
siteName: 'Rocket',
logoSrc: '/icon.svg',
logoAlt: 'Rocket Logo',
gitSiteUrl: 'https://github.com/modernweb-dev/rocket',
gitBranch: 'next',
description: 'A static site generator for modern web development',
socialLinks: [
{
name: 'GitHub',
url: 'https://github.com/modernweb-dev/rocket',
},
{
name: 'Slack',
url: 'https://join.slack.com/t/lit-and-friends/shared_invite/zt-llwznvsy-LZwT13R66gOgnrg12PUGqw',
},
{
name: 'Discord',
url: 'https://discord.gg/sTdpM2rkKJ',
},
],
footerMenu: [],
titleWrapperFn: title => `${title} | ${this.options.siteName}`,
};
/**
* @param {string} sourceRelativeFilePath
* @param {Partial<import('../types/layout.js').LayoutSidebarOptions>} options
*/
setPageOptions(sourceRelativeFilePath, options) {
super.setPageOptions(sourceRelativeFilePath, options);
}
/**
* @param {Partial<import('../types/layout.js').LayoutSidebarOptions>} options
*/
constructor(options) {
super(options);
// @ts-ignore
this.options = { ...this.options, ...options };
// set it in two passes so we can us the values above in the templates
this.options = {
...this.options,
head__10: data => {
const description = data.description ? data.description : this.options.description;
const title = this.options.titleWrapperFn(
// @ts-ignore
this.options.pageTree.getPage(data.sourceRelativeFilePath)?.model?.name,
);
return html`
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="color-scheme" content="light" />
<title-server-only>${title}</title-server-only>
<meta property="og:title" content="${title}" />
<meta name="generator" content="rocket 0.1" />
<meta name="description" content="${description}" />
<meta property="og:description" content="${description}" />
<link rel="canonical" href="${data.url}" />
<meta property="og:url" content="${data.url}" />
`;
},
head__20: html`
<link rel="icon" href="/favicon.ico" sizes="any" /><!-- 32x32 -->
<link rel="icon" href="/icon.svg" type="image/svg+xml" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" /><!-- 180x180 -->
<link rel="manifest" href="/site.webmanifest" />
`,
head__30: html`
<meta property="og:site_name" content="${this.options.siteName}" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary_large_image" />
`,
head__40: html`
<link
rel="preload"
href="/fonts/Rubik-VariableFont_wght.woff2"
as="font"
type="font/woff2"
crossorigin
fetchpriority="low"
/>
<link rel="stylesheet" href="resolve:@rocket/launch/css/variables.css" />
<link rel="stylesheet" href="resolve:@rocket/launch/css/layout.css" />
<link rel="stylesheet" href="resolve:@rocket/launch/css/markdown.css" />
`,
head__50: html`
<style>
body[dsd-pending] {
display: none;
}
</style>
`,
header__10: html`
<a class="logo-link" href="/" slot="logo">
<img src="/icon.svg" alt="${this.options.logoAlt}" />
<span>${this.options.siteName}</span>
</a>
`,
header__50: data =>
this.options.pageTree.renderMenu(new SiteMenu(), data.sourceRelativeFilePath),
header__60: () =>
html`
${this.options.socialLinks.map(
socialLink => html`
<rocket-social-link
url="${socialLink.url}"
name="${socialLink.name}"
siteName=${this.options.siteName}
slot="social"
></rocket-social-link>
`,
)}
`,
drawer__10: html`
<a class="logo-link" href="/">
<img src="${this.options.logoSrc}" alt="${this.options.logoAlt}" />
<span>${this.options.siteName}</span>
</a>
`,
drawer__20: html`
<div class="drawer-social">
${this.options.socialLinks.map(
socialLink => html`
<rocket-social-link
url="${socialLink.url}"
name="${socialLink.name}"
siteName=${this.options.siteName}
></rocket-social-link>
`,
)}
</div>
`,
drawer__50: data =>
this.options.pageTree.renderMenu(new IndexMenu(), data.sourceRelativeFilePath),
sidebar__100: data =>
this.options.pageTree.renderMenu(new IndexMenu(), data.sourceRelativeFilePath),
content__600: data => html`
<div class="content-previous-next">
${this.options.pageTree.renderMenu(new PreviousMenu(), data.sourceRelativeFilePath)}
${this.options.pageTree.renderMenu(new NextMenu(), data.sourceRelativeFilePath)}
</div>
`,
content__650: data => html`
<div class="content-footer">
<p>
Caught a mistake or want to contribute to the documentation?
<a
href="${this.options.gitSiteUrl}/edit/${this.options
.gitBranch}/site/pages/${data.sourceRelativeFilePath}"
>Edit this page on GitHub!</a
>
</p>
</div>
`,
footer__100: html`
<div id="footer-menu">
${this.options.footerMenu.map(
category => html`
<nav>
<h3>${category.name}</h3>
<ul>
${category.children.map(
entry => html`
<li>
<a href="${entry.href}">${entry.text}</a>
</li>
`,
)}
</ul>
</nav>
`,
)}
</div>
`,
// @ts-ignore
bottom__60: data => {
if (data.renderMode === 'production') {
return html`<script
type="module"
src="resolve:@rocket/launch/js/register-service-worker.js"
></script>`;
}
return nothing;
},
};
}
renderHeader() {
return html`
<rocket-header>
${renderJoiningGroup('header', this.options, this.data)}
<rocket-drawer slot="mobile-menu" loading="hydrate:onMedia('(max-width: 1024px)')">
<div class="drawer">${renderJoiningGroup('drawer', this.options, this.data)}</div>
</rocket-drawer>
</rocket-header>
`;
}
import { renderJoiningGroup, TableOfContentsMenu } from '@rocket/engine';
import { html } from 'lit';
import { LayoutMain } from './LayoutMain.js';
export class LayoutSidebar extends LayoutMain {
renderContent() {
return html`
<main-docs>
<nav slot="menu">${renderJoiningGroup('sidebar', this.options, this.data)}</nav>
<main class="markdown-body">${renderJoiningGroup('content', this.options, this.data)}</main>
<aside slot="toc">
${this.options.pageTree.renderMenu(
new TableOfContentsMenu(),
this.data.sourceRelativeFilePath,
)}
</aside>
</main-docs>
<content-area>
<main-docs>
<nav slot="menu">${renderJoiningGroup('sidebar', this.options, this.data)}</nav>
<main class="markdown-body">
${renderJoiningGroup('content', this.options, this.data)}
</main>
<aside slot="toc">
${this.options.pageTree.renderMenu(
new TableOfContentsMenu(),
this.data.sourceRelativeFilePath,
)}
</aside>
</main-docs>
</content-area>
`;
}
}

View File

@@ -0,0 +1,48 @@
import { html, css, LitElement, nothing } from 'lit';
export class LaunchBlogDetails extends LitElement {
static properties = {
data: { type: Object },
};
constructor() {
super();
/** @type {{ firstName: string; lastName: string; twitter: string; image: string; } | undefined} */
this.data = undefined;
this.dateFormatter = new Intl.DateTimeFormat('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
});
}
render() {
if (!this.data) {
return nothing;
}
return html`
<p class="bold">Publish Date</p>
<p>${this.dateFormatter.format(this.data.publishDate)}</p>
<p class="bold">Authors</p>
${this.data.authors.map(
author => html`
<a href="https://twitter.com/${author.twitter}">
${author.firstName} ${author.lastName}
</a>
`,
)}
<p class="bold">Tags</p>
<ul>
${this.data.tags.map(tag => html` <li>${tag}</li> `)}
</ul>
`;
}
static styles = [
css`
.bold {
font-weight: 700;
}
`,
];
}

View File

@@ -0,0 +1,49 @@
import { LitElement, html, nothing } from 'lit';
import { LaunchBlogPreview } from './LaunchBlogPreview.js';
/**
* @param {{ model: { publishDate: Date }}} a
* @param {{ model: { publishDate: Date }}} b
* @returns {number}
*/
function sortByPublishDate(a, b) {
if (a.model.publishDate < b.model.publishDate) {
return 1;
}
if (a.model.publishDate > b.model.publishDate) {
return -1;
}
return 0;
}
class BlogMenu {
/**
* @returns {TemplateResult | nothing}
*/
render() {
if (!this.currentNode || !this.currentNode.children) {
return nothing;
}
return html`
<div>
${this.currentNode.children
.sort(sortByPublishDate)
.map(
/** @param {NodeOfPage} child */ child => html`
<launch-blog-preview .post=${child.model}></launch-blog-preview>
`,
)}
</div>
`;
}
}
if (customElements.get('launch-blog-preview') === undefined) {
customElements.define('launch-blog-preview', LaunchBlogPreview);
}
export class LaunchBlogOverview extends LitElement {
render() {
return html` ${this.pageTree.renderMenu(new BlogMenu(), this.sourceRelativeFilePath)} `;
}
}

View File

@@ -0,0 +1,77 @@
import { html, css, LitElement, nothing } from 'lit';
export class LaunchBlogPreview extends LitElement {
static properties = {
post: { type: Object },
};
constructor() {
super();
/** @type {{ publishDate: string; title: string; description: string; url: string; } | undefined} */
this.post = undefined;
this.dateFormatter = new Intl.DateTimeFormat('en-US', {
year: 'numeric',
month: 'long',
day: 'numeric',
});
}
render() {
if (!this.post) {
return nothing;
}
return html`
<article class="post-preview">
<header>
<a href="${this.post.url}"><h1 class="title">${this.post.name}</h1></a>
<p class="publish-date">${this.dateFormatter.format(this.post.publishDate)}</p>
</header>
<p>${this.post.description}</p>
</article>
`;
}
static styles = [
css`
.post-preview {
padding-bottom: 2rem;
margin-bottom: 2rem;
border-bottom: 1px solid var(--primary-lines-color, #ccc);
}
header {
align-items: flex-start;
display: flex;
flex-direction: column;
justify-content: center;
text-align: left;
}
.title,
.author,
.publish-date {
margin: 0;
}
.publish-date,
.author {
font-size: 1rem;
color: var(--text-color-lighter, #ccc);
}
.title {
font-size: 2.25rem;
font-weight: 700;
color: var(--theme-text);
}
a {
color: inherit;
text-decoration: none;
}
a:hover {
color: var(--primary-color);
}
`,
];
}

View File

@@ -3,64 +3,52 @@ import { LitElement, html, css } from 'lit';
export class LaunchHome extends LitElement {
static properties = {
reasons: { type: Array },
backgroundImage: { type: Boolean, reflect: true, attribute: 'background-image' },
};
constructor() {
super();
/** @type {{ header: string, text: string }[]} */
this.reasons = [];
this.backgroundImage = false;
}
render() {
return html`
<div id="content-area">
<div class="page-background">
<slot name="background"></slot>
</div>
<div class="page-title">
<slot name="title"></slot>
</div>
<div class="page-slogan">
<slot name="slogan"></slot>
</div>
<div class="call-to-action-list" role="list">
<slot name="cta"></slot>
</div>
<div class="reason-header">
<slot name="reason-header"></slot>
</div>
<section class="reasons">
${this.reasons.map(
reason => html`
<article>
<h3>${reason.header}</h3>
${reason.text}
</article>
`,
)}
</section>
<div class="page-background">
<slot name="background"></slot>
</div>
<div class="logo">
<slot name="logo"></slot>
</div>
<div class="page-title">
<slot name="title"></slot>
</div>
<div class="page-slogan">
<slot name="slogan"></slot>
</div>
<div class="call-to-action-list" role="list">
<slot name="cta"></slot>
</div>
<div class="reason-header">
<slot name="reason-header"></slot>
</div>
<section class="reasons">
${this.reasons.map(
reason => html`
<article>
<h3>${reason.header}</h3>
${reason.text}
</article>
`,
)}
</section>
`;
}
static styles = [
css`
/** content-area */
#content-area {
padding: 0 20px;
display: block;
justify-content: space-between;
align-items: center;
}
@media screen and (min-width: 1024px) {
#content-area {
max-width: 1200px;
margin: 0 auto;
position: relative;
}
}
/** CALL TO ACTION ********************************************************************************/
.call-to-action-list {
text-align: center;
@@ -110,6 +98,10 @@ export class LaunchHome extends LitElement {
display: block;
}
.logo {
text-align: center;
}
.page-title {
color: var(--primary-color);
font-size: 32px;
@@ -170,24 +162,24 @@ export class LaunchHome extends LitElement {
}
@media screen and (min-width: 1024px) {
.page-title,
.page-slogan {
:host([background-image]) .page-title,
:host([background-image]) .page-slogan {
text-align: left;
}
.page-title {
:host([background-image]) .page-title {
margin-top: 110px;
}
.page-slogan {
:host([background-image]) .page-slogan {
max-width: 500px;
}
.call-to-action-list {
:host([background-image]) .call-to-action-list {
text-align: left;
}
.page-background {
:host([background-image]) .page-background {
display: block;
position: absolute;
top: -305px;

View File

@@ -2,3 +2,5 @@ export { rocketLaunch } from './rocketLaunch.js';
export { LayoutSidebar } from './LayoutSidebar.js';
export { LayoutHome } from './LayoutHome.js';
export { Layout404 } from './Layout404.js';
export { LayoutMain } from './LayoutMain.js';
export { LayoutBlogPost } from './LayoutBlogPost.js';

View File

@@ -28,6 +28,11 @@ export interface LayoutSidebarOptions extends LayoutOptions {
titleWrapperFn: (title: string) => string;
pageTree: PageTree;
headerHideLogo: boolean;
headerNoBackground: boolean;
headerNotSticky: boolean;
headerDarkBackground: boolean;
/**
* Sets primary html metadata like
* - charset

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const subTitle = 'Create your first Rocket site';

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -10,6 +10,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const menuNoLink = true;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const description = 'Learn how to structure a project with Rocket.';

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const description = `An intro to Rocket pages, which is the actual website content.`;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -21,6 +23,7 @@ export async function registerCustomElements() {
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
customElements.define('my-counter', await import('#components/MyCounter').then(m => m.MyCounter));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -10,6 +10,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const menuNoLink = true;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const description =

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
import { inlineFile } from '@rocket/engine';

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
import { inlineFile } from '@rocket/engine';

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const description =

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -10,6 +10,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const menuNoLink = true;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
import { pageTree } from '../__shared/pageTree.js';

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('card-icon', await import('@rocket/components/card-icon.js').then(m => m.CardIcon));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
import { CardIcon } from '@rocket/components/card-icon.js';

View File

@@ -10,6 +10,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const menuNoLink = true;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
import { inlineFile } from '@rocket/engine';

View File

@@ -10,6 +10,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const menuNoLink = true;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -10,6 +10,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const menuNoLink = true;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
import { pageTree } from '../__shared/pageTree.js';

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -10,6 +10,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const menuNoLink = true;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -10,6 +10,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const menuNoLink = true;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -10,6 +10,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const menuNoLink = true;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('inline-notification', await import('@rocket/components/inline-notification.js').then(m => m.InlineNotification));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
@@ -20,6 +22,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
```

View File

@@ -10,6 +10,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -17,6 +19,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
export const menuNoLink = true;

View File

@@ -11,6 +11,8 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-header', await import('@rocket/components/header.js').then(m => m.RocketHeader));
// prettier-ignore
customElements.define('content-area', await import('@rocket/components/content-area.js').then(m => m.ContentArea));
// prettier-ignore
customElements.define('main-docs', await import('@rocket/components/main-docs.js').then(m => m.MainDocs));
// hydrate-able components
// prettier-ignore
@@ -18,6 +20,7 @@ export async function registerCustomElements() {
// prettier-ignore
customElements.define('rocket-drawer', await import('@rocket/components/drawer.js').then(m => m.RocketDrawer));
}
export const needsLoader = true;
/* END - Rocket auto generated - do not touch */
import { pageTree } from '../__shared/pageTree.js';

Some files were not shown because too many files have changed in this diff Show More