chore: initial commit
This commit is contained in:
commit
d697f2daf3
24
.gitignore
vendored
Normal file
24
.gitignore
vendored
Normal 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/
|
4
.vscode/extensions.json
vendored
Normal file
4
.vscode/extensions.json
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"recommendations": ["astro-build.astro-vscode"],
|
||||||
|
"unwantedRecommendations": []
|
||||||
|
}
|
11
.vscode/launch.json
vendored
Normal file
11
.vscode/launch.json
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"command": "./node_modules/.bin/astro dev",
|
||||||
|
"name": "Development server",
|
||||||
|
"request": "launch",
|
||||||
|
"type": "node-terminal"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
54
README.md
Normal file
54
README.md
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
# Astro Starter Kit: Basics
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm create astro@latest -- --template basics
|
||||||
|
```
|
||||||
|
|
||||||
|
[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics)
|
||||||
|
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/basics)
|
||||||
|
[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/basics/devcontainer.json)
|
||||||
|
|
||||||
|
> 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun!
|
||||||
|
|
||||||
|
![just-the-basics](https://github.com/withastro/astro/assets/2244813/a0a5533c-a856-4198-8470-2d67b1d7c554)
|
||||||
|
|
||||||
|
## 🚀 Project Structure
|
||||||
|
|
||||||
|
Inside of your Astro project, you'll see the following folders and files:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/
|
||||||
|
├── public/
|
||||||
|
│ └── favicon.svg
|
||||||
|
├── src/
|
||||||
|
│ ├── components/
|
||||||
|
│ │ └── Card.astro
|
||||||
|
│ ├── layouts/
|
||||||
|
│ │ └── Layout.astro
|
||||||
|
│ └── 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).
|
9
astro.config.mjs
Normal file
9
astro.config.mjs
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
import { defineConfig } from 'astro/config';
|
||||||
|
|
||||||
|
import tailwind from "@astrojs/tailwind";
|
||||||
|
import react from "@astrojs/react";
|
||||||
|
|
||||||
|
// https://astro.build/config
|
||||||
|
export default defineConfig({
|
||||||
|
integrations: [tailwind(), react()]
|
||||||
|
});
|
134
flake.lock
Normal file
134
flake.lock
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1650374568,
|
||||||
|
"narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "b4a34015c698c7793d592d66adbab377907a2be8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1694529238,
|
||||||
|
"narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "flake-utils",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-utils-plus": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696331477,
|
||||||
|
"narHash": "sha256-YkbRa/1wQWdWkVJ01JvV+75KIdM37UErqKgTf0L54Fk=",
|
||||||
|
"owner": "gytis-ivaskevicius",
|
||||||
|
"repo": "flake-utils-plus",
|
||||||
|
"rev": "bfc53579db89de750b25b0c5e7af299e0c06d7d3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "gytis-ivaskevicius",
|
||||||
|
"repo": "flake-utils-plus",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1714272655,
|
||||||
|
"narHash": "sha256-3/ghIWCve93ngkx5eNPdHIKJP/pMzSr5Wc4rNKE1wOc=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "12430e43bd9b81a6b4e79e64f87c624ade701eaf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-23.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"snowfall-lib": "snowfall-lib",
|
||||||
|
"unstable": "unstable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"snowfall-lib": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-utils-plus": "flake-utils-plus",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696432959,
|
||||||
|
"narHash": "sha256-oJQZv2MYyJaVyVJY5IeevzqpGvMGKu5pZcCCJvb+xjc=",
|
||||||
|
"owner": "snowfallorg",
|
||||||
|
"repo": "lib",
|
||||||
|
"rev": "92803a029b5314d4436a8d9311d8707b71d9f0b6",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "snowfallorg",
|
||||||
|
"repo": "lib",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1714253743,
|
||||||
|
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
27
flake.nix
Normal file
27
flake.nix
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
description = "aux website";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
|
||||||
|
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
snowfall-lib = {
|
||||||
|
url = "github:snowfallorg/lib";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = inputs:
|
||||||
|
inputs.snowfall-lib.mkFlake {
|
||||||
|
inherit inputs;
|
||||||
|
|
||||||
|
src = ./.;
|
||||||
|
|
||||||
|
alias.packages.default = "website";
|
||||||
|
|
||||||
|
snowfall = {
|
||||||
|
root = ./nix;
|
||||||
|
namespace = "aux";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
24
nix/packages/website/default.nix
Normal file
24
nix/packages/website/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
writeScriptBin,
|
||||||
|
buildNpmPackage,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
json = lib.importJSON (lib.snowfall.fs.get-file "package.json");
|
||||||
|
in
|
||||||
|
buildNpmPackage {
|
||||||
|
pname = "aux-website";
|
||||||
|
inherit (json) version;
|
||||||
|
|
||||||
|
src = lib.snowfall.fs.get-file "/";
|
||||||
|
|
||||||
|
npmDepsHash = "sha256-qvpwlPY0dFZX0VAnEdNsJxK5W8MU1twzaShUPyqbpF4=";
|
||||||
|
|
||||||
|
npmFlags = ["--ignore-scripts"];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out
|
||||||
|
|
||||||
|
cp -r ./dist/* $out/
|
||||||
|
'';
|
||||||
|
}
|
8
nix/shells/default/default.nix
Normal file
8
nix/shells/default/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
mkShell,
|
||||||
|
nodejs,
|
||||||
|
bun,
|
||||||
|
}:
|
||||||
|
mkShell {
|
||||||
|
packages = [nodejs bun];
|
||||||
|
}
|
7281
package-lock.json
generated
Normal file
7281
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
24
package.json
Normal file
24
package.json
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"name": "website",
|
||||||
|
"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.5.10",
|
||||||
|
"@astrojs/react": "^3.3.1",
|
||||||
|
"@astrojs/tailwind": "^5.1.0",
|
||||||
|
"@types/react": "^18.3.1",
|
||||||
|
"@types/react-dom": "^18.3.0",
|
||||||
|
"astro": "^4.7.0",
|
||||||
|
"react": "^18.3.1",
|
||||||
|
"react-dom": "^18.3.1",
|
||||||
|
"tailwindcss": "^3.4.3",
|
||||||
|
"typescript": "^5.4.5"
|
||||||
|
}
|
||||||
|
}
|
218
public/aux.svg
Normal file
218
public/aux.svg
Normal file
|
@ -0,0 +1,218 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="500"
|
||||||
|
height="500"
|
||||||
|
viewBox="0 0 132.29166 132.29167"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
|
||||||
|
sodipodi:docname="aux.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#505050"
|
||||||
|
bordercolor="#eeeeee"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="false"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:zoom="1.0569912"
|
||||||
|
inkscape:cx="-133.87056"
|
||||||
|
inkscape:cy="271.99849"
|
||||||
|
inkscape:window-width="2776"
|
||||||
|
inkscape:window-height="1404"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer4"
|
||||||
|
showguides="true" />
|
||||||
|
<defs
|
||||||
|
id="defs1">
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient25"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#eceff4;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop25" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#77808d;stop-opacity:1;"
|
||||||
|
offset="1"
|
||||||
|
id="stop26" />
|
||||||
|
</linearGradient>
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="42.094218,26.261607"
|
||||||
|
up_right_point="89.416542,29.08246"
|
||||||
|
down_left_point="27.882612,28.306134"
|
||||||
|
down_right_point="77.296508,31.858256"
|
||||||
|
id="path-effect17"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="89.416542,70.262396"
|
||||||
|
up_right_point="101.53658,64.65997"
|
||||||
|
down_left_point="89.416542,103.46845"
|
||||||
|
down_right_point="101.53658,92.718766"
|
||||||
|
id="path-effect16"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="89.416542,60.657256"
|
||||||
|
up_right_point="101.53658,64.767037"
|
||||||
|
down_left_point="83.356525,66.145832"
|
||||||
|
down_right_point="89.416542,75.833993"
|
||||||
|
id="path-effect15"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="77.296508,31.858256"
|
||||||
|
up_right_point="89.416542,29.08246"
|
||||||
|
down_left_point="77.296508,114.21813"
|
||||||
|
down_right_point="89.416542,103.46845"
|
||||||
|
id="path-effect14"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="25.962329,28.470818"
|
||||||
|
up_right_point="75.376225,32.02294"
|
||||||
|
down_left_point="25.962329,95.161217"
|
||||||
|
down_right_point="75.376225,114.38281"
|
||||||
|
id="path-effect13"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="119.7201,50.130834"
|
||||||
|
up_right_point="136.44687,51.333237"
|
||||||
|
down_left_point="119.7201,72.705762"
|
||||||
|
down_right_point="136.44687,79.212335"
|
||||||
|
id="path-effect12"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="-182.42647 : 119.10362 : 1"
|
||||||
|
inkscape:vp_y="0 : 2954.1799 : 0"
|
||||||
|
inkscape:vp_z="202.48071 : 129.10378 : 1"
|
||||||
|
inkscape:persp3d-origin="-35.187505 : -13.216794 : 1"
|
||||||
|
id="perspective3" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient25"
|
||||||
|
id="linearGradient26"
|
||||||
|
x1="27.882612"
|
||||||
|
y1="60.584068"
|
||||||
|
x2="203.06371"
|
||||||
|
y2="122.20982"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(1.2254343,0,0,1.2254343,-16.048072,-18.993138)" />
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer5"
|
||||||
|
inkscape:label="back"
|
||||||
|
style="display:inline;opacity:1">
|
||||||
|
<path
|
||||||
|
style="display:inline;opacity:1;fill:none;stroke:#2e3440;stroke-width:3.09639;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||||
|
d="m 104.37586,87.560277 c 0,0 8.09871,0.883586 10.54531,9.15154 1.38588,4.909313 1.51131,11.266493 -5.01041,15.872393 -4.00274,3.03892 -9.45845,2.43784 -13.501685,0.45532"
|
||||||
|
id="path21-1"
|
||||||
|
sodipodi:nodetypes="cccc"
|
||||||
|
inkscape:label="cable_back" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer4"
|
||||||
|
inkscape:label="trace"
|
||||||
|
style="display:inline;opacity:1">
|
||||||
|
<path
|
||||||
|
style="opacity:1;fill:url(#linearGradient26);stroke-width:3.09639;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 39.025507,13.396767 48.281365,2.878021 c 3.711859,0.353201 6.219154,1.81161 6.219154,7.806152 v 26.166651 c 0.108459,5.006243 1.28555,5.963351 2.694393,6.782949 l 5.001741,3.14131 c 3.19402,2.255358 3.03661,4.730486 3.03661,6.877426 l 0.11709,24.889476 c 0,5.791245 -1.57996,7.518222 -4.3522,10.143798 l -14.4162,12.75593 c -4.613172,4.09678 -7.41796,5.86961 -16.8017,2.29665 L 23.76933,99.616328 C 18.614687,97.783063 18.115648,93.269186 18.120238,89.961413 V 20.535911 c 0.03862,-4.900201 1.807041,-4.969176 3.712022,-5.375762 l 11.233967,-1.616156 c 2.72269,-0.464622 3.127028,-0.316055 5.95928,-0.147226 z"
|
||||||
|
id="path17"
|
||||||
|
sodipodi:nodetypes="ccccccccccccccccc"
|
||||||
|
inkscape:label="shell" />
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke-width:3.09639;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 24.544789,23.293448 44.847798,4.435718 c 1.916019,0.247654 3.38356,0.926396 3.401686,4.945175 v 50.993421 c 2.8e-5,3.950891 -1.123711,4.293068 -3.401686,3.616644 L 24.544789,74.204716 C 22.672358,73.703001 22.108642,72.42745 22.108642,69.633252 V 26.913464 c -0.0044,-2.923044 0.590047,-3.819356 2.436147,-3.620016 z"
|
||||||
|
id="path18"
|
||||||
|
sodipodi:nodetypes="ccccccccc"
|
||||||
|
inkscape:label="screen" />
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke-width:3.09639;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 53.12288,90.389231 18.240352,5.808873 c 0.798183,0.285074 0.858384,0.755481 0.854266,1.422103 v 2.722693 c 0.02759,0.86164 -0.434796,1.01376 -0.854266,0.86424 L 53.12288,95.104445 c -0.424855,-0.159584 -0.754097,-0.431602 -0.75297,-1.32877 v -2.54939 c 0.02124,-0.344058 0.05106,-1.031159 0.75297,-0.837054 z"
|
||||||
|
id="path19"
|
||||||
|
sodipodi:nodetypes="ccccccccc"
|
||||||
|
inkscape:label="disk" />
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke-width:3.09639;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 49.216427,89.340871 c -0.731617,-0.07699 -1.384065,0.92147 -1.462356,1.65295 -0.106061,0.990993 0.471715,2.498645 1.462356,2.60794 0.733313,0.0809 1.397711,-0.91463 1.477313,-1.648086 0.107948,-0.99467 -0.482297,-2.508096 -1.477313,-2.612804 z"
|
||||||
|
id="path20"
|
||||||
|
sodipodi:nodetypes="sssss"
|
||||||
|
inkscape:label="power" />
|
||||||
|
<path
|
||||||
|
style="display:inline;fill:none;stroke:#2e3440;stroke-width:3.09639;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||||
|
d="m 109.91076,112.58421 c -3.86125,3.16991 -9.19482,2.56712 -13.501685,0.45532 -4.306881,-2.1118 -7.200283,-5.39072 -7.432017,-11.78184 -0.231733,-6.391116 6.282906,-10.111269 7.541776,-16.461178 1.028721,-5.189087 -3.392701,-9.452146 -3.392701,-9.452146"
|
||||||
|
id="path21"
|
||||||
|
sodipodi:nodetypes="czzsc"
|
||||||
|
inkscape:label="cable_front" />
|
||||||
|
<g
|
||||||
|
id="g26"
|
||||||
|
style="fill:#2e3440;stroke:#2e3440"
|
||||||
|
transform="matrix(1.2254344,0,0,1.2254344,-16.048072,-18.993138)">
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke:#2e3440;stroke-width:2.52677;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||||
|
d="m 82.421173,74.62589 5.801059,-4.823746 c 0,0 3.767634,4.823167 0.867981,7.180768 -2.899653,2.357601 -6.66904,-2.357022 -6.66904,-2.357022 z"
|
||||||
|
id="path23"
|
||||||
|
sodipodi:nodetypes="cczc"
|
||||||
|
inkscape:label="plug" />
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke:#2e3440;stroke-width:2.52677;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||||
|
d="M 84.070924,73.254075 82.134023,70.975187"
|
||||||
|
id="path24"
|
||||||
|
inkscape:label="prong"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke:#2e3440;stroke-width:2.52677;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||||
|
d="M 86.755752,71.021564 84.84774,68.793079"
|
||||||
|
id="path25"
|
||||||
|
inkscape:label="prong"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 9.2 KiB |
259
public/favicon.svg
Normal file
259
public/favicon.svg
Normal file
|
@ -0,0 +1,259 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="500"
|
||||||
|
height="500"
|
||||||
|
viewBox="0 0 132.29166 132.29167"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
|
||||||
|
sodipodi:docname="favicon.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#505050"
|
||||||
|
bordercolor="#eeeeee"
|
||||||
|
borderopacity="1"
|
||||||
|
inkscape:showpageshadow="0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pagecheckerboard="false"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:zoom="1.0569912"
|
||||||
|
inkscape:cx="-133.87056"
|
||||||
|
inkscape:cy="300.38093"
|
||||||
|
inkscape:window-width="2776"
|
||||||
|
inkscape:window-height="1404"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg1"
|
||||||
|
showguides="true" />
|
||||||
|
<defs
|
||||||
|
id="defs1">
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient2"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#242424;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop2" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#242424;stop-opacity:1;"
|
||||||
|
offset="1"
|
||||||
|
id="stop3" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient25"
|
||||||
|
inkscape:collect="always">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#eceff4;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop25" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#77808d;stop-opacity:1;"
|
||||||
|
offset="1"
|
||||||
|
id="stop26" />
|
||||||
|
</linearGradient>
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="42.094218,26.261607"
|
||||||
|
up_right_point="89.416542,29.08246"
|
||||||
|
down_left_point="27.882612,28.306134"
|
||||||
|
down_right_point="77.296508,31.858256"
|
||||||
|
id="path-effect17"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="89.416542,70.262396"
|
||||||
|
up_right_point="101.53658,64.65997"
|
||||||
|
down_left_point="89.416542,103.46845"
|
||||||
|
down_right_point="101.53658,92.718766"
|
||||||
|
id="path-effect16"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="89.416542,60.657256"
|
||||||
|
up_right_point="101.53658,64.767037"
|
||||||
|
down_left_point="83.356525,66.145832"
|
||||||
|
down_right_point="89.416542,75.833993"
|
||||||
|
id="path-effect15"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="77.296508,31.858256"
|
||||||
|
up_right_point="89.416542,29.08246"
|
||||||
|
down_left_point="77.296508,114.21813"
|
||||||
|
down_right_point="89.416542,103.46845"
|
||||||
|
id="path-effect14"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="25.962329,28.470818"
|
||||||
|
up_right_point="75.376225,32.02294"
|
||||||
|
down_left_point="25.962329,95.161217"
|
||||||
|
down_right_point="75.376225,114.38281"
|
||||||
|
id="path-effect13"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="perspective-envelope"
|
||||||
|
up_left_point="119.7201,50.130834"
|
||||||
|
up_right_point="136.44687,51.333237"
|
||||||
|
down_left_point="119.7201,72.705762"
|
||||||
|
down_right_point="136.44687,79.212335"
|
||||||
|
id="path-effect12"
|
||||||
|
is_visible="true"
|
||||||
|
lpeversion="1"
|
||||||
|
deform_type="perspective"
|
||||||
|
horizontal_mirror="false"
|
||||||
|
vertical_mirror="false"
|
||||||
|
overflow_perspective="false" />
|
||||||
|
<inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="-182.42647 : 119.10362 : 1"
|
||||||
|
inkscape:vp_y="0 : 2954.1799 : 0"
|
||||||
|
inkscape:vp_z="202.48071 : 129.10378 : 1"
|
||||||
|
inkscape:persp3d-origin="-35.187505 : -13.216794 : 1"
|
||||||
|
id="perspective3" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient25"
|
||||||
|
id="linearGradient26"
|
||||||
|
x1="27.882612"
|
||||||
|
y1="60.584068"
|
||||||
|
x2="203.06371"
|
||||||
|
y2="122.20982"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.98419911,0,0,0.98419911,4.0659981,-2.2329462)" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient2"
|
||||||
|
id="linearGradient3"
|
||||||
|
x1="66.145836"
|
||||||
|
y1="132.29167"
|
||||||
|
x2="66.145836"
|
||||||
|
y2="0"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
</defs>
|
||||||
|
<rect
|
||||||
|
style="display:inline;opacity:1;fill:url(#linearGradient3);fill-opacity:1;stroke:none;stroke-width:2.52677;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
id="rect2"
|
||||||
|
width="132.29167"
|
||||||
|
height="132.29167"
|
||||||
|
x="0"
|
||||||
|
y="0"
|
||||||
|
rx="23.649122"
|
||||||
|
ry="23.649122" />
|
||||||
|
<ellipse
|
||||||
|
style="display:inline;opacity:1;fill:#b48ead;stroke:none;stroke-width:2.96592;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
id="path1"
|
||||||
|
cx="50.005844"
|
||||||
|
cy="96.093887"
|
||||||
|
rx="57.690987"
|
||||||
|
ry="32.789791"
|
||||||
|
transform="matrix(0.93852099,-0.34522214,0.22114536,0.97524085,0,0)" />
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer5"
|
||||||
|
inkscape:label="back"
|
||||||
|
style="display:inline;opacity:1" />
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer4"
|
||||||
|
inkscape:label="trace"
|
||||||
|
style="display:inline;opacity:1">
|
||||||
|
<g
|
||||||
|
id="g1"
|
||||||
|
transform="translate(-1.2460925)">
|
||||||
|
<path
|
||||||
|
style="display:inline;opacity:1;fill:none;stroke:#2e3440;stroke-width:2.48684;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||||
|
d="m 100.78365,83.344695 c 0,0 6.50442,0.709646 8.46939,7.349996 1.11306,3.942881 1.2138,9.048606 -4.02407,12.747799 -3.21478,2.44069 -7.596493,1.95794 -10.843789,0.36569"
|
||||||
|
id="path21-1"
|
||||||
|
sodipodi:nodetypes="cccc"
|
||||||
|
inkscape:label="cable_back" />
|
||||||
|
<path
|
||||||
|
style="opacity:1;fill:url(#linearGradient26);stroke-width:2.48684;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 48.297964,23.780783 38.776845,2.311463 c 2.981154,0.283671 4.994871,1.454982 4.994871,6.269457 v 21.015565 c 0.08711,4.02073 1.03248,4.789424 2.163983,5.447679 l 4.017114,2.522921 c 2.565253,1.811376 2.438833,3.799258 2.438833,5.523558 l 0.094,19.989811 c 0,4.651198 -1.268935,6.038208 -3.49544,8.146921 L 85.709938,105.25299 c -3.705037,3.29031 -5.957683,4.71414 -13.49417,1.84454 L 36.04507,93.027429 C 31.905154,91.555055 31.504354,87.929766 31.508041,85.273151 V 29.514537 c 0.03102,-3.935562 1.451312,-3.990959 2.981285,-4.317506 l 9.022483,-1.298004 c 2.18671,-0.373158 2.511451,-0.253838 4.786155,-0.118244 z"
|
||||||
|
id="path17"
|
||||||
|
sodipodi:nodetypes="ccccccccccccccccc"
|
||||||
|
inkscape:label="shell" />
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke-width:2.48684;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 36.667875,31.729234 36.0192,3.562516 c 1.538837,0.198902 2.717482,0.744029 2.73204,3.971684 v 40.955014 c 2.3e-5,3.173131 -0.902501,3.447948 -2.73204,2.904683 L 36.667875,72.618268 C 35.164045,72.215319 34.7113,71.190869 34.7113,68.946728 V 34.636625 c -0.0035,-2.347623 0.473892,-3.067489 1.956575,-2.907391 z"
|
||||||
|
id="path18"
|
||||||
|
sodipodi:nodetypes="ccccccccc"
|
||||||
|
inkscape:label="screen" />
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke-width:2.48684;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 59.620172,85.61675 14.649613,4.665356 c 0.641055,0.228955 0.689405,0.606759 0.686097,1.142152 v 2.186712 c 0.02216,0.692021 -0.349203,0.814195 -0.686097,0.694109 L 59.620172,89.403741 c -0.34122,-0.128168 -0.605648,-0.346638 -0.604743,-1.067192 v -2.047525 c 0.01706,-0.276328 0.04101,-0.828168 0.604743,-0.672274 z"
|
||||||
|
id="path19"
|
||||||
|
sodipodi:nodetypes="ccccccccc"
|
||||||
|
inkscape:label="disk" />
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke-width:2.48684;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 56.482731,84.774767 c -0.587593,-0.06183 -1.111603,0.740072 -1.174481,1.327555 -0.08518,0.795909 0.378854,2.006769 1.174481,2.094549 0.588955,0.06497 1.122562,-0.734579 1.186493,-1.323649 0.0867,-0.798862 -0.387353,-2.01436 -1.186493,-2.098455 z"
|
||||||
|
id="path20"
|
||||||
|
sodipodi:nodetypes="sssss"
|
||||||
|
inkscape:label="power" />
|
||||||
|
<path
|
||||||
|
style="display:inline;fill:none;stroke:#2e3440;stroke-width:2.48684;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||||
|
d="m 105.22897,103.44249 c -3.10114,2.54589 -7.38476,2.06177 -10.843789,0.36569 -3.459042,-1.69608 -5.782858,-4.329518 -5.968974,-9.462502 -0.186114,-5.132981 5.046073,-8.120796 6.057126,-13.220682 0.82621,-4.167579 -2.724825,-7.591426 -2.724825,-7.591426"
|
||||||
|
id="path21"
|
||||||
|
sodipodi:nodetypes="czzsc"
|
||||||
|
inkscape:label="cable_front" />
|
||||||
|
<g
|
||||||
|
id="g26"
|
||||||
|
style="fill:#2e3440;stroke:#2e3440"
|
||||||
|
transform="matrix(0.98419919,0,0,0.98419919,4.0659982,-2.2329462)">
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke:#2e3440;stroke-width:2.52677;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||||
|
d="m 82.421173,74.62589 5.801059,-4.823746 c 0,0 3.767634,4.823167 0.867981,7.180768 -2.899653,2.357601 -6.66904,-2.357022 -6.66904,-2.357022 z"
|
||||||
|
id="path23"
|
||||||
|
sodipodi:nodetypes="cczc"
|
||||||
|
inkscape:label="plug" />
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke:#2e3440;stroke-width:2.52677;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||||
|
d="M 84.070924,73.254075 82.134023,70.975187"
|
||||||
|
id="path24"
|
||||||
|
inkscape:label="prong"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:#2e3440;stroke:#2e3440;stroke-width:2.52677;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
|
||||||
|
d="M 86.755752,71.021564 84.84774,68.793079"
|
||||||
|
id="path25"
|
||||||
|
inkscape:label="prong"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 11 KiB |
1
result
Symbolic link
1
result
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/3wwg63597p90v1rcnl4mgnx698f3l517-aux-website-0.0.1
|
61
src/components/Card.astro
Normal file
61
src/components/Card.astro
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
---
|
||||||
|
interface Props {
|
||||||
|
title: string;
|
||||||
|
body: string;
|
||||||
|
href: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { href, title, body } = Astro.props;
|
||||||
|
---
|
||||||
|
|
||||||
|
<li class="link-card">
|
||||||
|
<a href={href}>
|
||||||
|
<h2>
|
||||||
|
{title}
|
||||||
|
<span>→</span>
|
||||||
|
</h2>
|
||||||
|
<p>
|
||||||
|
{body}
|
||||||
|
</p>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<style>
|
||||||
|
.link-card {
|
||||||
|
list-style: none;
|
||||||
|
display: flex;
|
||||||
|
padding: 1px;
|
||||||
|
background-color: #23262d;
|
||||||
|
background-image: none;
|
||||||
|
background-size: 400%;
|
||||||
|
border-radius: 7px;
|
||||||
|
background-position: 100%;
|
||||||
|
transition: background-position 0.6s cubic-bezier(0.22, 1, 0.36, 1);
|
||||||
|
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.1);
|
||||||
|
}
|
||||||
|
.link-card > a {
|
||||||
|
width: 100%;
|
||||||
|
text-decoration: none;
|
||||||
|
line-height: 1.4;
|
||||||
|
padding: calc(1.5rem - 1px);
|
||||||
|
border-radius: 8px;
|
||||||
|
color: white;
|
||||||
|
background-color: #23262d;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
h2 {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
transition: color 0.6s cubic-bezier(0.22, 1, 0.36, 1);
|
||||||
|
}
|
||||||
|
p {
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
.link-card:is(:hover, :focus-within) {
|
||||||
|
background-position: 0;
|
||||||
|
background-image: var(--accent-gradient);
|
||||||
|
}
|
||||||
|
.link-card:is(:hover, :focus-within) h2 {
|
||||||
|
color: rgb(var(--accent-light));
|
||||||
|
}
|
||||||
|
</style>
|
85
src/components/Goals.astro
Normal file
85
src/components/Goals.astro
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<section id="goals">
|
||||||
|
<h2 class="title">Goals</h2>
|
||||||
|
<ol>
|
||||||
|
<li class="goal">
|
||||||
|
<h3 class="name">Independent</h3>
|
||||||
|
<p class="description">
|
||||||
|
We will fork and maintain Nix, NixPkgs, and NixOS. Additional support
|
||||||
|
for projects such as Nix Darwin and Home Manager will be considered.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li class="goal">
|
||||||
|
<h3 class="name">Governance</h3>
|
||||||
|
<p class="description">
|
||||||
|
A democratic model of governance with elected positions will be used to
|
||||||
|
manage the project. A steering committee will provide direction with
|
||||||
|
additional committees handling specific logistical tasks. Features or
|
||||||
|
individual projects will be owned by Special Interest Groups. SIGs will
|
||||||
|
collaborate within Working Groups to achieve their goals. Each committee
|
||||||
|
and group will have its goals, requirements, and management process
|
||||||
|
clearly defined.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li class="goal">
|
||||||
|
<h3 class="name">Stabilization</h3>
|
||||||
|
<p class="description">
|
||||||
|
User-friendly features such as the Nix v3 CLI will be enabled by
|
||||||
|
default. Nix Flakes are used too heavily to remove or change and will
|
||||||
|
instead be stabilized as a v0 in its current state with any future work
|
||||||
|
being handled by a Special Interest Group.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li class="goal">
|
||||||
|
<h3 class="name">Infrastructure</h3>
|
||||||
|
<p class="description">
|
||||||
|
We will build and maintain the tools and infrastructure necessary to
|
||||||
|
keep the ecosystem healthy, including Continuous Integration and Binary
|
||||||
|
Caching.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li class="goal">
|
||||||
|
<h3 class="name">Education</h3>
|
||||||
|
<p class="description">
|
||||||
|
Unified documentation, tutorials, guides, and examples will provide a
|
||||||
|
better onboarding experience for newcomers and a faster iteration cycle
|
||||||
|
for experts.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
section {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 4rem 1rem;
|
||||||
|
padding-left: 2.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 2rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section ol {
|
||||||
|
}
|
||||||
|
|
||||||
|
.goal {
|
||||||
|
margin-top: 2rem;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goal .name {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.goal .description {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
</style>
|
80
src/components/Header.astro
Normal file
80
src/components/Header.astro
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
interface Props {}
|
||||||
|
---
|
||||||
|
|
||||||
|
<header>
|
||||||
|
<div class="left">
|
||||||
|
<a href="https://aux.computer" class="brand">
|
||||||
|
<img class="icon" src="/aux.svg" />
|
||||||
|
<span class="title">aux.computer</span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="right">
|
||||||
|
<!-- TODO: Enable these once the pages are ready. -->
|
||||||
|
<!--
|
||||||
|
<nav>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://aux.computer/documentation">Documentation</a></li>
|
||||||
|
<li><a href="https://aux.computer/contribute">Contribute</a></li>
|
||||||
|
<li><a href="https://aux.computer/community">Community</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
-->
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
header {
|
||||||
|
position: sticky;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
top: 0;
|
||||||
|
background: rgb(var(--background));
|
||||||
|
padding: 0.5rem 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.left {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
padding-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.left .brand {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.left .brand .title {
|
||||||
|
padding-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
width: 48px;
|
||||||
|
height: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
align-items: center;
|
||||||
|
padding-right: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right nav {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right nav ul {
|
||||||
|
display: flex;
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right nav ul li {
|
||||||
|
}
|
||||||
|
|
||||||
|
.right nav ul li:not(:last-child) {
|
||||||
|
margin-right: 1rem;
|
||||||
|
}
|
||||||
|
</style>
|
64
src/components/Hero.astro
Normal file
64
src/components/Hero.astro
Normal file
|
@ -0,0 +1,64 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<div class="hero">
|
||||||
|
<div class="content">
|
||||||
|
<div class="icon">
|
||||||
|
<img src="/aux.svg" alt="" />
|
||||||
|
</div>
|
||||||
|
<h1 class="title">aux.computer</h1>
|
||||||
|
<div class="description">An alternative to the Nix ecosystem</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.hero {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
max-width: 600px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content .icon {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content .icon::before {
|
||||||
|
content: "";
|
||||||
|
display: block;
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 60%;
|
||||||
|
background: rgb(var(--accent));
|
||||||
|
border-radius: 50%;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
transform: rotateZ(-5deg) skewX(-8deg) skewY(-8deg);
|
||||||
|
z-index: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content .icon img {
|
||||||
|
width: 250px;
|
||||||
|
height: 250px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content .title {
|
||||||
|
padding-top: 1.5rem;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content .description {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
</style>
|
134
src/components/Roadmap.astro
Normal file
134
src/components/Roadmap.astro
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<section id="roadmap">
|
||||||
|
<h2 class="title">Roadmap</h2>
|
||||||
|
<ol>
|
||||||
|
<li class="phase">
|
||||||
|
<h3 class="name">Soft Fork</h3>
|
||||||
|
<p class="description">
|
||||||
|
This initial phase will involve an ad-hoc management structure due to
|
||||||
|
its bootstrapping nature. As such, the project's stated Values, Goals,
|
||||||
|
and Roadmap serve to keep all contributors aligned and safe knowing that
|
||||||
|
the work they have committed to will not change.
|
||||||
|
</p>
|
||||||
|
<p class="description">
|
||||||
|
The initial forking off of Nix and NixPkgs will be performed in this
|
||||||
|
phase and new contributors will be given roles for handling package
|
||||||
|
maintenance and pulling changes from upstream. We intend to move on from
|
||||||
|
this phase once enough contributors have joined for the project to be
|
||||||
|
capable of transitioning into a hard fork.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li class="phase">
|
||||||
|
<h3 class="name">Hard Fork</h3>
|
||||||
|
<p class="description">
|
||||||
|
Like the Soft Fork phase, management structure will still be ad-hoc, but
|
||||||
|
Committees, Special Interest Groups, and Working Groups may start to be
|
||||||
|
formed. Due to there being necessary bootstrapping steps for each,
|
||||||
|
elections will only begin once the Alignment phase has been reached.
|
||||||
|
</p>
|
||||||
|
<p class="description">
|
||||||
|
At this point we will have enough contributors to safely maintain
|
||||||
|
NixPkgs (or a reasonable subset) and Nix ourselves. We will begin
|
||||||
|
allowing divergence from the upstream repository and changes to the
|
||||||
|
repository structure to improve development can be introduced.
|
||||||
|
</p>
|
||||||
|
<p class="description">
|
||||||
|
An initial release of the packages repository will be created and
|
||||||
|
migration from `nix` to `aux` naming will begin to reduce confusion and
|
||||||
|
errors now that the two projects have diverged.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li class="phase">
|
||||||
|
<h3 class="name">Organization</h3>
|
||||||
|
<p class="description">
|
||||||
|
The packages repository will have sets extracted to allow for Special
|
||||||
|
Interest Groups to more easily manage their lifecycles. For example,
|
||||||
|
`pythonPackages` will be moved to a separate repository that will be the
|
||||||
|
reponsibility of a Python SIG if there is interest.
|
||||||
|
</p>
|
||||||
|
<p class="description">
|
||||||
|
Flakes will be standardized with its current implementation as a v0.
|
||||||
|
While not ideal, the feature is used far too widely to be changed or
|
||||||
|
removed without breaking the ecosystem. Instead, this v0 implementation
|
||||||
|
will be enabled and future work for Flakes that addresses its
|
||||||
|
shortcomings may be handled by a Flakes SIG.
|
||||||
|
</p>
|
||||||
|
<p class="description">
|
||||||
|
The `aux` CLI will be modified to provide more ergonomic management of
|
||||||
|
packages and systems. Additional subcommands such as `aux system switch`
|
||||||
|
and `aux system build` will be added to make onboarding and ongoing
|
||||||
|
maintenance easier.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li class="phase">
|
||||||
|
<h3 class="name">Infrastructure</h3>
|
||||||
|
<p class="description">
|
||||||
|
Now that the project has significantly diverged from upstream, we will
|
||||||
|
need to provide our own Continuous Integration and Binary Cache
|
||||||
|
services. Existing governance structures will be used to manage the
|
||||||
|
adoption of these technologies.
|
||||||
|
</p>
|
||||||
|
<p class="description">
|
||||||
|
Documentation will be included as a part of the Continuous Integration
|
||||||
|
process and will have Continuous Deployment configured to keep it up to
|
||||||
|
date, making it easier for contributors to create educational materials.
|
||||||
|
</p>
|
||||||
|
<p class="description">
|
||||||
|
Search infrastructure for packages and options will also be created.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
<li class="phase">
|
||||||
|
<h3 class="name">Alignment</h3>
|
||||||
|
<p class="description">
|
||||||
|
By this point, we've done it. We have created a sustainable, independent
|
||||||
|
fork of the Nix ecosystem. Now that the initial work has been completed
|
||||||
|
we will begin the governance rotation process with our first elections
|
||||||
|
and education as to how project governance works.
|
||||||
|
</p>
|
||||||
|
<p class="description">
|
||||||
|
Documentation, project branding, and packages will be polished and
|
||||||
|
presented as a fully stable release. From this point forward the
|
||||||
|
Steering Committee will be managing the creation of Special Interest
|
||||||
|
Groups and other necessary Committees. All enhancements will be
|
||||||
|
suggested in Aux Enhancement Proposals which encourage existing SIGs to
|
||||||
|
implement features or encourage the formation of a new SIG to be created
|
||||||
|
for such a purpose.
|
||||||
|
</p>
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
section {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 4rem 1rem;
|
||||||
|
padding-left: 2.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 2rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section ol {
|
||||||
|
}
|
||||||
|
|
||||||
|
.phase {
|
||||||
|
margin-top: 2rem;
|
||||||
|
font-size: 1.5rem;
|
||||||
|
list-style-type: decimal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phase .name {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.phase .description {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
</style>
|
63
src/components/Values.astro
Normal file
63
src/components/Values.astro
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<section id="values">
|
||||||
|
<h2 class="title">Values</h2>
|
||||||
|
<div class="value">
|
||||||
|
<h3 class="name">Representation</h3>
|
||||||
|
<p class="description">
|
||||||
|
Contributors should have their views represented and organizational
|
||||||
|
structure should be established democratically.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="value">
|
||||||
|
<h3 class="name">Kindness</h3>
|
||||||
|
<p class="description">
|
||||||
|
The project should be welcoming and a safe place for people to
|
||||||
|
participate.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="value">
|
||||||
|
<h3 class="name">Collaboration</h3>
|
||||||
|
<p class="description">
|
||||||
|
Communication and cooperation should be encouraged.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="value">
|
||||||
|
<h3 class="name">Sustainability</h3>
|
||||||
|
<p class="description">
|
||||||
|
Workload, finance, scope, and burnout should all be considered carefully
|
||||||
|
to ensure that the project is stable.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="value">
|
||||||
|
<h3 class="name">Accessibility</h3>
|
||||||
|
<p class="description">
|
||||||
|
Elitism is unwelcome, our knowledge is here to be shared and we should
|
||||||
|
provide the tools to help everyone succeed and learn.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
section {
|
||||||
|
max-width: 800px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 4rem 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 2rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.value {
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.value .name {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
|
</style>
|
1
src/env.d.ts
vendored
Normal file
1
src/env.d.ts
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/// <reference types="astro/client" />
|
38
src/layouts/Layout.astro
Normal file
38
src/layouts/Layout.astro
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
---
|
||||||
|
interface Props {
|
||||||
|
title: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { title } = Astro.props;
|
||||||
|
---
|
||||||
|
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<meta name="description" content="An alternative to the Nix ecosystem." />
|
||||||
|
<meta name="viewport" content="width=device-width" />
|
||||||
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||||
|
<meta name="generator" content={Astro.generator} />
|
||||||
|
<title>{title}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<slot />
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
<style is:global>
|
||||||
|
:root {
|
||||||
|
--accent: 136, 58, 234;
|
||||||
|
--background: 24, 24, 24;
|
||||||
|
--background-light: 34, 34, 38;
|
||||||
|
--text: 255, 255, 255;
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-size: 16px;
|
||||||
|
font-family: system-ui, sans-serif;
|
||||||
|
color: rgb(var(--text));
|
||||||
|
background: rgb(var(--background));
|
||||||
|
background-size: 224px;
|
||||||
|
}
|
||||||
|
</style>
|
20
src/pages/index.astro
Normal file
20
src/pages/index.astro
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
import Layout from "../layouts/Layout.astro";
|
||||||
|
import Header from "../components/Header.astro";
|
||||||
|
import Hero from "../components/Hero.astro";
|
||||||
|
import Values from "../components/Values.astro";
|
||||||
|
import Goals from "../components/Goals.astro";
|
||||||
|
import Roadmap from "../components/Roadmap.astro";
|
||||||
|
---
|
||||||
|
|
||||||
|
<Layout title="aux.computer">
|
||||||
|
<main>
|
||||||
|
<Header />
|
||||||
|
<Hero />
|
||||||
|
<Values />
|
||||||
|
<Goals />
|
||||||
|
<Roadmap />
|
||||||
|
</main>
|
||||||
|
</Layout>
|
||||||
|
|
||||||
|
<style></style>
|
8
tailwind.config.mjs
Normal file
8
tailwind.config.mjs
Normal 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: [],
|
||||||
|
}
|
7
tsconfig.json
Normal file
7
tsconfig.json
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"extends": "astro/tsconfigs/strict",
|
||||||
|
"compilerOptions": {
|
||||||
|
"jsx": "react-jsx",
|
||||||
|
"jsxImportSource": "react"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue