From 22ad31c553b6b85ff98cb82db9f5dd0303b84029 Mon Sep 17 00:00:00 2001 From: ckie Date: Mon, 16 Sep 2024 14:00:04 +0300 Subject: [PATCH] initial commit :3 --- .editorconfig | 14 +++++ .gitignore | 21 +++++++ .npmrc | 1 + .prettierignore | 4 ++ .prettierrc | 8 +++ README.md | 42 ++++++++++++++ bun.lockb | Bin 0 -> 78271 bytes flake.lock | 61 ++++++++++++++++++++ flake.nix | 18 ++++++ jsconfig.json | 19 +++++++ package.json | 29 ++++++++++ postcss.config.js | 6 ++ src/app.d.ts | 13 +++++ src/app.html | 12 ++++ src/lib/index.js | 1 + src/main.css | 44 +++++++++++++++ src/routes/+layout.svelte | 32 +++++++++++ src/routes/+page.svelte | 27 +++++++++ src/routes/colors/+page.svelte | 17 ++++++ src/routes/colors/Color.svelte | 24 ++++++++ static/aladin/Aladin-Regular.ttf | Bin 0 -> 42160 bytes static/aladin/OFL.txt | 94 +++++++++++++++++++++++++++++++ static/favicon.png | Bin 0 -> 1571 bytes svelte.config.js | 15 +++++ tailwind.config.js | 70 +++++++++++++++++++++++ vite.config.js | 11 ++++ 26 files changed, 583 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 README.md create mode 100755 bun.lockb create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 jsconfig.json create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 src/app.d.ts create mode 100644 src/app.html create mode 100644 src/lib/index.js create mode 100644 src/main.css create mode 100644 src/routes/+layout.svelte create mode 100644 src/routes/+page.svelte create mode 100644 src/routes/colors/+page.svelte create mode 100644 src/routes/colors/Color.svelte create mode 100644 static/aladin/Aladin-Regular.ttf create mode 100644 static/aladin/OFL.txt create mode 100644 static/favicon.png create mode 100644 svelte.config.js create mode 100644 tailwind.config.js create mode 100644 vite.config.js 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 0000000000000000000000000000000000000000..3eb889268dfb2a35dac08cf512e6ed99d46e4725 GIT binary patch literal 78271 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..32f239005155043263a12d26a3c60f1a7c520902 GIT binary patch literal 42160 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 C?TByy literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..825b9e65af7c104cfb07089bb28659393b4f2097 GIT binary patch literal 1571 zcmV+;2Hg3HP)Px)-AP12RCwC$UE6KzI1p6{F2N z1VK2vi|pOpn{~#djwYcWXTI_im_u^TJgMZ4JMOsSj!0ma>B?-(Hr@X&W@|R-$}W@Z zgj#$x=!~7LGqHW?IO8+*oE1MyDp!G=L0#^lUx?;!fXv@l^6SvTnf^ac{5OurzC#ZMYc20lI%HhX816AYVs1T3heS1*WaWH z%;x>)-J}YB5#CLzU@GBR6sXYrD>Vw(Fmt#|JP;+}<#6b63Ike{Fuo!?M{yEffez;| zp!PfsuaC)>h>-AdbnwN13g*1LowNjT5?+lFVd#9$!8Z9HA|$*6dQ8EHLu}U|obW6f z2%uGv?vr=KNq7YYa2Roj;|zooo<)lf=&2yxM@e`kM$CmCR#x>gI>I|*Ubr({5Y^rb zghxQU22N}F51}^yfDSt786oMTc!W&V;d?76)9KXX1 z+6Okem(d}YXmmOiZq$!IPk5t8nnS{%?+vDFz3BevmFNgpIod~R{>@#@5x9zJKEHLHv!gHeK~n)Ld!M8DB|Kfe%~123&Hz1Z(86nU7*G5chmyDe ziV7$pB7pJ=96hpxHv9rCR29%bLOXlKU<_13_M8x)6;P8E1Kz6G<&P?$P^%c!M5`2` zfY2zg;VK5~^>TJGQzc+33-n~gKt{{of8GzUkWmU110IgI0DLxRIM>0US|TsM=L|@F z0Bun8U!cRB7-2apz=y-7*UxOxz@Z0)@QM)9wSGki1AZ38ceG7Q72z5`i;i=J`ILzL z@iUO?SBBG-0cQuo+an4TsLy-g-x;8P4UVwk|D8{W@U1Zi z!M)+jqy@nQ$p?5tsHp-6J304Q={v-B>66$P0IDx&YT(`IcZ~bZfmn11#rXd7<5s}y zBi9eim&zQc0Dk|2>$bs0PnLmDfMP5lcXRY&cvJ=zKxI^f0%-d$tD!`LBf9^jMSYUA zI8U?CWdY@}cRq6{5~y+)#h1!*-HcGW@+gZ4B};0OnC~`xQOyH19z*TA!!BJ%9s0V3F?CAJ{hTd#*tf+ur-W9MOURF-@B77_-OshsY}6 zOXRY=5%C^*26z?l)1=$bz30!so5tfABdSYzO+H=CpV~aaUefmjvfZ3Ttu9W&W3Iu6 zROlh0MFA5h;my}8lB0tAV-Rvc2Zs_CCSJnx@d`**$idgy-iMob4dJWWw|21b4NB=LfsYp0Aeh{Ov)yztQi;eL4y5 zMi>8^SzKqk8~k?UiQK^^-5d8c%bV?$F8%X~czyiaKCI2=UH=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"] + } + } +});