Posts

Showing posts from December, 2018

Binomial Coefficient(二项式系数)

Image
In mathematics, any of the positive integers that occurs as a coefficient in the binomial theorem is a binomial coefficient. Commonly, a binomial coefficient is indexed by a pair of integers n ≥ k ≥ 0 and is written {\displaystyle {\tbinom {n}{k}}.} {\displaystyle {\tbinom {n}{k}}.} It is the coefficient of the xk term in the polynomial expansion of the binomial power (1 + x)n, and it is given by the formula. 英文描述 英文描述请参考下面的图。 中文描述 根据给定的公式计算二项式的值。 在这里有一个说明需要注意的是,如果结果超过 1,000,000,000 你的程序应该返回 -1。 如果结果没有定义的话,那么你的程序应该也要返回 -1。 思路和点评 在这里的计算,公式比较简单,就是计算 N,K N-K 的阶乘,在阶乘中,你可以使用递归进行计算。 但是需要注意的是对这个数字的阶乘计算量,程序是很容易溢出的,如果从出题者的意图来看就是要考察大数值的计算和计算中的溢出。 如果你使用的是 Java 的话,你应该使用类 BigDecimal,进行计算。如果你可以使用 Apache Common Math 的话,你就直接使用 CombinatoricsUtils.factorialDouble 进行计算。在计算中允许的最大参数值为 170,超过这个值以后就超过程序能够计算的最大值了。 如果你希望直接计算二项式系数的话,你可以使用 CombinatoricsUtils.binomialCoefficientDouble(40, 20) 直接进行计算。 源代码 源代码和有关代码的更新请访问 GitHub: https://github.com/cwiki-us/codebank-algo...

Build Castles(构建城堡)

Image
Charlemagne, the King of Frankie, 英文描述 请参考图片中的说明。 中文描述 根据给出的数组确定能够盖多少城堡。 思路和点评 我不能确定我的思路是正确的,也欢迎大家参与讨论。 根据给出的数组,因为有重复的值,我首先想到的是将给出的数组进行一次过滤和处理,去掉重复的值。 例如,给出的数组为:int[] A = { 2, 2, 3, 4, 3, 3, 2, 2, 1, 1, 2, 5 };,那么我希望处理为:int[] A = { 2, 3, 4, 3, 2, 1, 2, 5 }; 去掉重复的值,因为重复的值在这里没有意义。 然后根据新的数组进行判断,需要判断的是 2 个端点,你需要将 2 个端点考虑为 0。 那么根据上面已经处理过的数组,你在进行遍历的时候,针对第一个值 2 ,你需要判读左侧的值和右侧的值,因为默认左侧的值一直为 0 ,那么右侧的值为 3 的话,那么这里需要 v 需要 +1; 第 2 个值,因为第二个值的左侧,3 > 2, 但右侧 3 < 4。因此这个值不适合。 第 3 个值,左侧:4 > 3, 右侧 4 >3 这个值是合适的。 从这里我们找到的规律是,进行一次遍历,找到,如果只的左侧和右侧同时小于这值,或者左侧和右侧都同时大于这个值,那么这个值是合适的取值。 需要注意一个情况就是 {-3, -3},你初始化数组的时候,这个值为 {-3},那么这个地方是最少有一个合适的值。 源代码 源代码和有关代码的更新请访问 GitHub: https://github.com/cwiki-us/codebank-algorithm/blob/master/src/test/java/com/ossez/codebank/interview/tests/WayfairTest.java 测试类请参考: https://github.com/cwiki-us/codebank-algorithm/blob/master/src/test/java/com/ossez/codebank/interview/tests/WayfairTest.java 代码思路请参考: /** * https://www.cwiki.us/...

Flatten Nested Arrays(展平嵌套数组)

这个题目是在一个公司现场面谈的时候的一个题目。虽然对这种找工作上来就做题目的现象比较反感。 但是大环境如此,也只能被蹂躏了。 中文描述 题目要求比较简单:[1,2,[3],[[4]],5,6] -> [1,2,3,4,5,6] 就是数组中嵌套数组,考察一个数组[1,2,[3],[[4]],5,6]。 你怎么能够输出 1,2,3,4,5,6(并不要求按照顺序输出)。 这里是一个嵌套数组,你需要将这个数组中的值全部取出来。 思路和点评 不清楚其他语言中这个数据结构怎么存储,我假设的是在 Java 中存储的对象。 可以采用队列的方式来实现,例如,在 Java 中存储了整数,1, 2, 对象,[3] 为一个数组对象。 你可以先遍历一次 List,将所有的 List 的对象都压入队列中,然后进行出队。 在出队时候,判断对象是否为整数对象,如果是整数对象,就输出,如果不是整数对象,然后将数组对象继续进行遍历,然后压入队列,然后再出队。 在这里讨论的问题比较多,还有 [[[2]5]] 这种多层嵌套的问题。 经过网站上的考古,这里有 2 个方法可以更快的实现。1 是递归的方法,2 是 利用 Java 8 的 Stream 特性。 在写测试代码之前,你需要明白下数据结构的定义,要不然你没有办法测试。在 Java 中你可以定义为对象数组,如下: Object[] array = {  1 ,  2 ,  new   Object[] {  3 ,  4 ,  new   Object[] {  5 ,  new   Object[] {  new   Object[] {  6   } } },  7   },  8 ,  9 ,  10   }; 然后可以利用递归,在对对象数组进行遍历的时候,如果你遇到了对象,那么你需要再次调用你的方法,对对象中的内容进行遍历,如果这个时候已经没有对象了,可以返回第二层遍历的结果,并且插入到上层 List 列表中。 如果你使用的 Java 8 的 Stream,你需要对 Stre...

Count Up Down(上下计数)

这个题目是 Kayak 发布的代码挑战题目。 最简单的描述就是不使用循环,输出 0 到 5,然后同样不是会用循环的方式再次输出 5 到 0。 英文描述 Part 1 Write a program that counts in sequential order when given a start and end value - without using any iterative programing loops, i.e. while, for, do, for-each, etc. You can assume that both the start and end values will always be positive and that the start value will always be less then the end value. There should only be one method with the following signature: void countUp(int start, int end) { // All code exercise code should go here } Here is example output with start=0 and end=5: [ 0,1,2,3,4,5] Part 2 Continuing with part 1 change the output of the test, so that it now prints out in sequential order to the end value (only once), but then also counts down to the start value. Again, using no iterative loops, and assuming that both the start and end values will always be positive and that start value will always be less then the end value. There should only be one method with the foll...

Robot Movement(机器人移动)

Image
中文标题【机器人移动】 这个题目是 Kayak 发布的代码挑战题目。 我认为题目本身描述的不是十分清楚,方法需要返回结果,但是结果没有说明是机器人最后的坐标位置,还是最后的坐标位置距离原点的距离。同时,机器人的初始化方向等都没有十分明确的定义。 根据测试数据,机器人应该是从下往上(初始化的方向)。因为如果初始化的方向不确定的话,最后的坐标值可能会不一致。 我这里假设程序应该返回的是机器人的最后坐标位置,并且初始化的位置为 (0,0),方向为从下往上。 英文描述 A robot lands on Mars, which happens to be a cartesian grid; assuming that we hand the robot these instructions, such as LFFFRFFFRRFFF, where "L" is a "turn 90 degrees left", "R" is a "turn 90 degrees right", and "F" is "go forward one space。 please write control code for the robot such that it ends up at the appropriate-and-correct destination, and include unit tests. Here is an example output with command "FF": [0, 2] 中文描述 这里我不按照原文一字一字的翻译,但是尽量按照题目的要求把题目解释清楚。 这里题目的要求是,假设一个机器人降落到火星上了,我们现在需要给机器人发布指令。指令包括有 L,R,F 3 个。 L 表示的意思是机器人向左转 90 度,R 的意思表示的是机器人向右转 90 度,F 表示的是机器人向前移动一个坐标单位。 题目的表达并是是十分明确也清晰,比如说 LFFFRFFFRRFFF 应该返回是什么没有说清楚。假设 指令 FF ,返回的结果是 [0, 2],我默认的是程序需要返回机器人最后的坐标位置,0 ...

Binary Gap(二进制空白)

中文标题【二进制空白】 英文描述 A binary gap within a positive integer N is any maximal sequence of consecutive zeros that is surrounded by ones at both ends in the binary representation of N. For example, number 9 has binary representation 1001 and contains a binary gap of length 2. The number 529 has binary representation 1000010001 and contains two binary gaps: one of length 4 and one of length 3. The number 20 has binary representation 10100 and contains one binary gap of length 1. The number 15 has binary representation 1111 and has no binary gaps. The number 32 has binary representation 100000 and has no binary gaps. Write a function: class Solution { public int solution(int N); } that, given a positive integer N, returns the length of its longest binary gap. The function should return 0 if N doesn't contain a binary gap. For example, given N = 1041 the function should return 5, because N has binary representation 10000010001 and so its longest binary gap is of length 5. G...

[LintCode] Binary Tree Level Order Traversal(二叉树的层次遍历)

描述 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 样例 给一棵二叉树  {3,9,20,#,#,15,7}  : 3 / \ 9 20 / \ 15 7 返回他的分层遍历结果: [ [3], [9,20], [15,7] ] 挑战 挑战1:只使用一个队列去实现它 挑战2:用BFS算法来做 代码 GitHub 的源代码,请访问下面的链接: https://github.com/cwiki-us/java-tutorial/blob/master/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0069LevelOrderTest.java package com.ossez.lang.tutorial.tests.lintcode; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ossez.lang.tutorial.models.TreeNode; /** * <p> * 69 * <ul> * <li>@see <a href= * "https://www.cwiki.us/display/ITCLASSIFICATION/Binary+Tree+Level+Order+Traversal">https://www.cwiki.us/display/ITCLASSIFICATION/Binary+Tree+Level+Order+Traversal</a> * <li>@see<a href= * "https://www.lintcode.com/problem/binary-tree-level-order-trave...

[LintCode] Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)

描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你只需要确保可以将二叉树序列化为一个字符串,并且可以将字符串反序列化为原来的树结构。 对二进制树进行反序列化或序列化的方式没有限制,LintCode将您的 serialize 输出作为 deserialize 的输入,它不会检查序列化的结果。 样例 给出一个测试数据样例, 二叉树 {3,9,20,#,#,15,7} ,表示如下的树结构: 3 / \ 9 20 / \ 15 7 我们的数据是进行 BFS 遍历得到的。当你测试结果 wrong answer时,你可以作为输入调试你的代码。 你可以采用其他的方法进行序列化和反序列化。 代码 GitHub 的源代码,请访问下面的链接: https://github.com/cwiki-us/java-tutorial/blob/master/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0007SerializeAndDeserialize.java package com.ossez.lang.tutorial.tests.lintcode; import java.util.ArrayList; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ossez.lang.tutorial.models.TreeNode; /** * <p> * 7 * <ul> * <li>@see <a href= * "https://www.cwiki.us/display/ITCLASSIFICATION/Serialize+and+Deserialize+Binary+Tree">https://www.cwiki.us/display/ITCLASSIFICATION/Serialize+and+De...

[LintCode] Linked List Cycle(带环链表)

Image
描述 给定一个链表,判断它是否有环。 样例 给出 -21->10->4->5, tail connects to node index 1,返回 true。 这里解释下,题目的意思,在英文原题中,tail connects to node index 1 表示的是节点 5 还要链接回索引号 为 1 的节点。 一个典型的带环链表如下: 挑战 不要使用额外的空间 代码 GitHub 的源代码,请访问下面的链接: https://github.com/cwiki-us/java-tutorial/blob/master/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0102HasCycleTest.java package com.ossez.lang.tutorial.tests.lintcode; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.ossez.lang.tutorial.models.ListNode; /** * <p> * 102 * <ul> * <li>@see <a href= * "https://www.cwiki.us/display/ITCLASSIFICATION/Linked+List+Cycle">https://www.cwiki.us/display/ITCLASSIFICATION/Linked+List+Cycle</a> * <li>@see<a href= "https://www.lintcode.com/problem/linked-list-cycle/">https://www.lintcode.com/problem/linked-list-cycle/</a> * </ul> * </p> * * @author YuCheng * */ publ...

[LintCode] Number of Islands(岛屿个数)

描述 给一个01矩阵,求不同的岛屿的个数。 0代表海,1代表岛,如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。 样例 在矩阵: [ [1, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 0, 0, 1, 1], [0, 0, 0, 0, 0], [0, 0, 0, 0, 1] ] 中有  3  个岛。 代码 GitHub 的源代码,请访问下面的链接: https://github.com/cwiki-us/java-tutorial/blob/master/src/test/java/com/ossez/lang/tutorial/tests/lintcode/LintCode0433NumIslandsTest.java package com.ossez.lang.tutorial.tests.lintcode; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * <p> * 433 * <ul> * <li>@see <a href= * "https://www.cwiki.us/display/ITCLASSIFICATION/Number+of+Islands">https://www.cwiki.us/display/ITCLASSIFICATION/Number+of+Islands</a> * <li>@see<a href="https://www.lintcode.com/problem/number-of-islands/">https://www.lintcode.com/problem/number-of-islands/</a> * </ul> * </p> * * @author YuCheng * */ public class LintCode0433NumIslandsTest { private final ...

Confluence 6 修改一个空间从归档到当前

Image
通过空间目录: 进入头部的 空间( Spaces  ) >  空间目录(Space directory)。 在左侧 选择 归档的空间( Archived Spaces )。 找到你的空间,然后单击右侧的    图标。 选择  编辑空间细节(Edit Space Details) 。 修改  状态(Status ) 从 'Archived' 到 'Current' 然后单击  保存(Save) 。 通过归档空间: 如果你知道  空间标识(space key) ,你可以在浏览器中输入下面的 URL 格式访问归档的空间 -  http://yoursite/display/SPACEKEY 从边栏的底部,选择  空间工具(Space tools)  >  概述(Overview )。 选择  编辑空间细节(Edit Space Details) 。 修改  状态(Status ) 从 'Archived' 到 'Current' 然后单击  保存(Save) 。 https://www.cwiki.us/display/CONF6ZH/Archive+a+Space

Confluence 6 对一个空间进行归档后产生的影响

Image
空间 如果一个空间被归档: 将不会在查找结果中显示,除非你选择  在归档空间中查找(Search archived spaces) 。如果没有归档空间的话,这个功能是隐藏的。 页面和内容将不会在 Confluence 的内容  快速查找(quick search) 中显示,这个被用来在你在查找输入框中输入文字中下拉显示。 将不会显示在  空间(Spaces )  的下拉菜单中。 在  空间目录(Space Directory) 中,归档空间将不会显示在基本的空间列表中,归档的空间将会在  归档空间(archived spaces) 标签页中显示。归档空间会在分类标签中显示,这个根据标签的不同而不同。 更新归档空间的内容将不会显示在活动流(activity streams)中,例如首页面板中显示的最新的更新。 不会显示在你的面板中。 页面 在归档空间中的页面不会显示在查找结果中(除非你选择  在归档空间中查找(Search archived spaces) )。 当你在一个归档空间中查看( view  )页面,那么这个页面将会显示在: 快速搜索导航 近期查看的页面(Recently viewed pages) 菜单中。 如果你对一个归档空间中的页面进行了  编辑(edit ) ,那么这些页面将会显示在: 活动刘 快速搜索导航 Recently updated macro  宏中 下面的一些特性仍然在归档空间中可用: 你可以通过归档空间的连接或输入归档空间的 URL 与查看其它空间一样查看归档空间。 RSS feeds ,  watches  和  notifications  和没有归档的空间是一样的。 你可以与平常一样编辑一个归档空间,当然能否进行编辑是由  空间权限(space permissions)  决定的。  归档空间将不会对外部的搜索引擎有任何影响。例如一个已经归档的空间还是可以被 Google 搜索引擎检索到来的。 https://www.cwiki.us/display/CONF6ZH/Archiv...

Confluence 6 归档一个空间

当你认为一个空间不再需要实时进行编辑,但你还希望在后面某个时候能够对空间重新进行访问编辑的时候,你可以对空间进行归档。归档一个空间,这样你可以让你归档的空间让最少的人能看见,但是你的空间还是可以在 Confluence 中存在的。 要对空间进行取消归档也很容易,你只需要随时将空间状态修改为当前就可以了。 归档一个空间 进入空间后,然后从边栏的底部选择  空间工具(Space tools)  >  外观和感觉(Look and Feel)  。 选择  编辑空间细节(Edit Space Details) 在顶部的  状态(Status) 下拉菜单中选择  归档(Archived ) 选择  保存(Save) https://www.cwiki.us/display/CONF6ZH/Archive+a+Space

Confluence 6 删除一个空间

Image
删除一个空间将会完全删除空间和空间的所有内容,包括有关这个空间的所有日历,和链接到这个空间中的问题。只有具有空间管理员权限的用户才能够完全删除一个空间。  删除空间是完全从系统中删除的。一旦你删除了一个空间,系统是没有办法恢复的,除非你有已经备份的内容。 如果你不确定你是否还需要这个空间,你可以  Exporting Confluence Pages and Spaces to XML  为备份。在必要的时候,你可以使用备份的文件重新对空间进行恢复。 希望删除一个空间: 进入空间后,然后从边栏的底部选择  空间工具(Space tools)  >  外观和感觉(Look and Feel)  。 选择  删除空间(Delete Space) 选择  完成(OK) confluence-administrators  用户组的成员,可以删除空间,其中还包括有个人空间。 https://www.cwiki.us/display/CONF6ZH/Delete+a+Space

Confluence 6 自定义空间布局

Image
你可以通过编辑布局文件来对 Confluence 的外观和表现进行编辑。这个页面将会告诉你如何来为空间自定义布局文件。你需要系统管理员的  全局权限(global permission)  和你希望进行修改空间的  空间管理员权限(space administrator) 。 具有系统管理员权限的用户可以对整个 Confluence 布局进行自定义和编辑。有关更多的信息,请参考页面  Customizing Site and Space Layouts  中的内容。在 Confluence 站点中针对全局布局的修改将会应用到所有使用默认布局的空间中。 任何空间布局的自定义修改将会覆盖全局配置的设置。 如果你通过下面的这些指南对 Confluence 的外观和布局进行修改,你需要在 Confluence 升级后对修改的内容重新进行编辑和修改。你对 Confluence 进行越深度的修改,那么在升级后需要修改的东西就越多,那么升级起来也就更加复杂和困难。 请在对 Confluence 进行定制和修改的时候将这个工作量考虑进去。 有关针对自定义进行更新的更多信息,请参考  Upgrading Customized Site and Space Layouts  页面中的内容。 Confluence 是使用开源的 SiteMesh 库进行构建的,一个 Web 页面布局能够在整个站点中提供完整和一致的外观和布局。SiteMesh 是通过 'decorators' 进行工作的,这个被定义在页面的布局和结构中。 希望对 Confluence 的布局进行修改,你需要修改这些 decorator 文件。一个decorator 文件是使用 .vmd 为后缀名的,这些文件是使用非常简单的程序语言进行编辑的。这个程序语言被称为  Velocity 。有关Velocity 的更多的内容,请参考  more about Velocity  页面。一旦你对 Velocity 比较熟悉以后,你可以对 decorator  文件进行编辑,来让 Confluence 中显示更多的个性化内容。 Confluence 中的 decorator 文件按照下面的方式进行分类: ...

Confluence 6 可以自定义的元素

Image
色彩配色方案允许你对 UI 中的元素色彩进行编辑,包括顶部条,标签页和背景色。 有一些下面的 UI 元素被用在特定的主题中,配色方案的修改可能不会对这些元素有效。 顶部条(Top Bar) —— 顶部导航条中的背景 顶部条文字(Top Bar Text)  —— 顶部导航条中的背景文字 头部按钮和背景(Header Button Background)  —— 顶部导航条中的按钮(例如,创建(Create)按钮) 都不按钮文字  —— 顶部导航菜单中的文本按钮 顶部导航菜单选择后的背景(Top Bar Menu Selected Background)  —— 顶部导航菜单项目被选择后的背景颜色(例如, 空间) 顶部导航菜单选择后的文字(Top Bar Menu Selected Text)  —— 顶部导航菜单项目被选择后的文本颜色 顶部导航菜单项目的文字(Top Bar Menu Item Text)  -—— 顶部导航菜单下拉菜单项目的文本颜色(例如,help 或 cog) 菜单项目选择后的背景(Menu Item Selected Background)  —— 顶部导航菜单下拉菜单项目的高亮色彩 菜单项目选择后的文字(Menu Item Selected Text) —— 顶部导航菜单下拉菜单项目的文本颜色 查找字段背景(Search Field Background)  —— 头部查找对话框中的背景颜色 查找字段文本(Search Field Text)  —— 头部查找对话框中的文本颜色 页面菜单选择后的背景(Page Menu Selected Background)  —— 当菜单被选择后下拉才页面的背景颜色 页面菜单项目文字(Page Menu Item Text)  ——  当菜单被选择后下拉才页面的文本颜色 顶部文本(Heading Text)  —— 所有空间的顶部标签 连接(Links  ) —— 所有通过空间的链接 边框和分隔(Borders and Dividers)  —— 表格边框和分隔线 小提示 如果你的配色方案出现了混乱,...

Confluence 6 编辑一个空间的配色方案

Image
空间默认继承全局的配色方案。但是,如果你是空间管理员的话,你可以对默认继承的全局方案进行调整,使用自定义的配色方案。 为一个空间修改配色方案: 进入空间后,然后从边栏的底部选择  空间工具(Space tools)  >  外观和感觉(Look and Feel)  。 选择  色彩方案(Color Scheme) 在  自定义配些方案(Custom Color Scheme) 列表下面,单击  选择(Select ) 按钮。(如果已经被选择的话)。 选择  编辑(Edit). 输入表中的 HTML/CSS2 色彩代码或者使用颜色选择器   来从颜色盘中选择提供的颜色。 https://www.cwiki.us/display/CONF6ZH/Edit+a+Space%27s+Color+Scheme

Confluence 6 文档主题合并问答

Image
在 Confluence 官方  前期发布的消息  中,文档主题在 Confluence 6.0 及其后续版本中已经不可用。我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将这个主题升级到 Confluence 6.0。 如果你还有其他问题,你可以在本页面的底部向 Confluence 的官方提出,我们将会尽我们最大的努力帮助你解决你遇到的问题。 默认的主题看起来是什么样子的? 如果还确定在我的空间中,我使用的是文档主题? 如果检查在我的站点中有哪些地方使用了文档主题? 有关文档空间的自定义部分在我升级的时候有什么影响? 我的空间将会在我升级后损坏吗? 我可以全局的为边栏,页头,页尾添加自定义内容吗? 我还可以在边栏,页头或页尾使用宏吗? 我在哪里添加边栏,页头或页尾自定义内容? 如何在边栏的顶部关闭页面和博客的快捷链接? 我可以全局编辑默认主题的边栏吗? 我希望查看页面树而不是子页面,我应该如何做? 空间管理员和空间操作员在哪里? 我必须在边栏,页头和页脚上使用 wiki 标记吗? 我可以隐藏或者修改空间标识的显示吗? 我可以隐藏默认的页面树而插入我自己的吗? 我如何让我的页面标题在边栏中包裹起来? 我可以在边栏中修改显示顺序吗? 我还可以使用空间跳转宏(space jump macro)吗? 为什么子页面不能显示在页面下面? 我可以限制值搜索这个空间吗? 如何在空间中按字母查看页面? 导入一个使用文档主题的空间将会发生什么? 默认的主题看起来是什么样子的? 下面是文档主题的一个示例,文档主题和默认的主题的对比如下: 文档主题(Documentation theme):  可以自定义边栏内容。 默认主题(Default theme): 在边栏中有自定义的内容。 如果还确定在我的空间中,我使用的是文档主题? 在你的空间中,检查你这个空间十分使用的是文档主题的最简单的方法是,在头部查找  浏览(Browse) 菜单,通常这个在 创建( Create )按钮的附近。(如果你已经正在使用默认主题,你将会在边栏中看见空间工具菜单)。 如果检查在我的站点中有哪些地方使用了文档主题? 通常没有很好的方法来在一个站点中列出正在使用的...

Confluence 6 为一个空间应用一个主题

主题允许你对 Confluence 的外表和显示进行自定义。你的 Confluence 空间管理员可以到  The Atlassian Marketplace  上下载主题。 一旦一个主题被安装到 Confluence 后,这个主题可以应用到全站,也可以只应用到一个空间。 将主题应用到一个空间: 进入空间后,然后从边栏的底部选择  空间工具(Space tools)  >  外观和感觉(Look and Feel)  。 选择  主题(Themes  ),然后选择一个主题选项。 选择  确定(Confirm) 。 什么是全局外观和布局? 当一个新的空间被创建的时候,这个新创建的空间将会使用默认的站点主题。这个主题被称为全局外观和布局,然后有关全局外观和布局的修改都会应用到所有使用这个主题的空间上。 如果一个空间应用自定义的主题或者对自定义的主题和空间进行了修改,那么对全局外观和布局的修改将不会应用到这些空间上。 如果你希望一个空间重新继承全局的外观和布局,你可以在空间的  主题(Themes ) 页面中,选择  全局外观和布局(Global look and feel) 。 https://www.cwiki.us/display/CONF6ZH/Apply+a+Theme+to+a+Space

Confluence 6 为边栏添加自定义内容

Image
你可以使用 wiki 标记和自定义内容来对边栏进行更进一步的自定义。 希望添加自定义内容到你的边栏中: 进入空间后,然后从边栏的底部选择  空间工具(Space tools)  >  外观和感觉(Look and Feel)  。 . 选择  边栏(Sidebar)头部(Header )和脚部(Footer) 。 在你的  边栏(Sidebar ) 字段中输入你的自定义内容。 在边栏中,头部和脚部的字段都可以使用 wiki 的标记。请查看  guide to wiki markup  页面中的内容来获得更多的帮助,或者查看我们在本页后部分提供的自定义内容。   在你的边栏中添加查找方法...   添加有一些内容的面板... 希望在一个面板中添加一些自定义的内容到边栏中,你可以添加下面的 Wiki 标记到  边栏(Sidebar )  字段中,我们使用  Panel Macro  宏: {panel}This is some custom content to appear in the sidebar{panel} 添加你自己的页面树来替代全局页面树... 希望隐藏默认的页面树来添加你自己的页面树,添加下面的自定义参数: 添加下面的 Wiki 标记,使用  Page Tree Macro  宏到  边栏(Sidebar ) 字段中。 下面的示例包括了扩展 3 层的页面树,通过使用默认的页面树展示,同时在页面树种使用包括  扩展全部(Expand All) 和 折叠全部(Collapse All) 的链接。 {pagetree:root=Page Name|startDepth= 3 |expandCollapseAll= true } 进入空间工具( Space Tools )> 配置边栏( Configure sidebar )Go to > . 使用  显示(Show) 和  隐藏(Hide) 图标来为你的边栏隐藏默认的页面树...

Confluence 6 修改导航显示选项

Image
选择  子页面(Child pages) 来在边栏中查看当前页面的子页面。 选择  页面树(Page tree) 来查看整个空间的页面树,扩展当前的页面。 你也可以选择是否完全隐藏导航显示选项或者添加你希望可见的快捷链接。可选的你可以使用  Page Tree Macro  or  Children Display Macro  宏在你的页面中显示内容导航链接而不是在边栏中显示使用导航链接。 https://www.cwiki.us/display/CONF6ZH/Configure+the+Sidebar