This commit is contained in:
2024-11-28 17:30:51 +01:00
commit 6754d457c6
26 changed files with 18770 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
import clsx from 'clsx';
import Heading from '@theme/Heading';
import styles from './styles.module.css';
type FeatureItem = {
title: string;
image: string;
description: JSX.Element;
};
const FeatureList: FeatureItem[] = [
{
title: 'Easy to Use',
image: '/img/osui.png',
description: (
<>
With RSX, and CSS, You can easily express your imagination.
</>
),
},
{
title: 'Efficient',
image: '/img/osui.png',
description: (
<>
OSUI only renders when needs to, and rebuilds if necessary.
</>
),
},
{
title: 'Powered by Crossterm',
image: '/img/osui.png',
description: (
<>
Events and console output are powered by Crossterm.
</>
),
},
];
function Feature({title, image, description}: FeatureItem) {
return (
<div className={clsx('col col--4')}>
<div className="text--center">
{/* <img className={styles.featureSvg} src={image} /> */}
</div>
<div className="text--center padding-horiz--md">
<Heading as="h3">{title}</Heading>
<p>{description}</p>
</div>
</div>
);
}
export default function HomepageFeatures(): JSX.Element {
return (
<section className={styles.features}>
<div className="container">
<div className="row">
{FeatureList.map((props, idx) => (
<Feature key={idx} {...props} />
))}
</div>
</div>
</section>
);
}
@@ -0,0 +1,11 @@
.features {
display: flex;
align-items: center;
padding: 2rem 0;
width: 100%;
}
.featureSvg {
height: 200px;
width: 200px;
}
+74
View File
@@ -0,0 +1,74 @@
:root {
--ifm-color-primary: #d53313;
--ifm-color-primary-dark: #d53313;
--ifm-color-primary-darker: #d53313;
--ifm-color-primary-darkest: #d53313;
--ifm-color-primary-light: #d53313;
--ifm-color-primary-lighter: #d53313;
--ifm-color-primary-lightest: #d53313;
--ifm-code-font-size: 95%;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
}
[data-theme='dark'] {
--ifm-color-primary: #e43716;
--ifm-color-primary-dark: #e43716;
--ifm-color-primary-darker: #e43716;
--ifm-color-primary-darkest: #e43716;
--ifm-color-primary-light: #e43716;
--ifm-color-primary-lighter: #e43716;
--ifm-color-primary-lightest: #e43716;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
--ifm-background-color: black !important;
--ifm-navbar-background-color: black !important;
}
[data-theme='dark'] footer {
background-color: black !important;
}
[data-theme='light'] footer {
background-color: black !important;
}
[data-theme='dark'] .hero {
background-color: black !important;
color: white !important;
}
[data-theme='light'] .hero {
background-color: white !important;
color: black !important;
}
[data-theme='light'] .button--secondary {
background-color: black;
color: white;
}
[data-theme='light'] .button--secondary:hover {
background-color: var(--ifm-color-primary);
color: white;
}
[data-theme='dark'] .button--secondary:hover {
background-color: var(--ifm-color-primary);
border-color: var(--ifm-color-primary);
color: white;
}
[data-theme='light'] .theme-doc-footer-edit-meta-row {
background-color: white;
}
[data-theme='dark'] .theme-doc-version-badge {
background-color: black;
border-color: black;
color: white;
}
[data-theme='dark'] .dropdown__menu {
background-color: black;
border: solid 2px rgb(59, 59, 59);
}
+25
View File
@@ -0,0 +1,25 @@
@font-face {
font-family: 'Researcher'; /* The name you'll use in font-family */
src: url('/font/researcher.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
.heroBanner {
padding: 4rem 0;
text-align: center;
position: relative;
overflow: hidden;
}
@media screen and (max-width: 996px) {
.heroBanner {
padding: 2rem;
}
}
.buttons {
display: flex;
align-items: center;
justify-content: center;
}
+40
View File
@@ -0,0 +1,40 @@
import clsx from 'clsx';
import Link from '@docusaurus/Link';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import Layout from '@theme/Layout';
import HomepageFeatures from '@site/src/components/HomepageFeatures';
import Heading from '@theme/Heading';
import styles from './index.module.css';
function HomepageHeader() {
const {siteConfig} = useDocusaurusContext();
return (
<header className={clsx('hero hero--primary', styles.heroBanner)}>
<div className="container">
<h1 style={{fontFamily: 'Researcher'}}>{siteConfig.title}</h1>
<p className="hero__subtitle">Style your terminal, <b>The creative way</b></p>
<div className={styles.buttons}>
<Link
className="button button--secondary button--lg"
to="/docs/intro">
Get started
</Link>
</div>
</div>
</header>
);
}
export default function Home(): JSX.Element {
const {siteConfig} = useDocusaurusContext();
return (
<Layout
description={siteConfig.tagline}>
<HomepageHeader />
<main>
<HomepageFeatures />
</main>
</Layout>
);
}