open:dokuwiki-linebreak

Dokuwiki linebreak

FIXME 작성 필요

도쿠위키에서 글을 작성할 때에 바로 다음줄에 작성한 경우에는 글이 이어져서 출력된다. 이는 github 위키에서도 마찬가지다.
이 점이 사용할 때에 은근히 신경 쓰이게 된다.

linebreak를 추가하여 이를 변경해 보자.

수정할 파일은 dokuwiki/inc/parser/parser.php 이다. 321번째 줄.

snippet.php
class Doku_Parser_Mode_linebreak extends Doku_Parser_Mode {
 
    function connectTo($mode) {
        $this->Lexer->addSpecialPattern('\x5C{2}(?:[ \t]|(?=\n))',$mode,'linebreak');        
    }
 
    function getSort() {
        return 140;
    }
}

원래 소스는 $this->Lexer->addSpecialPattern('\x5C{2}(?:[ \t]|(?=\n))',$mode,'linebreak'); 한 줄만 있으므로, 추가로 등록할 정규표현식을 추가하자.

한줄을 쓰고, 내려서 바로 이어서 쓰는 글들을 라인 분리를 하자. 사용할 정규표현식은 \n(?=\w)이다. 줄바꿈 뒤에 문자가 오는 경우이다.

또 한가지, <br> 태그를 줄바꿈으로 바꾸자. 테이블안에서 줄바꿈을 하는경우 github에서 <br>을 사용한다. 도쿠위키에서는 \\를 사용한다. 따라서, 이것 또한 추가한다.

snippet.php
function connectTo($mode) {
    $this->Lexer->addSpecialPattern('\x5C{2}(?:[ \t]|(?=\n))',$mode,'linebreak');        
    $this->Lexer->addSpecialPattern('\<br\/?\>',$mode,'linebreak');
    $this->Lexer->addSpecialPattern('\n(?=\w)',$mode,'linebreak');
}

  • open/dokuwiki-linebreak.txt
  • 마지막으로 수정됨: 2020/06/02 09:25
  • 저자 127.0.0.1