이 가이드에서는 Markdown, BBCode, HTML 형식을 사용하여 Discourse에서 코드나 미리 형식화된 텍스트를 게시하는 방법을 설명합니다.
필요한 사용자 수준: 모든 사용자
공유해야 할 코드 한 줄이 있나요? 아니면 사이트의 오류 로그를 공유해야 할 수도 있습니다. 형식이 지정되지 않은 코드를 읽는 것은 특히 코드가 공백에 의존하거나 Discourse가 변환하는 특수 문자를 포함하고 있는 경우 어려울 수 있습니다.
요약
이 가이드에서 다음을 배웁니다:
- 인라인 코드 형식 지정 방법.
- 코드 전체 줄 형식 지정 방법.
- 코드 블록 형식 지정 방법.
- 코드 형식 지정을 위한 BBCode 및 HTML 사용 방법.
- 자동 코드 스타일링 비활성화 방법.
인라인 코드 형식 지정
텍스트의 특정 섹션을 형식 지정하려면 코드 양쪽에 단일 백틱(`)을 사용하십시오. 이는 일반 텍스트 내에서 또는 코드가 단독으로 한 줄을 차지할 때 수행할 수 있습니다. 인라인 형식은 자동 코드 형식 지정(아래 참조)을 적용하지 않으며, 백틱 사이의 텍스트에만 "코드 스타일"을 적용합니다.
예제 1:
입력:
`This is a line of code`
결과:
This is a line of code
예제 2:
입력:
Here’s some text with `a bit of code` inside!
결과:
Here’s some text with a bit of code inside!
전체 줄 코드 형식 지정
전체 줄을 형식 지정하려면 줄의 시작 부분에 4개의 공백을 추가하십시오. 다음 줄바꿈까지의 모든 텍스트가 코드로 처리됩니다.
예제:
입력:
All text after 4 spaces will be formatted.
결과:
All text after 4 spaces will be formatted.
블록 코드 형식 지정
여러 줄의 코드를 생성하기 위해 4공백 방법을 사용할 수는 있지만, 이는 특히 복사 및 붙여넣기를 수행하고 여러 줄의 텍스트에 4개의 공백을 입력해야 하는 경우 번거로울 수 있습니다.
대신, 코드 위와 아래에 단독으로 한 줄에 3개의 백틱(```)을 사용하십시오. 백틱이 있는 줄에 공백이 없도록 하십시오. 그렇지 않으면 작동하지 않습니다.
예제:
입력:
```
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("I can format code now!");
}
}
```
결과:
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("I can format code now!");
}
}
BBCode 및 HTML
Markdown 외에도 Discourse는 BBCode와 HTML의 하위 집합을 지원합니다.
HTML의 경우 <pre> 및 <code> 태그를 사용하십시오:
<pre><code>
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("I can format code now!");
}
}
</code></pre>
BBCode의 경우 [code] 태그를 사용하십시오:
[code]
public class CodeFormatting {
public static void main(String[] args) {
System.out.println("I can format code now!");
}
[/code]
프로그래밍 언어 지정
기본적으로 Discourse는 코드의 언어를 감지하고 이에 따라 스타일을 적용합니다.
코드 블록의 프로그래밍 언어를 수동으로 지정하려면 첫 번째 백틱 세트 바로 뒤에 언어 이름을 입력하십시오:
``` your_language
# Your code here
예제
Ruby를 지정하려면:
입력:
``` ruby
3.times do |stuff|
stuff.do
end
```
결과:
3.times do |stuff|
stuff.do
end
언어는 사이트의 구문 하이라이팅에 구성된 highlighted languages 중 하나여야 합니다. 기본 목록은 config/site_settings.yml에서 highlighted_languages를 검색하여 찾을 수 있습니다.
default code lang 사이트 설정을 사용하여 기본 코드 언어를 설정할 수도 있습니다.
하이라이팅 억제
구문 하이라이팅을 완전히 방지하려면 언어로 text를 사용할 수 있습니다:
예제
입력:
``` text
Your text to NOT highlight here
결과:
Your text to NOT highlight here
모범 사례
- 명확성을 위해 인라인 코드가 항상 단일 백틱으로 감싸지도록 하십시오.
- 더 큰 코드 스니펫을 공유할 때는 블록 코드 형식 지정을 사용하십시오.
- 언어별 스타일링에서 이점을 얻지 못하는 텍스트나 로그를 공유할 때는 자동 코드 스타일링을 피하십시오.
- 자동 감지가 코드를 올바르게 인식하지 못하는 경우 언어를 지정하십시오.