feat/initial-build #1
5
.env.example
Normal file
5
.env.example
Normal file
@@ -0,0 +1,5 @@
|
||||
# Logto auth endpoints — the marketing site only performs <a href> navigations to these.
|
||||
# No tokens, no cookies, no XHR — these are plain hyperlinks.
|
||||
PUBLIC_AUTH_SIGNIN_URL=https://auth.cameleer.io/sign-in
|
||||
PUBLIC_AUTH_SIGNUP_URL=https://auth.cameleer.io/sign-in?first_screen=register
|
||||
PUBLIC_SALES_EMAIL=sales@cameleer.io
|
||||
22
astro.config.mjs
Normal file
22
astro.config.mjs
Normal file
@@ -0,0 +1,22 @@
|
||||
import { defineConfig } from 'astro/config';
|
||||
import tailwind from '@astrojs/tailwind';
|
||||
|
||||
export default defineConfig({
|
||||
site: 'https://www.cameleer.io',
|
||||
output: 'static',
|
||||
trailingSlash: 'never',
|
||||
build: {
|
||||
format: 'file',
|
||||
assets: 'assets',
|
||||
inlineStylesheets: 'auto',
|
||||
},
|
||||
compressHTML: true,
|
||||
integrations: [
|
||||
tailwind({ applyBaseStyles: false }),
|
||||
],
|
||||
vite: {
|
||||
build: {
|
||||
cssMinify: 'lightningcss',
|
||||
},
|
||||
},
|
||||
});
|
||||
13027
package-lock.json
generated
Normal file
13027
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
33
package.json
Normal file
33
package.json
Normal file
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"name": "cameleer-website",
|
||||
"version": "0.0.1",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "astro dev",
|
||||
"start": "astro dev",
|
||||
"build": "astro build",
|
||||
"preview": "astro preview",
|
||||
"astro": "astro",
|
||||
"test": "vitest run",
|
||||
"test:watch": "vitest",
|
||||
"lint:html": "html-validate 'dist/**/*.html'",
|
||||
"lint:links": "linkinator dist --recurse --silent",
|
||||
"lh": "lhci autorun"
|
||||
},
|
||||
"dependencies": {
|
||||
"@astrojs/tailwind": "^5.1.0",
|
||||
"@fontsource/dm-sans": "^5.0.21",
|
||||
"@fontsource/jetbrains-mono": "^5.0.21",
|
||||
"astro": "^5.0.0",
|
||||
"tailwindcss": "^3.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@lhci/cli": "^0.14.0",
|
||||
"@types/node": "^20.11.0",
|
||||
"html-validate": "^8.18.0",
|
||||
"linkinator": "^6.1.0",
|
||||
"typescript": "^5.4.0",
|
||||
"vitest": "^1.6.0"
|
||||
}
|
||||
}
|
||||
23
src/content/config.ts
Normal file
23
src/content/config.ts
Normal file
@@ -0,0 +1,23 @@
|
||||
import { defineCollection, z } from 'astro:content';
|
||||
|
||||
// Scaffold only — no entries yet. Added now so future blog/docs work is pure content, not refactor.
|
||||
const blog = defineCollection({
|
||||
type: 'content',
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
publishedAt: z.date(),
|
||||
draft: z.boolean().default(true),
|
||||
}),
|
||||
});
|
||||
|
||||
const docs = defineCollection({
|
||||
type: 'content',
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
order: z.number().default(99),
|
||||
}),
|
||||
});
|
||||
|
||||
export const collections = { blog, docs };
|
||||
0
src/content/en/.gitkeep
Normal file
0
src/content/en/.gitkeep
Normal file
5
tsconfig.json
Normal file
5
tsconfig.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"extends": "astro/tsconfigs/strict",
|
||||
"include": ["src/**/*", "astro.config.mjs", "tailwind.config.mjs"],
|
||||
"exclude": ["dist", "node_modules"]
|
||||
}
|
||||
Reference in New Issue
Block a user