diff --git a/eslint.config.js b/eslint.config.js index 1d8f3c3..7db973b 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -1,8 +1,9 @@ +import { defineConfig } from 'eslint/config'; import js from '@eslint/js'; import tseslint from 'typescript-eslint'; import astroPlugin from 'eslint-plugin-astro'; -export default tseslint.config( +export default defineConfig( js.configs.recommended, ...tseslint.configs.strict, ...astroPlugin.configs.recommended, diff --git a/src/components/icons/FuryStackLogo.astro b/src/components/icons/FuryStackLogo.astro new file mode 100644 index 0000000..4ccaffb --- /dev/null +++ b/src/components/icons/FuryStackLogo.astro @@ -0,0 +1,153 @@ +--- +interface Props { + size?: number; +} + +const { size = 96 } = Astro.props; +--- + + + diff --git a/src/pages/index.astro b/src/pages/index.astro index 9612754..082e504 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,23 +1,24 @@ --- -import { Image } from 'astro:assets'; import BaseLayout from '../layouts/BaseLayout.astro'; import PostCard from '../components/PostCard.astro'; import GitHubIcon from '../components/icons/GitHubIcon.astro'; +import FuryStackLogo from '../components/icons/FuryStackLogo.astro'; import { getCollection } from 'astro:content'; import { SITE_TITLE, SITE_DESCRIPTION, SITE_URL, SOCIAL } from '../consts'; -import logo from '../../public/images/furystack-logo-512.png'; const allPosts = await getCollection('posts', ({ data }) => !data.draft); const posts = allPosts.sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()); const [featured, ...rest] = posts; +const displayedPosts = rest.slice(0, 6); const ogImage = `${SITE_URL}/images/blog-cover.png`; ---
+
- +

FuryStack

{SITE_DESCRIPTION}

@@ -25,8 +26,118 @@ const ogImage = `${SITE_URL}/images/blog-cover.png`; GitHub + GitHub stars
+
+ npm install @furystack/core +
+
+
+ +
+
+
+
+
+ +
+

Type-Safe End-to-End

+

+ Share REST definitions between server and client with full type checking across the + stack. +

+
+
+
+ +
+

Modular by Design

+

+ Use the whole framework or pick individual packages a la carte — every module works + standalone. +

+
+
+
+ +
+

Batteries Included

+

+ Auth, DI, data stores, logging, caching, and i18n — everything you need out of the box. +

+
+
+
+ +
+

Frontend Ready

+

+ Shades: a JSX-based UI library with unidirectional data binding and micro-frontend + support. +

+
+
@@ -34,7 +145,7 @@ const ogImage = `${SITE_URL}/images/blog-cover.png`;
{ featured && ( -