我正在尝试使用Docusaurus工具来创建文档站点。到目前为止,一切都还好,直到我来到 Versioning 。
我的理解是:
// @route POST api/item
// @desc Create/Edit item
// @access Private
router.post(
"/",
passport.authenticate("jwt", { session: false }),
(req, res) => {
const itemFields = {};
const { errors, isValid } = validateItemInput(req.body);
// Check Validation
if (!isValid) {
// If any errors, send 400 with errors object
return res.status(400).json(errors);
}
if (req.body.name) itemFields.name = req.body.name;
if (req.body.component) itemFields.component = req.body.component;
if (req.body.parameter) itemFields.parameter = req.body.parameter;
if (req.body.severity) itemFields.severity = req.body.severity;
if (req.body.description) itemFields.description = req.body.description;
if (req.body.recomendation)
itemFields.recomendation = req.body.recomendation;
if (req.body.resources) itemFields.resources = req.body.resources;
Item.findOne({ item: req.params._id }).then(item => {
if (item) {
// Update
Item.findOneAndUpdate(
{ item: req.params._id },
{ $set: itemFields },
{ new: true }
).then(item => res.json(item));
} else {
// Create
// Save Item
new Item(itemFields).save().then(item => res.json(item));
}
});
}
);
中包含的内容是您下一个版本的最新文档/docs/**/*.md
目录中我不清楚我如何维护/发布对先前版本的更改?我在/website/versioned-docs/version-${version-number}
目录中所做的更改尚未准备好发布。那么,维护对旧版本文档所做更改的机制是什么?
此外,Docusaurus的文档说:
回扣功能
仅docs目录和侧栏中的文件 与最新版本不同的文件将被复制 每次指定新版本。如果没有变化 版本,Docusaurus将使用最新版本中的文件 该文件。
例如,对于最新版本1.0.0,存在原始ID为doc1的文档,并且其内容与 docs目录中的ID doc1。当新版本2.0.0是 创建后,doc1的文件将不会复制到 versioned_docs / version-2.0.0 /。仍然会有一个页面 docs / 2.0.0 / doc1.html,但它将使用版本1.0.0中的文件。
https://docusaurus.io/docs/en/versioning#fallback-functionality
因此,假设我现在需要维护/更新先前版本的文档,但是该文件没有重复,因为在创建新版本时,对该特定文件没有任何更改。现在,过程如何?是否要手动将必要的文件复制到/docs/**
目录中,然后进行更改?
答案 0 :(得分:0)
Docusaurus的维护者在这里。由于版本控制的实现方式,在V1中没有简单的方法来更新以前的版本。您可能不希望更新以前的版本,因为发布时应冻结一个版本,而应对新版本进行更新。
但是,如果您坚持要这样做,则始终可以在versioned_docs/version-X.X.X
目录下编辑生成的文件。但是,我建议您更改最新版本,并鼓励您的用户升级到最新版本。