我正在使用Confluence作为文档,包括最终用户文档和内部开发文档。
Confluence的问题在于它不允许重复的页面标题,因为URL只包含标题而不是整个树结构。
有没有办法改变这种行为?
有一个插件可以做到这一点,还有更多。 “更多”部分是问题所在,因为该插件非常昂贵,特别是如果只使用众多功能中的一个(https://marketplace.atlassian.com/plugins/com.k15t.scroll.scroll-versions)。
答案 0 :(得分:7)
添加"虚拟empoyee文件夹"时遇到同样的问题。到我们的维基。我们想要生成以下页面结构:
Employee 1
Personal Data
Contract Data
Training
...
Employee 2
Personal Data
Contract Data
Training
...
Employee X
Personal Data
Contract Data
Training
...
我们用肮脏但非常有效的解决方法解决了这个问题:首先,我们通过添加员工特定的前缀使页面名称独一无二:
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
...
我们定义了自己的"标签"标记不应出现在汇合前端的页面标题部分:
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
...
其余的由一些JavaScript-Magic完成,它通过 Confluence Admin>嵌入。自定义HTML :
<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>
黑名单确保&#34;标记&#34;没有隐藏在需要它们显示的地方。例如,在页面的编辑屏幕的标题字段中以及空间管理中的CSS编辑字段内。您可能希望扩展到
答案 1 :(得分:2)
Atlasian stated他们不会改变这种行为。 有像Scroll Versions这样的插件可以解决这个问题,但你可能想重新考虑那里的wiki结构。
维基百科是否允许多个同名网页?它没有。 如果你摆脱了维基的层次排序的想法,而是开始使用搜索功能和标签,那一切都是有道理的。
在为我们的项目设置文档时,我们进行了相同的讨论。如果您有> 150个名为“文档”的页面怎么办?如果您不知道确切的产品名称,请尝试搜索。
答案 2 :(得分:1)
Confluence不仅仅是一个wiki系统,因为它似乎促进了文档层次结构的使用。一个假设的例子可能是:
MongoDB
Installation
Linux
Windows
Mac
Security
Data Model
我希望简化页面标题,而不是像“MongoDB - &gt;安装 - &gt; Linux”那样命名它们。
但是,如果我只是保持简短,那么在这个和其他文档之间会发生各种名称冲突
答案 3 :(得分:1)
我的公司也有这个问题。处理这种情况的更好方法是为每个&#34; context&#34;创建一个工作区。 IMO,如果你需要在你正在创建的每个页面中插入一个前缀,它似乎是一个上下文划分。因此,最好在每个上下文中插入自己的Confluence空间。
仪表板 - 空格1 - 我的页面
仪表板 - 空格2 - 我的页面
当您创建空间时,您可以对它们进行分类,因此您可以插入标签,如&#34;项目&#34;,&#34;数据库&#34;,&#34;应用程序&#34;等。 https://confluence.atlassian.com/display/DOC/Using+Labels+to+Categorise+Spaces
此致
答案 4 :(得分:0)
我意识到这有点晚了,但是对于任何寻求此功能的人来说,我的解决方案不需要任何JavaScript技巧或特殊插件,只需一个看不见的ascii代码即可。
我在标题的末尾添加了ASCII字符255(如果需要,可以添加多个)。它显示为空格,因此不会显示在标题中。如果您不希望将标题作为URL的一部分,则这是一个有效的选择,因为Confluence会按pageId(即https://confluence.yourcompany.com/pages/viewpage.action?pageId=44335161)链接到该页面。
如果您不知道如何处理ASCII码,只需在数字键盘(或任何其他ASCII码)上键入255的同时按住Alt键即可。