2014-05-14 3 views
0

최근 미디어 위키에서는 적어도 벡터 스킨에서는 사이드 바에 wikitext를 활성화 할 수 없습니다. Wikitext는보다 고급 포맷팅과 이미지 삽입을 가능하게합니다.MediaWiki 사이드 바에서 wikitext 사용하기

내가 발견 한 유일한 해결책은 CustomNavBlocks 확장 (http://www.mediawiki.org/wiki/Extension:CustomNavBlocks)을 설치하는 것이지만 MonoBook 스킨에서는 사이드 바 내부의 각 상자 안에 이미지가 표시됩니다.

모든 스킨에 대해 wikitext를 전역 적으로 활성화하는 더 좋은 방법이 있습니까?

+0

작동 했습니까? – leo

답변

0

사이드 바는 전적으로 피부의 책임이므로 모든 스킨에서 동작을 수정하는 방법은 없습니다.

그러나 대부분의 스킨 (및 모든 내장 된 것들)은 사이드 바 렌더링이 끝날 때 훅을 호출하기 때문에 사이드 바 수정을위한 확장을 빌드하는 한 가지 방법은 거기에 일부 파서를 추가하는 것입니다. 당신이 바로 그 목적을 위해 발명 한 마크 업.

0
$wgHooks["SkinBuildSidebar"][] = "fnSidebarMultiLevel"; 
function fnSidebarMultiLevel(Skin $skin, &$bar) { 

    global $wgOut; 

    $title = Title::makeTitle(NS_MEDIAWIKI, "Sidebar-Custom"); 

    if (!$title->exists()) 
    return true; 

    $text = WikiPage::factory($title)->getContent()->mText; 

    $firstValue = reset($bar); 
    $firstKey = key($bar); 

    unset($bar[$firstKey]); 

    $bar = array(
    $firstKey => $firstValue, 
    "Custom" => $wgOut->parse($text) 
) + $bar; 

    return true; 

} 

위키 텍스트를 wiki.com/wiki/MediaWiki:Sidebar-Custom에 추가하십시오. "사용자 지정"블록이 두 번째 것입니다.

관련 문제