commit 22ad31c553b6b85ff98cb82db9f5dd0303b84029 Author: ckie Date: Mon Sep 16 14:00:04 2024 +0300 initial commit :3 diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..0a9bd62 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# EditorConfig is awesome: https://editorconfig.org + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true + +[*.{js,ts,svelte}] +charset = utf-8 +indent_style = tab +indent_size = 4 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..79518f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +node_modules + +# Output +.output +.vercel +/.svelte-kit +/build + +# OS +.DS_Store +Thumbs.db + +# Env +.env +.env.* +!.env.example +!.env.test + +# Vite +vite.config.js.timestamp-* +vite.config.ts.timestamp-* diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..b6f27f1 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..ab78a95 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +# Package Managers +package-lock.json +pnpm-lock.yaml +yarn.lock diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..301b168 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,8 @@ +{ + "useTabs": true, + "singleQuote": false, + "trailingComma": "none", + "printWidth": 100, + "plugins": ["prettier-plugin-svelte"], + "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..2d2132b --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# floral.systems + +```bash +bun i +bun dev +``` + +## Building + +To create a production version of your app: + +```bash +bun run build +``` + +You can preview the production build with `npm run preview`. + +> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. + +## license + +> MIT License +> +> Copyright (c) 2024 the floral.systems contributors +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in all +> copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +> SOFTWARE. diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000..3eb8892 Binary files /dev/null and b/bun.lockb differ diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..0136f65 --- /dev/null +++ b/flake.lock @@ -0,0 +1,61 @@ +{ + "nodes": { + "flake-utils": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1726243404, + "narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..77c7d3f --- /dev/null +++ b/flake.nix @@ -0,0 +1,18 @@ +{ + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { self, nixpkgs, flake-utils }: + flake-utils.lib.eachDefaultSystem (system: + let pkgs = import nixpkgs { inherit system; }; + in { + # For local development... + devShell = pkgs.mkShell { buildInputs = with pkgs; [ bun ]; }; + + # ... and remote deployment. + # packages = {}; + + }); +} diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..fc93cbd --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler" + } + // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias + // except $lib which is handled by https://kit.svelte.dev/docs/configuration#files + // + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes + // from the referenced tsconfig.json - TypeScript does not merge them in +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..1fa0480 --- /dev/null +++ b/package.json @@ -0,0 +1,29 @@ +{ + "name": "floral.systems", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch", + "lint": "prettier --check .", + "format": "prettier --write ." + }, + "devDependencies": { + "@sveltejs/adapter-auto": "^3.0.0", + "@sveltejs/kit": "^2.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0", + "autoprefixer": "^10.4.20", + "postcss": "^8.4.47", + "prettier": "^3.1.1", + "prettier-plugin-svelte": "^3.1.2", + "svelte": "^4.2.7", + "svelte-check": "^4.0.0", + "tailwindcss": "^3.4.11", + "typescript": "^5.0.0", + "vite": "^5.0.3" + }, + "type": "module" +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..0f77216 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {} + } +}; diff --git a/src/app.d.ts b/src/app.d.ts new file mode 100644 index 0000000..743f07b --- /dev/null +++ b/src/app.d.ts @@ -0,0 +1,13 @@ +// See https://kit.svelte.dev/docs/types#app +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } +} + +export {}; diff --git a/src/app.html b/src/app.html new file mode 100644 index 0000000..77a5ff5 --- /dev/null +++ b/src/app.html @@ -0,0 +1,12 @@ + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/src/lib/index.js b/src/lib/index.js new file mode 100644 index 0000000..856f2b6 --- /dev/null +++ b/src/lib/index.js @@ -0,0 +1 @@ +// place files you want to import through the `$lib` alias in this folder. diff --git a/src/main.css b/src/main.css new file mode 100644 index 0000000..823ea68 --- /dev/null +++ b/src/main.css @@ -0,0 +1,44 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@font-face { + font-family: "Aladin"; + src: url("/aladin/Aladin-Regular.ttf") format("truetype"); + font-weight: normal; + font-style: normal; +} + +::view-transition-old(root), +::view-transition-new(root) { + animation-duration: 0.08s; +} + +html { + @apply h-full; +} +body { + @apply h-[100%] flex; + > div { + line-height: inherit; + > * { + /* The layout's root node */ + flex: 1 1 0; + } + } +} + +b { + @apply text-lavender-500; +} + +a:not(.no-link-style), button.link-style { + @apply link-style-u; +} + + +@layer utilities { + .link-style-u { + @apply text-lavender-500 hover:text-lavender-700 active:text-lavender-950 visited:text-spring-500 visited:hover:text-spring-700 active:text-spring-950 underline; + } +} diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte new file mode 100644 index 0000000..cb0b296 --- /dev/null +++ b/src/routes/+layout.svelte @@ -0,0 +1,32 @@ + + +
+ + +
+ + colors +
+ +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte new file mode 100644 index 0000000..e01cd2a --- /dev/null +++ b/src/routes/+page.svelte @@ -0,0 +1,27 @@ +

An all-encompassing declarative
build ecosystem.

+

Build your *nix programs with {PKGS}'s extensive collection of 68368 packages
+ and configure your machines with {DISTRO} using the Nix language.

+ + + +
+
+

Community Focused

+ Floral is a non-profit ran by volunteer developers. + together, we maintain {PKGS} and our extensive build infrastructure. +
+
+

Battle-hardened

+ {DISTRO} is a fork of NixOS and inherits + its 932 integration tests, running a whole VM before new packages + ever reach your system. +
+
+

Friendly

+ We take care of eachother! With a focus on + integrated infrastructure, clear code & documentation, + you should have an easy time compared to traditional *nix distributions. +
+
+ + diff --git a/src/routes/colors/+page.svelte b/src/routes/colors/+page.svelte new file mode 100644 index 0000000..3554487 --- /dev/null +++ b/src/routes/colors/+page.svelte @@ -0,0 +1,17 @@ + + +{#each Object.keys(colors) as name} + +{/each} diff --git a/src/routes/colors/Color.svelte b/src/routes/colors/Color.svelte new file mode 100644 index 0000000..839194d --- /dev/null +++ b/src/routes/colors/Color.svelte @@ -0,0 +1,24 @@ + + +{#if typeof colors[name] == "object"} +

{name}

+
+ {#each Object.keys(colors[name]) as n} + + {/each} +
+
+{:else if typeof colors[name] == "string"} +
+ + {name} + {colors[name]} + +
+{/if} diff --git a/static/aladin/Aladin-Regular.ttf b/static/aladin/Aladin-Regular.ttf new file mode 100644 index 0000000..32f2390 Binary files /dev/null and b/static/aladin/Aladin-Regular.ttf differ diff --git a/static/aladin/OFL.txt b/static/aladin/OFL.txt new file mode 100644 index 0000000..176acca --- /dev/null +++ b/static/aladin/OFL.txt @@ -0,0 +1,94 @@ +Copyright (c) 2011 Angel Koziupa (sudtipos@sudtipos.com), +Copyright (c) 2011 Alejandro Paul (sudtipos@sudtipos.com), +with Reserved Font Name "Aladin" +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/static/favicon.png b/static/favicon.png new file mode 100644 index 0000000..825b9e6 Binary files /dev/null and b/static/favicon.png differ diff --git a/svelte.config.js b/svelte.config.js new file mode 100644 index 0000000..2d34349 --- /dev/null +++ b/svelte.config.js @@ -0,0 +1,15 @@ +import adapter from "@sveltejs/adapter-auto"; +import { vitePreprocess } from "@sveltejs/vite-plugin-svelte"; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + kit: { + // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list. + // If your environment is not supported, or you settled on a specific environment, switch out the adapter. + // See https://kit.svelte.dev/docs/adapters for more information about adapters. + adapter: adapter() + }, + preprocess: vitePreprocess() +}; + +export default config; diff --git a/tailwind.config.js b/tailwind.config.js new file mode 100644 index 0000000..993269d --- /dev/null +++ b/tailwind.config.js @@ -0,0 +1,70 @@ +import colors from "tailwindcss/colors"; + +/** @type {import("tailwindcss").Config} */ +export default { + content: ["./src/**/*.{html,js,svelte,ts}"], + theme: { + extend: { + fontFamily: { + aladin: ["Aladin", "sans-serif"] + } + }, + colors: { + transparent: "transparent", + current: "currentColor", + black: colors.black, + white: colors.white, + violet: { + 50: "#f3f4fb", + 100: "#e3e6f6", + 200: "#ced5ef", + 300: "#acb8e4", + 400: "#8495d6", + 500: "#6775ca", + 600: "#5158bb", + 700: "#494bac", + 800: "#41408d", + 900: "#383870", + 950: "#252546" + }, + lavender: { + 50: "#fff4ff", + 100: "#fee7ff", + 200: "#fdcfff", + 300: "#fea4fe", + 400: "#fc76fa", + 500: "#f342f0", + 600: "#d722d0", + 700: "#b318aa", + 800: "#921689", + 900: "#77186e", + 950: "#500248" + }, + 'spring': { + '50': '#f5faf3', + '100': '#e7f5e3', + '200': '#d0e9c9', + '300': '#9cd08f', + '400': '#7dbb6d', + '500': '#599f48', + '600': '#458237', + '700': '#39672e', + '800': '#305328', + '900': '#294423', + '950': '#12240f', + }, + }, + screens: { + sm: "640px", + md: "768px", + lg: "1024px" + // >=xl removed as site isn't + // that dense https://tailwindcss.com/docs/screens + } + }, + plugins: [], + safelist: [ + // this is pretty sensible, and depended on in src/routes/colors/Color.svelte + { pattern: /bg-.+/ } + ] +}; diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..87595a1 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,11 @@ +import { sveltekit } from "@sveltejs/kit/vite"; +import { defineConfig } from "vite"; + +export default defineConfig({ + plugins: [sveltekit()], + server: { + fs: { + allow: ["./tailwind.config.js"] + } + } +});