@leadertechie/create-personal-site 0.1.0-alpha.7 → 0.1.0-alpha.9
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/dist/index.js +22 -5
- package/package.json +1 -1
- package/templates/ui/index.html +13 -0
- package/templates/vite.config.ts +20 -0
- package/templates/wrangler.toml +1 -1
package/dist/index.js
CHANGED
|
@@ -83,29 +83,46 @@ Welcome to my site!`;
|
|
|
83
83
|
await fs.ensureDir(path.join(root, 'api'));
|
|
84
84
|
await fs.ensureDir(path.join(root, 'ui'));
|
|
85
85
|
await fs.ensureDir(path.join(root, 'prerender'));
|
|
86
|
-
await fs.writeFile(path.join(root, 'api/index.ts'), "import { WebsiteAPI } from '@leadertechie/personal-site-kit/api';\n\
|
|
87
|
-
|
|
86
|
+
await fs.writeFile(path.join(root, 'api/index.ts'), "import { WebsiteAPI } from '@leadertechie/personal-site-kit/api';\n\nconst api = new WebsiteAPI();\nexport default api;\n");
|
|
87
|
+
// UI Entry with Hook pattern - NO local styles.css
|
|
88
|
+
await fs.writeFile(path.join(root, 'ui/index.ts'), "import '@leadertechie/personal-site-kit/styles/theme.css';\nimport { WebsiteUI } from '@leadertechie/personal-site-kit/shared';\nimport '@leadertechie/personal-site-kit/ui';\n\nWebsiteUI.getInstance({\n // Using hooks for style overriding or custom logic\n theme: {\n // primaryColor: '#646cff',\n // customCss: ':root { --nav-link-color: blue; }'\n },\n onBootstrap: (ui) => {\n console.log('Site is booting up with kit!');\n }\n}).bootstrap();\n");
|
|
88
89
|
await fs.writeFile(path.join(root, 'prerender/index.ts'), "import { WebsitePrerender } from '@leadertechie/personal-site-kit/prerender';\n\nexport default new WebsitePrerender();\n");
|
|
89
90
|
const wranglerToml = await fs.readFile(path.join(root, 'wrangler.toml'), 'utf-8');
|
|
90
91
|
const processedToml = wranglerToml
|
|
91
92
|
.replace(/\{\{name\}\}/g, projectName)
|
|
92
93
|
.replace(/\{\{siteTitle\}\}/g, siteTitle || 'My Personal Website');
|
|
93
94
|
await fs.writeFile(path.join(root, 'wrangler.toml'), processedToml);
|
|
95
|
+
const indexHtmlPath = path.join(root, 'ui/index.html');
|
|
96
|
+
if (await fs.pathExists(indexHtmlPath)) {
|
|
97
|
+
const indexHtml = await fs.readFile(indexHtmlPath, 'utf-8');
|
|
98
|
+
await fs.writeFile(indexHtmlPath, indexHtml.replace(/\{\{siteTitle\}\}/g, siteTitle || 'My Personal Website'));
|
|
99
|
+
}
|
|
94
100
|
const readme = await fs.readFile(path.join(root, 'README.md'), 'utf-8');
|
|
95
101
|
await fs.writeFile(path.join(root, 'README.md'), readme.replace(/\{\{name\}\}/g, projectName));
|
|
96
102
|
const pkg = {
|
|
97
103
|
name: projectName,
|
|
98
104
|
version: '0.1.0',
|
|
99
105
|
private: true,
|
|
106
|
+
type: 'module',
|
|
100
107
|
scripts: {
|
|
101
|
-
"dev": "
|
|
102
|
-
"
|
|
108
|
+
"dev": "concurrently \"npm run dev:api\" \"npm run dev:ui\"",
|
|
109
|
+
"dev:api": "wrangler dev",
|
|
110
|
+
"dev:ui": "vite",
|
|
111
|
+
"build": "npm run build:ui && npm run build:api",
|
|
112
|
+
"build:ui": "vite build",
|
|
113
|
+
"build:api": "wrangler deploy --dry-run --outdir dist/api",
|
|
114
|
+
"deploy": "npm run build && wrangler deploy",
|
|
103
115
|
"seed": "# Script to upload content to R2"
|
|
104
116
|
},
|
|
105
117
|
dependencies: {
|
|
106
118
|
"@leadertechie/personal-site-kit": "latest",
|
|
107
|
-
"wrangler": "^3.0.0",
|
|
108
119
|
"lit": "^3.2.1"
|
|
120
|
+
},
|
|
121
|
+
devDependencies: {
|
|
122
|
+
"wrangler": "^4.79.0",
|
|
123
|
+
"vite": "^7.3.1",
|
|
124
|
+
"typescript": "^5.7.3",
|
|
125
|
+
"concurrently": "^9.1.2"
|
|
109
126
|
}
|
|
110
127
|
};
|
|
111
128
|
await fs.writeFile(path.join(root, 'package.json'), JSON.stringify(pkg, null, 2));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leadertechie/create-personal-site",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.9",
|
|
4
4
|
"description": "Scaffold a personal website powered by Cloudflare Workers and R2. Fetches GitHub profile to auto-populate content.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"create-personal-site": "./dist/index.js"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/favicon.ico" />
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
+
<title>{{siteTitle}}</title>
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div id="app"></div>
|
|
11
|
+
<script type="module" src="/index.ts"></script>
|
|
12
|
+
</body>
|
|
13
|
+
</html>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
import { resolve } from 'path';
|
|
3
|
+
|
|
4
|
+
export default defineConfig({
|
|
5
|
+
root: 'ui',
|
|
6
|
+
build: {
|
|
7
|
+
outDir: '../dist/ui',
|
|
8
|
+
emptyOutDir: true,
|
|
9
|
+
},
|
|
10
|
+
server: {
|
|
11
|
+
port: 5173,
|
|
12
|
+
proxy: {
|
|
13
|
+
'/api': {
|
|
14
|
+
target: 'http://localhost:8787',
|
|
15
|
+
changeOrigin: true,
|
|
16
|
+
rewrite: (path) => path.replace(/^\/api/, ''),
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
});
|
package/templates/wrangler.toml
CHANGED