비비코드

From The Hidden Wiki
Revision as of 11:50, 9 November 2014 by Simmani (talk | contribs) (→‎BBCode를 지원하는 소프트웨어)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

BBCode(비비코드)

Bulletin Board Code

개요

주로 서양의 인터넷 게시판(BBS)에서 지원하는 마크업 언어(markup language)로, HTML의 극히 일부 기능을 가져오되 HTML 코드와 섞이지 않도록 HTML의 {{{< >}}} 대신 {{{[ ]}}}를 사용한다. 예를 들어 특정 글씨를 굵게 할 경우 HTML에서는 {{{굵은 글씨}}}[* 또는 {{{굵은 글씨}}}을 쓰기도 하는데 기능상에 다소 차이가 있다.]로 쓰지만 BBCode를 쓰는 게시판의 경우 {{{[b]굵은 글씨[/b]}}}의 형태로 코딩한다.

이러면 HTML의 {{{< >}}} 태그들을 모두 {{{[ ]}}}으로 바꿔 쓰면 되는 것 같지만 실제로는 그렇지 않다.[* 단순히 {{{< >}}} 태그들을 모두 {{{[ ]}}}으로 바꿔 쓰면 된다면 굳이 그럴 필요 없이 HTML 태그를 그대로 입력할 수 있게 하면 된다. 굳이 {{{[ ]}}} 태그를 쓰는 건 보안 위협을 차단하기 위해 HTML 태그를 그대로 쓰지 못하게 하기 위한 것이었다.] HTML보다 문법 기능을 대폭 간소화했기 때문에 그 과정에서 HTML보다 문법을 훨씬 간단하게 만든 경우도 있기 때문이다. 예를 들어 글씨를 20pt로 쓰려면 BBCode를 지원하는 대부분의 게시판에서는 {{{[size=20]글씨[/size]}}} 식으로 쓰기 때문에 대체로 HTML보다 훨씬 간단하다. 대신 CSS를 포함한 HTML 코드보다 지원하는 기능이 적다.

BBCode는 HTML보다는 문법이 간단하지만, 위키 문법, 또는 위키 문법과 유사성이 많은 마크다운보다는 코딩이 대체로 복잡한 편이다. 예를 들어 굵은 글씨는 BBCode에서 {{{[b]굵은 글씨[/b]}}} 형태로 쓰는데 아무래도 {{{굵은 글씨}}}[* 리그베다 위키가 사용 중인 모니위키를 포함한 일부 위키 엔진은 이 방식을 쓴다.] 또는 {{{**굵은 글씨**}}}[* 일부 위키 엔진과 마크다운 문법에서는 이 방식을 쓴다.] 형태로 쓰는 위키 문법이나 마크다운보다는 단순하지 않다. 그리고 많은 위키 엔진은 BBCode보다 더 상세한 기능을 제공하는 경우가 많아 상대적으로 BBCode는 빈약한 편이다. BBCode는 어차피 게시판에 올리는 글에 몇 가지 효과만 주기 위한 목적으로 만들어졌기 때문에 위키보다는 많은 기능이 필요하지 않다.

BBCode도 위키 문법과 마찬가지로 일종의 '사투리', 즉 이종들이 있을 수 있다. 게시판 소프트웨어마다 조금씩 다른 문법을 쓴다든지, 소프트웨어에 따라 몇몇 문법을 제한한다든지 등등... 하지만 태생적으로 위키 문법보다 기능이 적기 때문에 위키 문법보다는 이종 간 차이가 심하지 않은 편이다.

BBCode를 제공하는 게시판 소프트웨어들은 글을 작성할 때 BBCode 사용법을 알 수 있게 도움말을 자체적으로 제공하는 경우가 많다. 예를 들면 글 작성하는 칸 근처에 문법 사용 예를 작은 글씨로 설명해 놓는다든지 등등. 글 작성하는 칸 위에 편집용 버튼들을 둬서 그걸 클릭하면 적절한 문법이 입력되게 하는 경우도 많다. 예를 들어 '글씨'를 드래그한 상태로 굵은 글씨 아이콘을 클릭하면 자동으로 {{{[b]글씨[/b]}}} 꼴로 바꿔주는 식이다. 덕분에 BBCode를 정확히 몰라도 금방 익혀서 쓸 수 있다.

대한민국에서의 사용

대한민국에서는 널리 퍼져 있지 않은 편이다. 한국에서 쓰이는 게시판 소프트웨어들은 HTML 코드를 허용하되[* 근래에는 위지위그(WYSIWYG) 방식을 도입해서 HTML이 뭔지 아예 모르는 사람도 사용에 지장에 없게 하는 경우가 많다.] 보안상 문제를 일으킬 가능성이 있는 태그만 선택적으로 무력화시키거나(블랙리스트) 반대로 특정 태그만 선택적으로 허용하는(화이트리스트) 식으로 처리하는 경우가 많기 때문이다. HTML이 섞일 가능성 자체를 원천 봉쇄하기 위해 {{{[ ]}}}을 사용하는 BBCode의 접근 방식과 차이가 있는 셈.

다만 국내 웹사이트에도 서양식 포럼형 게시판을 운영하면서 아예 서양권에서 쓰는 게시판 소프트웨어를 쓰는 경우가 꽤 있다. 다수를 차지하는 건 아니어도 아예 없는 건 아닌 셈. 그런 경우 거의 BBCode를 지원한다.

BBCode를 지원하는 소프트웨어

서양권에서 개발된 게시판 소프트웨어 상당수에서 거의 BBCode를 내장하고 있다. 이들이 사용하는 BBCode 문법도 대동소이하다.

  • phpBB([[1]]) - 오픈소스 소프트웨어
  • Invision Power Board(IP Board 또는 IPB, [[2]]) - 상용 소프트웨어
  • --UBB.classic--(옛 이름 --Ultimate Bulletin Board--) - 상용 소프트웨어. 2012년을 끝으로 개발이 중단됐다. 참고로 이 소프트웨에서 처음으로 BBCode를 사용했다.[* 이 게시판 소프트웨어 자체는 1996년에 처음 출시되었는데, BBCode가 도입된 건 1998년이었다.]

추가바람

근래에는 거의 피에이치피비비(phpBB)가 쓰이는 듯하다.

참고로 위키백과 등에서 쓰는 위키엔진인 미디어위키와 위 IPB를 결합한 Ipb Wiki[[3]]라는 소프트웨어도 있다.[* 물론 미디어위키를 개발한 위키미디어 재단이나 IPB를 만든 Invision Power Services라는 곳과는 무관한 프로그래머들이 두 소프트웨어를 수정, 결합해 내놓고 있다. 그러니 Ipb Wiki를 사용하고자 할 경우 주의할 것.] 미디어위키는 --리그베다 위키와 달리-- 문서마다 토론란을 제공하고 있는데 이것도 위키 문법으로 작성해야 해서[* 아이디와 날짜까지 수동으로 써줘야 한다. 물론 쉽게 입력 가능한 문법({{{Simmani (talk) 11:41, 9 November 2014 (UTC)}}})이 있기는 하지만 그걸 일일이 입력해야 하니 초보자는 의견 글을 남기는 방법도 정확히 몰라서 애를 먹을 수가 있다.][* 단 위키백과 등 위키미디어 재단의 프로젝트에서는 아직 도입하고 있지 않지만, 미디어위키에 설치하는 확장 소프트웨어 중에는 좀 게시판스럽게 쓸 수 있는 툴들이 서드파티에 의해 개발되긴 했다. 미디어위키 소프트웨어의 공식 위키에는 확장 소프트웨어들의 소개 글들이 있으니 찾아보면 된다.] 불편이 있다. 그래서 토론 기능은 IPB의 게시판 기능을 이용하게 하는 것이다. IPB의 기능에 따라 게시판에서는 BBCode 입력이 당연이 가능한데, 위키 문서 안에서도 BBCode 입력을 할 수 있다. 즉 IpbWiki의 위키 문서 안에서는 굵은 글씨를 쓰려면 {{{굵은 글씨}}}라고 써도 되고 {{{[b]굵은 글씨[/b]}}}로 써도 된다. 단 게시판 안에서는 위키 문법을 못 쓰고 BBCode만 쓸 수 있는 듯.

개요

BBCode 또는 불리틴 보드 코드(Bulletin Board Code, 전자 게시판 부호)는 전자 게시판에 글을 작성하는데 쓰이는 가벼운 마크업 언어이다. BBCode는 HTML과 거의 같은 역할을 하며 이들의 문법도 유사하다. 다만, BBCode는 대괄호를 사용하여 태그를 나타낸다.

역사

BBCode는 1998년 Ultimate Bulletin Board(UBB)라는 전자 게시판 프로그램에 처음 도입되었다. 그래서 BBCode를 UBBCode라고 부르기도 한다.

목적

많은 전자 게시판 프로그램이 사용자에게 HTML로 글을 작성하게 하고 있다. 이는 HTML의 특성상의 한계로 인해 XSS 등의 보안 문제가 생기게 한다. 또 HTML의 문법이 난해하기 때문에 HTML을 처리하는 프로그램을 만들기 쉽지 않다. 이에 HTML과 유사하지만 HTML의 단점을 해결한 BBCode를 도입하여 HTML을 대체함으로써 이 문제를 해결하였다.

BBCode 태그

다음은 기본적으로 사용되는 BBCode 태그들의 목록이다. 이 태그들은 전자 게시판마다 조금씩 다를 수 있다.

BBCode HTML 효과
[b]굵은 글씨[/b] <b>굵은 글씨</b> 굵은 글씨
[i]기울임 글씨[/i] <i>기울임 글씨</i> 기울임 글씨
[u]밑줄 글씨[/u] <u>밑줄 글씨</u> 밑줄 글씨
[s]가로줄 글씨[/s] <s>가로줄 글씨</s> 가로줄 글씨
[url]https://ko.wikipedia.org[/url] <a href="https://ko.wikipedia.org">https://ko.wikipedia.org</a> https://ko.wikipedia.org
[url=https://ko.wikipedia.org]위키백과[/url] <a href="https://ko.wikipedia.org">위키백과</a> 위키백과
[img]https://exmple.com/Go-home.svg.png[/img] <img src="https://exmple.com/Go-home.svg.png" alt="" /> 파일:Go-home.svg
[quote]인용 텍스트[/quote] <blockquote><p>인용 텍스트</p></blockquote>
To quote:

인용 텍스트

<ref>일반적으로 이것보다 더욱 좋게 보인다.</ref>
[code]코드 텍스트[/code] <pre>코드 텍스트</pre> 코드 텍스트
[size=15]큰 글씨[/size]<ref>size의 단위는 전자 게시판 프로그램마다 다를 수 있다.</ref> <span style="font-size:15px">큰 글씨</span> 큰 글씨
[color=red]붉은 글씨[/color]
또는

[color=#FF0000]붉은 글씨[/color]
또는
[color=FF0000]붉은 글씨[/color]
<ref>일반적으로 HTML 색상명과 #AABBCC 꼴이 모두 지원된다.</ref>

<span style="color:#FF0000;">붉은 글씨</span> 붉은 글씨
[list] [*]목록 1 [*]목록 2 [/list] <ul><li>목록 1</li><li>목록 2</li></ul>
  • 목록 1
  • 목록 2
[table] [tr] [td]테이블 데이터[/td] [/tr] [/table] <ref>거의 사용되지 않음</ref> <table><tr><td>테이블 데이터</td></tr></table>
테이블 데이터

어떤 전자 게시판은 추가적인 태그들을 지원하기도 한다.

대부분의 전자 게시판은 BBCode 사용법에 관한 도움말을 사용자에게 보여준다. 또한 BBCode 태그를 직접 만들어 사용할 수 있는 기능을 제공하기도 한다.

같이 보기

바깥 고리

주석

<references />