commit bb3958518d5b467bb0627b77d23b9d37dc7b3492 Author: Leafus Date: Sun Dec 15 01:06:18 2024 +0100 almost complete website diff --git a/README.md b/README.md new file mode 100644 index 0000000..ff19a3e --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +# 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/ +│ ├── layouts/ +│ │ └── Layout.astro +│ └── pages/ +│ └── index.astro +└── package.json +``` + +To learn more about the folder structure of an Astro project, refer to [our guide on project structure](https://docs.astro.build/en/basics/project-structure/). + +## 🧞 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). diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..f3d51ab --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,12 @@ +// @ts-check +import { defineConfig } from 'astro/config'; +import icon from "astro-icon"; + +import tailwind from '@astrojs/tailwind'; + +import react from '@astrojs/react'; + +// https://astro.build/config +export default defineConfig({ + integrations: [tailwind(), icon(), react()] +}); \ No newline at end of file diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000..3269781 Binary files /dev/null and b/bun.lockb differ diff --git a/package.json b/package.json new file mode 100644 index 0000000..50913fe --- /dev/null +++ b/package.json @@ -0,0 +1,25 @@ +{ + "name": "", + "type": "module", + "version": "0.0.1", + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/react": "^4.1.0", + "@astrojs/tailwind": "^5.1.3", + "@fontsource/poppins": "^5.1.0", + "@iconify-json/solar": "^1.2.1", + "@iconify/react": "^5.1.0", + "@types/react": "^19.0.1", + "@types/react-dom": "^19.0.2", + "astro": "^5.0.5", + "astro-icon": "^1.1.4", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwindcss": "^3.4.16" + } +} \ No newline at end of file diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100644 index 0000000..f157bd1 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1,9 @@ + + + + diff --git a/src/assets/global.css b/src/assets/global.css new file mode 100644 index 0000000..7ad6b49 --- /dev/null +++ b/src/assets/global.css @@ -0,0 +1,39 @@ +:root { + --crust: #11111b; + --mantle: #181825; + --base: #1e1e2e; + + --surface0: #313244; + --surface1: #45475a; + --surface2: #585b70; + + --overlay0: #6c7086; + --overlay1: #7f849c; + --overlay2: #9399b2; + + --subtext0: #a6adc8; + --subtext1: #bac2de; + --text: #cdd6f4; + + --lavender: #b4befe; + --blue: #89b4fa; + --sapphire: #74c7ec; + --sky: #89dceb; + --teal: #94e2d5; + --green: #a6e3a1; + --yellow: #f9e2af; + --peach: #fab387; + --maroon: #eba0ac; + --red: #f38ba8; + --mauve: #cba6f7; + --mauve-rgb: rgba(203, 166, 247, 0.1); + --pink: #f5c2e7; + --flamingo: #f2cdcd; + --rosewater: #f5e0dc; +} + +body { + background-color: var(--crust); + color: var(--text); + font-family: Poppins; +} \ No newline at end of file diff --git a/src/assets/img/bg.jpg b/src/assets/img/bg.jpg new file mode 100644 index 0000000..ffc5244 Binary files /dev/null and b/src/assets/img/bg.jpg differ diff --git a/src/assets/img/logo.svg b/src/assets/img/logo.svg new file mode 100644 index 0000000..11d7afd --- /dev/null +++ b/src/assets/img/logo.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/img/pages.svg b/src/assets/img/pages.svg new file mode 100644 index 0000000..75579ca --- /dev/null +++ b/src/assets/img/pages.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx new file mode 100644 index 0000000..28a2c6e --- /dev/null +++ b/src/components/Navbar.tsx @@ -0,0 +1,112 @@ +import React, { useState } from 'react'; +import { Icon } from '@iconify/react'; +import Logo from "@/assets/img/logo.svg"; + +const NavbarWithSidebar = () => { + const [isSidebarOpen, setIsSidebarOpen] = useState(false); + const [isAnimating, setIsAnimating] = useState(false); + + const toggleSidebar = () => { + if (!isAnimating) { + setIsSidebarOpen(!isSidebarOpen); + setIsAnimating(true); + } + }; + + const closeSidebar = () => { + if (!isAnimating) { + setIsSidebarOpen(false); + setIsAnimating(true); + } + }; + + const handleAnimationEnd = () => { + setIsAnimating(false); + }; + + const NavLinks = () => ( + <> + + + Tailux + + + + Services + + + + Pages + + + ); + + return ( + <> +
+ +
+ +
+ yiffing.dev +
By furries, for furries :3
+
+
+
+ {/* Desktop Links */} +
+ +
+ {/* Mobile Hamburger Icon */} +
+ +
+
+ + {/* Mobile Sidebar */} + {(isSidebarOpen || isAnimating) && ( +
+
e.stopPropagation()} + onTransitionEnd={handleAnimationEnd} + > +
+ +
+
+ +
+
+
+ )} + + + + ); +}; + +export default NavbarWithSidebar; \ No newline at end of file diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro new file mode 100644 index 0000000..a80e3a7 --- /dev/null +++ b/src/layouts/Layout.astro @@ -0,0 +1,43 @@ +--- +interface Props { + title: string; +} + +const { title } = Astro.props; +import "@/assets/global.css" +import "@fontsource/poppins/400.css"; +import "@fontsource/poppins/500.css"; +import "@fontsource/poppins/600.css"; +import "@fontsource/poppins/700.css"; +import { ClientRouter } from 'astro:transitions'; + +import Logo from "@/assets/img/logo.svg" +import Navbar from "@/components/Navbar.tsx"; +--- + + + + + + + + + {title} + + + + + + + + + diff --git a/src/pages/index.astro b/src/pages/index.astro new file mode 100644 index 0000000..c90db54 --- /dev/null +++ b/src/pages/index.astro @@ -0,0 +1,45 @@ +--- +import Layout from '../layouts/Layout.astro'; +import Bg from '@/assets/img/bg.jpg' +import { Icon } from 'astro-icon/components' +--- + + +
+
+ +
+
+ Hewwo!~ +
+
+ We are an community 2 people ekhem of furry linux nerds and opensource software enthusiasts
+ that are just trying to create something cool :3 +
+ +
+ Also, take a look at our Forgejo instance git.yiffing.dev ! +
+
+
+ + \ No newline at end of file diff --git a/src/pages/pages.astro b/src/pages/pages.astro new file mode 100644 index 0000000..507a706 --- /dev/null +++ b/src/pages/pages.astro @@ -0,0 +1,93 @@ +--- +import Layout from '../layouts/Layout.astro'; +import PagesIcon from '@/assets/img/pages.svg' +--- + + +
+
+ +
+
+ Yiffing Pages +
+
+ Hosting websites, Made easy +
+
Quick 'n easy way to host a website for your project or just your personal website. Just put your open source project's page, blog, portfolio into a Git repository at Yiffing Git, and we will do the hard stuff for you.
+
+
+
+
+
+
+ 1 +
+ +
+ Set up Your Repository +
+ +
+ Create a public repository called pages to make the site available at the main subdomain. +
+
+
+ OR +
+
+ + Create a branch pages in a public repository:
+
git switch --orphan pages
+ git rm --cached -r . +
+
+
+ 2 +
+ +
+ Upload your files +
+ +
+ Upload your static HTML, css, js etc to the repository +
+
+
+
+ 3 +
+ +
+ You're done! :3 +
+ +
+ Access your website using this link:
+ https://USERNAME.fluffy.pw[/REPOSITORY][/@BRANCH] + +
+ Stuff in " [] " is optional if you have uploaded everything to your main pages repository it will be available at:
+ + https://USERNAME.fluffy.pw +
+
+
+
+
+ + \ No newline at end of file diff --git a/src/pages/services.astro b/src/pages/services.astro new file mode 100644 index 0000000..f916c35 --- /dev/null +++ b/src/pages/services.astro @@ -0,0 +1,11 @@ +--- +import Layout from '../layouts/Layout.astro'; +--- + + +
+
+ The stuff we host +
+
+
\ No newline at end of file diff --git a/tailwind.config.mjs b/tailwind.config.mjs new file mode 100644 index 0000000..19f0614 --- /dev/null +++ b/tailwind.config.mjs @@ -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: [], +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..3b1f457 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "astro/tsconfigs/strict", + "include": [ + ".astro/types.d.ts", + "**/*" + ], + "exclude": [ + "dist" + ], + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": [ + "src/*" + ] + }, + "jsx": "react-jsx", + "jsxImportSource": "react" + } +} \ No newline at end of file