跳至主要内容

Markdown .mdx 测试

这是一个从 Markdown 生成的页面,用于说明 Markdown 页面功能并测试一些边缘情况。

info

有用的信息。

实时编辑器
function Button() {
  return (
    <button type="button" onClick={() => alert('hey')}>
      Click me!
    </button>
  );
}
结果
正在加载...

使用绝对路径

选项卡

这是一颗苹果 🍎

评论

HTML 评论

HTML 多行评论

MDX 评论

MDX 多行评论

从源代码文件导入代码块

假设您有一个 React 组件。

您可以在 MDX 中导入并使用它

myMarkdownFile.mdx
import MyComponent from './myComponent';

<MyComponent />;
http://localhost:3000

MyComponent 渲染!

bool=false

但您也可以直接在 MDX 中显示其源代码,这要归功于 Webpack raw-loader

myMarkdownFile.mdx
import CodeBlock from '@theme/CodeBlock';

import MyComponentSource from '!!raw-loader!./myComponent';

<CodeBlock className="language-jsx">{MyComponentSource}</CodeBlock>;
http://localhost:3000
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/

import React, {useState} from 'react';

export default function MyComponent() {
const [bool, setBool] = useState(false);
return (
<div>
<p>MyComponent rendered !</p>
<p>bool={bool ? 'true' : 'false'}</p>
<p>
<button onClick={() => setBool((b) => !b)}>toggle bool</button>
</p>
</div>
);
}

测试

实时编辑器
function Demo() {
  useEffect(() => console.log('mount'), []);
  return null;
}
结果
正在加载...

代码块测试

标题
function Clock(props) {
const [date, setDate] = useState(new Date());
useEffect(() => {
var timerID = setInterval(() => tick(), 1000);

return function cleanup() {
clearInterval(timerID);
};
});

function tick() {
setDate(new Date());
}

return (
<div>
<h2>It is {date.toLocaleTimeString()}.</h2>
{/* prettier-ignore */}
long long long long long long long long long long long long line
{/* prettier-ignore */}
</div>
);
}
实时编辑器
function Clock(props) {
  const [date, setDate] = useState(new Date());
  useEffect(() => {
    var timerID = setInterval(() => tick(), 1000);

    return function cleanup() {
      clearInterval(timerID);
    };
  });

  function tick() {
    setDate(new Date());
  }

  return (
    <div>
      <h2>It is {date.toLocaleTimeString()}.</h2>
    </div>
  );
}
结果
正在加载...

Mermaid

自定义标题 ID

奇怪的标题

奇怪的标题

奇怪的标题

奇怪的标题

奇怪的标题

管道

代码标签 + 双管道:||

代码标签 + 双管道:||

图片边缘情况

详细信息

详细信息

没有摘要的详细信息

我的标题
一些文本
详细信息
一些文本

这是一个片段

你好

它应该可以正常工作 :)

任务列表

一个列表

  • 简单
  • 任务
  • 具有简单的
  • 样式

另一个列表

  • 嵌套
    • 任务
    • 应该格式良好
  • 无论
  • 多么奇怪

可以任意嵌套

  • 级别
    • 任务
    • 任务
    • 另一级
      • 任务
      • 任务
      • 更深
        • 任务
        • 任务
      • 任务
      • 任务
  • 任务

表情符号

此文本中的表情符号将使用 remark-emoji 替换🐶 👍

警示

插值 title 与一个(旧语法)

警示正文

插值 title 与一个(指令标签语法)

警示正文

important

警示别名 :::important 应具有“重要标题”

title

一些带有 Markdown 语法内容

nested 标题
非常嵌套的标题

一些带有 Markdown 语法内容

一些带有 Markdown 语法内容

在警示中使用制表符
警示嵌套

测试

警示在选项卡中

测试

没有标题的警示内容

链接

这是一个测试页面,用于查看 Docusaurus Markdown 功能是否正常工作

链接到资源

参见 #3337

链接到网站内托管的非 SPA 页面

参见 #3309

参见 #9758,这些外部链接不应被断链检查器报告

这些链接已损坏(尝试单击它们),应该报告。我们需要为它们明确禁用断链检查器

链接到 JSON