📝 write start docs

This commit is contained in:
yanyongyu
2021-12-24 19:02:11 +08:00
parent 6ed87f1910
commit 75e2ca77df
9 changed files with 1496 additions and 1335 deletions

View File

@ -10,12 +10,12 @@ import type { Feature } from "../components/Hero";
import styles from "../css/index.module.css";
export default function Home() {
const feature: Feature = {
const firstFeature: Feature = {
title: "Develop",
tagline: "fast to code",
description: "仅需两步,即可开始编写你的机器人",
};
const features: [Feature, Feature] = [
} as const;
const secondFeatures = [
{
title: "Plugin",
tagline: "build bot with plugins",
@ -26,13 +26,25 @@ export default function Home() {
tagline: "write once run everywhere",
description: "支持多种平台,以及多样的事件响应方式",
},
] as const;
const thirdFeatures = [
{
title: "Async",
tagline: "asynchronous first",
description: "异步优先式开发,提高运行效率",
},
{
title: "DI",
tagline: "bultin dependency injection system",
description: "简单清晰的依赖注入系统,内置依赖函数减少用户代码",
},
];
return (
<Layout>
<Hero />
<div className="max-w-7xl mx-auto py-16 px-4 text-center md:px-16">
<HeroFeature {...feature}>
<HeroFeature {...firstFeature}>
<CodeBlock
title="Installation"
className={clsx("inline-block language-bash", styles.homeCodeBlock)}
@ -58,7 +70,7 @@ export default function Home() {
</div>
<div className="max-w-7xl mx-auto py-16 px-4 md:grid md:grid-cols-2 md:gap-6 md:px-16">
<div className="pb-16 text-center md:pb-0">
<HeroFeature {...features[0]}>
<HeroFeature {...secondFeatures[0]}>
<CodeBlock
title
className={clsx(
@ -80,7 +92,7 @@ export default function Home() {
</HeroFeature>
</div>
<div className="text-center">
<HeroFeature {...features[1]}>
<HeroFeature {...secondFeatures[1]}>
<CodeBlock
title
className={clsx(
@ -91,12 +103,58 @@ export default function Home() {
{[
"import nonebot",
"# OneBot",
"from nonebot.adapters.onebot.v11 import Bot as OneBot",
"from nonebot.adapters.onebot.v11 import Adapter as OneBotAdapter",
"# 钉钉",
"from nonebot.adapters.ding import Bot as DingBot",
"from nonebot.adapters.ding import Adapter as DingAdapter",
"driver = nonebot.get_driver()",
'driver.register_adapter("onebot", OneBot)',
'driver.register_adapter("ding", DingBot)',
"driver.register_adapter(OneBotAdapter)",
"driver.register_adapter(DingAdapter)",
].join("\n")}
</CodeBlock>
</HeroFeature>
</div>
</div>
<div className="max-w-7xl mx-auto py-16 px-4 md:grid md:grid-cols-2 md:gap-6 md:px-16">
<div className="pb-16 text-center md:pb-0">
<HeroFeature {...thirdFeatures[0]}>
<CodeBlock
title
className={clsx(
"inline-block language-python",
styles.homeCodeBlock
)}
>
{[
"from nonebot import on_message",
"# 注册一个消息响应器",
"matcher = on_message()",
"# 注册一个消息处理器",
"# 并重复收到的消息",
"@matcher.handle()",
"async def handler(event: Event) -> None:",
" await matcher.send(event.get_message())",
].join("\n")}
</CodeBlock>
</HeroFeature>
</div>
<div className="text-center">
<HeroFeature {...thirdFeatures[1]}>
<CodeBlock
title
className={clsx(
"inline-block language-python",
styles.homeCodeBlock
)}
>
{[
"from nonebot import on_command",
"# 注册一个命令响应器",
'matcher = on_command("help", alias={"帮助"})',
"# 注册一个命令处理器",
"# 通过依赖注入获得命令名以及参数",
"@matcher.handle()",
"async def handler(cmd = Command(), arg = CommandArg()) -> None:",
" await matcher.send()",
].join("\n")}
</CodeBlock>
</HeroFeature>