create-qwik 0.0.109 → 0.0.110
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/index.cjs +12 -12
- package/package.json +1 -1
- package/starters/apps/base/package.json +6 -5
- package/starters/apps/base/src/entry.dev.tsx +6 -4
- package/starters/apps/base/src/entry.preview.tsx +15 -2
- package/starters/apps/base/src/entry.ssr.tsx +12 -0
- package/starters/apps/base/src/global.css +7 -0
- package/starters/apps/base/src/routes/service-worker.ts +11 -2
- package/starters/apps/basic/package.json +9 -0
- package/starters/apps/{blank → basic}/src/components/header/header.css +0 -0
- package/starters/apps/{blank → basic}/src/components/header/header.tsx +4 -4
- package/starters/apps/{blank → basic}/src/components/icons/qwik.tsx +0 -0
- package/starters/apps/{blank → basic}/src/components/router-head/router-head.tsx +0 -0
- package/starters/apps/basic/src/global.css +125 -0
- package/starters/apps/{blank → basic}/src/root.tsx +1 -1
- package/starters/apps/basic/src/routes/flower/flower.css +71 -0
- package/starters/apps/basic/src/routes/flower/index.tsx +54 -0
- package/starters/apps/{blank → basic}/src/routes/index.tsx +53 -1
- package/starters/apps/basic/src/routes/layout.tsx +20 -0
- package/starters/apps/documentation-site/package.json +2 -2
- package/starters/apps/documentation-site/src/components/footer/footer.css +3 -3
- package/starters/apps/documentation-site/src/components/footer/footer.tsx +5 -3
- package/starters/apps/documentation-site/src/routes/index.tsx +49 -1
- package/starters/apps/library/package.json +1 -7
- package/starters/apps/blank/package.json +0 -9
- package/starters/apps/blank/src/global.css +0 -70
- package/starters/apps/blank/src/routes/layout.tsx +0 -13
package/package.json
CHANGED
|
@@ -5,22 +5,23 @@
|
|
|
5
5
|
"build.client": "vite build",
|
|
6
6
|
"build.preview": "vite build --ssr src/entry.preview.tsx",
|
|
7
7
|
"dev": "vite --mode ssr",
|
|
8
|
+
"dev.debug": "node --inspect-brk ./node_modules/vite/bin/vite.js --mode ssr --force",
|
|
8
9
|
"fmt": "prettier --write .",
|
|
9
10
|
"fmt.check": "prettier --check .",
|
|
10
11
|
"lint": "eslint \"src/**/*.ts*\"",
|
|
11
|
-
"preview": "qwik build preview && vite preview",
|
|
12
|
-
"start": "vite --mode ssr",
|
|
12
|
+
"preview": "qwik build preview && vite preview --open",
|
|
13
|
+
"start": "vite --open --mode ssr",
|
|
13
14
|
"typecheck": "tsc --incremental --noEmit",
|
|
14
15
|
"qwik": "qwik"
|
|
15
16
|
},
|
|
16
17
|
"devDependencies": {
|
|
17
|
-
"@builder.io/qwik": "0.0.
|
|
18
|
-
"@builder.io/qwik-city": "0.0.
|
|
18
|
+
"@builder.io/qwik": "0.0.110",
|
|
19
|
+
"@builder.io/qwik-city": "0.0.111",
|
|
19
20
|
"@types/eslint": "8.4.6",
|
|
20
21
|
"@types/node": "latest",
|
|
21
22
|
"@typescript-eslint/eslint-plugin": "5.37.0",
|
|
22
23
|
"@typescript-eslint/parser": "5.37.0",
|
|
23
|
-
"eslint-plugin-qwik": "0.0.
|
|
24
|
+
"eslint-plugin-qwik": "0.0.110",
|
|
24
25
|
"eslint": "8.23.1",
|
|
25
26
|
"node-fetch": "3.2.10",
|
|
26
27
|
"prettier": "2.7.1",
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
/**
|
|
1
|
+
/*
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
5
4
|
* Development entry point using only client-side modules:
|
|
6
5
|
* - Do not use this mode in production!
|
|
7
6
|
* - No SSR
|
|
@@ -10,6 +9,9 @@ import Root from './root';
|
|
|
10
9
|
* - More code is transferred to the browser than in SSR mode.
|
|
11
10
|
* - Optimizer/Serialization/Deserialization code is not exercised!
|
|
12
11
|
*/
|
|
12
|
+
import { render, RenderOptions } from '@builder.io/qwik';
|
|
13
|
+
import Root from './root';
|
|
14
|
+
|
|
13
15
|
export default function (opts: RenderOptions) {
|
|
14
16
|
return render(document, <Root />, opts);
|
|
15
17
|
}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
4
|
+
* It's the bundle entry point for `npm run preview`.
|
|
5
|
+
* That is, serving your app built in production mode.
|
|
6
|
+
*
|
|
7
|
+
* Feel free to modify this file, but don't remove it!
|
|
8
|
+
*
|
|
9
|
+
* Learn more about Vite's preview command:
|
|
10
|
+
* - https://vitejs.dev/config/preview-options.html#preview-options
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
1
13
|
import { qwikCity } from '@builder.io/qwik-city/middleware/node';
|
|
2
14
|
import render from './entry.ssr';
|
|
3
15
|
|
|
4
|
-
|
|
5
|
-
|
|
16
|
+
/**
|
|
17
|
+
* The default export is the QwikCity adaptor used by Vite preview.
|
|
18
|
+
*/
|
|
6
19
|
export default qwikCity(render);
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
4
|
+
* SSR entry point, in all cases the application is render outside the browser, this
|
|
5
|
+
* entry point will be the common one.
|
|
6
|
+
*
|
|
7
|
+
* - Server (express, cloudflare...)
|
|
8
|
+
* - npm run start
|
|
9
|
+
* - npm run preview
|
|
10
|
+
* - npm run build
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
1
13
|
import { renderToStream, RenderToStreamOptions } from '@builder.io/qwik/server';
|
|
2
14
|
import { manifest } from '@qwik-client-manifest';
|
|
3
15
|
import Root from './root';
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
4
|
+
* Globally applied styles. No matter which components are in the page or matching route,
|
|
5
|
+
* the styles in here will be applied to the Document, without any sort of CSS scoping.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
1
8
|
html {
|
|
2
9
|
line-height: 1.5;
|
|
3
10
|
-webkit-text-size-adjust: 100%;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/*
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
4
|
+
* The service-worker.ts file is used to have state of the art prefetching.
|
|
5
|
+
* https://qwik.builder.io/docs/advanced/prefetching/#prefetching
|
|
6
|
+
*
|
|
7
|
+
* Qwik uses service worker to speed up your site and reduce latency, ie, not used in the tradicional way of offiline.
|
|
8
|
+
* You can also use this file to add more functionality that runs in the service worker.
|
|
9
|
+
*/
|
|
3
10
|
import { setupServiceWorker } from '@builder.io/qwik-city/service-worker';
|
|
4
11
|
|
|
5
12
|
setupServiceWorker();
|
|
@@ -7,3 +14,5 @@ setupServiceWorker();
|
|
|
7
14
|
addEventListener('install', () => self.skipWaiting());
|
|
8
15
|
|
|
9
16
|
addEventListener('activate', () => self.clients.claim());
|
|
17
|
+
|
|
18
|
+
declare const self: ServiceWorkerGlobalScope;
|
|
File without changes
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { component$,
|
|
1
|
+
import { component$, useStylesScoped$ } from '@builder.io/qwik';
|
|
2
2
|
import { QwikLogo } from '../icons/qwik';
|
|
3
|
-
import styles from './header.css';
|
|
3
|
+
import styles from './header.css?inline';
|
|
4
4
|
|
|
5
5
|
export default component$(() => {
|
|
6
|
-
|
|
6
|
+
useStylesScoped$(styles);
|
|
7
7
|
|
|
8
8
|
return (
|
|
9
9
|
<header>
|
|
@@ -14,7 +14,7 @@ export default component$(() => {
|
|
|
14
14
|
</div>
|
|
15
15
|
<ul>
|
|
16
16
|
<li>
|
|
17
|
-
<a href="https://qwik.builder.io/" target="_blank">
|
|
17
|
+
<a href="https://qwik.builder.io/docs/components/overview/" target="_blank">
|
|
18
18
|
Docs
|
|
19
19
|
</a>
|
|
20
20
|
</li>
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHAT IS THIS FILE?
|
|
3
|
+
*
|
|
4
|
+
* Globally applied styles. No matter which components are in the page or matching route,
|
|
5
|
+
* the styles in here will be applied to the Document, without any sort of CSS scoping.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
:root {
|
|
10
|
+
--qwik-dark-blue: #006ce9;
|
|
11
|
+
--qwik-light-blue: #18b6f6;
|
|
12
|
+
--qwik-light-purple: #ac7ff4;
|
|
13
|
+
--qwik-dark-purple: #713fc2;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
body {
|
|
17
|
+
background-color: #fafafa;
|
|
18
|
+
font-family: 'Poppins', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
|
|
19
|
+
padding: 20px 20px 40px 20px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
main {
|
|
23
|
+
max-width: 760px;
|
|
24
|
+
margin: 0 auto;
|
|
25
|
+
background-color: white;
|
|
26
|
+
border-radius: 5px;
|
|
27
|
+
box-shadow: 0px 0px 130px -50px var(--qwik-light-purple);
|
|
28
|
+
overflow: hidden;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
h1,
|
|
32
|
+
h2 {
|
|
33
|
+
margin: 0 0 5px 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.lightning {
|
|
37
|
+
filter: hue-rotate(180deg);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
section {
|
|
41
|
+
padding: 20px;
|
|
42
|
+
border-bottom: 10px solid var(--qwik-dark-blue);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
ul {
|
|
46
|
+
list-style-type: square;
|
|
47
|
+
margin: 5px 0 30px 0;
|
|
48
|
+
padding-left: 25px;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
li {
|
|
52
|
+
padding: 5px 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
li::marker {
|
|
56
|
+
color: var(--qwik-light-blue);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
a,
|
|
60
|
+
a:visited {
|
|
61
|
+
color: var(--qwik-dark-blue);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
a:hover {
|
|
65
|
+
text-decoration: none;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
table.commands {
|
|
69
|
+
margin: 0 0 30px 0;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.commands td {
|
|
73
|
+
padding: 5px;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.commands td:first-child {
|
|
77
|
+
white-space: nowrap;
|
|
78
|
+
padding-right: 20px;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
code {
|
|
82
|
+
font-family: Menlo, Monaco, Courier New, monospace;
|
|
83
|
+
font-size: 0.9em;
|
|
84
|
+
background-color: rgb(224, 224, 224);
|
|
85
|
+
padding: 2px 4px;
|
|
86
|
+
border-radius: 3px;
|
|
87
|
+
border-bottom: 2px solid #bfbfbf;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
footer {
|
|
91
|
+
padding: 15px;
|
|
92
|
+
text-align: center;
|
|
93
|
+
font-size: 0.8em;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
footer a {
|
|
97
|
+
text-decoration: none;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
footer a:hover {
|
|
101
|
+
text-decoration: underline;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
a.mindblow {
|
|
105
|
+
margin: 0 auto;
|
|
106
|
+
display: block;
|
|
107
|
+
background: var(--qwik-light-purple);
|
|
108
|
+
padding: 10px 20px;
|
|
109
|
+
border-radius: 10px;
|
|
110
|
+
border: 0;
|
|
111
|
+
color: white;
|
|
112
|
+
text-decoration: none;
|
|
113
|
+
font-size: 20px;
|
|
114
|
+
width: fit-content;
|
|
115
|
+
border-bottom: 4px solid black;
|
|
116
|
+
cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='48' viewport='0 0 100 100' style='fill:black;font-size:24px;'><text y='50%'>🤯</text></svg>")
|
|
117
|
+
16 0,
|
|
118
|
+
auto; /*!emojicursor.app*/
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
a.mindblow:hover {
|
|
122
|
+
border-bottom-width: 0px;
|
|
123
|
+
margin-bottom: 4px;
|
|
124
|
+
transform: translateY(4px);
|
|
125
|
+
}
|
|
@@ -5,7 +5,7 @@ import { RouterHead } from './components/router-head/router-head';
|
|
|
5
5
|
import './global.css';
|
|
6
6
|
|
|
7
7
|
export default component$(() => {
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
9
|
* The root of a QwikCity site always start with the <QwikCity> component,
|
|
10
10
|
* immediately followed by the document's <head> and <body>.
|
|
11
11
|
*
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
.host {
|
|
2
|
+
display: grid;
|
|
3
|
+
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: center;
|
|
6
|
+
justify-items: center;
|
|
7
|
+
--rotation: 135deg;
|
|
8
|
+
--rotation: 225deg;
|
|
9
|
+
--size-step: 10px;
|
|
10
|
+
--odd-color-step: 5;
|
|
11
|
+
--even-color-step: 5;
|
|
12
|
+
--center: 12;
|
|
13
|
+
|
|
14
|
+
width: 100%;
|
|
15
|
+
height: 500px;
|
|
16
|
+
|
|
17
|
+
contain: strict;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
input {
|
|
21
|
+
width: 100%;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.square {
|
|
25
|
+
--size: calc(40px + var(--index) * var(--size-step));
|
|
26
|
+
|
|
27
|
+
display: block;
|
|
28
|
+
width: var(--size);
|
|
29
|
+
height: var(--size);
|
|
30
|
+
transform: rotateZ(calc(var(--rotation) * var(--state) * (var(--center) - var(--index))));
|
|
31
|
+
transition-property: transform, border-color;
|
|
32
|
+
transition-duration: 5s;
|
|
33
|
+
transition-timing-function: ease-in-out;
|
|
34
|
+
grid-area: 1 / 1;
|
|
35
|
+
background: white;
|
|
36
|
+
border-width: 2px;
|
|
37
|
+
border-style: solid;
|
|
38
|
+
border-color: black;
|
|
39
|
+
box-sizing: border-box;
|
|
40
|
+
will-change: transform, border-color;
|
|
41
|
+
|
|
42
|
+
contain: strict;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.square.odd {
|
|
46
|
+
--luminance: calc(1 - calc(calc(var(--index) * var(--odd-color-step)) / 256));
|
|
47
|
+
background: rgb(
|
|
48
|
+
calc(172 * var(--luminance)),
|
|
49
|
+
calc(127 * var(--luminance)),
|
|
50
|
+
calc(244 * var(--luminance))
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.pride .square:nth-child(12n + 1) {
|
|
55
|
+
background: #e70000;
|
|
56
|
+
}
|
|
57
|
+
.pride .square:nth-child(12n + 3) {
|
|
58
|
+
background: #ff8c00;
|
|
59
|
+
}
|
|
60
|
+
.pride .square:nth-child(12n + 5) {
|
|
61
|
+
background: #ffef00;
|
|
62
|
+
}
|
|
63
|
+
.pride .square:nth-child(12n + 7) {
|
|
64
|
+
background: #00811f;
|
|
65
|
+
}
|
|
66
|
+
.pride .square:nth-child(12n + 9) {
|
|
67
|
+
background: #0044ff;
|
|
68
|
+
}
|
|
69
|
+
.pride .square:nth-child(12n + 11) {
|
|
70
|
+
background: #760089;
|
|
71
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { component$, useClientEffect$, useStore, useStylesScoped$ } from '@builder.io/qwik';
|
|
2
|
+
import { useLocation } from '@builder.io/qwik-city';
|
|
3
|
+
import styles from './flower.css?inline';
|
|
4
|
+
|
|
5
|
+
export default component$(() => {
|
|
6
|
+
useStylesScoped$(styles);
|
|
7
|
+
const loc = useLocation();
|
|
8
|
+
|
|
9
|
+
const state = useStore({
|
|
10
|
+
count: 0,
|
|
11
|
+
number: 20,
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
useClientEffect$(({ cleanup }) => {
|
|
15
|
+
const timeout = setTimeout(() => (state.count = 1), 500);
|
|
16
|
+
cleanup(() => clearTimeout(timeout));
|
|
17
|
+
|
|
18
|
+
const internal = setInterval(() => state.count++, 7000);
|
|
19
|
+
cleanup(() => clearInterval(internal));
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<>
|
|
24
|
+
<input
|
|
25
|
+
type="range"
|
|
26
|
+
value={state.number}
|
|
27
|
+
max={50}
|
|
28
|
+
onInput$={(ev) => {
|
|
29
|
+
state.number = (ev.target as HTMLInputElement).valueAsNumber;
|
|
30
|
+
}}
|
|
31
|
+
/>
|
|
32
|
+
<div
|
|
33
|
+
style={{
|
|
34
|
+
'--state': `${state.count * 0.1}`,
|
|
35
|
+
}}
|
|
36
|
+
class={{
|
|
37
|
+
host: true,
|
|
38
|
+
pride: loc.query['pride'] === 'true',
|
|
39
|
+
}}
|
|
40
|
+
>
|
|
41
|
+
{Array.from({ length: state.number }, (_, i) => (
|
|
42
|
+
<div
|
|
43
|
+
key={i}
|
|
44
|
+
class={{
|
|
45
|
+
square: true,
|
|
46
|
+
odd: i % 2 === 0,
|
|
47
|
+
}}
|
|
48
|
+
style={{ '--index': `${i + 1}` }}
|
|
49
|
+
/>
|
|
50
|
+
)).reverse()}
|
|
51
|
+
</div>
|
|
52
|
+
</>
|
|
53
|
+
);
|
|
54
|
+
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { component$ } from '@builder.io/qwik';
|
|
2
2
|
import type { DocumentHead } from '@builder.io/qwik-city';
|
|
3
|
+
import { Link } from '@builder.io/qwik-city';
|
|
3
4
|
|
|
4
5
|
export default component$(() => {
|
|
5
6
|
return (
|
|
@@ -45,7 +46,55 @@ export default component$(() => {
|
|
|
45
46
|
<td>
|
|
46
47
|
<code>npm run qwik add</code>
|
|
47
48
|
</td>
|
|
48
|
-
<td>
|
|
49
|
+
<td>Select an integration to add.</td>
|
|
50
|
+
</tr>
|
|
51
|
+
</table>
|
|
52
|
+
|
|
53
|
+
<h2>Add Integrations</h2>
|
|
54
|
+
|
|
55
|
+
<table class="commands">
|
|
56
|
+
<tr>
|
|
57
|
+
<td>
|
|
58
|
+
<code>npm run qwik add cloudflare-pages</code>
|
|
59
|
+
</td>
|
|
60
|
+
<td>
|
|
61
|
+
<a href="https://developers.cloudflare.com/pages" target="_blank">
|
|
62
|
+
Cloudflare Pages Server
|
|
63
|
+
</a>
|
|
64
|
+
</td>
|
|
65
|
+
</tr>
|
|
66
|
+
<tr>
|
|
67
|
+
<td>
|
|
68
|
+
<code>npm run qwik add express</code>
|
|
69
|
+
</td>
|
|
70
|
+
<td>
|
|
71
|
+
<a href="https://expressjs.com/" target="_blank">
|
|
72
|
+
Nodejs Express Server
|
|
73
|
+
</a>
|
|
74
|
+
</td>
|
|
75
|
+
</tr>
|
|
76
|
+
<tr>
|
|
77
|
+
<td>
|
|
78
|
+
<code>npm run qwik add netlify-edge</code>
|
|
79
|
+
</td>
|
|
80
|
+
<td>
|
|
81
|
+
<a href="https://docs.netlify.com/" target="_blank">
|
|
82
|
+
Netlify Edge Functions
|
|
83
|
+
</a>
|
|
84
|
+
</td>
|
|
85
|
+
</tr>
|
|
86
|
+
<tr>
|
|
87
|
+
<td>
|
|
88
|
+
<code>npm run qwik add static-node</code>
|
|
89
|
+
</td>
|
|
90
|
+
<td>
|
|
91
|
+
<a
|
|
92
|
+
href="https://qwik.builder.io/qwikcity/static-site-generation/overview/"
|
|
93
|
+
target="_blank"
|
|
94
|
+
>
|
|
95
|
+
Static Site Generation (SSG)
|
|
96
|
+
</a>
|
|
97
|
+
</td>
|
|
49
98
|
</tr>
|
|
50
99
|
</table>
|
|
51
100
|
|
|
@@ -72,6 +121,9 @@ export default component$(() => {
|
|
|
72
121
|
</a>
|
|
73
122
|
</li>
|
|
74
123
|
</ul>
|
|
124
|
+
<Link class="mindblow" href="/flower">
|
|
125
|
+
Blow my mind 🤯
|
|
126
|
+
</Link>
|
|
75
127
|
</div>
|
|
76
128
|
);
|
|
77
129
|
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { component$, Slot } from '@builder.io/qwik';
|
|
2
|
+
import Header from '../components/header/header';
|
|
3
|
+
|
|
4
|
+
export default component$(() => {
|
|
5
|
+
return (
|
|
6
|
+
<>
|
|
7
|
+
<main>
|
|
8
|
+
<Header />
|
|
9
|
+
<section>
|
|
10
|
+
<Slot />
|
|
11
|
+
</section>
|
|
12
|
+
</main>
|
|
13
|
+
<footer>
|
|
14
|
+
<a href="https://www.builder.io/" target="_blank">
|
|
15
|
+
Made with ♡ by Builder.io
|
|
16
|
+
</a>
|
|
17
|
+
</footer>
|
|
18
|
+
</>
|
|
19
|
+
);
|
|
20
|
+
});
|
|
@@ -2,10 +2,11 @@ footer {
|
|
|
2
2
|
border-top: 0.5px solid #ddd;
|
|
3
3
|
margin-top: 40px;
|
|
4
4
|
padding: 20px;
|
|
5
|
+
text-align: center;
|
|
5
6
|
}
|
|
6
7
|
|
|
7
8
|
footer a {
|
|
8
|
-
color: #
|
|
9
|
+
color: #9e9e9e;
|
|
9
10
|
font-size: 12px;
|
|
10
11
|
}
|
|
11
12
|
|
|
@@ -13,10 +14,9 @@ footer ul {
|
|
|
13
14
|
list-style: none;
|
|
14
15
|
margin: 0;
|
|
15
16
|
padding: 0;
|
|
16
|
-
text-align: center;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
footer li {
|
|
20
20
|
display: inline-block;
|
|
21
|
-
padding:
|
|
21
|
+
padding: 6px 12px;
|
|
22
22
|
}
|
|
@@ -25,10 +25,12 @@ export default component$(() => {
|
|
|
25
25
|
<li>
|
|
26
26
|
<a href="https://qwik.builder.io/chat">Chat</a>
|
|
27
27
|
</li>
|
|
28
|
-
<li>
|
|
29
|
-
<a href="/">Home</a>
|
|
30
|
-
</li>
|
|
31
28
|
</ul>
|
|
29
|
+
<div>
|
|
30
|
+
<a href="https://www.builder.io/" target="_blank" class="builder">
|
|
31
|
+
Made with ♡ by Builder.io
|
|
32
|
+
</a>
|
|
33
|
+
</div>
|
|
32
34
|
</footer>
|
|
33
35
|
);
|
|
34
36
|
});
|
|
@@ -53,7 +53,55 @@ export default component$(() => {
|
|
|
53
53
|
<td>
|
|
54
54
|
<code>npm run qwik add</code>
|
|
55
55
|
</td>
|
|
56
|
-
<td>
|
|
56
|
+
<td>Select an integration to add.</td>
|
|
57
|
+
</tr>
|
|
58
|
+
</table>
|
|
59
|
+
|
|
60
|
+
<h2>Add Integrations</h2>
|
|
61
|
+
|
|
62
|
+
<table class="commands">
|
|
63
|
+
<tr>
|
|
64
|
+
<td>
|
|
65
|
+
<code>npm run qwik add cloudflare-pages</code>
|
|
66
|
+
</td>
|
|
67
|
+
<td>
|
|
68
|
+
<a href="https://developers.cloudflare.com/pages" target="_blank">
|
|
69
|
+
Cloudflare Pages Server
|
|
70
|
+
</a>
|
|
71
|
+
</td>
|
|
72
|
+
</tr>
|
|
73
|
+
<tr>
|
|
74
|
+
<td>
|
|
75
|
+
<code>npm run qwik add express</code>
|
|
76
|
+
</td>
|
|
77
|
+
<td>
|
|
78
|
+
<a href="https://expressjs.com/" target="_blank">
|
|
79
|
+
Nodejs Express Server
|
|
80
|
+
</a>
|
|
81
|
+
</td>
|
|
82
|
+
</tr>
|
|
83
|
+
<tr>
|
|
84
|
+
<td>
|
|
85
|
+
<code>npm run qwik add netlify-edge</code>
|
|
86
|
+
</td>
|
|
87
|
+
<td>
|
|
88
|
+
<a href="https://docs.netlify.com/" target="_blank">
|
|
89
|
+
Netlify Edge Functions
|
|
90
|
+
</a>
|
|
91
|
+
</td>
|
|
92
|
+
</tr>
|
|
93
|
+
<tr>
|
|
94
|
+
<td>
|
|
95
|
+
<code>npm run qwik add static-node</code>
|
|
96
|
+
</td>
|
|
97
|
+
<td>
|
|
98
|
+
<a
|
|
99
|
+
href="https://qwik.builder.io/qwikcity/static-site-generation/overview/"
|
|
100
|
+
target="_blank"
|
|
101
|
+
>
|
|
102
|
+
Static Site Generation (SSG)
|
|
103
|
+
</a>
|
|
104
|
+
</td>
|
|
57
105
|
</tr>
|
|
58
106
|
</table>
|
|
59
107
|
|