.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"label": "Tutorial - Basics",
|
||||
"label": "基础使用",
|
||||
"position": 2,
|
||||
"link": {
|
||||
"type": "generated-index",
|
||||
"description": "5 minutes to learn the most important Docusaurus concepts."
|
||||
"description": "完成 ZHub 服务安装后,来看看一遍就会的基础使用文档~"
|
||||
}
|
||||
}
|
||||
|
32
docs/tutorial-basics/broadcast.md
Normal file
32
docs/tutorial-basics/broadcast.md
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
title: 广播消息
|
||||
description: 发送、接收广播消息
|
||||
---
|
||||
|
||||
:::tip
|
||||
消息接收
|
||||
广播消息的消息接收,与主题消息、延时消息 api一致,且使用了相同 topic 命名空间
|
||||
|
||||
- 消息接收
|
||||
- 广播消息发送
|
||||
|
||||
:::
|
||||
|
||||
## 消息接收
|
||||
|
||||
> [广播消息接收](publish-subscribe.md#订阅主题消息)
|
||||
|
||||
## 广播消息发送
|
||||
|
||||
> 和发布订阅消息基本差不多
|
||||
|
||||
```java
|
||||
private ZHubClient zhub;
|
||||
|
||||
@RestMapping(name = "publish_test", auth = false, comment = "发送广播消息测试")
|
||||
public String publishTest(String value) {
|
||||
zhub.broadcast("topic-a", value);
|
||||
return "send ok!";
|
||||
}
|
||||
```
|
@@ -1,23 +0,0 @@
|
||||
---
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
# Congratulations!
|
||||
|
||||
You have just learned the **basics of Docusaurus** and made some changes to the **initial template**.
|
||||
|
||||
Docusaurus has **much more to offer**!
|
||||
|
||||
Have **5 more minutes**? Take a look at **[versioning](../tutorial-extras/manage-docs-versions.md)** and **[i18n](../tutorial-extras/translate-your-site.md)**.
|
||||
|
||||
Anything **unclear** or **buggy** in this tutorial? [Please report it!](https://github.com/facebook/docusaurus/discussions/4610)
|
||||
|
||||
## What's next?
|
||||
|
||||
- Read the [official documentation](https://docusaurus.io/)
|
||||
- Modify your site configuration with [`docusaurus.config.js`](https://docusaurus.io/docs/api/docusaurus-config)
|
||||
- Add navbar and footer items with [`themeConfig`](https://docusaurus.io/docs/api/themes/configuration)
|
||||
- Add a custom [Design and Layout](https://docusaurus.io/docs/styling-layout)
|
||||
- Add a [search bar](https://docusaurus.io/docs/search)
|
||||
- Find inspirations in the [Docusaurus showcase](https://docusaurus.io/showcase)
|
||||
- Get involved in the [Docusaurus Community](https://docusaurus.io/community/support)
|
@@ -1,34 +0,0 @@
|
||||
---
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Create a Blog Post
|
||||
|
||||
Docusaurus creates a **page for each blog post**, but also a **blog index page**, a **tag system**, an **RSS** feed...
|
||||
|
||||
## Create your first Post
|
||||
|
||||
Create a file at `blog/2021-02-28-greetings.md`:
|
||||
|
||||
```md title="blog/2021-02-28-greetings.md"
|
||||
---
|
||||
slug: greetings
|
||||
title: Greetings!
|
||||
authors:
|
||||
- name: Joel Marcey
|
||||
title: Co-creator of Docusaurus 1
|
||||
url: https://github.com/JoelMarcey
|
||||
image_url: https://github.com/JoelMarcey.png
|
||||
- name: Sébastien Lorber
|
||||
title: Docusaurus maintainer
|
||||
url: https://sebastienlorber.com
|
||||
image_url: https://github.com/slorber.png
|
||||
tags: [greetings]
|
||||
---
|
||||
|
||||
Congratulations, you have made your first post!
|
||||
|
||||
Feel free to play around and edit this post as much you like.
|
||||
```
|
||||
|
||||
A new blog post is now available at [http://localhost:3000/blog/greetings](http://localhost:3000/blog/greetings).
|
@@ -1,57 +0,0 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Create a Document
|
||||
|
||||
Documents are **groups of pages** connected through:
|
||||
|
||||
- a **sidebar**
|
||||
- **previous/next navigation**
|
||||
- **versioning**
|
||||
|
||||
## Create your first Doc
|
||||
|
||||
Create a Markdown file at `docs/hello.md`:
|
||||
|
||||
```md title="docs/hello.md"
|
||||
# Hello
|
||||
|
||||
This is my **first Docusaurus document**!
|
||||
```
|
||||
|
||||
A new document is now available at [http://localhost:3000/docs/hello](http://localhost:3000/docs/hello).
|
||||
|
||||
## Configure the Sidebar
|
||||
|
||||
Docusaurus automatically **creates a sidebar** from the `docs` folder.
|
||||
|
||||
Add metadata to customize the sidebar label and position:
|
||||
|
||||
```md title="docs/hello.md" {1-4}
|
||||
---
|
||||
sidebar_label: 'Hi!'
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Hello
|
||||
|
||||
This is my **first Docusaurus document**!
|
||||
```
|
||||
|
||||
It is also possible to create your sidebar explicitly in `sidebars.js`:
|
||||
|
||||
```js title="sidebars.js"
|
||||
module.exports = {
|
||||
tutorialSidebar: [
|
||||
'intro',
|
||||
// highlight-next-line
|
||||
'hello',
|
||||
{
|
||||
type: 'category',
|
||||
label: 'Tutorial',
|
||||
items: ['tutorial-basics/create-a-document'],
|
||||
},
|
||||
],
|
||||
};
|
||||
```
|
@@ -1,43 +0,0 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# Create a Page
|
||||
|
||||
Add **Markdown or React** files to `src/pages` to create a **standalone page**:
|
||||
|
||||
- `src/pages/index.js` → `localhost:3000/`
|
||||
- `src/pages/foo.md` → `localhost:3000/foo`
|
||||
- `src/pages/foo/bar.js` → `localhost:3000/foo/bar`
|
||||
|
||||
## Create your first React Page
|
||||
|
||||
Create a file at `src/pages/my-react-page.js`:
|
||||
|
||||
```jsx title="src/pages/my-react-page.js"
|
||||
import React from 'react';
|
||||
import Layout from '@theme/Layout';
|
||||
|
||||
export default function MyReactPage() {
|
||||
return (
|
||||
<Layout>
|
||||
<h1>My React page</h1>
|
||||
<p>This is a React page</p>
|
||||
</Layout>
|
||||
);
|
||||
}
|
||||
```
|
||||
|
||||
A new page is now available at [http://localhost:3000/my-react-page](http://localhost:3000/my-react-page).
|
||||
|
||||
## Create your first Markdown Page
|
||||
|
||||
Create a file at `src/pages/my-markdown-page.md`:
|
||||
|
||||
```mdx title="src/pages/my-markdown-page.md"
|
||||
# My Markdown page
|
||||
|
||||
This is a Markdown page
|
||||
```
|
||||
|
||||
A new page is now available at [http://localhost:3000/my-markdown-page](http://localhost:3000/my-markdown-page).
|
60
docs/tutorial-basics/create-connection.md
Normal file
60
docs/tutorial-basics/create-connection.md
Normal file
@@ -0,0 +1,60 @@
|
||||
---
|
||||
sidebar_position: 0
|
||||
title: 创建连接
|
||||
description: 初始化客户端连接对象
|
||||
---
|
||||
|
||||
:::tip
|
||||
目前已提供三种客户端连接使用
|
||||
|
||||
- Java 项目
|
||||
- [普通 Java 项目](#java通用)
|
||||
- [使用 Redkale 的 Java 项目](#redkale框架-项目里面使用)
|
||||
- [Golang 项目](#golang-项目中使用)
|
||||
|
||||
:::
|
||||
|
||||
---
|
||||
|
||||
## Java通用
|
||||
|
||||
> 在Java 项目中引入 zhub-client.jar
|
||||
|
||||
```java
|
||||
private ZHubClient zhub;
|
||||
|
||||
@Before
|
||||
public void init() {
|
||||
// 参数说明:① ip:端⼝, ②消费者组名称, ③项⽬实例名(名称需全局唯⼀)④授权码
|
||||
zhub = new ZHubClient("127.0.0.1:6066", "test-hub", "DEV-LOCAL", "user@pwd123");
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Redkale框架 项目里面使用
|
||||
|
||||
> 在Java的redkale 项目中引入 zhub-rekale.jar
|
||||
> 在配置文件中配置zhub组件
|
||||
|
||||
```
|
||||
# source.properties 中配置
|
||||
############ ClusterSource @Resource(name="hub") ############
|
||||
redkale.cluster.zhub[hub].addr = 127.0.0.1:6066
|
||||
redkale.cluster.zhub[hub].auth = user@pwd123
|
||||
redkale.cluster.zhub[hub].groupid = test-hub
|
||||
```
|
||||
|
||||
> 在 service 中注入组件
|
||||
>
|
||||
|
||||
```java
|
||||
@Resource(name = "hub")
|
||||
protected ZHubClient zhub;
|
||||
```
|
||||
|
||||
## Golang 项目中使用
|
||||
|
||||
> 待补充
|
||||
|
||||
---
|
35
docs/tutorial-basics/delay.md
Normal file
35
docs/tutorial-basics/delay.md
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
sidebar_position: 2
|
||||
title: 延时消息
|
||||
description: zhub 的延时消息使用
|
||||
---
|
||||
|
||||
:::tip
|
||||
|
||||
首先完成 **[连接创建](create-connection.md)** ,便可进行**延时消息**的发送和接收,
|
||||
|
||||
- [订阅主题消息](#订阅主题消息)
|
||||
- [发送延时消息](#发送延时消息)
|
||||
|
||||
:::
|
||||
|
||||
## 订阅主题消息
|
||||
|
||||
> 见 [主题的订阅](publish-subscribe.md#订阅主题消息)
|
||||
|
||||
## 发送延时消息
|
||||
|
||||
> 参数说明:①主题名称 ②消息内容 ③延时多久,单位ms
|
||||
> zhub.delay("topic-delay-a", "delay-value", 1000);
|
||||
>
|
||||
|
||||
示例代码:
|
||||
```java
|
||||
private ZHubClient zhub;
|
||||
|
||||
@RestMapping(name = "delay_test", auth = false, comment = "发送延时主题消息测试")
|
||||
public String delayTest(String value) {
|
||||
zhub.delay("topic-delay-a", "delay-value", 1000);
|
||||
return "send ok!";
|
||||
}
|
||||
```
|
@@ -1,31 +0,0 @@
|
||||
---
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# Deploy your site
|
||||
|
||||
Docusaurus is a **static-site-generator** (also called **[Jamstack](https://jamstack.org/)**).
|
||||
|
||||
It builds your site as simple **static HTML, JavaScript and CSS files**.
|
||||
|
||||
## Build your site
|
||||
|
||||
Build your site **for production**:
|
||||
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
The static files are generated in the `build` folder.
|
||||
|
||||
## Deploy your site
|
||||
|
||||
Test your production build locally:
|
||||
|
||||
```bash
|
||||
npm run serve
|
||||
```
|
||||
|
||||
The `build` folder is now served at [http://localhost:3000/](http://localhost:3000/).
|
||||
|
||||
You can now deploy the `build` folder **almost anywhere** easily, **for free** or very small cost (read the **[Deployment Guide](https://docusaurus.io/docs/deployment)**).
|
@@ -1,150 +0,0 @@
|
||||
---
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
# Markdown Features
|
||||
|
||||
Docusaurus supports **[Markdown](https://daringfireball.net/projects/markdown/syntax)** and a few **additional features**.
|
||||
|
||||
## Front Matter
|
||||
|
||||
Markdown documents have metadata at the top called [Front Matter](https://jekyllrb.com/docs/front-matter/):
|
||||
|
||||
```text title="my-doc.md"
|
||||
// highlight-start
|
||||
---
|
||||
id: my-doc-id
|
||||
title: My document title
|
||||
description: My document description
|
||||
slug: /my-custom-url
|
||||
---
|
||||
// highlight-end
|
||||
|
||||
## Markdown heading
|
||||
|
||||
Markdown text with [links](./hello.md)
|
||||
```
|
||||
|
||||
## Links
|
||||
|
||||
Regular Markdown links are supported, using url paths or relative file paths.
|
||||
|
||||
```md
|
||||
Let's see how to [Create a page](/create-a-page).
|
||||
```
|
||||
|
||||
```md
|
||||
Let's see how to [Create a page](./create-a-page.md).
|
||||
```
|
||||
|
||||
**Result:** Let's see how to [Create a page](./create-a-page.md).
|
||||
|
||||
## Images
|
||||
|
||||
Regular Markdown images are supported.
|
||||
|
||||
You can use absolute paths to reference images in the static directory (`static/img/docusaurus.png`):
|
||||
|
||||
```md
|
||||

|
||||
```
|
||||
|
||||

|
||||
|
||||
You can reference images relative to the current file as well. This is particularly useful to colocate images close to the Markdown files using them:
|
||||
|
||||
```md
|
||||

|
||||
```
|
||||
|
||||
## Code Blocks
|
||||
|
||||
Markdown code blocks are supported with Syntax highlighting.
|
||||
|
||||
```jsx title="src/components/HelloDocusaurus.js"
|
||||
function HelloDocusaurus() {
|
||||
return (
|
||||
<h1>Hello, Docusaurus!</h1>
|
||||
)
|
||||
}
|
||||
```
|
||||
|
||||
```jsx title="src/components/HelloDocusaurus.js"
|
||||
function HelloDocusaurus() {
|
||||
return <h1>Hello, Docusaurus!</h1>;
|
||||
}
|
||||
```
|
||||
|
||||
## Admonitions
|
||||
|
||||
Docusaurus has a special syntax to create admonitions and callouts:
|
||||
|
||||
:::tip My tip
|
||||
|
||||
Use this awesome feature option
|
||||
|
||||
:::
|
||||
|
||||
:::danger Take care
|
||||
|
||||
This action is dangerous
|
||||
|
||||
:::
|
||||
|
||||
:::tip My tip
|
||||
|
||||
Use this awesome feature option
|
||||
|
||||
:::
|
||||
|
||||
:::danger Take care
|
||||
|
||||
This action is dangerous
|
||||
|
||||
:::
|
||||
|
||||
## MDX and React Components
|
||||
|
||||
[MDX](https://mdxjs.com/) can make your documentation more **interactive** and allows using any **React components inside Markdown**:
|
||||
|
||||
```jsx
|
||||
export const Highlight = ({children, color}) => (
|
||||
<span
|
||||
style={{
|
||||
backgroundColor: color,
|
||||
borderRadius: '20px',
|
||||
color: '#fff',
|
||||
padding: '10px',
|
||||
cursor: 'pointer',
|
||||
}}
|
||||
onClick={() => {
|
||||
alert(`You clicked the color ${color} with label ${children}`)
|
||||
}}>
|
||||
{children}
|
||||
</span>
|
||||
);
|
||||
|
||||
This is <Highlight color="#25c2a0">Docusaurus green</Highlight> !
|
||||
|
||||
This is <Highlight color="#1877F2">Facebook blue</Highlight> !
|
||||
```
|
||||
|
||||
export const Highlight = ({children, color}) => (
|
||||
<span
|
||||
style={{
|
||||
backgroundColor: color,
|
||||
borderRadius: '20px',
|
||||
color: '#fff',
|
||||
padding: '10px',
|
||||
cursor: 'pointer',
|
||||
}}
|
||||
onClick={() => {
|
||||
alert(`You clicked the color ${color} with label ${children}`);
|
||||
}}>
|
||||
{children}
|
||||
</span>
|
||||
);
|
||||
|
||||
This is <Highlight color="#25c2a0">Docusaurus green</Highlight> !
|
||||
|
||||
This is <Highlight color="#1877F2">Facebook blue</Highlight> !
|
41
docs/tutorial-basics/publish-subscribe.md
Normal file
41
docs/tutorial-basics/publish-subscribe.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
sidebar_position: 1
|
||||
title: 订阅&发布
|
||||
description: zhub 创建客户端连接、订阅主题、发送主题消息
|
||||
---
|
||||
|
||||
:::tip
|
||||
|
||||
发布-订阅(Publish-Subscribe):消息中间件可以用于实现发布-订阅模式。发布者将消息发布到一个或多个主题(Topic),而订阅者订阅感兴趣的主题。当有新的消息发布到主题时,所有订阅了该主题的订阅者都会接收到消息。这样可以实现一对多的消息传递,降低发送方和接收方之间的耦合性。
|
||||
|
||||
首先完成 **[连接创建](create-connection.md)** ,便可进行消息的发送和接收,
|
||||
- [订阅主题消息](#订阅主题消息)
|
||||
- [发送主题消息](#发送主题消息)
|
||||
|
||||
:::
|
||||
|
||||
|
||||
## 订阅主题消息
|
||||
|
||||
```java
|
||||
// 事件订阅
|
||||
zhub.subscribe("topic-a", x -> {
|
||||
System.out.println("接收到主题 topic-a 事件,消息内容:" + x);
|
||||
});
|
||||
```
|
||||
|
||||
## 发送主题消息
|
||||
|
||||
测试发送主题消息
|
||||
|
||||
```java
|
||||
private ZHubClient zhub;
|
||||
|
||||
@RestMapping(name = "publish_test", auth = false, comment = "发送主题消息测试")
|
||||
public String publishTest(String value) {
|
||||
zhub.publish("topic-a", value);
|
||||
return "send ok!";
|
||||
}
|
||||
```
|
||||
|
||||
这个时候,将会在订阅端收到主题订阅消息,并在控制台输出: `接收到主题 topic-a 事件,消息内容:xx` 的消息内容
|
Reference in New Issue
Block a user