Comment formater un code en ligne dans Confluence?


Réponses:


592

Pour insérer une police à espacement fixe en ligne dans Confluence, entourez le texte de doubles accolades.

Ceci est un {{example}}.

Si vous utilisez Confluence 4.x ou supérieur, vous pouvez également sélectionner simplement l'option "Préformaté" dans le menu de style de paragraphe. Veuillez noter que cela s'appliquera à toute la ligne.

Référence complète ici .


130
Dans confluence 4+, le balisage wiki a disparu par défaut et l'option "Préformaté" s'applique à toute la ligne. La seule façon de le faire (sans installer le plugin d'édition wikitext) est de choisir une police à espacement fixe.
Enregistrez

16
Cela ne fonctionnera pas si vous le collez - vous devez taper les accolades de fermeture afin de «déclencher» le «formatage automatique». Si vous souhaitez formater de grandes portions de texte de cette manière, utilisez la boîte de dialogue Insérer -> Marquage Wiki et saisissez / collez le tout dedans.
jaysee00

3
J'ai trouvé que l'utilisation de Ctrl-Shift-D pour insérer un balisage wiki est utile. C'est le seul raccourci combo que j'utilise en V5. Oui, le nouvel éditeur peut être lourd. La saisie de code via l'éditeur wiki aide, surtout si vous avez l'habitude de baliser le codage au lieu de gui.
Underverse

29
Un moyen fiable de faire ce travail consiste à taper {{foo}}; il reconnaît toujours 'foo' comme nécessitant un pré-formatage, puis collez tout ce que vous vouliez vraiment y mettre entre le 'f' et le 'o', puis supprimez le texte 'foo'. Vous devriez vous retrouver avec ce que vous vouliez vraiment, préformaté.
Dan Mitchell

5
qu'en est-il d'une couleur d'arrière-plan / texte différente? monospace n'est pas la seule chose, je voulais le mettre en évidence dans la rangée, des idées?
Ricky Levi

77

Par défaut, Confluence rend le texte à espacement fixe avec un arrière-plan transparent. Vous pouvez modifier le CSS global pour ajouter une couleur grise. Du manuel Confluence :

  1. Choisissez l'icône de rouage en haut à droite de l'écran, puis choisissez Confluence Admin.
  2. Choisissez la feuille de style.
  3. Choisissez Modifier.
  4. Collez votre CSS personnalisé dans le champ de texte.
  5. Choisissez Enregistrer.

CSS personnalisé pour afficher un arrière-plan gris dans des blocs à espacement fixe:

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

Si vous utilisez Confluence OnDemand (cloud):

  1. Cliquez sur le pignon / engrenage en bas de la barre latérale à gauche
  2. Sélectionnez Look and Feel
  3. Cliquez sur l' onglet Barre latérale, en-tête et pied de page
  4. Collez votre CSS personnalisé dans le champ En - tête
  5. Envelopper le code dans un {style}bloc
  6. sauver

Collez ce qui suit:

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

Après cela, vous obtiendrez des plages de code en ligne élégantes et élégantes avec un stackoverflow simplement en écrivant {{sometext}}.


1
Si votre espace utilise une feuille de style / thème personnalisé, cela peut ne pas fonctionner. Une solution de contournement paresseux consiste à ajouter l'exemple ci-dessus à l'intérieur des balises de style sous "Look and Feel -> HTML personnalisé" (testé sur la version 5.9.6).
jdknight

3
Si vous utilisez Confluence OnDemand, vous devez vous rendre sur la page "Barre latérale, en-tête et pied de page". Ensuite, dans la zone de texte de l'en-tête, copiez / collez le code CSS ci-dessus, mais vous devez le mettre {style}avant et après le CSS . Exemple d' {style}utilisation .
Phil

1
Correction mineure, vous semblez avoir besoin d'échapper aux accolades à l'intérieur du bloc de style, sinon la confluence essaie de trouver une macro appelée padding. {style} code \ {... \} {style}
edqwerty

4
Cela fonctionne, mais dans mon instance OnDemand (cloud), je reçois maintenant une erreur "Les macros suivantes ne sont actuellement pas prises en charge dans l'en-tête: style" en haut de la page. Pourtant, il rend encore. Allez comprendre :)
GONeale

2
@GraehamF @GONeale Je viens d'inclure [class^=SpaceCustomSettingsBlockComponent_unsupportedMacros]{display: none;}dans le CSS personnalisé: p
Samizdis

28

Vous pouvez demander à votre diabolique administrateur Confluence de créer une macro pour vous. Voici un exemple de macro pour 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>

Les utilisateurs peuvent ensuite utiliser {inlinecode}like this{inlinecode}

Vous pouvez également utiliser les macros {html}ou {style}si elles sont installées ou ajouter ce style à la feuille de style de votre espace.

Pendant que vous y êtes, demandez à votre administrateur Confluence de créer une macro kbd pour vous. Identique à ce qui précède, sauf Macro nameest kbd et Templateest:

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

Ensuite, vous pouvez écrire de la documentation pour dire aux utilisateurs d'appuyer sur les touches F1et Enter.


2
Ne vous souciez pas beaucoup de l'administrateur ;-), {kbd} était ce que je cherchais. Merci!
Jasper de Vries

14

Entourez votre texte en ligne avec {{ }}.

Mises en garde:

  1. Vous devez appuyer sur la barre d'espace après }}
  2. Vous ne pouvez pas copier de texte préformaté en ligne et conserver son apparence. Si vous le copiez, vous ne pourrez peut-être pas l'ajouter {{ }}pour le corriger. Il suffit de le retaper ou de le coller sans formatage ( Cmd ⌘+ Shift+ Vsur Mac), puis d'ajouter {{ }}et d'appuyer sur l'espace.
  3. Si vous ajoutez le {{ }}au texte existant plus tard, il ne peut pas être entouré d'autres caractères, par exemple si vous voulez des parenthèses autour de votre texte préformaté, vous ne pouvez pas corriger (my text)en ajoutant des accolades ({{my text}}). Ajoutez d'abord de l'espace autour de votre texte, ( my text )puis ajoutez le {{ }}.

Essayez Ctrl-D puis utilisez ce balisage? Il devrait essayer de le convertir au nouveau balisage.
Underverse

12

À partir de Confluence 4 et supérieur, la saisie de deux accolades ne fonctionne pas.

Vous devez maintenant sélectionner la police Monospace. Mettez en surbrillance le texte que vous souhaitez modifier et:

Windows: Ctrl + Maj + M

Mac: Commande + Maj + M

Alternativement, vous pouvez taper un backtick (`) et Confluence formatera tout jusqu'à ce que vous tapiez un autre backtick

Alternativement, à côté des options en gras et en italique, vous pouvez cliquer sur le menu déroulant "plus" et sélectionner Monospace:

entrez la description de l'image ici


11

Dans Confluence 5.4.2, vous pouvez ajouter ainsi votre code en ligne avec des <code></code>balises dans l'éditeur de source:

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

Cela peut être utile lorsqu'il existe de nombreux fragments à modifier car la fonction de double accolade ne fonctionne que lors de l'ajout interactif de texte dans l'éditeur Confluence.


Merci, cela semble également fonctionner pendant le processus de migration de MediaWiki vers Confluece en utilisant UWC.
MonkeyMonkey

10

Si vous souhaitez insérer un grand bloc de code avec des numéros de ligne facultatifs, etc., utilisez la macro de code (disponible sous Macros -> Autre).



ouais comment faire sans cliquer sur deux menus? J'ai souvent besoin de 10 blocs de code par page.
Jeremy Leipzig

11
@JeremyLeipzig Tapez {pour afficher le navigateur de macros et commencer à taper du code .
alex

Pour info, si vous utilisez "&" dans le code, il est mal formaté - voir jira.atlassian.com/browse/CONFCLOUD-59800
nevets1219

7

Pour formater le code en ligne dans votre texte, utilisez le caractère '' 'pour entourer votre code. Généralement situé à gauche de la touche «1» de votre clavier.

Exemple:

`printf("Hello World");`

Même délimiteur que Stack Exchange!


2
ADM - Je montrais le code avec les délimiteurs, et vous les avez échappés. Maintenant, le code ressemble à du code, ce qui n'est pas l'intention de ma réponse. Le but de ma réponse est de démontrer que sur Confluence, le caractère délimiteur est «qui se trouve être le même que SO.
morrisonbrett

1
Sur quelle version de Confluence cela fonctionne-t-il? Mon instance ne traite pas les backticks comme des caractères spéciaux.
Coderer

6

J'ai trouvé le formatage avec des couleurs un peu plus délicat car Confluence (5.6.3) est très pointilleux sur les espaces autour des blocs {{monospace}}.

Création d'un espace unique coloré avec le balisage Wiki

Tel que rendu par Confluence


3

Au moment d'écrire ces lignes, je trouvais que {{string}}ni {{ string }}travailler ni travailler. Mon panneau de contrôle n'avait que le bouton de blocage de code.

Cependant, un raccourci était répertorié pour la mise en forme à largeur fixe: Ctrl+ Shift+ M.

J'ai fouillé dans les menus mais je n'ai pas pu savoir quelle version nous était servie.


1

Toutes ces autres réponses sonnent certainement comme de bonnes idées et je recommanderais de les utiliser d'abord, mais j'irai de l'avant et j'ajouterai une autre à la liste pour être complet.

Vous pouvez simplement utiliser la macro html, puis coller votre contenu enveloppé dans des <pre> </pre>balises.


Cela peut produire le même effet mais doit être évité, sauf s'il est nécessaire de baliser le texte dans le bloc avec d'autres balises HTML.
Underverse

Oui, c'est pourquoi j'ai recommandé d'utiliser d'abord les solutions fournies dans les autres réponses. Je n'ai jamais dit que c'était une bonne réponse. J'ai dit que je voulais l'ajouter à la liste par souci d'exhaustivité.
Alexander Ryan Baggett

Cette méthode est la réponse parfaite si vous avez besoin d'un contrôle précis des couleurs et des styles dans un bloc de code dans Confluence 3.5. J'ai créé une {pre}macro pour nos utilisateurs comme raccourci pour {html}<pre> ... </pre>{html}. Confluence 5 est une toute autre affaire.
Underverse

1

J'utilise une combinaison des réponses de Zelphir et de Peter Gluck. c'est à dire

  1. (Mac-parler) Cliquez sur COMMANDE + MAJ + D
  2. Sélectionnez Markdown dans la liste déroulante de la fenêtre contextuelle du modèle
  3. Entourez votre texte avec la balise de code - ie <code>bovvered</code>
  4. Cliquez sur INSÉRER

1

Le moyen le plus simple pour moi est d'insérer un balisage.

Balisage d'insertion Confluence

Ensuite, dans la zone de texte, tapez le texte entre les accolades.

Il insérera le texte formaté dans une nouvelle ligne, mais vous pouvez le copier n'importe où, même en ligne.


1
il a explicitement déclaré "en ligne". Le balisage n'est pas en ligne.
Josh Mc

1
Toutes mes excuses, vous ne l'avez peut-être pas remarqué: / dit que mon downvote est verrouillé.
Josh Mc

0

Le moyen le plus simple que j'ai trouvé pour ce faire est d'écrire une démarque dès le début de la ligne. Appuyez sur Ctrl+D(raccourci pour ouvrir la boîte de dialogue de saisie du balisage) et tapez démarque. L'éditeur wiki normal ne semble pas très bon pour un formatage précis. Il ne semble pas en savoir beaucoup sur les styles de caractère et ne connaît que les styles de paragraphe.


CTRL + D marque la page (comme vous vous y attendez!) Sur ma version de Confluence.
Coderer

-3

Si vous avez WinWord, vous pouvez copier ce dont vous avez besoin, retoucher les résultats, puis le coller dans Confluence. J'ai trouvé cela plus facile que les autres solutions ici.


1
XD n'est pas mon éditeur de texte de confluence de faute est sous-développé.
Amalgovinus
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.