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
使用 Link 组件链接到非 SPA 页面
参见 #9758,这些外部链接不应被断链检查器报告
- ✅ pathname:///dogfooding/javadoc#goodlink1
- ✅ pathname:///dogfooding/javadoc#goodlink2
- ✅ /dogfooding/javadoc#goodlink3 (target=_blank)
- ✅ /dogfooding/javadoc#goodlink4 (target=_blank)
这些链接已损坏(尝试单击它们),应该报告。我们需要为它们明确禁用断链检查器
- ❌ /dogfooding/javadoc#badlink1
- ❌ /dogfooding/javadoc#badlink2
- ❌ /dogfooding/javadoc#badlink3 (target=_self)
- ❌ /dogfooding/javadoc#badlink4 (target=_self)