@analogjs/platform 0.2.0-beta.25 → 0.2.0-beta.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (19) hide show
  1. package/package.json +4 -5
  2. package/src/lib/content-plugin.js +26 -8
  3. package/src/lib/nx-plugin/generators.json +4 -3
  4. package/src/lib/nx-plugin/package.json +2 -2
  5. package/src/lib/nx-plugin/src/generators/app/files/trpc/src/server/trpc/routers/notes.ts__template__ +2 -2
  6. package/src/lib/nx-plugin/src/generators/app/files/welcome-components/css/src/app/pages/analog-welcome.component.ts__template__ +134 -223
  7. package/src/lib/nx-plugin/src/generators/app/files/welcome-components/css-trpc/src/app/pages/analog-welcome.component.ts__template__ +235 -382
  8. package/src/lib/nx-plugin/src/generators/app/files/welcome-components/tailwind/src/app/pages/analog-welcome.component.ts__template__ +9 -91
  9. package/src/lib/nx-plugin/src/generators/app/files/welcome-components/tailwind-trpc/src/app/pages/analog-welcome.component.ts__template__ +12 -95
  10. package/src/lib/nx-plugin/src/generators/app/generator.js +2 -0
  11. package/src/lib/nx-plugin/src/generators/app/generator.js.map +1 -1
  12. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.js +0 -10
  13. package/src/lib/nx-plugin/src/generators/app/lib/add-analog-project-config.js.map +1 -1
  14. package/src/lib/nx-plugin/src/generators/app/lib/add-eslint.d.ts +3 -0
  15. package/src/lib/nx-plugin/src/generators/app/lib/add-eslint.js +17 -0
  16. package/src/lib/nx-plugin/src/generators/app/lib/add-eslint.js.map +1 -0
  17. package/src/lib/nx-plugin/src/generators/app/versions/nx_16_X/versions.d.ts +5 -5
  18. package/src/lib/nx-plugin/src/generators/app/versions/nx_16_X/versions.js +5 -5
  19. package/src/lib/options.d.ts +3 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@analogjs/platform",
3
- "version": "0.2.0-beta.25",
3
+ "version": "0.2.0-beta.26",
4
4
  "type": "commonjs",
5
5
  "description": "The fullstack meta-framework for Angular",
6
6
  "author": "Brandon Roberts <robertsbt@gmail.com>",
@@ -25,10 +25,9 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "nitropack": "^2.0.0",
28
- "@analogjs/vite-plugin-angular": "^0.2.0-beta.25",
29
- "@analogjs/vite-plugin-nitro": "^0.2.0-beta.25",
30
- "@nx/devkit": "^16.0.0",
31
- "xmlbuilder2": "^3.0.2"
28
+ "@analogjs/vite-plugin-angular": "^0.2.0-beta.26",
29
+ "@analogjs/vite-plugin-nitro": "^0.2.0-beta.26",
30
+ "@nx/devkit": "^16.0.0"
32
31
  },
33
32
  "generators": "./src/lib/nx-plugin/generators.json",
34
33
  "schematics": "./src/lib/nx-plugin/generators.json",
@@ -3,21 +3,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.contentPlugin = void 0;
4
4
  const fs = require("fs");
5
5
  function contentPlugin() {
6
+ const cache = new Map();
6
7
  return [
7
8
  {
8
9
  name: 'analogjs-content-frontmatter',
9
- async transform(_code, id) {
10
+ async transform(code, id) {
10
11
  // Transform only the frontmatter into a JSON object for lists
11
- if (id.includes('.md?analog-content-list')) {
12
- const fm = await Promise.resolve().then(() => require('front-matter'));
13
- const fileContents = fs.readFileSync(id.split('?')[0], 'utf8');
14
- const frontmatter = fm(fileContents).attributes;
15
- return `export default ${JSON.stringify(frontmatter)}`;
12
+ if (!id.includes('.md?analog-content-list')) {
13
+ return;
16
14
  }
17
- return;
15
+ const cachedContent = cache.get(id);
16
+ // There's no reason to run `readFileSync` and frontmatter parsing if the
17
+ // `transform` hook is called with the same code. In such cases, we can simply
18
+ // return the cached attributes, which is faster than repeatedly reading files
19
+ // synchronously during the build process.
20
+ if (cachedContent?.code === code) {
21
+ return `export default ${cachedContent.attributes}`;
22
+ }
23
+ const fm = await Promise.resolve().then(() => require('front-matter'));
24
+ // The `default` property will be available in CommonJS environment, for instance,
25
+ // when running unit tests. It's safe to retrieve `default` first, since we still
26
+ // fallback to the original implementation.
27
+ const frontmatter = fm.default || fm;
28
+ const fileContents = fs.readFileSync(id.split('?')[0], 'utf8');
29
+ const { attributes } = frontmatter(fileContents);
30
+ const content = {
31
+ code,
32
+ attributes: JSON.stringify(attributes),
33
+ };
34
+ cache.set(id, content);
35
+ return `export default ${content.attributes}`;
18
36
  },
19
37
  },
20
38
  ];
21
39
  }
22
40
  exports.contentPlugin = contentPlugin;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQtcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlCQUF5QjtBQUV6QixTQUFnQixhQUFhO0lBQzNCLE9BQU87UUFDTDtZQUNFLElBQUksRUFBRSw4QkFBOEI7WUFDcEMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDdkIsOERBQThEO2dCQUM5RCxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMseUJBQXlCLENBQUMsRUFBRTtvQkFDMUMsTUFBTSxFQUFFLEdBQVEsMkNBQWEsY0FBYyxFQUFDLENBQUM7b0JBQzdDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztvQkFDL0QsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLFVBQVUsQ0FBQztvQkFFaEQsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2lCQUN4RDtnQkFFRCxPQUFPO1lBQ1QsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFsQkQsc0NBa0JDIn0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1wbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wbGF0Zm9ybS9zcmMvbGliL2NvbnRlbnQtcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlCQUF5QjtBQU96QixTQUFnQixhQUFhO0lBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO0lBRXpDLE9BQU87UUFDTDtZQUNFLElBQUksRUFBRSw4QkFBOEI7WUFDcEMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDdEIsOERBQThEO2dCQUM5RCxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFO29CQUMzQyxPQUFPO2lCQUNSO2dCQUVELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3BDLHlFQUF5RTtnQkFDekUsOEVBQThFO2dCQUM5RSw4RUFBOEU7Z0JBQzlFLDBDQUEwQztnQkFDMUMsSUFBSSxhQUFhLEVBQUUsSUFBSSxLQUFLLElBQUksRUFBRTtvQkFDaEMsT0FBTyxrQkFBa0IsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO2lCQUNyRDtnQkFFRCxNQUFNLEVBQUUsR0FBUSwyQ0FBYSxjQUFjLEVBQUMsQ0FBQztnQkFDN0Msa0ZBQWtGO2dCQUNsRixpRkFBaUY7Z0JBQ2pGLDJDQUEyQztnQkFDM0MsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBQ3JDLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztnQkFDL0QsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDakQsTUFBTSxPQUFPLEdBQUc7b0JBQ2QsSUFBSTtvQkFDSixVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7aUJBQ3ZDLENBQUM7Z0JBQ0YsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRXZCLE9BQU8sa0JBQWtCLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoRCxDQUFDO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQXRDRCxzQ0FzQ0MifQ==
@@ -6,20 +6,21 @@
6
6
  "app": {
7
7
  "factory": "./src/generators/app/generator",
8
8
  "schema": "./src/generators/app/schema.json",
9
- "description": "Generates an AnalogJs application"
9
+ "description": "Generates an Analog application"
10
10
  },
11
11
  "preset": {
12
12
  "factory": "./src/generators/preset/generator",
13
13
  "schema": "./src/generators/preset/schema.json",
14
14
  "description": "Analog preset for create-nx-workspace",
15
- "x-use-standalone-layout": true
15
+ "x-use-standalone-layout": true,
16
+ "hidden": true
16
17
  }
17
18
  },
18
19
  "schematics": {
19
20
  "app": {
20
21
  "factory": "./src/generators/app/compat",
21
22
  "schema": "./src/generators/app/schema.json",
22
- "description": "Add Angular Three with proper packages and config"
23
+ "description": "Generates an Analog application"
23
24
  }
24
25
  }
25
26
  }
@@ -3,8 +3,8 @@
3
3
  "version": "0.0.1",
4
4
  "main": "src/index.js",
5
5
  "dependencies": {
6
- "@nrwl/angular": "16.4.0",
7
- "@nx/devkit": "16.4.0",
6
+ "@nrwl/angular": "16.5.1",
7
+ "@nx/devkit": "16.5.1",
8
8
  "semver": "^7.5.1"
9
9
  },
10
10
  "peerDependencies": {
@@ -8,13 +8,13 @@ export const noteRouter = router({
8
8
  create: publicProcedure
9
9
  .input(
10
10
  z.object({
11
- title: z.string(),
11
+ note: z.string(),
12
12
  })
13
13
  )
14
14
  .mutation(({ input }) =>
15
15
  notes.push({
16
16
  id: noteId++,
17
- note: input.title,
17
+ note: input.note,
18
18
  createdAt: new Date().toISOString(),
19
19
  })
20
20
  ),
@@ -5,339 +5,250 @@ import { Component } from '@angular/core';
5
5
  standalone: true,
6
6
  styles: [
7
7
  `
8
- a {
9
- color: inherit;
10
- text-decoration: inherit;
11
- }
12
-
13
8
  :host {
9
+ font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
10
+ 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
11
+ 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
12
+ 'Noto Color Emoji';
14
13
  display: flex;
15
- padding: 2rem;
14
+ padding: 2rem 1rem 8rem;
16
15
  flex-direction: column;
16
+ background: rgb(250 250 250);
17
17
  height: 100%;
18
- min-height: 100vh;
19
- font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
20
18
  }
21
-
19
+ a {
20
+ color: inherit;
21
+ text-decoration: inherit;
22
+ }
22
23
  .main {
23
- margin-left: auto;
24
- margin-right: auto;
24
+ margin: 0 auto;
25
25
  flex: 1 1 0;
26
26
  }
27
-
28
- .section-main {
27
+ .intro-section {
29
28
  padding-top: 1.5rem;
30
29
  padding-bottom: 2rem;
30
+ }
31
+ .intro-section > * + * {
31
32
  margin-top: 1.5rem;
32
33
  }
33
-
34
34
  @media (min-width: 768px) {
35
- .section-main {
35
+ .intro-section {
36
36
  padding-top: 2.5rem;
37
37
  padding-bottom: 3rem;
38
38
  }
39
39
  }
40
-
41
40
  @media (min-width: 1024px) {
42
- .section-main {
41
+ .intro-section {
43
42
  padding-top: 8rem;
44
43
  padding-bottom: 8rem;
45
44
  }
46
45
  }
47
-
48
- .main-icon {
49
- margin-left: auto;
50
- margin-right: auto;
51
- margin-bottom: -1rem;
52
- width: 4rem;
53
- height: 4rem;
54
- }
55
-
56
- .container-main {
46
+ .intro-container {
57
47
  display: flex;
58
- text-align: center;
59
48
  flex-direction: column;
60
- align-items: center;
49
+ text-align: center;
61
50
  gap: 1rem;
51
+ align-items: center;
52
+ max-width: 64rem;
62
53
  }
63
-
64
- .button-badge {
65
- padding-top: 0.375rem;
66
- padding-bottom: 0.375rem;
67
- padding-left: 1rem;
68
- padding-right: 1rem;
54
+ .intro-logo {
55
+ height: 3rem;
56
+ width: 3rem;
57
+ }
58
+ .intro-badge {
59
+ transition-property: color, background-color, border-color,
60
+ text-decoration-color, fill, stroke;
61
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
62
+ transition-duration: 150ms;
63
+ font-weight: 500;
69
64
  font-size: 0.875rem;
70
65
  line-height: 1.25rem;
71
- font-weight: 500;
72
- border-radius: 1rem;
66
+ padding: 0.375rem 1rem;
73
67
  background-color: rgb(228 228 231);
68
+ border-radius: 1rem;
74
69
  }
75
-
76
- .text-analog-red {
77
- color: rgb(221,0,49);
78
- }
79
-
80
- .heading-1 {
81
- font-size: 1.875rem;
82
- line-height: 2.25rem;
70
+ .intro-heading {
71
+ margin: 0;
83
72
  font-weight: 500;
84
- margin: 1rem 0;
85
73
  }
86
74
 
87
75
  @media (min-width: 640px) {
88
- .heading-1 {
89
- font-size: 2.25rem; /* 36px */
90
- line-height: 2.5rem; /* 40px */
76
+ .intro-heading {
77
+ font-size: 3rem;
78
+ line-height: 1;
91
79
  }
92
80
  }
93
-
94
81
  @media (min-width: 768px) {
95
- .heading-1 {
96
- font-size: 3rem; /* 48px */
82
+ .intro-heading {
83
+ font-size: 3.75rem;
97
84
  line-height: 1;
98
85
  }
99
86
  }
100
-
101
87
  @media (min-width: 1024px) {
102
- .heading-1 {
103
- font-size: 3.75rem; /* 60px */
88
+ .intro-heading {
89
+ font-size: 4.5rem;
104
90
  line-height: 1;
105
91
  }
106
92
  }
107
-
108
- .paragraph-intro {
93
+ .intro-analog {
94
+ color: #dd0031;
95
+ }
96
+ .intro-description {
109
97
  line-height: 1.5;
98
+ max-width: 42rem;
99
+ margin: 0;
110
100
  }
111
101
 
112
102
  @media (min-width: 640px) {
113
- .paragraph-intro {
114
- font-size: 1.25rem;
103
+ .intro-description {
115
104
  line-height: 2rem;
105
+ font-size: 1.25rem;
116
106
  }
117
107
  }
118
-
119
- .button-group {
120
- display: flex;
121
- gap: 1rem;
108
+ .btn-container > * + * {
109
+ margin-left: 1rem;
122
110
  }
123
-
124
- .primary-button {
125
- display: inline-flex;
126
- align-items: center;
127
- justify-content: center;
128
- font-size: 0.875rem;
129
- font-weight: 500;
130
- transition-property: color, background-color;
111
+ .darkBtn {
112
+ transition-property: color, background-color, border-color,
113
+ text-decoration-color, fill, stroke;
114
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
131
115
  transition-duration: 150ms;
132
- outline-offset: 2px;
133
- opacity: 1;
134
- pointer-events: auto;
135
- background-color: rgb(9, 9, 11);
136
- color: rgb(250, 250, 250);
137
- height: 2.75rem;
116
+ color: rgb(250 250 250);
117
+ font-weight: 500;
118
+ font-size: 0.875rem;
119
+ line-height: 1.25rem;
138
120
  padding-left: 2rem;
139
121
  padding-right: 2rem;
122
+ background-color: rgb(9 9 11);
140
123
  border-radius: 0.375rem;
141
- }
142
-
143
- .secondary-button {
144
- display: inline-flex;
145
- align-items: center;
146
124
  justify-content: center;
147
- font-size: 0.875rem;
148
- font-weight: 500;
149
- transition-property: color, background-color, border-color;
150
- transition-duration: 150ms;
151
- outline-offset: 2px;
152
- opacity: 1;
153
- pointer-events: auto;
154
- background-color: rgb(250, 250, 250);
155
- color: rgb(9, 9, 11);
125
+ align-items: center;
156
126
  height: 2.75rem;
127
+ cursor: pointer;
128
+ display: inline-flex;
129
+ }
130
+ .darkBtn:hover {
131
+ background-color: rgb(9 9 11 / 0.9);
132
+ }
133
+ .lightBtn {
134
+ transition-property: color, background-color, border-color,
135
+ text-decoration-color, fill, stroke;
136
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
137
+ transition-duration: 150ms;
138
+ color: rgb(24, 24, 27);
139
+ background: rgb(250 250 250);
140
+ font-weight: 500;
141
+ font-size: 0.875rem;
142
+ line-height: 1.25rem;
157
143
  padding-left: 2rem;
158
144
  padding-right: 2rem;
159
- border: 1px solid rgb(161, 161, 170, 0.25);
160
145
  border-radius: 0.375rem;
146
+ border: 1px solid rgb(229, 231, 235);
147
+ justify-content: center;
148
+ align-items: center;
149
+ height: 2.75rem;
150
+ display: inline-flex;
151
+ cursor: pointer;
161
152
  }
162
-
163
- .secondary-button:hover {
153
+ .lightBtn:hover {
164
154
  background-color: rgb(244 244 245);
165
- color: rgb(9, 9, 11);
166
155
  }
167
-
168
- .section {
169
- margin-top: 8rem;
170
- margin-bottom: 8rem;
156
+ .counter-section {
171
157
  padding-top: 2rem;
172
158
  padding-bottom: 2rem;
173
- display: flex;
174
- flex-direction: column;
175
- gap: 0.5rem;
176
159
  }
177
160
 
178
161
  @media (min-width: 768px) {
179
- .section {
162
+ .counter-section {
180
163
  padding-top: 3rem;
181
164
  padding-bottom: 3rem;
182
165
  }
183
166
  }
184
167
 
185
168
  @media (min-width: 1024px) {
186
- .section {
169
+ .counter-section {
187
170
  padding-top: 6rem;
171
+ padding-bottom: 6rem;
188
172
  }
189
173
  }
190
-
191
- .intro-container {
192
- margin-left: auto;
193
- margin-right: auto;
174
+ .counter-container {
175
+ text-align: center;
176
+ gap: 1rem;
177
+ justify-content: center;
178
+ align-items: center;
179
+ flex-direction: column;
194
180
  max-width: 58rem;
195
181
  display: flex;
196
- flex-direction: column;
197
- align-items: center;
198
- gap: 1rem;
199
- text-align: center;
182
+ margin-left: auto;
183
+ margin-right: auto;
200
184
  }
201
-
202
- .title {
203
- font-weight: 500;
204
- font-size: 3rem;
185
+ .counter-heading {
186
+ color: #dd0031;
205
187
  line-height: 1.1;
206
- text-align: center;
188
+ font-weight: 500;
189
+ font-size: 1.875rem;
207
190
  margin: 0;
208
191
  }
209
-
210
- .description {
192
+ .counter-description {
193
+ line-height: 1.5;
211
194
  max-width: 85%;
212
- font-size: 1.125rem;
213
- line-height: 1.75rem;
195
+ margin: 0;
214
196
  }
215
197
 
198
+ @media (min-width: 640px) {
199
+ .counter-description {
200
+ line-height: 1.75rem;
201
+ font-size: 1.125rem;
202
+ }
203
+ }
216
204
  .count {
217
205
  margin-left: 0.25rem;
218
- font-family: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New',
219
- monospace;
206
+ font-family: Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
220
207
  }
221
208
  `,
222
209
  ],
223
210
  template: `
224
211
  <main class="main">
225
- <section class="section-main">
226
- <div class="container-main">
227
- <svg
228
- class="main-icon"
229
- xmlns="http://www.w3.org/2000/svg"
230
- xmlns:svg="http://www.w3.org/2000/svg"
231
- width="362.26562"
232
- zoomAndPan="magnify"
233
- viewBox="0 0 271.62214 192.65233"
234
- height="256.86978"
235
- preserveAspectRatio="xMidYMid meet"
236
- version="1.0"
237
- id="svg27"
238
- >
239
- <defs id="defs11">
240
- <clipPath id="id1">
241
- <path
242
- d="M 127.29688,75.375 H 347.57031 V 267.52734 H 127.29688 Z m 0,0"
243
- clip-rule="nonzero"
244
- id="path2"
245
- />
246
- </clipPath>
247
- <clipPath id="id2">
248
- <path
249
- d="M 75.871094,104 H 263.33594 V 268.03125 H 75.871094 Z m 0,0"
250
- clip-rule="nonzero"
251
- id="path5"
252
- />
253
- </clipPath>
254
- <clipPath id="id3">
255
- <path
256
- d="m 105,169.02344 h 210 v 87.875 H 105 Z m 0,0"
257
- clip-rule="nonzero"
258
- id="path8"
259
- />
260
- </clipPath>
261
- </defs>
262
- <g
263
- clip-path="url(#id1)"
264
- id="g15"
265
- transform="translate(-75.931091,-75.378906)"
266
- >
267
- <path
268
- fill="#c30f2e"
269
- d="M 237.43359,75.378906 347.57031,267.52734 H 127.29688 L 237.43359,75.378906"
270
- fill-opacity="1"
271
- fill-rule="nonzero"
272
- id="path13"
273
- />
274
- </g>
275
- <g
276
- clip-path="url(#id2)"
277
- id="g19"
278
- transform="translate(-75.931091,-75.378906)"
279
- >
280
- <path
281
- fill="#dd0330"
282
- d="m 169.60156,104 93.73047,164.03125 H 75.871094 L 169.60156,104"
283
- fill-opacity="1"
284
- fill-rule="nonzero"
285
- id="path17"
286
- />
287
- </g>
288
- <path
289
- fill="#ffffff"
290
- d="M 252.96344,143.58984 H 19.221253 v -2.56641 H 252.96344 v 2.56641"
291
- fill-opacity="1"
292
- fill-rule="nonzero"
293
- id="path21"
212
+ <section class="intro-section">
213
+ <div class="intro-container">
214
+ <img
215
+ class="intro-logo"
216
+ src="https://analogjs.org/img/logos/analog-logo.svg"
217
+ alt="AnalogJs logo. Two red triangles and a white analog wave in front"
294
218
  />
295
- <g
296
- clip-path="url(#id3)"
297
- id="g25"
298
- transform="translate(-75.931091,-75.378906)"
299
- >
300
- <path
301
- fill="#ffffff"
302
- d="m 292.78516,256.51172 c -0.91407,0 -1.77344,-0.37891 -2.49219,-1.09766 -4.29297,-4.3125 -4.48047,-21.84765 -4.27344,-48.10937 0.11719,-14.35157 0.27344,-34.00782 -2.01562,-35.5586 -2.23438,0.92578 -2.45704,17.16407 -2.60157,27.91407 -0.17187,12.50781 -0.34765,25.44921 -2.3789,32.03906 -0.60547,1.95312 -1.38672,3.74219 -2.95703,3.59765 -2.21485,-0.19531 -2.92969,-3.6914 -4.58204,-17.48828 -0.6875,-5.73047 -1.39843,-11.65234 -2.23046,-13.94531 -0.10938,-0.28906 -0.20313,-0.51953 -0.28516,-0.69922 -0.88672,2.00391 -1.91016,7.51172 -2.62109,11.33594 -0.98438,5.28125 -1.91407,10.26953 -3.07813,12.44531 -0.89844,1.67188 -2.32422,3.85156 -4.31641,3.42969 -2.71484,-0.57031 -3.52734,-6.04297 -3.76953,-9.25391 0,-27.01562 -3.53515,-30.16015 -4.24218,-30.51562 l -0.11329,0.0859 -0.17187,-0.0391 c -2.52344,1.10157 -2.66016,9.86328 -2.78906,18.33594 -0.10157,6.21484 -0.21094,13.25781 -1.11719,19.84766 -1.17578,8.54297 -2.59766,10.1914 -4.36719,10.08984 -4.07422,-0.27734 -4.1914,-14.30859 -4.1914,-15.90625 0,-0.5 0.0117,-1.08984 0.0273,-1.74219 0.0781,-3.26562 0.21875,-9.33984 -1.78906,-11.2539 -0.26563,-0.25391 -0.64063,-0.54688 -0.9336,-0.46485 -1.42968,0.35938 -2.91406,5.00391 -3.40625,6.53125 -0.15625,0.48438 -0.28125,0.88282 -0.38672,1.15625 -0.082,0.22657 -0.1875,0.54688 -0.3125,0.9336 -1.08203,3.28515 -2.3125,6.5625 -4.41406,7.37109 -0.77734,0.30078 -1.58984,0.23438 -2.35156,-0.19531 -1.01172,-0.57422 -1.83594,-1.7461 -2.60547,-3.69531 -0.42187,-1.07813 -0.78125,-2.17188 -1.14844,-3.26954 -0.44531,-1.33984 -0.90234,-2.72656 -1.46875,-4.04296 -0.44531,-1.02344 -1.55468,-1.48438 -2.96875,-1.23438 -2.9375,0.52344 -3.42968,3.49219 -3.84375,7.96094 -0.0742,0.77734 -0.14453,1.53906 -0.24218,2.25781 -0.0117,0.21094 -0.53125,6.76953 -0.86329,8.85547 -0.91796,5.71875 -2.125,7.97266 -4.1289,7.80859 -4.94531,-0.42187 -7.21485,-22.11328 -7.09375,-31.27734 0.0937,-6.99609 -1.17188,-9.55078 -1.92969,-9.95703 -0.0781,-0.0352 -0.19922,-0.10156 -0.48828,0.10156 -0.89453,0.60547 -1.69141,2.49219 -1.44531,4.47266 2.72265,21.5664 0.71484,46.26562 -4.20313,51.82812 -1.55078,1.75 -3.66015,1.72656 -5.1289,0.25 -4.29688,-4.3125 -4.47657,-21.84765 -4.27344,-48.10937 0.11719,-14.35157 0.26953,-34.00782 -2.01563,-35.5586 -2.23437,0.92578 -2.45312,17.16407 -2.60156,27.91407 -0.17187,12.50781 -0.34766,25.44921 -2.38281,32.03906 -0.60547,1.95312 -1.38672,3.74219 -2.95313,3.59765 -2.21875,-0.19531 -2.92968,-3.6914 -4.58593,-17.48828 -0.6875,-5.73047 -1.39844,-11.65234 -2.23047,-13.94531 -0.10547,-0.28906 -0.19922,-0.51953 -0.28516,-0.69922 -0.88281,2.00391 -1.90625,7.51172 -2.61719,11.33594 -0.98437,5.28125 -1.91406,10.26953 -3.08203,12.44531 -0.89844,1.67188 -2.32422,3.85156 -4.3125,3.42969 -2.71484,-0.57031 -3.52734,-6.04297 -3.76953,-9.25391 -0.004,-27.01562 -3.53516,-30.16015 -4.24219,-30.51562 l -0.11328,0.0859 -0.17578,-0.0391 c -2.51953,1.10157 -2.65625,9.86328 -2.78906,18.33594 -0.0977,6.21484 -0.20703,13.25781 -1.11328,19.84766 -1.17578,8.54297 -2.58594,10.20703 -4.36328,10.08984 -4.08204,-0.27734 -4.19922,-14.30859 -4.19922,-15.90625 0,-0.5 0.0156,-1.08984 0.0312,-1.74219 0.0781,-3.26562 0.21875,-9.33984 -1.78907,-11.2539 -0.26562,-0.25391 -0.64062,-0.54688 -0.93359,-0.46485 -1.42969,0.35938 -2.91797,5.00391 -3.40234,6.53125 -0.15625,0.48047 -0.28907,0.88282 -0.38672,1.15625 -0.0859,0.22266 -0.19141,0.54297 -0.31641,0.92969 -1.08203,3.28516 -2.3125,6.56641 -4.41015,7.375 -0.78125,0.30078 -1.59766,0.23438 -2.35547,-0.19531 -1.01172,-0.57422 -1.83985,-1.7461 -2.60547,-3.69531 -0.42188,-1.07813 -0.78516,-2.17188 -1.14844,-3.26954 -0.44531,-1.33984 -0.90625,-2.72656 -1.47265,-4.04296 -0.44141,-1.02344 -1.55469,-1.48438 -2.96875,-1.23438 -3.38282,0.60156 -4.1836,4.79688 -4.82813,9.80469 l -0.11328,0.89062 -2.55859,-0.33984 0.12109,-0.875 c 0.55859,-4.39063 1.41016,-11.02734 6.92969,-12.00391 2.59765,-0.46093 4.86718,0.61719 5.78125,2.74219 0.61328,1.42188 1.09375,2.85938 1.55468,4.25391 0.34375,1.05078 0.69532,2.10156 1.10157,3.14062 0.71484,1.8125 1.26953,2.28125 1.47656,2.39453 1.29297,-0.40234 2.61328,-4.42187 3.05078,-5.74609 0.13672,-0.42578 0.25391,-0.77734 0.34766,-1.02734 0.0898,-0.2461 0.20703,-0.60547 0.34765,-1.03907 1.16407,-3.64062 2.625,-7.58203 5.21875,-8.23828 0.79297,-0.20312 2.01953,-0.17578 3.35156,1.09766 2.82813,2.69922 2.67969,9 2.58204,13.17187 -0.0156,0.625 -0.0312,1.19532 -0.0312,1.67969 0,6.65625 0.98828,11.30859 1.74218,12.90625 0.39063,-0.81641 1.0586,-2.79297 1.69532,-7.4375 0.88281,-6.4375 0.99609,-13.39844 1.08984,-19.53906 0.17187,-10.86719 0.29297,-18.7461 4.22656,-20.59766 0.58594,-0.35937 1.5586,-0.55469 2.58594,-0.0352 3.80469,1.91406 5.65234,12.61328 5.65234,32.70703 0.23828,3.10547 1.07422,6.375 1.76172,6.84375 0.004,-0.0703 0.5625,-0.41407 1.48047,-2.13282 0.98047,-1.82421 1.95703,-7.07421 2.81641,-11.70312 1.90234,-10.20313 2.76562,-13.78516 5.01562,-13.97266 1.71485,-0.16797 2.50781,2.01172 2.83985,2.92969 0.9375,2.57031 1.63281,8.37109 2.36718,14.51563 0.57422,4.76562 1.39063,11.57031 2.22266,14.32421 0.0898,-0.24218 0.19141,-0.53125 0.30078,-0.88671 1.92578,-6.23829 2.10156,-18.98438 2.26953,-31.31641 0.23438,-17.12891 0.53516,-27.74219 3.66016,-29.95703 0.69531,-0.49219 1.54297,-0.61328 2.37109,-0.33594 3.66016,1.21484 3.94141,11.94531 3.73438,37.99609 -0.14844,18.89063 -0.33203,42.40235 3.52734,46.27735 0.33594,0.33984 0.57422,0.33984 0.66016,0.33984 0.17968,0 0.4375,-0.17187 0.71093,-0.48047 3.90625,-4.41797 6.37891,-27.61718 3.57813,-49.80468 -0.34766,-2.76172 0.71875,-5.66407 2.53906,-6.91407 1.00391,-0.6914 2.16016,-0.78125 3.16016,-0.24609 2.27734,1.21094 3.38281,5.33203 3.29297,12.25391 -0.16016,12.08593 2.74218,26.23046 4.63672,28.48828 0.30078,-0.5 0.89453,-1.8711 1.46484,-5.46094 0.32031,-1.98438 0.84766,-8.65234 0.85547,-8.71875 0.0937,-0.75391 0.16406,-1.48438 0.23047,-2.22656 0.39062,-4.16407 0.87109,-9.34375 5.95703,-10.2461 2.59375,-0.46093 4.86328,0.61328 5.78125,2.74219 0.61328,1.42188 1.08984,2.85938 1.55078,4.25391 0.35156,1.05078 0.70312,2.10156 1.10937,3.14062 0.71094,1.8125 1.26954,2.28125 1.47266,2.39453 1.29297,-0.40234 2.61719,-4.42187 3.05078,-5.74218 0.14063,-0.42579 0.25781,-0.78125 0.34766,-1.03125 0.0937,-0.24219 0.20703,-0.60547 0.34375,-1.03907 1.16797,-3.64062 2.6289,-7.58203 5.22656,-8.23828 0.78516,-0.20312 2.01563,-0.17578 3.34766,1.09766 2.82812,2.69922 2.67968,9 2.58593,13.17187 -0.0195,0.625 -0.0352,1.19532 -0.0352,1.67969 0,6.65625 0.98828,11.30859 1.74219,12.90625 0.38671,-0.81641 1.05468,-2.79297 1.69921,-7.4375 0.88282,-6.4375 0.98829,-13.39844 1.08985,-19.53906 0.16797,-10.86719 0.28906,-18.7461 4.22265,-20.59766 0.58594,-0.35937 1.5586,-0.55469 2.58985,-0.0352 3.80078,1.91406 5.65234,12.61328 5.65234,32.70703 0.23828,3.10547 1.07422,6.375 1.75781,6.84375 0.008,-0.0703 0.5586,-0.41407 1.48438,-2.13282 0.98047,-1.82421 1.95312,-7.07421 2.81641,-11.70312 1.89453,-10.20313 2.76171,-13.78516 5.01171,-13.97266 1.71875,-0.16797 2.51172,2.01172 2.84375,2.92969 0.9336,2.57031 1.62891,8.37109 2.3711,14.51563 0.5664,4.76562 1.38281,11.57031 2.21875,14.32421 0.0859,-0.24218 0.1875,-0.53125 0.29687,-0.88671 1.92578,-6.23829 2.09766,-18.98438 2.26953,-31.31641 0.23047,-17.12891 0.53516,-27.74219 3.66016,-29.95703 0.69922,-0.49219 1.54297,-0.61328 2.37109,-0.33594 3.66407,1.21484 3.94532,11.94531 3.73438,37.99609 -0.14844,18.89063 -0.33203,42.40235 3.52344,46.27735 0.34375,0.33984 0.57812,0.33984 0.66797,0.33984 0.17578,0 0.43359,-0.17187 0.70312,-0.48047 3.91406,-4.41797 6.38281,-27.61718 3.58203,-49.80468 -0.36328,-2.89063 0.45703,-5.80469 1.95313,-6.92579 0.7539,-0.57031 1.67187,-0.6875 2.51562,-0.33203 2.17969,0.92969 3.65625,4.91407 4.51563,12.1875 0.35937,3.04688 0.67968,6.33985 0.98828,9.58985 0.67969,7.09375 1.60156,16.65234 2.84765,18.7539 0.38282,-0.48828 1.16407,-1.80859 2.32422,-5.34765 l 2.44922,0.80078 c -1.80078,5.47265 -3.21094,7.53515 -5.04687,7.32422 -2.85547,-0.31641 -3.67969,-6.08594 -5.13672,-21.28516 -0.3086,-3.23437 -0.625,-6.50781 -0.98438,-9.53906 -1.09375,-9.27735 -2.95312,-10.11719 -2.97265,-10.125 -0.36328,0.18359 -1.20703,2.11328 -0.89453,4.57422 2.71484,21.5664 0.71484,46.26953 -4.20704,51.82812 -0.79296,0.89453 -1.68359,1.34766 -2.63671,1.34766"
303
- fill-opacity="1"
304
- fill-rule="nonzero"
305
- id="path23"
306
- />
307
- </g>
308
- </svg>
309
219
  <a
310
- class="button-badge"
220
+ class="intro-badge"
311
221
  target="_blank"
312
222
  href="https://twitter.com/analogjs"
313
223
  >Follow along on Twitter</a
314
224
  >
315
- <h1 class="heading-1">
316
- <span class="text-analog-red">Analog.</span> The fullstack Angular meta-framework
225
+ <h1 class="intro-heading">
226
+ <span class="intro-analog">Analog.</span> The fullstack Angular
227
+ meta-framework
317
228
  </h1>
318
- <p class="paragraph-intro">
229
+ <p class="intro-description">
319
230
  Analog is for building applications and websites with Angular.
320
231
  <br />Powered by Vite.
321
232
  </p>
322
- <div class="button-group">
323
- <a class="primary-button" href="https://analogjs.org"
324
- >Read the docs</a
325
- >
233
+ <div class="btn-container">
234
+ <a class="darkBtn" href="https://analogjs.org">Read the docs</a>
326
235
  <a
327
- class="secondary-button"
236
+ target="_blank"
237
+ rel="noreferrer"
238
+ class="lightBtn"
328
239
  href="https://github.com/analogjs/analog"
329
- >GitHub</a
240
+ >Star on GitHub</a
330
241
  >
331
242
  </div>
332
243
  </div>
333
244
  </section>
334
245
  <section id="counter-demo" class="section">
335
- <div class="intro-container">
336
- <h2 class="text-analog-red title">Counter</h2>
337
- <p class="description">
246
+ <div class="counter-container">
247
+ <h2 class="counter-heading">Counter</h2>
248
+ <p class="counter-description">
338
249
  This is a simple interactive counter. Powered by Angular.
339
250
  </p>
340
- <button (click)="increment()" class="secondary-button">
251
+ <button (click)="increment()" class="lightBtn">
341
252
  Count: <span class="count">{{ count }}</span>
342
253
  </button>
343
254
  </div>
@@ -346,8 +257,8 @@ import { Component } from '@angular/core';
346
257
  `,
347
258
  })
348
259
  export class AnalogWelcomeComponent {
349
- public count = 0;
350
- public increment() {
260
+ count = 0;
261
+ increment() {
351
262
  this.count++;
352
- }
263
+ }
353
264
  }