astrojs rewrite

This commit is contained in:
z0x 2024-10-26 18:00:28 -04:00
parent e7a707b4e2
commit 39c53b1bd1
20 changed files with 8110 additions and 26 deletions

24
.gitignore vendored Normal file
View file

@ -0,0 +1,24 @@
# build output
dist/
# generated types
.astro/
# dependencies
node_modules/
# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# environment variables
.env
.env.production
# macOS-specific files
.DS_Store
# jetbrains setting folder
.idea/

1
.prettierignore Normal file
View file

@ -0,0 +1 @@
public/

3
.prettierrc Normal file
View file

@ -0,0 +1,3 @@
{
"plugins": ["prettier-plugin-tailwindcss", "prettier-plugin-astro"]
}

4
.vscode/extensions.json vendored Normal file
View file

@ -0,0 +1,4 @@
{
"recommendations": ["astro-build.astro-vscode"],
"unwantedRecommendations": []
}

11
.vscode/launch.json vendored Normal file
View file

@ -0,0 +1,11 @@
{
"version": "0.2.0",
"configurations": [
{
"command": "./node_modules/.bin/astro dev",
"name": "Development server",
"request": "launch",
"type": "node-terminal"
}
]
}

47
README.md Normal file
View file

@ -0,0 +1,47 @@
# Astro Starter Kit: Minimal
```sh
npm create astro@latest -- --template minimal
```
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/minimal)
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/minimal)
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/minimal/devcontainer.json)
> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!
## 🚀 Project Structure
Inside of your Astro project, you'll see the following folders and files:
```text
/
├── public/
├── src/
│ └── pages/
│ └── index.astro
└── package.json
```
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
Any static assets, like images, can be placed in the `public/` directory.
## 🧞 Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
| :------------------------ | :----------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:4321` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
| `npm run astro -- --help` | Get help using the Astro CLI |
## 👀 Want to learn more?
Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat).

0
a.out Normal file
View file

9
astro.config.mjs Normal file
View file

@ -0,0 +1,9 @@
// @ts-check
import { defineConfig } from 'astro/config';
import tailwind from '@astrojs/tailwind';
// https://astro.build/config
export default defineConfig({
integrations: [tailwind()]
});

7937
package-lock.json generated Normal file

File diff suppressed because it is too large Load diff

24
package.json Normal file
View file

@ -0,0 +1,24 @@
{
"name": "z0x.ca",
"type": "module",
"version": "0.0.1",
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro check && astro build",
"preview": "astro preview",
"astro": "astro"
},
"dependencies": {
"@astrojs/check": "^0.9.4",
"@astrojs/tailwind": "^5.1.2",
"astro": "^4.16.5",
"tailwindcss": "^3.4.14",
"typescript": "^5.6.3"
},
"devDependencies": {
"prettier": "^3.3.3",
"prettier-plugin-astro": "^0.14.1",
"prettier-plugin-tailwindcss": "^0.6.8"
}
}

View file

@ -1,10 +1,18 @@
@keyframes fadeIn { @keyframes fadeIn {
0% { opacity: 0; } 0% {
100% { opacity: 1; } opacity: 0;
}
100% {
opacity: 1;
}
} }
@keyframes snowfall { @keyframes snowfall {
0% { transform: translateY(-10vh); } 0% {
100% { transform: translateY(130vh); } transform: translateY(-10vh);
}
100% {
transform: translateY(130vh);
}
} }
.snowflake { .snowflake {
background: white; background: white;

1
src/env.d.ts vendored Normal file
View file

@ -0,0 +1 @@
/// <reference path="../.astro/types.d.ts" />

View file

Before

Width:  |  Height:  |  Size: 339 KiB

After

Width:  |  Height:  |  Size: 339 KiB

View file

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View file

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

@ -1,22 +1,24 @@
---
import "./src/css/snowflake.css";
---
<html lang="en-us"> <html lang="en-us">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>404</title> <title>404</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<meta name="darkreader-lock"> <meta name="darkreader-lock" />
<link rel="icon" type="image/x-icon" href="./img/logo_bg.svg"> <link rel="icon" type="image/x-icon" href="/src/img/logo_bg.svg" />
<link rel="icon" type="image/png" sizes="192x192" href="./img/logo_bg.svg"> <link rel="icon" type="image/png" sizes="192x192" href="/src/img/logo_bg.svg" />
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="./img/logo_bg.svg"> <link rel="apple-touch-icon" type="image/png" sizes="180x180" href="/src/img/logo_bg.svg" />
<link rel="stylesheet" href="./snowflake.css">
<script src="https://cdn.tailwindcss.com"></script>
</head> </head>
<body class="bg-cover bg-[url('../img/gradient.webp')] text-white overflow-hidden"> <body class="bg-cover bg-[url('/src/img/gradient.webp')] text-white overflow-hidden">
<div class="flex items-center justify-center min-h-screen"> <div class="flex items-center justify-center min-h-screen">
<div class="bg-[rgba(11,11,11,0.6)] aspect-square rounded-3xl border-2 border-white flex flex-col items-center justify-center w-full h-full max-w-[40vmin] max-h-[40vmin] md:max-w-[20vmin] md:max-h-[20vmin]"> <div class="bg-[rgba(11,11,11,0.6)] aspect-square rounded-3xl border-2 border-white flex flex-col items-center justify-center w-full h-full max-w-[40vmin] max-h-[40vmin] md:max-w-[20vmin] md:max-h-[20vmin]">
<h1 class="text-6xl">404</h1> <h1 class="text-6xl">404</h1>
</div> </div>
</div> </div>
<div id="snowflake-container"></div> <div id="snowflake-container"></div>
<script src="./snowflakes.ts"></script> <script src="/src/js/snowflakes.js"></script>
</body> </body>
</html> </html>

View file

@ -1,23 +1,25 @@
---
import "./src/css/snowflake.css";
---
<html lang="en-us"> <html lang="en-us">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>z0x</title> <title>z0x</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<meta name="darkreader-lock"> <meta name="darkreader-lock" />
<link rel="icon" type="image/x-icon" href="./img/logo_bg.svg"> <link rel="icon" type="image/x-icon" href="/src/img/logo_bg.svg" />
<link rel="icon" type="image/png" sizes="192x192" href="./img/logo_bg.svg"> <link rel="icon" type="image/png" sizes="192x192" href="/src/img/logo_bg.svg" />
<link rel="apple-touch-icon" type="image/png" sizes="180x180" href="./img/logo_bg.svg"> <link rel="apple-touch-icon" type="image/png" sizes="180x180" href="/src/img/logo_bg.svg" />
<link rel="stylesheet" href="./snowflake.css">
<script src="https://cdn.tailwindcss.com"></script>
</head> </head>
<body class="bg-cover bg-[url('../img/gradient.webp')] text-white overflow-hidden"> <body class="bg-cover bg-[url('/src/img/gradient.webp')] text-white overflow-hidden">
<div class="flex items-center justify-center min-h-screen"> <div class="flex items-center justify-center min-h-screen">
<div class="bg-[rgba(11,11,11,0.6)] aspect-square rounded-3xl border-2 border-white flex flex-col items-center justify-center w-full h-full max-w-[60vmin] max-h-[60vmin] md:max-w-[35vmin] md:max-h-[35vmin]"> <div class="bg-[rgba(11,11,11,0.6)] aspect-square rounded-3xl border-2 border-white flex flex-col items-center justify-center w-full h-full max-w-[60vmin] max-h-[60vmin] md:max-w-[35vmin] md:max-h-[35vmin]">
<img class="w-2/3 mb-4" src="./img/logo.svg" alt="logo" /> <img class="w-2/3" src="/src/img/logo.svg" alt="logo" />
<h1 class="text-4xl">z0x</h1> <h1 class="text-4xl">z0x</h1>
</div> </div>
</div> </div>
<div id="snowflake-container"></div> <div id="snowflake-container"></div>
<script src="./snowflakes.ts"></script> <script src="/src/js/snowflakes.js"></script>
</body> </body>
</html> </html>

8
tailwind.config.mjs Normal file
View file

@ -0,0 +1,8 @@
/** @type {import('tailwindcss').Config} */
export default {
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
theme: {
extend: {},
},
plugins: [],
}

3
tsconfig.json Normal file
View file

@ -0,0 +1,3 @@
{
"extends": "astro/tsconfigs/strict"
}