【问题标题】:How to format an inline code in Confluence?如何在 Confluence 中格式化内联代码?
【发布时间】:2012-10-17 18:09:23
【问题描述】:

如何在 Confluence like this 中格式化 inline code?我的意思是,不是一个单独的代码块,而只是内联 classname,例如。

【问题讨论】:

标签: confluence


【解决方案1】:

要在 Confluence 中插入内联等宽字体,请将文本用双花括号括起来。

这是{{example}}

如果您使用的是 Confluence 4.x 或更高版本,您也可以从段落样式菜单中选择“预格式化”选项。请注意,这将适用于整个行。

完整参考here

【讨论】:

  • 在 confluence 4+ 中,wiki 标记默认消失,“预格式化”选项适用于整行。唯一的方法(不安装 wikitext 编辑插件)是选择等宽字体。
  • 如果您将其粘贴进去,它将不起作用 - 您需要输入右大括号才能“触发”“自动格式化”。如果您想以这种方式格式化大量文本,请使用“插入”->“Wiki 标记”对话框并在其中输入/粘贴所有内容。
  • 我发现使用 Ctrl-Shift-D 插入 wiki 标记很有用。这是我在 V5 中使用的唯一组合快捷方式。是的,新编辑器可能很笨拙。通过 wiki 编辑器输入代码会有所帮助,特别是如果您习惯于标记编码而不是 gui。
  • 完成这项工作的可靠方法是输入 {{foo}};它总是将“foo”识别为需要预格式化,然后在“f”和“o”之间粘贴您真正想要放入的任何内容,然后删除“foo”文本。你应该得到你真正想要的东西,预先格式化。
  • 不同的背景/文本颜色怎么样?等宽不是唯一的东西,我想在行内突出显示它,有什么想法吗?
【解决方案2】:

默认情况下,Confluence 渲染具有透明背景的等宽文本。您可以编辑全局 CSS 以添加灰色。来自Confluence manual

  1. 选择屏幕右上角的齿轮图标,然后选择 Confluence Admin。
  2. 选择样式表。
  3. 选择编辑。
  4. 将您的自定义 CSS 粘贴到文本字段中。
  5. 选择保存。

用于在等宽块中显示灰色背景的自定义 CSS:

code {
    padding: 1px 5px 1px 5px; 
    font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
    background-color: #eeeeee;
}

如果您使用 Confluence OnDemand(云):

  1. 点击左侧边栏底部的齿轮/齿轮
  2. 选择外观
  3. 点击侧边栏、页眉和页脚标签
  4. 将您的自定义 CSS 粘贴到 Header 字段
  5. 将代码包装在 {style} 块中
  6. 保存

粘贴以下内容:

{style}
code {
    padding: 1px 5px 1px 5px; 
    font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
    background-color: #eeeeee;
}
{style}

之后,您只需编写 {{sometext}},即可获得漂亮整洁的 stackoverflow 风格的内联代码跨度。

【讨论】:

  • 如果您的空间使用自定义样式表/主题,这可能不起作用。一个懒惰的解决方法是将上述示例附加在“外观 - >自定义 HTML”下的样式标签内(在 5.9.6 版上测试)。
  • 如果使用 Confluence OnDemand,您必须转到“侧边栏、页眉和页脚”页面。然后在标题文本框中复制/粘贴上面的 CSS 代码,但您需要在 CSS 之前和之后放置 {style}Example of {style} usage.
  • 小修正,您似乎需要转义样式块内的花括号,否则 confluence 会尝试找到一个名为 padding 的宏。 {style} 代码 \{ ... \} {style}
  • 这可行,但是在我的 OnDemand 实例(云)中,我现在在页面顶部收到错误“标题中当前不支持以下宏:样式”。然而它仍然呈现。去图:)
  • @GraehamF @GONeale 我刚刚在自定义 CSS 中包含了[class^=SpaceCustomSettingsBlockComponent_unsupportedMacros]{display: none;}:p
【解决方案3】:

你可以请你的 Confluence 管理员为你创建一个宏。这是 Confluence 3.x 的宏示例

Macro Name:    inlinecode
Macro Title:   Markup text like stackoverflow inline code
Categories:    Formatting
Macro Body Processing: Convert wiki markup to HTML
Output Format: HTML
Template:

## Macro title: Inline Code
## Macro has a body: Y
## Body processing: Convert wiki markup to HTML
## Output: HTML
##
## Developed by: My Name
## Date created: dd/mm/yyyy
## Installed by: My Name
## This makes the body text look like inline code markup from stackoverflow
## @noparams
<span style="padding: 1px 5px 1px 5px; font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; background-color: #eeeeee;">$body</span>

然后用户可以使用{inlinecode}like this{inlinecode}

如果已安装{html}{style} 宏,您也可以使用它们,或者将此样式添加到您空间的样式表中。

当您使用它时,请您的 Confluence 管理员为您创建一个 kbd 宏。除了Macro namekbdTemplate是:

<span style="padding: 0.1em 0.6em;border: 1px solid #ccc; font-size: 11px; font-family: Arial,Helvetica,sans-serif; background-color: #f7f7f7; color: #333;  -moz-box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2),0 0 0 2px #ffffff inset; -webkit-box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2),0 0 0 2px #ffffff inset; box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2),0 0 0 2px #ffffff inset; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; display: inline-block; margin: 0 0.1em; text-shadow: 0 1px 0 #fff; line-height: 1.4; white-space: nowrap; ">$body</span> 

然后您可以编写文档来告诉用户按 F1Enter 键。

【讨论】:

  • 不要太在意管理员 ;-),{kbd} 正是我要找的。谢谢!
【解决方案4】:

从 Confluence 4 及更高版本开始,键入两个大括号不起作用。

您现在需要选择等宽字体。突出显示您要更改的文本,然后:

Windows:Ctrl + Shift + M

Mac:Command + Shift + M

或者,您可以输入一个反引号 (`),Confluence 将格式化所有内容,直到您输入另一个反引号

或者,在粗体和斜体选项旁边,您可以点击“更多”下拉菜单并选择等宽:

【讨论】:

  • 请点赞,这是2020+年的正确答案
【解决方案5】:

{{ }}包围您的内嵌文本

注意事项:

  1. 你必须之后按空格键}}
  2. 您无法复制内联预格式化文本并保持其外观。如果您复制它,您可能无法添加{{ }} 来修复它。只需重新键入或粘贴而不进行格式化(Cmd ⌘+Shift+V 在 Mac 上)然后添加 {{ }} 并点击空格。
  3. 如果您稍后将{{ }} 添加到现有文本中,则它不能被其他字符包围,例如如果您想要在预格式化文本周围加上括号,则无法通过添加大括号 ({{my text}}) 来修复 (my text)。首先在文本周围添加空格( my text ),然后添加{{ }}

【讨论】:

  • 试试 Ctrl-D 然后使用这个标记?它应该尝试将其转换为新的标记。
【解决方案6】:

在 Confluence 5.4.2 中,您可以在源代码编辑器中添加带有 &lt;code&gt;&lt;/code&gt; 标签的内联代码:

Confluence will show <code>this inline code</code> in a fixed font. 

这在需要修改许多片段的情况下很有用,因为双大括号功能仅在 Confluence 编辑器中以交互方式添加文本时才有效。

【讨论】:

  • 谢谢,这似乎在使用 UWC 从 MediaWiki 迁移到 Confluece 的过程中也有效。
【解决方案7】:

如果您想插入带有可选行号等的大代码块,请使用代码宏(在宏 -> 其他下可用)。

【讨论】:

【解决方案8】:

要格式化文本中的内嵌代码,请使用“`”字符将代码括起来。通常位于键盘上“1”键的左侧。

例子:

`printf("Hello World");`

与 Stack Exchange 相同的分隔符!

【讨论】:

  • ADM - 我在显示代码 with 分隔符,而您未转义它们。现在代码看起来像代码,这不是我回答的意图。我回答的目的是证明在 Confluence 上,分隔符是 `,恰好与 SO 相同。
  • 这适用于哪个版本的 Confluence?我的实例不将反引号视为特殊字符。
  • 对我也不起作用,实际上这是我尝试的第一件事。
【解决方案9】:

我发现用颜色格式化有点棘手,因为 Confluence (5.6.3) 对 {{monospace}} 块周围的空间非常挑剔。

【讨论】:

    【解决方案10】:

    在撰写本文时,我发现 {{string}}{{ string }} 都不起作用。我的控制面板只有代码块按钮。

    但是,列出了固定宽度格式的快捷方式:Ctrl+Shift+M

    我在菜单中四处寻找,但无法找出提供给我们的版本。

    【讨论】:

    • 键盘快捷键对我有用,但没有其他方法,谢谢!
    【解决方案11】:

    对我来说最简单的方法是插入标记。

    然后在文本框中输入大括号之间的文本。

    它将格式化文本插入新行,但您可以将其复制到任何地方,甚至是内联。

    【讨论】:

    • 他明确表示“内联”。标记不是内联的。
    • 抱歉,错过了,显然无法取消投票:/说我的投票已锁定。
    【解决方案12】:

    用鼠标或光标标记您的文本,然后按:

    • Mac: ⌘ + ⇧ + M(CMD、Shift 和 M 键)
    • Windows/Linux: CTRL + ⇧ + M(CTRL、Shift 和 M 键)

    【讨论】:

      【解决方案13】:

      我结合使用了 Zelphir 和 Peter Gluck 的答案。即

      1. (Mac 语言)单击 COMMAND + SHIFT + D
      2. 在模型弹出窗口的下拉菜单中选择 Markdown
      3. 用代码标签包围您的文本 - 即&lt;code&gt;bovvered&lt;/code&gt;
      4. 点击插入

      【讨论】:

      • 当我尝试从 Linux 终端输出复制和粘贴时,它会丢失换行符。所有代码都集中在一行中
      【解决方案14】:

      我发现的最简单的方法是从行首开始用 markdown 编写。按Ctrl+D(打开标记输入对话框的快捷方式)并输入markdown。普通的 wiki 编辑器似乎不太适合精确格式化。它似乎对字符样式了解不多,只知道段落样式。

      【讨论】:

      • CTRL+D 在我的 Confluence 版本中为页面添加书签(正如您所期望的那样!)。
      • Shift+Ctrl+D 在 Windows 上。汇合 6.13.
      【解决方案15】:

      所有这些其他答案听起来当然都是好主意,我建议先使用它们,但为了完整起见,我会继续在列表中添加一个。

      您可以简单地使用 html 宏,然后将您的内容粘贴到 &lt;pre&gt; &lt;/pre&gt; 标签中。

      【讨论】:

      • 这可以达到相同的效果,但应该避免,除非需要用其他 HTML 标记标记块内的文本。
      • 是的,这就是为什么我建议首先使用其他答案中提供的解决方案。我从来没有说过这是一个好的答案。我说为了完整起见,我想将其添加到列表中。
      • 如果您需要在 Confluence 3.5 的代码块中精细控制颜色和样式,此方法是完美的答案。我为我们的用户创建了一个{pre} 宏作为{html}&lt;pre&gt; ... &lt;/pre&gt;{html} 的快捷方式。 Confluence 5 完全是另一回事。
      【解决方案16】:

      如果您有 WinWord,您可以将您需要的内容复制到其中,修改结果,然后将其粘贴到 Confluence 中。我发现这比这里的其他解决方案更容易。

      【讨论】:

      • XD 不是我的错,Confluence 的文本编辑器功能不足。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-01
      • 2016-07-04
      相关资源
      最近更新 更多