独立页面
页面功能由插件 plugin-content-pages
提供支持。它也是 Docusaurus 的默认插件。所以你创建的应用默认包含页面功能。
在位于项目的根目录下有个 pages
目录,你不仅可以使用 md/mdx
格式的文件来生成独立页面,更可以使用 React 代码来建立页面。
页面布局
如果你的页面是以 mdx
文件生成的,则它是默认包含网站公共的头部导航和底部的。
而如果你的页面是通过新建的 jsx
代码生成的,它是不包含公共部分的。你需要导入 Layout
组件。
import React from 'react';
import Layout from '@theme/Layout';
import Head from '@docusaurus/Head';
export default function () {
return (
<Layout title='城市印象' description='记录自己的城市风景,居一城,爱一城'>
<Head>
<meta name='keywords' content='城市,风景,无锡,随手拍,江南,太湖' />
</Head>
</Layout>
{/* ... */}
)
}
比如本站的足迹 https://spacexcode.com/routes 页面就是一个不包含公共头部和底部的页面。
import React from 'react';
import Head from '@docusaurus/Head';
export default function () {
return (
<>
<Head>
<meta name="title" content='我的足迹' />
<meta name="keywords" content='足迹,跑步,金城湾,尚贤湖,Strava,运动' />
</Head>
{/* ... */}
</>
)
}
当这个页面不包含 layout
组件的时候,如何去设置页面的标题,这里的标题不同于 meta
标签 name
属性里面的 title
,它直接显示在浏览器的标签里。
import Head from '@docusaurus/Head';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
export default function () {
const { siteConfig } = useDocusaurusContext();
return (
<>
<Head>
<title>{`New Page Title | ${siteConfig.title}`}</title>
</Head>
{/* ... */}
</>
)
}