"위키를 한번 써 보시죠."
"거 문법 어려워서 못 씁니다."
위키를 권하기 어려운 이유 중 하나가 '마크업' 언어입니다.
여기저기 불쑥불쑥 써넣어야 하는 문법 때문에 난감하기 그지없습니다.
이런 마크업으로 구성된 문서가 위키 텍스트이고 이를 접하며 많은 사람이 위키를 포기하게 됩니다.
위키 텍스트는 위키 사용자를 가로막는 일종의 장벽인 샘 입니다.
Painful Creation?
지난 번 설치한 gunbe.com의 첫화면 페이지탭에서 편집을 클릭해 볼까요?
편집 화면에 덩그러니 아이콘 몇개가 있을 뿐입니다. 자세히 보니 각각 볼드, 이탤릭, 내부링크, 바깥링크, 2단계문단제목, 파일넣기, 파일링크, 위키문법쓰지않기,가로줄에 해당하는 아이콘입니다.
도대체 무엇을 하라는 것인지..
이 편집창에 익숙해지는 데는 시간이 걸립니다. 편집창이 도와주는 일이 별로 없기 때문입니다. 처음 미디어위키가 배포된 것이 2003년이니 당시에는 이런 환경을 사용했으리라 봅니다. 이런 빈약한 환경에서 지금 이 거대한 위키피디아가 생겼다니 경외감마저 듭니다.
이런 환경은 오래 전 글쓰기 툴의 기본으로, 이보다 쾌적한 환경을 위해 미디어위키에서는 WikiEditor라는 확장기능(extensions)을 제공합니다.
WikiEditor 설치
*참고 : WikiEditor 공식배포처
https://www.mediawiki.org/wiki/Extension:WikiEditor
이 확장기능은 미디어위키를 처음 설치할 때 추가할 수 있습니다. 매우 간단한 설정으로 바로 사용가능합니다.
다음 명령어로 환경설정파일 LocalSettings.php을 수정하여 활성화합니다.
$ sudo nano /var/www/html/m/LocalSettings.php
이중 맨 마지막 줄의 wfLoadExtension( 'WikiEditor' );가 WikiEditor 확장기능을 탑재하는 설정입니다. 없다면 적어넣고 공식배포사이트에서 파일을 얻어 미디어위키의 extensions 폴더 아래에 WikiEditor 폴더로 압축을 풀어 놓아야 합니다.
환경설정파일 LocalSettings.php 맨 마지막에 다음의 설정을 추가하면 로그인하지 않고도 누구나 WikiEditor를 사용할 수 있습니다. 그리고 원치 않는 사용자가 환경설정에서 기능을 끄도록 할 수 있습니다.
# WikiEditor를 기본 편집환경으로 설정. 사용자가 환경설정에서 변경가능.
$wgDefaultUserOptions['usebetatoolbar'] = 1;
# 링크와 표만들기 기능도 넣어줌. 사용자가 환경설정에서 변경가능.
$wgDefaultUserOptions['usebetatoolbar-cgd'] = 1;
이제 다시 대문의 편집화면을 보면 좀더 산뜻하고 많은 편집가이드를 볼 수 있습니다.
이제 이전의 기본 글쓰기 환경에 비해 좀더 편리하게 입력할 수 있게 되었습니다.
단, 아직도 위키 특유의 '마크업' 문법을 사용해야 합니다.
자 이제 만족하고 위키를 사용해야 할 까요?
전 만족하기 어렵더군요.
언제 이걸 다 배워요.
마크업 언어 없이 위키를 사용할 수 있도록.
워드나 한글 쓰듯이 문서작성하면 안될까?
이런 고민으로 위키미디어 재단에서는 VisualEditor 프로젝트를 진행하고 있습니다.
덕분에 이 확장기능을 설치해 위지위그(WYSIWYG: What You See Is What You Get) 방식으로 위키편집이 가능합니다.
많은 분들이 간절히 바라던 기능입니다.
일단 진행해 보겠습니다.
다음을 설치합니다.
node & parsoid & restbase 설치
$ sudo apt-get install php-curl sqlite libsqlite3-dev
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
$ source ~/.bashrc
$ nvm install 8
$ nvm use 8
$ npm install -g parsoid
$ npm install -g restbase
$ npm install -g pm2
$ cd /home/pi/.nvm/versions/node/v8.10.0/lib/node_modules
parsoid 설정
$ cd parsoid
$ sudo cp config.example.yaml config.yaml
$ sudo nano config.yaml
아래 부분을 찾아봅니다. 이제 gunbe.com에 맞추어 설정해 봅니다.
아래처럼 uri, domain 을 적고, serverPort, serverInterface를 언커멘트하여 정보를 기입합니다.
uri: 'http://gunbe.com/m/api.php'
domain: 'gunbe.com' # optional
serverPort: 8142
serverInterface: 'localhost'
RESTBase 설정
$ cd ..
$ cd restbase
$ npm update
$ sudo cp config.example.yaml config.yaml
$ sudo nano config.yaml
아래와 같이 수정합니다.
x-sub-request-filters:
allow:
- pattern: http://localhost/m/api.php
forward_headers: true
- pattern: http://localhost:8142
forward_headers: true
- pattern: /^https?:\/\//
paths:
/{domain:gunbe.com}:
action:
# XXX Check API URL!
apiUriTemplate: http://gunbe.com/m/api.php
baseUriTemplate: "{{'http://127.0.0.1:7231/{domain}/v1'}}"
parsoid:
# XXX Check Parsoid URL! localhost is the default configuration
host: http://localhost:8142
pm2 설정
$ pm2 start cd /home/pi/.nvm/versions/node/v8.10.0/lib/node_modules/parsoid/bin/server.js
$ pm2 start cd /home/pi/.nvm/versions/node/v8.10.0/lib/node_modules/restbase/server.js
$ pm2 save
$ pm2 startup
이렇게 해두면 서버가 켜질 때 자동실행 됩니다.
VisualEditor 설치
$ cd /var/www/html/m/extensions
$ sudo git clone -b REL1_30 https://gerrit.wikimedia.org/r/p/mediawiki/extensions/VisualEditor.git
$ cd VisualEditor
$ sudo git submodule update --init
$ sudo nano /var/www/html/m/LocalSettings.php
LocalSetting.php 수정을 다음과 같이 합니다.
// 모두가 비주얼 에디트를 사용하도로 설정
$wgDefaultUserOptions['visualeditor-enable'] = 1;
// 위키 텍스트 소스모드를 VisualEditor 내부에서 진행
$wgVisualEditorEnableWikitext = true;
$wgDefaultUserOptions['visualeditor-newwikitext'] = 1;
// 편집 탭을 하나만 사용하여, 기존 VisualEditor 편집 탭으로 앞뒤로 전환.
$wgVisualEditorUseSingleEditTab = true;
$wgDefaultUserOptions['visualeditor-editor'] = "visualeditor";
// 사파리에서 로딩이 안되는 경우가 있는데 해결하기 위해 켜둡니다.
$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;
$wgVirtualRestConfig['modules']['parsoid'] = array(
// URL to the Parsoid instance
// Use port 8142 if you use the Debian package
'url' => 'http://localhost:8142',
// Parsoid "domain", see below (optional)
'domain' => 'gunbe.com'
);
$wgVirtualRestConfig['modules']['restbase'] = array(
// RESTBase server URL (string)
'url' => 'http://gunbe.com:7231',
// Wiki domain to use (string)
'domain' => 'gunbe.com'
);
$wgVisualEditorRestbaseURL = 'https://gunbe.com:7231/gunbe.com/v1/page/html/';
$wgVisualEditorFullRestbaseURL = 'http://gunbe.com:7231/gunbe.com/';
Playful Creation!
VisualEditor 사용
자 이제 끝났습니다.
아주 쉽습니다.
그저 워드프로세서처럼 기록하면 됩니다.
위키미디어 재단에서 제공하는 비주얼에디터(시각편집기)의 매뉴얼 링크를 마련해 두었습니다.
아래 링크에 방문하시면 세세한 편집방법을 쉽게 알 수 있습니다.
이번 비주얼에디터 설치를 통해 마크업→위지위그 방식으로 편집향상을 도모했고,
마크업/위지위그 방식의 서로 전환을 유연하게 했습니다. 편집 전환시 내용이 사라지지 않도록 했습니다.
아래 그림처럼 연필 아이콘을 눌러 마크업/위지위그 방식을 전환하면 됩니다.
위키 사용자는 지식을 좋게 마련하여 축적되고 전달되는 것을 즐깁니다.
이 상황에서 위키관리자(위키마스터)가 중요한 역할을 합니다. 위키마스터는 컨텐츠의 개방 정도, 저작권의 허용 정도, 사용자의 집필 방식을 선언할 수 있습니다. 또 마스터의 컨셉이 중요합니다. 어떤 방향으로 운영하는지에 따라 위키의 성격과 성장이 크게 달라지니까요.
다음 회에서는 위키 사용자들이 서로 잘 교감 할 수 있도록
사용자 간의알림(Echo), 토론(flow) 설치를 소개해 볼까합니다.
감사합니다.
여우드림.