Как отформатировать встроенный код в Confluence?


480

Как я могу отформатировать inline codeв Confluence like this? Я имею в виду не отдельный блок кода, а просто встроенный classname, например.


3
Голосуйте за ярлык для ярлыка для реализации этого: jira.atlassian.com/browse/CONF-23966
Jens

atlassian называет это моноширинным пространством ( jira.atlassian.com/secure/… )
Дирк Шумахер

Ответы:


592

Чтобы вставить встроенный моноширинный шрифт в Confluence, заключите текст в двойные фигурные скобки.

Это {{example}}.

Если вы используете Confluence 4.x или выше, вы также можете просто выбрать опцию «Preformatted» в меню стиля абзаца. Обратите внимание, что будет применяться ко всей линии.

Полная ссылка здесь .


130
В стечении 4+ разметка вики исчезла по умолчанию, и опция «Предварительно отформатировано» применяется ко всей строке. Единственный способ сделать это (без установки плагина редактирования викитекста) - выбрать моноширинный шрифт.
HDave

16
Это не сработает, если вы вставляете его - вам нужно набрать закрывающие скобки, чтобы «активировать» «автоформат». Если вы хотите отформатировать большие фрагменты текста таким образом, используйте диалог Вставка -> Вики-разметка и введите / вставьте все это там.
jaysee00

3
Я обнаружил, что использование Ctrl-Shift-D для вставки вики-разметки полезно. Это единственный комбинированный ярлык, который я использую в V5. Да, новый редактор может быть громоздким. Ввод кода через вики-редактор помогает, особенно если вы используете разметку кода вместо графического интерфейса.
обратный

29
Надежный способ выполнить эту работу - ввести {{foo}}; он всегда распознает «foo» как нуждающийся в предварительном форматировании, затем вставьте все, что вы действительно хотите поместить между «f» и «o», затем удалите текст «foo». Вы должны остаться с тем, что вы действительно хотели, предварительно отформатированный.
Дэн Митчелл

5
как насчет другого цвета фона / текста? monospace - не единственное, я хотел выделить его в ряду, есть идеи?
Рики Леви

77

По умолчанию Confluence отображает моноширинный текст с прозрачным фоном. Вы можете редактировать глобальный CSS, чтобы добавить серый цвет. Из руководства по слиянию :

  1. Выберите значок Cog в правом верхнем углу экрана, затем выберите 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. Выберите Look and Feel
  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}}.


1
Если ваше пространство использует пользовательскую таблицу стилей / тему, это может не сработать. Ленивый обходной путь заключается в добавлении приведенного выше примера в теги стиля в «Look and Feel -> Custom HTML» (протестировано в версии 5.9.6).
JDKNIGHT

3
Если вы используете Confluence OnDemand, вам нужно перейти на страницу «Боковая панель, верхний и нижний колонтитулы». Затем в текстовое поле заголовка скопируйте / вставьте вышеуказанный код CSS, но вы должны поместить его {style}до и после CSS . Пример {style}использования .
Фил

1
Незначительная коррекция, вам, кажется, нужно убрать фигурные скобки внутри блока стиля, иначе слияние попытается найти макрос, называемый padding. {style} code \ {... \} {style}
edqwerty

4
Это работает, однако в моем экземпляре OnDemand (облаке) я теперь получаю сообщение об ошибке «Следующие макросы в настоящее время не поддерживаются в заголовке: стиль» вверху страницы. Все же это все еще оказывает. Пойди
разберись

2
@GraehamF @GONeale Я только что включил [class^=SpaceCustomSettingsBlockComponent_unsupportedMacros]{display: none;}в пользовательский CSS: p
Самиздис

28

Вы можете попросить своего извергского администратора 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 nameэто kbd и Templateэто:

<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> 

После этого вы можете написать документацию , чтобы сказать пользователям , чтобы ударить F1и Enterключи.


2
Меня не волнует администратор ;-), я искал {kbd}. Спасибо!
Джаспер де Врис

14

Окружите свой встроенный текст с {{ }}.

Предостережения:

  1. Вы должны нажать пробел после }}
  2. Вы не можете скопировать встроенный предварительно отформатированный текст и сохранить его внешний вид. Если вы скопируете его, вы не сможете добавить его, {{ }}чтобы исправить. Просто наберите его или вставьте без форматирования ( Cmd ⌘+ Shift+ Vна Mac), затем добавьте {{ }}и нажмите пробел.
  3. Если вы добавите {{ }}текст к существующему тексту позже, он не может быть окружен другими символами, например, если вы хотите заключить в скобки предварительно отформатированный текст, вы не сможете исправить (my text), добавив фигурные скобки ({{my text}}). Сначала добавьте пробел вокруг текста, ( my text )затем добавьте {{ }}.

Попробуйте Ctrl-D и используйте эту разметку? Следует попытаться преобразовать его в новую разметку.
Андерверс

12

Начиная с 4 и выше, ввод двух фигурных скобок не работает.

Теперь вам нужно выбрать шрифт Monospace. Выделите текст, который вы хотите изменить, и:

Windows: Ctrl + Shift + M

Mac: Command + Shift + M

Кроме того, вы можете набрать backtick (`) и Confluence будет форматировать все, пока вы не наберете другой backtick

В качестве альтернативы, рядом с полужирным шрифтом и курсивом, вы можете нажать «еще» и выбрать Monospace:

введите описание изображения здесь


11

В Confluence 5.4.2 вы можете добавить свой встроенный код с <code></code>тегами в редакторе исходного кода следующим образом:

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

Это может быть полезно, когда нужно изменить много фрагментов, поскольку функция двойных скобок работает только при интерактивном добавлении текста в редакторе слияния.


Спасибо, это также работает во время процесса перехода с MediaWiki на Confluece с использованием UWC.
MonkeyMonkey

10

Если вы хотите вставить большой кодовый блок с необязательными номерами строк и т. Д., Используйте макрос макросов (доступно в разделе Макросы -> Другие).


1
Это прекрасно работает --- спасибо! confluence.atlassian.com/display/DOC/Code+Block+Macro
Гаррет Уилсон

да, как мне это сделать, не нажимая на два меню? Мне часто нужно 10 блоков кода на странице.
Джереми Лейпциг

11
@JeremyLeipzig Введите, {чтобы открыть браузер макросов и начать вводить код .
Алекс

К вашему сведению, если вы используете «&» в коде, он неправильно форматируется - см. Jira.atlassian.com/browse/CONFCLOUD-59800
nevets1219

7

Чтобы форматировать код внутри текста, используйте символ `` ', чтобы окружить ваш код. Обычно располагается слева от клавиши «1» на клавиатуре.

Пример:

`printf("Hello World");`

Тот же разделитель, что и в стеке!


2
ADM - я показывал код с разделителями, а вы их не экранировали. Теперь код выглядит как код, который не является целью моего ответа. Цель моего ответа - продемонстрировать, что в Confluence символ разделителя равен `, который совпадает с SO.
Моррисонбретт

1
На какой версии Confluence это работает? Мой экземпляр не рассматривает обратные пометки как специальные символы.
Coderer

6

Я нашел форматирование с цветами немного сложнее, так как Confluence (5.6.3) очень суетлив в отношении пробелов вокруг блоков {{monospace}}.

Создание цветного моно пространства с разметкой Wiki

Как оказано слиянием


3

На момент написания этой статьи я обнаружил, что ни то, ни другое {{string}}не {{ string }}работает. У моей панели управления была только кнопка блокировки кода.

Однако для форматирования с фиксированной шириной был указан ярлык: Ctrl+ Shift+ M.

Я ковырялся в меню, но не смог выяснить, какую версию нам подают.


1

Все эти другие ответы, безусловно, звучат как хорошие идеи, и я бы порекомендовал использовать их в первую очередь, но я добавлю еще один в список для полноты картины.

Вы можете просто использовать HTML-макрос, а затем вставить свой контент, завернутый в <pre> </pre>теги.


Это может обеспечить тот же эффект, но его следует избегать, если нет необходимости разметить текст в блоке другими тегами HTML.
обратный

Да, именно поэтому я рекомендовал сначала использовать решения, представленные в других ответах. Я никогда не говорил, что это хороший ответ. Я сказал, что хочу добавить его в список для полноты картины.
Александр Райан Баггетт

Этот метод является идеальным ответом, если вам необходимо точное управление цветами и стилями в блоке кода в Confluence 3.5. Я создал {pre}макрос для наших пользователей в качестве ярлыка для {html}<pre> ... </pre>{html}. Слияние 5 - это совсем другое дело.
Обратное

1

Я использую комбинацию ответов Зельфира и Питера Глюка. т.е.

  1. (Говорит по-Mac) Нажмите COMMAND + SHIFT + D
  2. Выберите Markdown в выпадающем списке моделей
  3. Окружите свой текст кодовым тегом - т.е. <code>bovvered</code>
  4. Нажмите INSERT

1

Самый простой способ для меня - это вставить разметку.

Разметка вставки слияния

Затем в текстовом поле введите текст между фигурными скобками.

Он вставит отформатированный текст в новую строку, но вы можете скопировать его в любом месте, даже в строке.


1
он прямо заявил «встроенный». Разметка не встроена.
Джош Мак

1
Извинения, пропустил это, очевидно, не может отменить голосование: / говорит, что мой пониженный голос заблокирован.
Джош Мак

0

Самый простой способ, который я нашел, это написать в уценке с самого начала строки. Нажмите Ctrl+D(ярлык для открытия диалога ввода разметки) и введите разметку. Обычный редактор вики не очень подходит для точного форматирования. Кажется, он не знает много о стилях символов и знает только стили абзаца.


CTRL + D делает закладку на страницу (как и следовало ожидать!) В моей версии Confluence.
Coderer

-3

Если у вас есть WinWord, вы можете скопировать в него то, что вам нужно, подправить результаты, а затем вставить это в Confluence. Я нашел это проще, чем другие решения здесь.


1
XD не моя ошибка, текстовый редактор слияния недооценен.
Амальговинус
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.