사용자 도구

사이트 도구


dokuwiki:dokuwiki_에서_페이지_제목을_본문에_삽입하기
dokuwiki 에서 페이지 제목을 본문에 삽입하기

도쿠위키 페이지제목 삽입한 화면

문제점

도쿠위키는 페이지제목을 상단오른쪽에 아주 작게 표시한다. 그리고 심지어 이러한 페이지 제목은 모바일 화면에서는 나오지도 않는다.

막상 내가 지금 무슨 제목의 페이지를 보고 있는지 알 수가 없는 것이다. 이는 불합리하다. 따라서 페이지 제목을 본문에 큼지막하게 넣어서 지금 보고 있는 페이지가 어떤 내용을 담고 있는지 아주 크게 인식시키려고 한다.

css 파일

Ⅰ. 위치

우리는 main.php 파일을 변경할 것이다. 이에 대한 css 파일은 design.less 파일에 있다.

(root)/libe/tpl/(내템플릿)/css/design.less

Ⅱ. css 추가

주석으로 content라고 쓰여 있는 부분 아래에 다음과 같이 pageTitle이란 css 클래스를 만들어 주자

.dokuwiki div.pageTitle {
    font-family: 'GoryeongStrawberryWeb'; 
    text-align: center;
    border: 5px solid green;
    padding: 0.5em 1em 0.5em 1em;
    font-size : 2.2em;
    height:30px;
    line-height: 30px;
    margin-bottom: 20px;
    color:coral;   
    text-shadow: 2px 2px 3px gold;
}

main.php 파일의 수정

Ⅰ. 위치

템플릿의 루트 폴더에 있다.

(root)/libe/tpl/(내템플릿)/main.php

Ⅱ. 수정

content라고 주석으로 쓰여진 부분의 하단을 아래와 같이 수정한다.

            <main id="dokuwiki__content"><div class="pad group">
                <?php html_msgarea() ?>
 
                <div class="pageId"><span><?php echo hsc($ID) ?> </span></div>
                <div class="page group">
                    <?php tpl_flush() ?>
                    <?php tpl_includeFile('pageheader.html') ?>
                    <!-- wikipage start -->
                    <!-- 수정한 코드 : 문서 내에 현재 페이지의 타이을을 추가하기. $INFO('id')가 현재페이지의 제목이다  -->    
                    <div class="pageTitle">
                    <?php 
                    $str = $INFO['id'];   // 현재 문서의 제목 
                    $words = explode(':', $str); // 콜론을 기준으로 문자열 자름 
                    $titleStr = end($words); // 배열의 마지막만 가져오기 
                    echo hsc(str_replace("_"," ",$titleStr)); ?>    <!--본문에 출력하기  -->
                    </div>
                    <!-- 문서 내에 현재 페이지 제목 출력하기 끝  -->    
                    <?php tpl_content() ?>
                    <!-- wikipage stop -->
                    <?php tpl_includeFile('pagefooter.html') ?>
                </div>

실제 작동하는 코드는 다음과 같다.

<!-- 수정한 코드 : 문서 내에 현재 페이지의 타이을을 추가하기. $INFO('id')가 현재페이지의 제목이다  -->    
<div class="pageTitle">
<?php 
$str = $INFO['id'];   // 현재 문서의 제목 
$words = explode(':', $str); // 콜론을 기준으로 문자열 자름 
$titleStr = end($words); // 배열의 마지막만 가져오기 
echo hsc(str_replace("_"," ",$titleStr)); ?>    <!--본문에 출력하기  -->
</div>
<!-- 문서 내에 현재 페이지 제목 출력하기 끝  -->    

템플릿 파일

내가 만든 도쿠위키 템플릿 파일이다. 참고하도록 여기에 올린다.

법학위키 템플릿 파일

압축을 풀어서 템플릿 파일 폴더에 넣으면 된다.

참고

로그인하면 댓글을 남길 수 있습니다.

dokuwiki/dokuwiki_에서_페이지_제목을_본문에_삽입하기.txt · 마지막으로 수정됨: 2024/06/06 18:35 저자 이거니맨