diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..6aa4462
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,11 @@
+{
+ "plugins": ["prettier-plugin-astro"],
+ "overrides": [
+ {
+ "files": "*.astro",
+ "options": {
+ "parser": "astro",
+ }
+ }
+ ]
+}
diff --git a/astro.config.mjs b/astro.config.mjs
index e762ba5..ab7e87e 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -2,4 +2,8 @@
import { defineConfig } from 'astro/config';
// https://astro.build/config
-export default defineConfig({});
+export default defineConfig({vite: {
+ ssr: {
+ noExternal: ['@webtui/css'],
+ }
+ }});
diff --git a/package.json b/package.json
index 828711e..fb1aa5c 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,13 @@
"astro": "astro"
},
"dependencies": {
+ "@webtui/css": "^0.1.1",
+ "@webtui/plugin-nf": "^0.1.1",
+ "@webtui/theme-catppuccin": "^0.0.3",
"astro": "^5.8.1"
+ },
+ "devDependencies": {
+ "prettier": "^3.5.3",
+ "prettier-plugin-astro": "0.14.1"
}
}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ba2de1d..60f85e0 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,9 +8,25 @@ importers:
.:
dependencies:
+ '@webtui/css':
+ specifier: ^0.1.1
+ version: 0.1.1
+ '@webtui/plugin-nf':
+ specifier: ^0.1.1
+ version: 0.1.1
+ '@webtui/theme-catppuccin':
+ specifier: ^0.0.3
+ version: 0.0.3
astro:
specifier: ^5.8.1
version: 5.8.1(@types/node@22.15.27)(rollup@4.41.1)(typescript@5.8.3)
+ devDependencies:
+ prettier:
+ specifier: ^3.5.3
+ version: 3.5.3
+ prettier-plugin-astro:
+ specifier: 0.14.1
+ version: 0.14.1
packages:
@@ -478,6 +494,15 @@ packages:
'@ungap/structured-clone@1.3.0':
resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+ '@webtui/css@0.1.1':
+ resolution: {integrity: sha512-JDMIAt28xh8lSSa/CYADedxCc5tS0Bcfy7HuFkGC1gXw6LzFkohQaGTZpuj14KJv0daOzDwKw1pooMmYlBp9Yw==}
+
+ '@webtui/plugin-nf@0.1.1':
+ resolution: {integrity: sha512-ZzimzGtjV8kIng/gzPPXkgFBjJ11rCn9lYc/JnlI/9PyHfvaSDJi90k7i6oTFAa94osJL2wLGgg9l8WjMwTMSw==}
+
+ '@webtui/theme-catppuccin@0.0.3':
+ resolution: {integrity: sha512-mn3qpyIDYzPm9DoDX7Rs/Ma/3YawbAZEu6/Cemj4kTodr4eBFuEOmkkd1RtChsXGH75fZ054MIzZoVwYvA5W2g==}
+
acorn@8.14.1:
resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
engines: {node: '>=0.4.0'}
@@ -1054,6 +1079,15 @@ packages:
resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==}
engines: {node: ^10 || ^12 || >=14}
+ prettier-plugin-astro@0.14.1:
+ resolution: {integrity: sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw==}
+ engines: {node: ^14.15.0 || >=16.0.0}
+
+ prettier@3.5.3:
+ resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
+ engines: {node: '>=14'}
+ hasBin: true
+
prismjs@1.30.0:
resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
engines: {node: '>=6'}
@@ -1132,6 +1166,12 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ s.color@0.0.15:
+ resolution: {integrity: sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==}
+
+ sass-formatter@0.7.9:
+ resolution: {integrity: sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw==}
+
semver@7.7.2:
resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
engines: {node: '>=10'}
@@ -1180,6 +1220,9 @@ packages:
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
engines: {node: '>=12'}
+ suf-log@2.5.3:
+ resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==}
+
tiny-inflate@1.0.3:
resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
@@ -1810,6 +1853,12 @@ snapshots:
'@ungap/structured-clone@1.3.0': {}
+ '@webtui/css@0.1.1': {}
+
+ '@webtui/plugin-nf@0.1.1': {}
+
+ '@webtui/theme-catppuccin@0.0.3': {}
+
acorn@8.14.1: {}
ansi-align@3.0.1:
@@ -2683,6 +2732,14 @@ snapshots:
picocolors: 1.1.1
source-map-js: 1.2.1
+ prettier-plugin-astro@0.14.1:
+ dependencies:
+ '@astrojs/compiler': 2.12.0
+ prettier: 3.5.3
+ sass-formatter: 0.7.9
+
+ prettier@3.5.3: {}
+
prismjs@1.30.0: {}
prompts@2.4.2:
@@ -2827,6 +2884,12 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.41.1
fsevents: 2.3.3
+ s.color@0.0.15: {}
+
+ sass-formatter@0.7.9:
+ dependencies:
+ suf-log: 2.5.3
+
semver@7.7.2: {}
sharp@0.33.5:
@@ -2905,6 +2968,10 @@ snapshots:
dependencies:
ansi-regex: 6.1.0
+ suf-log@2.5.3:
+ dependencies:
+ s.color: 0.0.15
+
tiny-inflate@1.0.3: {}
tinyexec@0.3.2: {}
diff --git a/src/assets/astro.svg b/src/assets/astro.svg
deleted file mode 100644
index 8cf8fb0..0000000
--- a/src/assets/astro.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/assets/background.svg b/src/assets/background.svg
deleted file mode 100644
index 4b2be0a..0000000
--- a/src/assets/background.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/components/Welcome.astro b/src/components/Welcome.astro
deleted file mode 100644
index 52e0333..0000000
--- a/src/components/Welcome.astro
+++ /dev/null
@@ -1,210 +0,0 @@
----
-import astroLogo from '../assets/astro.svg';
-import background from '../assets/background.svg';
----
-
-
-
-
diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro
index e455c61..1285917 100644
--- a/src/layouts/Layout.astro
+++ b/src/layouts/Layout.astro
@@ -1,22 +1,16 @@
+---
+import '../styles/global.css';
+---
-
+
- Astro Basics
+ Guillaume Dorce (polynux) - Terminal
-
-
diff --git a/src/pages/index.astro b/src/pages/index.astro
index c04f360..f0ce75e 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -1,11 +1,138 @@
---
-import Welcome from '../components/Welcome.astro';
-import Layout from '../layouts/Layout.astro';
-
-// Welcome to Astro! Wondering what to do next? Check out the Astro documentation at https://docs.astro.build
-// Don't want to use any of this? Delete everything in this file, the `assets`, `components`, and `layouts` directories, and start fresh.
+import Layout from "../layouts/Layout.astro";
---
-
+
+
+
+
+
+ # polynux@terminal:~$ whoami
+
+
+
+
+
+ Welcome to my terminal! I'm polynux, a developer
+ passionate about open source.
+
+
+ polynux@terminal:~$ ls -la projects/
+
+
+
+
+ Name
+ Type
+ Description
+
+
+
+
+ github/
+ directory
+ 45 repositories of code and experiments
+
+
+ website/
+ link
+ Personal website and blog
+
+
+
+
+
+ polynux@terminal:~$ cat contact.txt
+ Location: La rue, France
+GitHub: https://github.com/polynux
+Website: https://grossebeut.eu
+Twitter: @larue_off
+Email: Available on request
+
+ polynux@terminal:~$ git log --oneline
+ * 45 repositories created and maintained
+* Open source contributor and enthusiast
+* Always learning and building new things
+* Available for collaboration and interesting projects
+* Passionate about clean code and innovative solutions
+
+ polynux@terminal:~$ echo "Quick Links"
+
+
+
+
+
+ polynux@terminal:~$ █
+
+
+
+
+
+
+
diff --git a/src/styles/global.css b/src/styles/global.css
new file mode 100644
index 0000000..1314339
--- /dev/null
+++ b/src/styles/global.css
@@ -0,0 +1,73 @@
+@layer base, utils, components;
+
+@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap");
+@import "@webtui/css";
+
+@import "@webtui/theme-catppuccin";
+@import "@webtui/plugin-nf";
+
+@layer base {
+ :root {
+ --font-size: 14px;
+ --line-height: 1.3;
+ /* Font weight for bold text */
+ --font-weight-bold: 700;
+ /* Font weight for regular text */
+ --font-weight-normal: 400;
+ --font-family: "JetBrains Mono", monospace, "Symbols Nerd Font";
+ }
+}
+
+body {
+ margin: 0;
+ padding: 20px;
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ font-size: 2ch;
+ line-height: 1.6;
+}
+.preheader {
+ text-align: center;
+ margin-bottom: 4ch;
+}
+h1 {
+ font-size: 2ch;
+ margin-bottom: 3ch;
+}
+h2 {
+ font-size: 1.8ch;
+ margin: 4ch 0 2ch 0;
+}
+.contact-info {
+ font-size: 1.6ch;
+ line-height: 1.8;
+}
+.git-log {
+ font-size: 1.4ch;
+ line-height: 1.7;
+}
+footer {
+ text-align: center;
+ margin-top: 6ch;
+ font-size: 1ch;
+}
+.cursor-line {
+ font-size: 1.6ch;
+ margin-top: 4ch;
+}
+.welcome-text {
+ font-size: 1.6ch;
+ text-align: center;
+ margin: 4ch 0;
+}
+.button-container {
+ text-align: center;
+ margin: 4ch 0;
+}
+
+table tr td::before {
+ height: 3lh;
+}