我正在使用Confluence进行文档编制,包括最终用户文档和内部开发文档。
Confluence的问题在于它不允许重复的页面标题,因为URL只包含标题而不是整个树结构。
有没有办法改变这种行为?
有一个插件可以做到这一点,还有更多。 “更多”部分是问题,因为插件非常昂贵,特别是如果只使用许多功能中的一个(https://marketplace.atlassian.com/plugins/com.k15t.scroll.scroll-versions)。
Atlassian有qazxsw poi,他们不会改变这种行为。像qazxsw poi这样的插件可以解决这个问题,但是你可能想重新考虑那里的wiki结构。
维基百科是否允许多个具有相同名称的页面?它没有。如果你摆脱了维基的层次排序的想法,而是开始使用搜索功能和标签,这一切都是有道理的。
在为我们的项目设置文档时,我们进行了相同的讨论。如果您有> 150个页面命名为“文档”怎么办?如果您不知道确切的产品名称,请尝试搜索。
在我们的wiki中添加“virtual empoyee folders”时遇到了同样的问题。我们想要生成以下页面结构:
stated
我们用脏但非常有效的解决方法解决了这个问题:首先,我们通过添加员工特定的前缀使页面名称唯一:
Scroll Versions
我们定义了自己的“标记”来标记不应出现在汇合前端的页面标题部分:
Employee 1
Personal Data
Contract Data
Training
...
Employee 2
Personal Data
Contract Data
Training
...
Employee X
Personal Data
Contract Data
Training
...
剩下的工作由一个JavaScript-Magic完成,它通过Confluence Admin> Custom HTML嵌入:
Employee 1
Employee 1 - Personal Data
Employee 1 - Contract Data
Employee 1 - Training
...
Employee 2
Employee 2 - Personal Data
Employee 2 - Contract Data
Employee 2 - Training
...
Employee X
Employee X - Personal Data
Employee X - Contract Data
Employee X - Training
...
黑名单确保“标签”不会隐藏在您需要显示的位置。例如,在页面的编辑屏幕的标题字段中以及空间管理中的CSS编辑字段内。您可能想要扩展到
Confluence不仅仅是一个wiki系统,因为它似乎促进了文档层次结构的使用。一个假设的例子可能是:
Employee 1
[hide]Employee 1 - [/hide]Personal Data
[hide]Employee 1 - [/hide]Contract Data
[hide]Employee 1 - [/hide]Training
...
Employee 2
[hide]Employee 2 - [/hide]Personal Data
[hide]Employee 2 - [/hide]Contract Data
[hide]Employee 2 - [/hide]Training
...
Employee X
[hide]Employee X - [/hide]Personal Data
[hide]Employee X - [/hide]Contract Data
[hide]Employee X - [/hide]Training
...
我希望保持页面标题的简短,而不是像“MongoDB - >安装 - > Linux”那样命名它们。
但是,如果我只是保持简短,那么在这个和其他文档之间会发生各种名称冲突
我的公司也有这个问题。处理这种情况的更好方法是为每个“上下文”创建一个工作区。 IMO,如果你需要在你正在创建的每个页面中插入一个前缀,它似乎是一个上下文划分。因此,最好在每个上下文中插入自己的Confluence空间。
仪表板 - 空间1 - 我的页面 仪表板 - 空间2 - 我的页面
当您创建空间时,您可以对它们进行分类,因此您可以插入“项目”,“数据库”,“应用程序”等标签.qazxsw poi
问候
我意识到这有点晚了,但对于其他寻找此问题的人来说,我的解决方案不需要任何javascript技巧或特殊插件,只需要一个不可见的ascii代码。
我将ASCII字符255添加到标题的末尾(如果需要,可以添加多个字符)。它显示为空格,因此它不会显示在标题中。如果您不关心将标题作为URL的一部分,这只是一个有效的选项,因为Confluence将链接到pageId页面(即<script>(function() {
var expr = /\[hide\].*?\[\/hide\]/g,
blacklist = ['textarea', 'form', 'pre', 'script', 'style'];
$(document)
.ajaxSuccess(hideTextParts)
.on('ready', hideTextParts);
function isChildOfBlacklistedTag(node) {
while(node = node.parentNode) {
if (node.nodeType === Node.ELEMENT_NODE && blacklist.indexOf(node.nodeName.toLowerCase()) > -1) {
return true;
}
}
return false;
}
function hideTextParts() {
var root = document,
walker = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, null, false),
node;
while (node = walker.nextNode()) {
console.info(node.parentNode);
if (expr.test(node.textContent) && !isChildOfBlacklistedTag(node)) {
node.textContent = node.textContent.replace(expr, " ");
}
};
}
})();
</script>
)。
如果您不知道如何处理ASCII代码,只需在数字键盘(或任何其他ASCII代码)上键入255时按住Alt键。