가온 위키:기능 구현 불가-누가 해결책을 알려주세요!: 두 판 사이의 차이

Admin_Old (토론)
편집 요약 없음
(사용자 4명의 중간 판 30개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==이 문서는...==
==이 문서는...==
# 답답한 우리의 [[사용자:Admin|가온 위키 관리자]]가 구현하지 못해, 착한 유저가 해결책을 제시한 경우, 감사의 표시로 이곳과 [[가온 위키 커뮤니티]]에 표시하는 곳입니다.<br/>
답답한 우리의 [[사용자:Admin|가온 위키 관리자]]가 구현하지 못해, 착한 유저가 해결책을 제시한 경우, 감사의 표시로 이곳과 [[가온 위키 커뮤니티]]에 표시하는 곳입니다.<br/>


==구현 못한 부분==
==구현 못한 부분==
===니코동 영상 가져오기===
* 아직까지 없습니다.
# 어디서는 SSL을 적용해도 잘만 가져오는데, 여기는 못 가져오네...<br/>
 
==해결됨==
 
===리버티 스킨 관련 문제===
리버티 스킨과 관련된 문제는 [[가온 위키:기능 구현 불가-누가 해결책을 알려주세요!/리버티 스킨]] 문서를 참고하자.
 
===영상 가져오기(Embed) 관련 문제===
외부 서비스들 중에서 가져오지 못하는 것들은 [[가온 위키:기능 구현 불가-누가 해결책을 알려주세요!/영상 가져오기]] 문서를 참고하자!
 
===이미지 관련 문제===
====이미지 크기 설정시 파일 링크만 뜨는 현상====
<nowiki>[[파일:updates.png|100px]]</nowiki> 이렇게 하면 일반 문서처럼 링크로 뜬다. 서버 이전 전에는 이러지 않았는데...
 
[https://m.mediawiki.org/w/index.php?title=Topic:Rnjccxoqss9wfedy&topic_showPostId=rnq05rzcc6o7z4hc#flow-post-rnq05rzcc6o7z4hc 미디어위키 헬프 데스크]에서 찾았다.
 
=====수정 전=====
[[미디어위키]]의 루트 폴더에 있는 [[미디어위키/LocalSettings.php|LocalSettings.php]]를 수정한다.
 
=====수정 후=====
[[LocalSettings.php]]의 하단 부분에 추가하자.
<syntaxhighlight lang='php'>
$wgGenerateThumbnailOnParse = true;
</syntaxhighlight>
 
그리고 [[미디어위키]] 버전이 1.30 이상인 경우, 썸네일을 재생성하자. [[미디어위키]]의 루트 폴더에서 '''maintenance''' 폴더로 이동한 뒤, 아래의 명령어를 입력하자.
 
<syntaxhighlight lang='console'>
root@gaon:/var/www/html/w/maintenance# php rebuildImages.php
</syntaxhighlight>
 
=====하고 싶은말=====
이 오류는 [[미디어위키]] 1.27 버전에서는 없던 오류이므로 1.30 이상 버전의 오류같다. 물론 썸네일은 [[Imagemagick]]가 미리 설치 및 [[미디어위키]]에서 미리 설정 되어 있어야 한다.
 
====SVG 파일 업로드시 썸네일의 흑백화====
SVG 파일을 업로드하면 원래 가지고 있던 색상값은 표시되지 않고 흑백으로만 표시가 된다. 이는 SVG를 png로 변환하는 프로그램인 ImageMagick의 특정 버전에서 나타난 오류이다. [https://bbs.gaonwiki.com/free/3877 zlzleking님]이 보고해 주셨다.
 
=====수정 전=====
먼저 Inkscape를 설치한다. 우분투 기준으로 아래의 명령어를 입력하면 된다.
<syntaxhighlight lang='console'>
root@gaon:/# apt update
root@gaon:/# apt install inkscape
</syntaxhighlight>
 
이후 [[미디어위키]]의 루트 폴더에 있는 [[미디어위키/LocalSettings.php|LocalSettings.php]]를 수정한다.
 
<syntaxhighlight lang='php'>
$wgSVGConverter = 'ImageMagick';
</syntaxhighlight>
 
=====수정 후=====
[[LocalSettings.php]]의 하단 부분에 추가하자. Inkscape의 경로는 자신의 환경에 맞춰 수정하자.
<syntaxhighlight lang='php'>
$wgSVGConverterPath = '/usr/bin/inkscape';
$wgSVGConverters = [
        'Inkscape' => '/usr/bin/inkscape -w $width -z -w $width -f $input -e $output',
];
$wgSVGConverter = 'Inkscape';
 
#$wgSVGConverter = 'ImageMagick';
</syntaxhighlight>
 
여기서
<syntaxhighlight lang='php'>
$wgSVGConverter = 'ImageMagick';
</syntaxhighlight>
부분은 반드시 주석처리 한다.
 
그리고 [[미디어위키]] 버전이 1.30 이상인 경우, 썸네일을 재생성하자. [[미디어위키]]의 루트 폴더에서 '''maintenance''' 폴더로 이동한 뒤, 아래의 명령어를 입력하자.
 
<syntaxhighlight lang='console'>
root@gaon:/var/www/html/w/maintenance# php rebuildImages.php
</syntaxhighlight>
 
===신택스 강조(Syntax Highlight) 사용시 사용된 문서가 '''구문 강조에 오류가 있는 문서'''로 분류되는 현상===
미디어위키 1.33.1 버전에 있는 [[미디어위키/확장기능/SyntaxHighlight|SyntaxHighlight 확장기능]]을 사용하는 경우, "구문 강조에 오류가 있는 문서"로 자동 분류된다.
 
미디어위키 코어에 포함되어 있는 버전만 파이썬 전역 환경변수 처리를 요구한다.
 
====구버전 사용====
1.32.x 버전의 구버전을 사용하는 방법이다.
웹호스팅과 같이 서버를 직접 조작하지 못하는 경우에 사용하면 된다.
 
[https://www.mediawiki.org/wiki/Special:ExtensionDistributor/SyntaxHighlight_GeSHi SyntaxHighlight 다운로드 페이지]로 이동 후, 미디어위키 버전을 1.32 버전으로 설정 후, 기존에 있던 확장기능 삭제 후 새로 받은 버전으로 업로드 한다.
 
====확장기능 페이지서 1.33버전으로 다운로드====
이상하게 1.33 버전으로 다운로드 받아도 작동한다. 아마도 코어 파일에 포함되어 있는 버전만 파이썬 전역 환경변수 처리해야 하는 것 같다.
 
이후 미디어위키 1.34 코어에 포함된 버전은 해당 문제가 발생하지 않는다. 1.33.1에 포함된 버전만 문제인 것 같다.
 
====파이썬3 설치====
1.35.1 기준, 서버에 파이썬3를 설치하면 해당 문제는 발생하지 않는다.
 
설치방법은 쉘에
 
<syntaxhighlight lang='console'>
root@gaon:/# apt update && apt -y install python3
</syntaxhighlight>
 
이라고 입력한다. 설치가 되었는지 확인하려면,
<syntaxhighlight lang='console'>
root@gaon:/# python3 --version
Python 3.8.5
</syntaxhighlight>
이라고 입력한다. 이때 버전은 위의 버전과 다를 수 있다.
 
===TitleKey 확장기능 설치===
대소문자 구분 없이 문서를 검색 할 수 있는 [[미디어위키/확장기능/TitleKey|TitleKey]] 설정 중, <code>php extensions/TitleKey/maintenance/rebuildTitleKeys.php</code> 명령어를 입력할 때, 경로를 찾지 못하는 문제가 있다.
 
이 문제는 환경변수 <code><nowiki>$IP</nowiki></code>가 경로를 제대로 반환하지 않아 생기는 문제이다.
 
여기서는 환경변수 <code><nowiki>$IP</nowiki></code>를 수정하지 않고, 9번째 줄을 절대경로로 바꾸어 사용했다. 사용 환경에 맞추어 수정하길 바란다.


===최근바뀜에서 문서명에 / 가 포함되어 있으면, 오류 뜨는 경우 수정됨)===
# 같은 스킨을 쓰는 [[리브레 위키]]에서는 잘 되던데... 서버 설정 오류인가?<br/>
# [https://quiple.mcsv.io/w/퀴플위키 퀴플위키]에서 해결책을 찾았다. 감사합니다. 퀴플위키!<ref>최신 버전 기준이다.</ref>
====수정 전====
====수정 전====
<syntaxhighlight lang="JavaScript" highlight="5" start='55' line>
<syntaxhighlight lang='php' start='5' highlight='5'>
var recentChanges, html, time, line, text;
$IP = getenv( 'MW_INSTALL_PATH' );
recentChanges = data.query.recentchanges;
if ( $IP === false ) {
html = recentChanges.map( function ( item ) {
$IP = __DIR__ . '/../..';
time = new Date( item.timestamp );
}
line = '<li><a class="recent-item" href = "' + ( mw.config.get( 'wgArticlePath' ) ).replace( '$1', encodeURIComponent( item.title ) ) + '" title="' + item.title + '">[' + timeFormat( time ) + '] ';
require_once "$IP/maintenance/Maintenance.php";
text = '';
 
if ( item.type === 'new' ) {
// In case we want to do offline initialization...
text += '[New]';
if ( !class_exists( 'TitleKey' ) ) {
}
require __DIR__ . '/../includes/TitleKey.php';
text += item.title;
}
if ( text.length > 13 ) {
</syntaxhighlight>
text = text.substr( 0, 13 );
 
text += '...';
}
</syntaxhighlight><br/>
====수정 후====
====수정 후====
<syntaxhighlight lang="JavaScript" highlight="5" start='55' line>
<syntaxhighlight lang='php' start='5' highlight='5'>
var recentChanges, html, time, line, text;
$IP = getenv( 'MW_INSTALL_PATH' );
recentChanges = data.query.recentchanges;
if ( $IP === false ) {
html = recentChanges.map( function ( item ) {
$IP = __DIR__ . '/../..';
time = new Date( item.timestamp );
}
line = '<li><a class="recent-item" href = "' + ( mw.config.get( 'wgArticlePath' ) ).replace( '$1', encodeURI( item.title ) ) + '" title="' + item.title + '">[' + timeFormat( time ) + '] ';
require_once "/var/www/html/w/maintenance/Maintenance.php";
text = '';
 
if ( item.type === 'new' ) {
// In case we want to do offline initialization...
text += '[New]';
if ( !class_exists( 'TitleKey' ) ) {
}
require __DIR__ . '/../includes/TitleKey.php';
text += item.title;
}
if ( text.length > 13 ) {
</syntaxhighlight>
text = text.substr( 0, 13 );
 
text += '...';
또는 상대경로로 지정해도 된다. 이 경우에는 미디어위키 설치 경로에 구애받지 않는다는 장점이 있다.
}
 
</syntaxhighlight><br/>
<syntaxhighlight lang='php' start='5' highlight='5'>
# 59번째 줄의 encodeURIComponent( item.title ) )에서 encodeURIComponent를 encodeURI로 변경
$IP = getenv( 'MW_INSTALL_PATH' );
if ( $IP === false ) {
$IP = __DIR__ . '/../..';
}
require_once "../../../maintenance/Maintenance.php";
 
// In case we want to do offline initialization...
if ( !class_exists( 'TitleKey' ) ) {
require __DIR__ . '/../includes/TitleKey.php';
}
</syntaxhighlight>
 
==비주얼 에디터 설치==
비주얼 에디터를 설치하고, 사용할 수 있다. 다만 짧은 주소 설정시 오류가 발생할 수 있으므로 본 코드를 사용하자.
 
===짧은 주소 설정(선택, 권장)===
짧은 주소를 설정하자. .htaccess를 사용하므로 아파치 이용자만 할 수 있다.(짧은 주소 자체는 nginx도 할 수 있지만, 서술하지 않음).
 
먼저 [[미디어위키/LocalSettings.php|LocalSettings.php]]가 있는 루트 폴더로 이동하여 .htaccess를 열자. 없으면 생성하자.
 
이후 아래와 같이 입력한다.
 
<syntaxhighlight>
RewriteEngine On
RewriteBase /w/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /w/index.php [L]
 
RewriteCond %{HTTP_USER_AGENT} !^(VisualEditor)
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php [L]
 
RewriteCond %{HTTP_USER_AGENT} !^(VisualEditor)
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2 [L,QSA,B]
 
RewriteCond %{HTTP_USER_AGENT} !^(VisualEditor)
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
</syntaxhighlight>
 
여기서 2번째 줄과 6번째 줄에 있는 <code>/w/</code> 부분에 원하는 줄임(<nowiki>https://example.com/w/문서명</nowiki>) 단어를 입력한다.
 
[https://wnw1005.tistory.com/168 출처 : 씨실과 날실님 티스토리 블로그], [https://www.mediawiki.org/wiki/Topic:W2ahzg3yi27mvp9y 미디어위키 토론 중 Rogerhc님의 답변]
 
이후 LocalSettings.php 하단에 다음과 같이 입력한다.
<syntaxhighlight lang='php'>
$wgScriptExtension = ".php";
$wgArticlePath = "{$wgScriptPath}/$1";
$wgUsePathInfo = true;
</syntaxhighlight>
 
===비주얼 에디터 설치===
1.37버전은 이미 extensions 폴더에 있다. 코어에 포함되어 있으나, 삭제한 사람은 [https://www.mediawiki.org/wiki/Extension:VisualEditor 미디어위키 비주얼 에디터 페이지]에서 자신의 버전에 맞게 다운로드 받은 뒤 extensions 폴더 안에 넣는다.
 
이후 LocalSettings.php 하단에 다음과 같이 입력한다.
<syntaxhighlight lang='php'>
wfLoadExtension( 'VisualEditor' );
</syntaxhighlight>
 
이러면 끝이다.


===이미지 크기 설정시 파일 링크만 뜨는 현상===
== 미디어위키 1.39 버전 업그레이드 이후 분류값 앞에 점이 표시되고 세로로 정렬되는 문제 ==
# <nowiki>[[파일:upgrade.png|100px]]</nowiki> 이렇게 하면 일반 문서처럼 링크로 뜬다.
미디어위키 1.39 rc버전에서는 이런 문제가 없었지만, 1.39 정식버전에서는 분류값 앞에 점이 표시되고, 세로로 정렬되는 문제가 있다. 또한 분류값이 '''분류:'''밑에 줄에 표시되는 문제가 있다.
# 서버 이전 전에는 이러지 않았는데...
[[파일:미디어위키1_39_분류_문제.png]]
 
이는 [[미디어위키:Common.css]] 문서를 수정하면 된다.
 
=== 수정 전 ===
<syntaxhighlight lang='css'>
/* 이 CSS 설정은 모든 스킨에 적용됩니다 */
.mw-highlight pre {
font-size: 90%;
}
</syntaxhighlight>
 
=== 수정 후 ===
<syntaxhighlight lang='css'>
/* 이 CSS 설정은 모든 스킨에 적용됩니다 */
.mw-highlight pre {
font-size: 90%;
}
 
/* 1.39 버전에서 분류 표시가 li로 표시돠는 문제 해결 */
#mw-normal-catlinks > ul {
list-style: none;
}
 
#mw-normal-catlinks > ul > li {
float: left;
margin-right: 15px;
}
 
/* 분류: 밑부분에 분류값이 표시되는 문제 해결 */
#mw-normal-catlinks {
display: flex;
align-items: center;
}
</syntaxhighlight>


==구현한 기능==
==구현한 기능==
* 아직 존재하지 않습니다.<br/>
=== 인디케이터 표시 ===
[https://github.com/merlinwarage/simple-scroll-progress simple-scroll-progress]를 이용하여 스크롤한 범위를 표시하는 기능입니다.
 
[[파일:리버티 스킨-스크롤 범위.gif]]<ref>초기의 타 라이브러리를 사용한 모습. 현재 버전은 본 위키에 적용되어 있다.</ref>
 
혹시 사용하고 싶다면, [https://github.com/gaon12/Liberty Liberty 깃허브 저장소]를 다운로드 받아 사용하면 된다. 라이브러리는 외부에서 불러오니 참고하자.


==각주==
==각주==

2023년 3월 5일 (일) 20:19 판

이 문서는...

답답한 우리의 가온 위키 관리자가 구현하지 못해, 착한 유저가 해결책을 제시한 경우, 감사의 표시로 이곳과 가온 위키 커뮤니티에 표시하는 곳입니다.

구현 못한 부분

  • 아직까지 없습니다.

해결됨

리버티 스킨 관련 문제

리버티 스킨과 관련된 문제는 가온 위키:기능 구현 불가-누가 해결책을 알려주세요!/리버티 스킨 문서를 참고하자.

영상 가져오기(Embed) 관련 문제

외부 서비스들 중에서 가져오지 못하는 것들은 가온 위키:기능 구현 불가-누가 해결책을 알려주세요!/영상 가져오기 문서를 참고하자!

이미지 관련 문제

이미지 크기 설정시 파일 링크만 뜨는 현상

[[파일:updates.png|100px]] 이렇게 하면 일반 문서처럼 링크로 뜬다. 서버 이전 전에는 이러지 않았는데...

미디어위키 헬프 데스크에서 찾았다.

수정 전

미디어위키의 루트 폴더에 있는 LocalSettings.php를 수정한다.

수정 후

LocalSettings.php의 하단 부분에 추가하자.

$wgGenerateThumbnailOnParse = true;

그리고 미디어위키 버전이 1.30 이상인 경우, 썸네일을 재생성하자. 미디어위키의 루트 폴더에서 maintenance 폴더로 이동한 뒤, 아래의 명령어를 입력하자.

root@gaon:/var/www/html/w/maintenance# php rebuildImages.php
하고 싶은말

이 오류는 미디어위키 1.27 버전에서는 없던 오류이므로 1.30 이상 버전의 오류같다. 물론 썸네일은 Imagemagick가 미리 설치 및 미디어위키에서 미리 설정 되어 있어야 한다.

SVG 파일 업로드시 썸네일의 흑백화

SVG 파일을 업로드하면 원래 가지고 있던 색상값은 표시되지 않고 흑백으로만 표시가 된다. 이는 SVG를 png로 변환하는 프로그램인 ImageMagick의 특정 버전에서 나타난 오류이다. zlzleking님이 보고해 주셨다.

수정 전

먼저 Inkscape를 설치한다. 우분투 기준으로 아래의 명령어를 입력하면 된다.

root@gaon:/# apt update
root@gaon:/# apt install inkscape

이후 미디어위키의 루트 폴더에 있는 LocalSettings.php를 수정한다.

$wgSVGConverter = 'ImageMagick';
수정 후

LocalSettings.php의 하단 부분에 추가하자. Inkscape의 경로는 자신의 환경에 맞춰 수정하자.

$wgSVGConverterPath = '/usr/bin/inkscape';
$wgSVGConverters = [
        'Inkscape' => '/usr/bin/inkscape -w $width -z -w $width -f $input -e $output',
];
$wgSVGConverter = 'Inkscape';

#$wgSVGConverter = 'ImageMagick';

여기서

$wgSVGConverter = 'ImageMagick';

부분은 반드시 주석처리 한다.

그리고 미디어위키 버전이 1.30 이상인 경우, 썸네일을 재생성하자. 미디어위키의 루트 폴더에서 maintenance 폴더로 이동한 뒤, 아래의 명령어를 입력하자.

root@gaon:/var/www/html/w/maintenance# php rebuildImages.php

신택스 강조(Syntax Highlight) 사용시 사용된 문서가 구문 강조에 오류가 있는 문서로 분류되는 현상

미디어위키 1.33.1 버전에 있는 SyntaxHighlight 확장기능을 사용하는 경우, "구문 강조에 오류가 있는 문서"로 자동 분류된다.

미디어위키 코어에 포함되어 있는 버전만 파이썬 전역 환경변수 처리를 요구한다.

구버전 사용

1.32.x 버전의 구버전을 사용하는 방법이다. 웹호스팅과 같이 서버를 직접 조작하지 못하는 경우에 사용하면 된다.

SyntaxHighlight 다운로드 페이지로 이동 후, 미디어위키 버전을 1.32 버전으로 설정 후, 기존에 있던 확장기능 삭제 후 새로 받은 버전으로 업로드 한다.

확장기능 페이지서 1.33버전으로 다운로드

이상하게 1.33 버전으로 다운로드 받아도 작동한다. 아마도 코어 파일에 포함되어 있는 버전만 파이썬 전역 환경변수 처리해야 하는 것 같다.

이후 미디어위키 1.34 코어에 포함된 버전은 해당 문제가 발생하지 않는다. 1.33.1에 포함된 버전만 문제인 것 같다.

파이썬3 설치

1.35.1 기준, 서버에 파이썬3를 설치하면 해당 문제는 발생하지 않는다.

설치방법은 쉘에

root@gaon:/# apt update && apt -y install python3

이라고 입력한다. 설치가 되었는지 확인하려면,

root@gaon:/# python3 --version
Python 3.8.5

이라고 입력한다. 이때 버전은 위의 버전과 다를 수 있다.

TitleKey 확장기능 설치

대소문자 구분 없이 문서를 검색 할 수 있는 TitleKey 설정 중, php extensions/TitleKey/maintenance/rebuildTitleKeys.php 명령어를 입력할 때, 경로를 찾지 못하는 문제가 있다.

이 문제는 환경변수 $IP가 경로를 제대로 반환하지 않아 생기는 문제이다.

여기서는 환경변수 $IP를 수정하지 않고, 9번째 줄을 절대경로로 바꾸어 사용했다. 사용 환경에 맞추어 수정하길 바란다.

수정 전

$IP = getenv( 'MW_INSTALL_PATH' );
if ( $IP === false ) {
	$IP = __DIR__ . '/../..';
}
require_once "$IP/maintenance/Maintenance.php";

// In case we want to do offline initialization...
if ( !class_exists( 'TitleKey' ) ) {
	require __DIR__ . '/../includes/TitleKey.php';
}

수정 후

$IP = getenv( 'MW_INSTALL_PATH' );
if ( $IP === false ) {
	$IP = __DIR__ . '/../..';
}
require_once "/var/www/html/w/maintenance/Maintenance.php";

// In case we want to do offline initialization...
if ( !class_exists( 'TitleKey' ) ) {
	require __DIR__ . '/../includes/TitleKey.php';
}

또는 상대경로로 지정해도 된다. 이 경우에는 미디어위키 설치 경로에 구애받지 않는다는 장점이 있다.

$IP = getenv( 'MW_INSTALL_PATH' );
if ( $IP === false ) {
	$IP = __DIR__ . '/../..';
}
require_once "../../../maintenance/Maintenance.php";

// In case we want to do offline initialization...
if ( !class_exists( 'TitleKey' ) ) {
	require __DIR__ . '/../includes/TitleKey.php';
}

비주얼 에디터 설치

비주얼 에디터를 설치하고, 사용할 수 있다. 다만 짧은 주소 설정시 오류가 발생할 수 있으므로 본 코드를 사용하자.

짧은 주소 설정(선택, 권장)

짧은 주소를 설정하자. .htaccess를 사용하므로 아파치 이용자만 할 수 있다.(짧은 주소 자체는 nginx도 할 수 있지만, 서술하지 않음).

먼저 LocalSettings.php가 있는 루트 폴더로 이동하여 .htaccess를 열자. 없으면 생성하자.

이후 아래와 같이 입력한다.

RewriteEngine On
RewriteBase /w/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /w/index.php [L]

RewriteCond %{HTTP_USER_AGENT} !^(VisualEditor)
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/index.php [L]

RewriteCond %{HTTP_USER_AGENT} !^(VisualEditor)
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2 [L,QSA,B]

RewriteCond %{HTTP_USER_AGENT} !^(VisualEditor)
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]

여기서 2번째 줄과 6번째 줄에 있는 /w/ 부분에 원하는 줄임(https://example.com/w/문서명) 단어를 입력한다.

출처 : 씨실과 날실님 티스토리 블로그, 미디어위키 토론 중 Rogerhc님의 답변

이후 LocalSettings.php 하단에 다음과 같이 입력한다.

$wgScriptExtension = ".php";
$wgArticlePath = "{$wgScriptPath}/$1";
$wgUsePathInfo = true;

비주얼 에디터 설치

1.37버전은 이미 extensions 폴더에 있다. 코어에 포함되어 있으나, 삭제한 사람은 미디어위키 비주얼 에디터 페이지에서 자신의 버전에 맞게 다운로드 받은 뒤 extensions 폴더 안에 넣는다.

이후 LocalSettings.php 하단에 다음과 같이 입력한다.

wfLoadExtension( 'VisualEditor' );

이러면 끝이다.

미디어위키 1.39 버전 업그레이드 이후 분류값 앞에 점이 표시되고 세로로 정렬되는 문제

미디어위키 1.39 rc버전에서는 이런 문제가 없었지만, 1.39 정식버전에서는 분류값 앞에 점이 표시되고, 세로로 정렬되는 문제가 있다. 또한 분류값이 분류:밑에 줄에 표시되는 문제가 있다. 미디어위키1 39 분류 문제.png

이는 미디어위키:Common.css 문서를 수정하면 된다.

수정 전

/* 이 CSS 설정은 모든 스킨에 적용됩니다 */
.mw-highlight pre {
	font-size: 90%;
}

수정 후

/* 이 CSS 설정은 모든 스킨에 적용됩니다 */
.mw-highlight pre {
	font-size: 90%;
}

/* 1.39 버전에서 분류 표시가 li로 표시돠는 문제 해결 */
#mw-normal-catlinks > ul {
	list-style: none;
}

#mw-normal-catlinks > ul > li {
	float: left;
	margin-right: 15px;
}

/* 분류: 밑부분에 분류값이 표시되는 문제 해결 */
#mw-normal-catlinks {
	display: flex;
	align-items: center;
}

구현한 기능

인디케이터 표시

simple-scroll-progress를 이용하여 스크롤한 범위를 표시하는 기능입니다.

리버티 스킨-스크롤 범위.gif[1]

혹시 사용하고 싶다면, Liberty 깃허브 저장소를 다운로드 받아 사용하면 된다. 라이브러리는 외부에서 불러오니 참고하자.

각주

  1. 초기의 타 라이브러리를 사용한 모습. 현재 버전은 본 위키에 적용되어 있다.
• 현재 페이지 URL 줄이기