我目前正在评估使用 Docusaurus 生成静态网站。该网站本身并不以文档为重点,事实上,该网站甚至与计算机或技术无关。但作为一名技术人员,我希望为该网站提供 CI 和 Git 支持的发布策略。
Docusaurus 使用 Markdown 作为其页面内容(在基于 React 的自定义页面之外)。然而,当构建这些 Markdown 页面时,它们都被放置在静态站点中名为 的顶级文件夹中docs。该文件夹命名与我想要创建的网站不太相符。
有一个配置设置,customDocsPath但这仅更改构建查找 Markdown 文件的位置,而不更改创建的站点内容中的输出路径。
我不是 React 开发人员,但除了在构建引擎中破解 JavaScript 来搜索/替换 的实例之外docs,还有更好的方法吗?
在一个Docusaurus网站,似乎任何page将只显示该网站title在浏览器选项卡中,但一旦你下到doc级别,浏览器选项卡并反映页面的标题(doc)你是。
由于titleof的doc是在浏览器选项卡中显示的内容(并且title网站的is是所有的在浏览器选项卡中显示的内容pages),因此我一直在寻找为设置“标题”的地方pages,但是我要么找不到正确的位置来设置title或那不是答案。
我还尝试过以更常规的方式设置浏览器标签文本(例如使用document.title),但被告知document找不到该对象。
我觉得必须有一个地方说“任何类型的东西page都应在浏览器选项卡中显示此文本”(或只是“浏览器选项卡应显示___文本”),但我一直无法找到该代码。 ..
有人处理过吗?
我一直在尝试让环境变量在我的文档构建中工作。
我在添加dotenv-webpack插件并以这种方式替换值方面取得了一些成功。这有需要某种.env文件的缺点
我想让我的构建自动知道环境变量,即。输出的一切printenv
我试过将它添加到 package.json:
TEST_ENV_VAR=working docusaurus start"
但是当我记录process.env对象时,那里什么也没有。
我怎样才能使这项工作?
当为我的 docusaurus 2 网站启动纱线时,我看到该网站正在本地主机上运行(http://localhost:3000/)。但是,我注意到存在未终止的 JSX 内容错误。尽管降价是正确的。
这是出现的错误:
76 | </li>
77 | </ul>
> 78 | </MDXLayout>
| ^
79 | )
80 | };
81 | MDXContent.isMDXComponent = true
Run Code Online (Sandbox Code Playgroud) 我想使用“docs”插件和自定义 (JavaScript) 插件将文档填充到我的 Docusaurus 项目中,以将其连接到无头 CMS。目前,我正在使用loadContent Lifecycle API 事件来调用我的 Headless CMS API,然后使用fs.writeFileSync在“/docs”中创建物理降价文件并覆盖 ./sidebars.js 文件,以便出现“docs”插件与经典的预设作品。
./my-plugin/index.js:
module.exports = function (context, options) {
return {
name: 'my-docusaurus-plugin',
async loadContent() {
//calls to Headless CMS API for documentation content
let response = await fetchArticles('documentation');
// Adds the markdown files for 'docs' plugin using fs.writeFileSync
await buildArticles(response)
//fetch homepage and navigation sections from CMS API
let homepage = await fetchPages('homepage');
let sidebarSection = await fetchPages('page');
//overwrite ./sidebars.js with API navigation data …Run Code Online (Sandbox Code Playgroud) 我有一个现有的网站,只想使用 docusaurus 来管理 /docs 目录(例如作为静态站点发布到那里)。当我遵循所有文档时,它会创建 docs 目录和单独的网站目录,如何在本地测试时让它呈现 /docs 并在构建静态站点时仅发布该子目录?
有没有办法将 Markdown 文件内容包含到 Docusaurus V2 中的另一个 Markdown 文件中?我正在尝试组织我的文档文件夹结构。
\n当我们创建一个 Markdown 文件时,例如在文档中,Docusaurus 会自动在其他一些项目文件中设置文件路径。我想知道如何使其与文档文件夹中的文件夹一起使用?
\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 docc\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 chapter1\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 index.md\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 session1.md\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 session2.md\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 chapter2\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 index.md\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 session1.md\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 session2.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 doc1.md\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 doc2.md\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 doc3.md\nRun Code Online (Sandbox Code Playgroud)\n 从 docusaurus 文档来看,导航栏项目只能有某些类型,例如链接、下拉菜单和搜索。
如何添加自定义按钮,例如我想添加登录按钮?
我目前正在决定是否将我的开发人员文档从 Sphinx 迁移到 Docusaurus。阻碍我的一件事是 Docusaurus(实际上是一般的 Markdown)不支持从其他文件中提取特定的文本行。
Sphinx (reStructuredText) 允许您在另一个文件上的和标记include之间发送文本- 对于从功能齐全的脚本中提取代码片段非常有用:start-afterend-before
.. include:: ./scripts/matts_script.py
:start-after: # marker_1
:end-before: # marker_2
Run Code Online (Sandbox Code Playgroud)
那么 Docusaurus 有办法做到这一点吗?有人做过吗?我想也许可以利用 MDX 和 JSX,但这实际上只是一个猜测。
有没有一种方法可以让一个页面拥有多个 URL ?
我有:
---
slug: /foo
---
Run Code Online (Sandbox Code Playgroud)
我希望页面加载时使用/foo或/bar。
我想我可以用另一个文件制作另一个文件并让它模仿内容......但希望有另一种方法。