14 changed files with 158 additions and 96 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,12 @@ |
|||
.home-hero { |
|||
margin: 20px 20px 40px; |
|||
background: rgba(255, 255, 255, 0.1); |
|||
backdrop-filter: blur(12px); |
|||
} |
|||
|
|||
@media screen and (max-width: 768px) { |
|||
.home-hero { |
|||
margin: 0; |
|||
margin-top: 20px; |
|||
} |
|||
} |
@ -1,88 +1,10 @@ |
|||
extends /layouts/page.pug |
|||
|
|||
block pageHead |
|||
+css("css/page/index.css") |
|||
|
|||
block pageContent |
|||
.home-hero |
|||
.card.home-hero |
|||
h1 #{$site.site_title} |
|||
p.subtitle #{$site.site_description} |
|||
|
|||
style. |
|||
.home-hero { |
|||
text-align: center; |
|||
padding: 60px 0 40px 0; |
|||
margin: 20px 20px; |
|||
//- background: linear-gradient(90deg, #4fc3f7 0%, #1976d2 100%); |
|||
background: rgba(255, 255, 255, 0.1); |
|||
backdrop-filter: blur(12px); |
|||
color: #fff; |
|||
border-radius: 12px; |
|||
margin-bottom: 40px; |
|||
} |
|||
.home-hero h1 { |
|||
font-size: 2.8em; |
|||
margin-bottom: 42px; |
|||
letter-spacing: 2px; |
|||
} |
|||
.home-hero .subtitle { |
|||
font-size: 1.3em; |
|||
margin-bottom: 28px; |
|||
color: #e3f2fd; |
|||
} |
|||
.home-hero .actions { |
|||
margin-top: 18px; |
|||
} |
|||
.btn-primary, .btn-secondary { |
|||
display: inline-block; |
|||
padding: 10px 28px; |
|||
border-radius: 24px; |
|||
font-size: 1em; |
|||
margin: 0 10px; |
|||
text-decoration: none; |
|||
transition: background 0.2s, color 0.2s; |
|||
} |
|||
.btn-primary { |
|||
background: #fff; |
|||
color: #1976d2; |
|||
font-weight: bold; |
|||
border: none; |
|||
} |
|||
.btn-primary:hover { |
|||
background: #e3f2fd; |
|||
color: #1565c0; |
|||
} |
|||
.btn-secondary { |
|||
background: transparent; |
|||
color: #fff; |
|||
border: 1px solid #fff; |
|||
} |
|||
.btn-secondary:hover { |
|||
background: #1976d2; |
|||
color: #fff; |
|||
border-color: #e3f2fd; |
|||
} |
|||
.features { |
|||
display: flex; |
|||
justify-content: space-around; |
|||
margin-top: 40px; |
|||
gap: 24px; |
|||
flex-wrap: wrap; |
|||
} |
|||
.feature { |
|||
background: #fafbfc; |
|||
border-radius: 10px; |
|||
box-shadow: 0 2px 8px rgba(30, 136, 229, 0.08); |
|||
padding: 28px 24px; |
|||
flex: 1 1 220px; |
|||
min-width: 220px; |
|||
max-width: 320px; |
|||
text-align: center; |
|||
margin: 0 8px; |
|||
} |
|||
.feature h2 { |
|||
font-size: 1.3em; |
|||
margin-bottom: 10px; |
|||
color: #1976d2; |
|||
} |
|||
.feature p { |
|||
color: #333; |
|||
font-size: 1em; |
|||
margin: 0; |
|||
|
|||
|
@ -0,0 +1,83 @@ |
|||
import { dirname, resolve } from "node:path" |
|||
import { fileURLToPath } from "node:url" |
|||
import module from "node:module" |
|||
import { defineConfig } from "vite" |
|||
import pkg from "./package.json" |
|||
import { viteStaticCopy } from "vite-plugin-static-copy" |
|||
|
|||
const __dirname = dirname(fileURLToPath(import.meta.url)) |
|||
|
|||
function getExternal(): string[] { |
|||
return [...Object.keys(pkg.dependencies || {}), ...module.builtinModules] |
|||
} |
|||
|
|||
export default defineConfig({ |
|||
publicDir: false, |
|||
resolve: { |
|||
alias: { |
|||
"@": resolve(__dirname, "src"), |
|||
db: resolve(__dirname, "src/db"), |
|||
config: resolve(__dirname, "src/config"), |
|||
utils: resolve(__dirname, "src/utils"), |
|||
services: resolve(__dirname, "src/services"), |
|||
}, |
|||
}, |
|||
build: { |
|||
lib: { |
|||
entry: resolve(__dirname, "src/main.js"), |
|||
formats: ["es"], |
|||
fileName: () => `[name].js`, |
|||
}, |
|||
outDir: resolve(__dirname, "dist"), |
|||
rollupOptions: { |
|||
external: getExternal(), |
|||
// watch: {
|
|||
// include: "src/**",
|
|||
// exclude: "node_modules/**",
|
|||
// },
|
|||
output: { |
|||
preserveModules: true, |
|||
preserveModulesRoot: "src", |
|||
inlineDynamicImports: false, |
|||
}, |
|||
}, |
|||
}, |
|||
plugins: [ |
|||
viteStaticCopy({ |
|||
targets: [ |
|||
{ |
|||
src: "public", |
|||
dest: "", |
|||
}, |
|||
{ |
|||
src: "src/views", |
|||
dest: "", |
|||
}, |
|||
{ |
|||
src: "src/db/migrations", |
|||
dest: "db", |
|||
}, |
|||
{ |
|||
src: "src/db/seeds", |
|||
dest: "db", |
|||
}, |
|||
{ |
|||
src: "entrypoint.sh", |
|||
dest: "", |
|||
}, |
|||
{ |
|||
src: "package.json", |
|||
dest: "", |
|||
}, |
|||
{ |
|||
src: "knexfile.mjs", |
|||
dest: "", |
|||
}, |
|||
{ |
|||
src: "bun.lockb", |
|||
dest: "", |
|||
}, |
|||
], |
|||
}), |
|||
], |
|||
}) |
Loading…
Reference in new issue