import clsx from "clsx"; import Link from "@docusaurus/Link"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import Layout from "@theme/Layout"; import Heading from "@theme/Heading"; import { CodeSnippetComponentPlayground } from "../components/playground"; import styles from "./index.module.css"; import CodeBlock from "@theme/CodeBlock"; import type { JSX } from "react"; function HomepageHeader() { const { siteConfig } = useDocusaurusContext(); return (
{siteConfig.title}

{siteConfig.tagline}

Documentation Playground
); } export default function Home(): JSX.Element { return (
  • 🌌 Web standards with custom HTML elements
  • ⚛ïļ React-like API
  • ✒ïļ Declarative templating with JSX (no additional parsing)
  • ðŸšĨ Fine-grained reactivity with signals
  • 🛟 Type-safe components out of the box with TypeScript
  • ðŸŠķ Lightweight (~4KB minified and compressed)
{`\ import { Component, useSignal } from "sinho"; class MyCounter extends Component() { render() { const [value, setValue] = useSignal(0); return ( <>

Counter: {value}

{" "}

); } }`}
); }