Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions doc/babel.config.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module.exports = {
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
};
presets: [require.resolve('@docusaurus/core/lib/babel/preset')]
}
60 changes: 30 additions & 30 deletions doc/docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
// There are various equivalent ways to declare your Docusaurus config.
// See: https://docusaurus.io/docs/api/docusaurus-config

import {themes as prismThemes} from 'prism-react-renderer';
import { themes as prismThemes } from 'prism-react-renderer'

/** @type {import('@docusaurus/types').Config} */
const config = {
Expand All @@ -31,7 +31,7 @@ const config = {
// may want to replace "en" with "zh-Hans".
i18n: {
defaultLocale: 'en',
locales: ['en'],
locales: ['en']
},

presets: [
Expand All @@ -44,13 +44,13 @@ const config = {
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl:
'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/',
'https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/'
},
blog: {
showReadingTime: true,
feedOptions: {
type: ['rss', 'atom'],
xslt: true,
xslt: true
},
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
Expand All @@ -59,13 +59,13 @@ const config = {
// Useful options to enforce blogging best practices
onInlineTags: 'warn',
onInlineAuthors: 'warn',
onUntruncatedBlogPosts: 'warn',
onUntruncatedBlogPosts: 'warn'
},
theme: {
customCss: './src/css/custom.css',
},
}),
],
customCss: './src/css/custom.css'
}
})
]
],

themeConfig:
Expand All @@ -84,15 +84,15 @@ const config = {
type: 'docSidebar',
sidebarId: 'docSidebar',
position: 'left',
label: 'Docs',
label: 'Docs'
},
{to: '/blog', label: 'Blog', position: 'left'},
{ to: '/blog', label: 'Blog', position: 'left' },
{
href: 'https://github.com/IntegerAlex/hasty-server.git',
label: 'GitHub',
position: 'right',
},
],
position: 'right'
}
]
},
footer: {
style: 'dark',
Expand All @@ -102,36 +102,36 @@ const config = {
items: [
{
label: 'Docs',
to: '/docs/intro',
},
],
to: '/docs/intro'
}
]
},
{
title: 'Community',
items: [
{
label: 'GitHub',
href: 'https://github.com/IntegerAlex/hasty-server.git',
},
],
href: 'https://github.com/IntegerAlex/hasty-server.git'
}
]
},
{
title: 'More',
items: [
{
label: 'Blog',
to: '/blog',
},
],
},
to: '/blog'
}
]
}
],
copyright: `Copyright © ${new Date().getFullYear()} Hasty Server. Built with Docusaurus.`,
copyright: `Copyright © ${new Date().getFullYear()} Hasty Server. Built with Docusaurus.`
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
}),
};
darkTheme: prismThemes.dracula
}
})
}

export default config;
export default config
6 changes: 3 additions & 3 deletions doc/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = {
// By default, Docusaurus generates a sidebar from the docs folder structure
docSidebar: [{type: 'autogenerated', dirName: '.'}],
docSidebar: [{ type: 'autogenerated', dirName: '.' }]

// But you can create a sidebar manually
/*
Expand All @@ -28,6 +28,6 @@ const sidebars = {
},
],
*/
};
}

export default sidebars;
export default sidebars
42 changes: 21 additions & 21 deletions doc/src/components/HomepageFeatures/index.js
Original file line number Diff line number Diff line change
@@ -1,64 +1,64 @@
import clsx from 'clsx';
import Heading from '@theme/Heading';
import styles from './styles.module.css';
import clsx from 'clsx'
import Heading from '@theme/Heading'
import styles from './styles.module.css'

const FeatureList = [
{
title: 'High Performance',
description: 'Hasty Server is designed for speed. It’s built using low-level networking APIs, ensuring minimal overhead and high concurrency. This makes it capable of handling thousands of requests per second with ease, perfect for high-traffic applications.',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default
},
{
title: 'Developer Friendly',
description: 'It offers a simple and intuitive API, inspired by Express.js. Whether you’re a beginner or an experienced developer, the clear structure and easy-to-use syntax allow you to build applications faster and with fewer bugs.',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default
},
{
title: 'Built-in Security',
description: 'Security is a top priority. Hasty Server includes built-in protections against common vulnerabilities such as XSS (Cross-Site Scripting), CSRF (Cross-Site Request Forgery), and SQL injection, helping you create secure applications without extra effort.',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default
},
{
title: 'Extensible Architecture',
description: 'With its middleware-based architecture, Hasty Server allows you to add custom plugins and middlewares. You can extend its functionality by adding your own handlers or integrating third-party libraries with ease.',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default
},
{
title: 'Lightweight & Minimal',
description: 'Despite its powerful features, Hasty Server remains lightweight and efficient. It minimizes resource consumption, making it ideal for resource-constrained environments such as microservices or serverless applications.',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default
},
{
title: 'Flexible Routing',
description: 'Hasty Server provides a flexible routing system, allowing you to define routes for different HTTP methods (GET, POST, PUT, DELETE, etc.). You can also create dynamic routes with parameters for even more customization.',
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default,
},
];
Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default
}
]

function Feature({Svg, title, description}) {
function Feature ({ Svg, title, description }) {
return (
<div className={clsx('col col--4')}>
<div className="text--center">
<Svg className={styles.featureSvg} role="img" />
<div className='text--center'>
<Svg className={styles.featureSvg} role='img' />
</div>
<div className="text--center padding-horiz--md">
<Heading as="h3">{title}</Heading>
<div className='text--center padding-horiz--md'>
<Heading as='h3'>{title}</Heading>
<p>{description}</p>
</div>
</div>
);
)
}

export default function HomepageFeatures() {
export default function HomepageFeatures () {
return (
<section className={styles.features}>
<div className="container">
<div className="row">
<div className='container'>
<div className='row'>
{FeatureList.map((props, idx) => (
<Feature key={idx} {...props} />
))}
</div>
</div>
</section>
);
)
}
40 changes: 21 additions & 19 deletions doc/src/pages/index.js
Original file line number Diff line number Diff line change
@@ -1,43 +1,45 @@
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 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';
import Heading from '@theme/Heading'
import styles from './index.module.css'

function HomepageHeader() {
const {siteConfig} = useDocusaurusContext();
function HomepageHeader () {
const { siteConfig } = useDocusaurusContext()
return (
<header className={clsx('hero hero--primary', styles.heroBanner)}>
<div className="container">
<Heading as="h1" className="hero__title">
<div className='container'>
<Heading as='h1' className='hero__title'>
{siteConfig.title}
</Heading>
<p className="hero__subtitle">{siteConfig.tagline}</p>
<p className='hero__subtitle'>{siteConfig.tagline}</p>
<div className={styles.buttons}>
<Link
className="button button--secondary button--lg"
to="/docs/intro">
className='button button--secondary button--lg'
to='/docs/intro'
>
Hasty Server Documentation
</Link>
</div>
</div>
</header>
);
)
}

export default function Home() {
const {siteConfig} = useDocusaurusContext();
export default function Home () {
const { siteConfig } = useDocusaurusContext()
return (
<Layout
title={`Hello from ${siteConfig.title}`}
description="Description will go into a meta tag in <head />">
description='Description will go into a meta tag in <head />'
>
<HomepageHeader />
<main>
<HomepageFeatures />
</main>
</Layout>
);
)
}