|
|
(사용자 2명의 중간 판 4개는 보이지 않습니다) |
1번째 줄: |
1번째 줄: |
| ==이 문서는...== | | ==이 문서는...== |
| # 답답한 우리의 [[사용자:Admin|가온 위키 관리자]]가 구현하지 못해, 착한 유저가 해결책을 제시한 경우, 감사의 표시로 이곳과 [[가온 위키 커뮤니티]]에 표시하는 곳입니다.<br/>
| | 답답한 우리의 [[사용자:Admin|가온 위키 관리자]]가 구현하지 못해, 착한 유저가 해결책을 제시한 경우, 감사의 표시로 이곳과 [[가온 위키 커뮤니티]]에 표시하는 곳입니다.<br/> |
|
| |
|
| ==구현 못한 부분== | | ==구현 못한 부분== |
6번째 줄: |
6번째 줄: |
|
| |
|
| ==해결됨== | | ==해결됨== |
| ===니코동 영상 가져오기===
| |
| # 어디서는<ref>크흠... 트리위키라 하면 알겠지...?</ref> SSL을 적용해도 잘만 가져오는데, 여기는 못 가져오네...<br/>
| |
| # [https://www.mediawiki.org/wiki/Extension:EmbedVideo EmbedVideo 확장 기능]을 수정해 보았지만 어렵네...
| |
| # 그래도 수정을 완료했다!(<del>스스로 토닥이는 관리자. 잘했어. 하얗게 불태웠어.</del>)
| |
|
| |
|
| ====수정 전==== | | ===리버티 스킨 관련 문제=== |
| * ./extensions/EmbedVideo/classes/VideoService.php 파일이다.
| | 리버티 스킨과 관련된 문제는 [[가온 위키:기능 구현 불가-누가 해결책을 알려주세요!/리버티 스킨]] 문서를 참고하자. |
| <syntaxhighlight lang="PHP" highlight="2" start='215' line>
| |
| 'nico' => [
| |
| 'embed' => '<iframe srcdoc="<script type="text/javascript" src="http://ext.nicovideo.jp/thumb_watch/%1$s?w=%2$d&h=%3$d"></script>" width="%2$d" height="%3$d" frameborder="0" allowFullScreen="true"></iframe>',
| |
| 'default_width' => 640,
| |
| 'default_ratio' => 1.59609120521173, // (490 / 307)
| |
| 'https_enabled' => false,
| |
| 'url_regex' => [
| |
| '#nicovideo\.jp/watch/((?:[a-zA-Z]{2})?[\d]+)#is'
| |
| ],
| |
| 'id_regex' => [
| |
| '#^((?:[a-zA-Z]{2})?[\d]+)$#is'
| |
| ]
| |
| ],
| |
| </syntaxhighlight><br/>
| |
| | |
| ====수정 후====
| |
| <syntaxhighlight lang="PHP" highlight="2" start='215' line>
| |
| 'nico' => [
| |
| 'embed' => '<iframe src="https://embed.nicovideo.jp/watch/%1s/" width="%2$d" height="%3$d" frameborder="0" allowFullScreen="true"></iframe>',
| |
| 'default_width' => 640,
| |
| 'default_ratio' => 1.59609120521173, // (490 / 307)
| |
| 'https_enabled' => true,
| |
| 'url_regex' => [
| |
| '#nicovideo\.jp/watch/((?:[a-zA-Z]{2})?[\d]+)#is'
| |
| ],
| |
| 'id_regex' => [
| |
| '#^((?:[a-zA-Z]{2})?[\d]+)$#is'
| |
| ]
| |
| ],
| |
| </syntaxhighlight><br/>
| |
|
| |
|
| # '''<nowiki>'embed'=> '<iframe srcdoc="<script type="text/javascript" src="http://ext.nicovideo.jp/thumb_watch/%1$s?w=%2$d&h=%3$d"></script></nowiki>"'''를 '''<nowiki>'embed'=> '<iframe src="https://embed.nicovideo.jp/watch/%1s/"</nowiki>'''로 변경한다.
| | ===영상 가져오기(Embed) 관련 문제=== |
| | 외부 서비스들 중에서 가져오지 못하는 것들은 [[가온 위키:기능 구현 불가-누가 해결책을 알려주세요!/영상 가져오기]] 문서를 참고하자! |
|
| |
|
| ===최근바뀜에서 문서명에 / 가 포함되어 있으면, 오류 뜨는 경우=== | | ===이미지 크기 설정시 파일 링크만 뜨는 현상=== |
| # 같은 스킨을 쓰는 [[리브레 위키]]에서는 잘 되던데... 서버 설정 오류인가?<br/>
| | <nowiki>[[파일:updates.png|100px]]</nowiki> 이렇게 하면 일반 문서처럼 링크로 뜬다. 서버 이전 전에는 이러지 않았는데... |
| # [https://quiple.mcsv.io/w/퀴플위키 퀴플위키]에서 해결책을 찾았다. 감사합니다. 퀴플위키!<ref>최신 버전 기준이다.</ref>
| |
| ====수정 전====
| |
| * 리버티 스킨/js 폴더에 있는 live-recent.js를 수정한다.
| |
| | |
| <syntaxhighlight lang="JavaScript" highlight="5" start='55' line>
| |
| var recentChanges, html, time, line, text;
| |
| recentChanges = data.query.recentchanges;
| |
| html = recentChanges.map( function ( item ) {
| |
| 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 ) + '] ';
| |
| text = '';
| |
| if ( item.type === 'new' ) {
| |
| text += '[New]';
| |
| }
| |
| text += item.title;
| |
| if ( text.length > 13 ) {
| |
| text = text.substr( 0, 13 );
| |
| text += '...';
| |
| }
| |
| </syntaxhighlight><br/>
| |
|
| |
|
| ====수정 후====
| | [https://m.mediawiki.org/w/index.php?title=Topic:Rnjccxoqss9wfedy&topic_showPostId=rnq05rzcc6o7z4hc#flow-post-rnq05rzcc6o7z4hc 미디어위키 헬프 데스크]에서 찾았다. |
| <syntaxhighlight lang="JavaScript" highlight="5" start='55' line>
| |
| var recentChanges, html, time, line, text;
| |
| recentChanges = data.query.recentchanges;
| |
| html = recentChanges.map( function ( item ) {
| |
| 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 ) + '] ';
| |
| text = '';
| |
| if ( item.type === 'new' ) {
| |
| text += '[New]';
| |
| }
| |
| text += item.title;
| |
| if ( text.length > 13 ) {
| |
| text = text.substr( 0, 13 );
| |
| text += '...';
| |
| }
| |
| </syntaxhighlight><br/>
| |
| # 59번째 줄의 encodeURIComponent( item.title ) )에서 encodeURIComponent를 encodeURI로 변경
| |
| | |
| ===이미지 크기 설정시 파일 링크만 뜨는 현상===
| |
| # <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]]를 수정한다. |
| # 아직 수정 전이므로 아래 내용은 없을 것이다.
| |
| | |
| <syntaxhighlight lang="PHP">
| |
| | |
| </syntaxhighlight>
| |
|
| |
|
| ====수정 후==== | | ====수정 후==== |
| # [[LocalSettings.php]]의 하단 부분에 추가하자.
| | [[LocalSettings.php]]의 하단 부분에 추가하자. |
| <syntaxhighlight lang="PHP"> | | <syntaxhighlight lang="PHP"> |
| $wgGenerateThumbnailOnParse = true; | | $wgGenerateThumbnailOnParse = true; |
| </syntaxhighlight> | | </syntaxhighlight> |
| # 그리고 [[미디어위키]] 버전이 1.30 이상인 경우, 썸네일을 재생성하자.
| | |
| # [[미디어위키]]의 루트 폴더에서 '''maintenance''' 폴더로 이동한 뒤, 아래의 명령어를 입력하자.
| | 그리고 [[미디어위키]] 버전이 1.30 이상인 경우, 썸네일을 재생성하자. [[미디어위키]]의 루트 폴더에서 '''maintenance''' 폴더로 이동한 뒤, 아래의 명령어를 입력하자. |
| | |
| <syntaxhighlight lang="Sh"> | | <syntaxhighlight lang="Sh"> |
| php rebuildImages.php | | php rebuildImages.php |
| </syntaxhighlight> | | </syntaxhighlight> |
| | |
| ====하고 싶은말==== | | ====하고 싶은말==== |
| # 이 오류는 [[미디어위키]] 1.27 버전에서는 없던 오류이므로 1.30 이상 버전의 오류같다.
| | 이 오류는 [[미디어위키]] 1.27 버전에서는 없던 오류이므로 1.30 이상 버전의 오류같다. 물론 썸네일은 [[Imagemagick]]가 미리 설치 및 [[미디어위키]]에서 미리 설정 되어 있어야 한다. |
| # 물론 썸네일은 [[Imagemagick]]가 미리 설치 및 [[미디어위키]]에서 미리 설정 되어 있어야 한다
| |
| | |
| ===로그인시 '이러한 명령이 없습니다' 라는 오류 뜸===
| |
| # 로그인시, 특히 [[가온 위키:대문]] 문서가 아닌 다른 문서를 보다가 상단의 로그인 아이콘을 눌러 로그인 시도시 심심치 않게 '이러한 명령이 없습니다'라는 오류가 발생한다.
| |
| # 오류 내용을 자세히 보면, 'URL에 지정한 명령이 올바르지 않습니다. URL을 잘못 입력했거나, 올바르지 않은 링크를 따라갔을 수 있습니다. 가온 위키에 사용하는 소프트웨어의 버그일 수도 있습니다.' 라고 나타나 있다.
| |
| # 오류 해결은 [https://issue.librewiki.net/T515 리브레 위키 이슈 트래커]에서 찾았다.
| |
| | |
| ====수정 전====
| |
| * 리버티 스킨에 있는 '''LibertyTemplate.php''' 파일을 수정한다.
| |
| | |
| <syntaxhighlight lang="PHP" highlight="4-5" start='343' line>
| |
| <div class="modal-body">
| |
| <div id="modal-login-alert" class="alert alert-hidden alert-danger" role="alert">
| |
| </div>
| |
| <form id="modal-loginform" name="userlogin" class="modal-loginform"
| |
| method="post">
| |
| <input class="loginText form-control" id="wpName1" tabindex="1"
| |
| placeholder="<?php echo $skin->msg( 'userlogin-yourname-ph' )->plain() ?>" value="" name="lgname">
| |
| </syntaxhighlight><br/>
| |
| | |
| ====수정 후====
| |
| <syntaxhighlight lang="PHP" highlight="4-5" start='343' line>
| |
| <div class="modal-body">
| |
| <div id="modal-login-alert" class="alert alert-hidden alert-danger" role="alert">
| |
| </div>
| |
| <form id="modal-loginform" name="userlogin" class="modal-loginform"
| |
| method="post" onsubmit="return LoginManage();">
| |
| <input class="loginText form-control" id="wpName1" tabindex="1"
| |
| placeholder="<?php echo $skin->msg( 'userlogin-yourname-ph' )->plain() ?>" value="" name="lgname">
| |
| </syntaxhighlight><br/>
| |
|
| |
|
| ===신택스 강조(Syntax Highlight) 사용시 사용된 문서가 '''구문 강조에 오류가 있는 문서'''로 분류되는 현상=== | | ===신택스 강조(Syntax Highlight) 사용시 사용된 문서가 '''구문 강조에 오류가 있는 문서'''로 분류되는 현상=== |
159번째 줄: |
51번째 줄: |
|
| |
|
| 이후 미디어위키 1.34 코어에 포함된 버전은 해당 문제가 발생하지 않는다. 1.33.1에 포함된 버전만 문제인 것 같다. | | 이후 미디어위키 1.34 코어에 포함된 버전은 해당 문제가 발생하지 않는다. 1.33.1에 포함된 버전만 문제인 것 같다. |
|
| |
| ===어두운 모드 사용시 표가 있는 부분의 배경색이 검정색이 되지 않는 버그===
| |
| [[사용자:hunhee|hunhee님]]이 알려주셨어요!
| |
|
| |
| 리버티 스킨 루트 폴더에 있는 '''"SkinLiberty.php"''' 파일을 열어서 수정합니다.
| |
| ====수정 전====
| |
| <syntaxhighlight lang="PHP" highlight="1-2" start='138' line>
| |
| $LibertyDarkCss = "body, .Liberty, .dropdown-menu, .dropdown-item, .Liberty .nav-wrapper .navbar .form-inline .btn, .Liberty .content-wrapper .liberty-sidebar .liberty-right-fixed .live-recent .live-recent-header .nav .nav-item .nav-link.active, .Liberty .content-wrapper .liberty-content .liberty-content-main table.wikitable tr > th, .Liberty .content-wrapper .liberty-content .liberty-content-main table.wikitable tr > td, table.mw_metadata th, .Liberty .content-wrapper .liberty-content .liberty-content-main table.infobox th, #preferences fieldset:not(.prefsection), #preferences div.mw-prefs-buttons, .navbox, .navbox-subgroup, .navbox > tbody > tr:nth-child(even) > .navbox-list{
| |
| background-color:#000;
| |
| color: #DDD;
| |
| }
| |
| </syntaxhighlight>
| |
|
| |
| ====수정 후====
| |
| <syntaxhighlight lang="PHP" highlight="1-2" start='138' line>
| |
| $LibertyDarkCss = "body, .Liberty, .dropdown-menu, .dropdown-item, .Liberty .nav-wrapper .navbar .form-inline .btn, .Liberty .content-wrapper .liberty-sidebar .liberty-right-fixed .live-recent .live-recent-header .nav .nav-item .nav-link.active, .Liberty .content-wrapper .liberty-content .liberty-content-main table.wikitable tr > th, .Liberty .content-wrapper .liberty-content .liberty-content-main table.wikitable tr > td, table.mw_metadata th, .Liberty .content-wrapper .liberty-content .liberty-content-main table.infobox th, #preferences fieldset:not(.prefsection), #preferences div.mw-prefs-buttons, .navbox, .navbox-subgroup, .navbox > tbody > tr:nth-child(even) > .navbox-list, table.wikitable{
| |
| background-color:#000!important;
| |
| color: #DDD;
| |
| }
| |
| </syntaxhighlight>
| |
|
| |
| * 138번째 줄의 '''"<nowiki>{</nowiki>"''' 바로 앞에 '''"<nowiki>, table.wikitable</nowiki>"'''을 붙히고, 139번째 줄에서 '''"#000"''' 다음에 '''"<nowiki>!important</nowiki>"'''을 붙힌다.
| |
|
| |
|
| ==구현한 기능== | | ==구현한 기능== |