Markdown 功能支持测试文档

239 阅读2分钟

以下是一个标准的 Markdown 测试文档,可用于测试 Markdown 编辑器的功能支持情况:

Markdown 功能支持测试文档

此文档用于测试 Markdown 编辑器是否完整支持 CommonMark 和 GitHub Flavored Markdown (GFM) 标准。ssfsffsfs

简单服务端示例

源文件(src/simple_service_server.cpp)

src/service_example/src/simple_service_server.cpp

#include <rclcpp/rclcpp.hpp>
#include <std_srvs/srv/set_bool.hpp>
#include <memory>

class SimpleServiceServer : public rclcpp::Node
{
public:
    SimpleServiceServer() : Node("simple_service_server"), robot_enabled_(false)
    {
        // 创建服务端
        service_ = this->create_service<std_srvs::srv::SetBool>(
            "robot_control",
            std::bind(&SimpleServiceServer::handle_service, this,
                     std::placeholders::_1, std::placeholders::_2));
    
        RCLCPP_INFO(this->get_logger(), "机器人控制服务已启动");
    }

private:
    void handle_service(
        const std::shared_ptr<std_srvs::srv::SetBool::Request> request,
        std::shared_ptr<std_srvs::srv::SetBool::Response> response)
    {
        // 处理请求
        robot_enabled_ = request->data;
    
        // 设置响应
        response->success = true;
    
        if (robot_enabled_) {
            response->message = "机器人已启用";
            RCLCPP_INFO(this->get_logger(), "收到请求:启用机器人");
        } else {
            response->message = "机器人已禁用";
            RCLCPP_INFO(this->get_logger(), "收到请求:禁用机器人");
        }
    
        RCLCPP_INFO(this->get_logger(), "服务响应已发送");
    }
  
    rclcpp::Service<std_srvs::srv::SetBool>::SharedPtr service_;
    bool robot_enabled_;
};

int main(int argc, char * argv[])
{
    rclcpp::init(argc, argv);
    rclcpp::spin(std::make_shared<SimpleServiceServer>());
    rclcpp::shutdown();
    return 0;
}
服务通信图示
sequenceDiagram
    participant A as 节点A<br/>(机器人控制器)
    participant B as 节点B<br/>(视觉识别服务)
    participant C as 节点C<br/>(导航规划器)
  
    Note over A,B: 服务接口: FindObject.srv
    Note over A,B: 请求: string object_name
    Note over A,B: 响应: bool found,<br/>float64 x, float64 y,<br/>string message
  
    A->>B: FindObject请求<br/>object_name="apple"
    activate B
    Note right of B: 图像处理中...<br/>识别苹果位置
    B-->>A: FindObject响应<br/>found=true, x=1.2, y=0.8
    deactivate B
  
    C->>B: FindObject请求<br/>object_name="apple"
    activate B
    Note right of B: 使用缓存结果<br/>(上次识别数据)
    B-->>C: FindObject响应<br/>found=true, x=1.2, y=0.8
    deactivate B
graph TD
    subgraph "ROS2 服务通信架构"
        A["节点A<br/>(机器人控制器)"]
        B["节点B<br/>(视觉识别服务)"]
        C["节点C<br/>(导航规划器)"]
    
        A -->|"请求: apple"| B
        B -->|"响应: found=true<br/>x=1.2, y=0.8"| A
    
        C -->|"请求: apple"| B  
        B -->|"响应: found=true<br/>x=1.2, y=0.8"| C
    end
  

    
  

1. 标题测试

H1

H2

H3

H4
H5
H6

2. 文本样式测试

  • 粗体文本
  • 斜体文本
  • 删除线文本
  • 行内代码
  • 粗斜体组合
  • 上标: 2^10^
  • 下标: H2O

3. 列表测试

无序列表

  • 项目一
  • 项目二
    • 嵌套项目一
    • 嵌套项目二
      • 三级嵌套

有序列表

  1. 第一项
  2. 第二项
    1. 嵌套第一项
    2. 嵌套第二项
  3. 第三项

任务列表

  • 已完成任务
  • 未完成任务
    • 嵌套未完成任务

4. 链接和图片测试

普通链接 带标题的链接

图片替代文本转存失败,建议直接上传图片文件

5. 代码块测试

def hello_world():
    print("Hello, World!")
console.log("JavaScript 代码块");

6. 表格测试

左对齐居中对齐右对齐
数据1数据2数据3
数据4数据5数据6

7. 引用测试

一级引用

二级嵌套引用

三级嵌套引用

8. 分隔线测试



9. 内联 HTML 测试

红色文本

HTML 表格

10. 特殊功能测试

脚注测试

这是一个脚注示例1

表情符号测试

😄 ❤️ 👍

高亮测试

==高亮文本==

自动链接测试

https://example.com
<https://example.com>
<email@example.com>

### 转义字符测试

\*不是斜体\*
\_不是斜体\_

这个测试文档涵盖了 Markdown 的大部分常用功能,包括:

- 标题
- 文本样式
- 各种列表
- 链接和图片
- 代码块
- 表格
- 引用
- 分隔线
- HTML 支持
- 高级功能(脚注、表情符号、高亮等)
- 转义字符

您可以用此文档测试 Markdown 编辑器的功能完整性。如果所有元素都能正确渲染,则说明该编辑器对 Markdown 的支持较为完整。

Footnotes

  1. 这里是脚注内容