리브레 위키:Liberty

Liberty logo.png

개요

미디어위키에 등록된 Liberty 스킨 페이지(영문)

Liberty는 Libre 스킨 이후에 개발된 미디어위키 스킨이며, 개발중인 리버티 엔진의 기본 스킨으로 채용될 예정의 스킨입니다.

Feature

  • Liberty는 Bootstrap 기반의 반응형 스킨이며, 데스크탑, 태블릿, 스마트폰의 3가지 환경에 모두 대응할 수 있게 개발되었습니다.
  • Liberty는 실시간 최근바뀜 기능 및 SNS 공유 기능을 탑재하고 있습니다.
  • 기존의 Libre 스킨과는 다르게, 일반적인 미디어위키를 사용하는 위키 사이트에 사용할 수 있게 각종 설정값 변경을 지원합니다.
    • LocalSettings.php 변경 및 시스템 메세지 변경을 통해 스킨을 커스터마이징 할 수 있습니다.
  • 자체적인 표 CSS를 탑재하여, 미려한 표 디자인을 제공합니다.
  • 구글 광고 및 트위터 카드를 지원합니다.
  • Gravatar를 지원하여 위키에 설정된 이메일 주소에 따라 프로필 사진을 표시할 수 있습니다.
  • 스킨 환경설정을 지원합니다.
    • 개인별 테마 컬러 설정이 가능합니다.
    • 개인별 글꼴 설정이 가능합니다.
    • 개인별 상단바 설정이 가능합니다.

글꼴 안내문

Liberty는 다음의 순서로 글꼴을 표시하고 있습니다. 사용하시는 디바이스에 해당 글꼴이 설치되어 있다면 상위 순서로 글꼴을 적용하게 되고, 만약 본고딕이 없고 디바이스에서 웹폰트 설치를 허용한다면 구글에서 나눔고딕을 웹폰트로 다운로드 받아서 사용하게 됩니다.

  • 스포카 한 산스
  • 본고딕 (Noto Sans Korean CJK)
  • 나눔고딕
  • 코펍 돋움
  • 맑은 고딕
  • 산셰리프(굴림체 등)

VisualEditor 관련

Liberty 1.11.0버전부터는 VisualEditor를 지원합니다만, 기본적인 레이아웃 구조의 차이 등으로 인해 자잘한 UI 버그가 있을 수 있습니다.

버전 표시

Liberty의 버전은 3가지 수로 표기됩니다. 예를 들어 1.2.5는 다음과 같이 해석할 수 있습니다.

  • 1 → Bootstrap 기반의 미디어위키 스킨입니다.[1]
  • 2 → 메이저 업데이트 때 변경됩니다. 1.1.X 버전은 미디어위키 1.27 버전에 적용되었고, 1.2.X 이후 버전은 미디어위키 1.31 버전에 적용되었습니다.
  • 5 → 매 유의미한 수정 시마다 변경됩니다.

따라서 이것을 종합하면 Bootstrap 기반의 2번째 메이저 업데이트와 5번의 패치를 거친 버전을 의미합니다.

업데이트 목표

Liberty는 리브레 위키의 기본 스킨이며, 리브레 위키의 미디어위키 버전을 대응하는 것을 기본으로 하고 있습니다. 기본적으로 장기 지원 버전(LTS) 마다 업데이트 하는 것이 목표입니다.

변경 사항

기본적으로는 Git 저장소의 Commit history를 참조해 주세요.

1.3 변경사항 Liberty 1.3부터 로그인 유저 한정으로 사용자 글꼴 커스터마이징 기능과 선택적 웹폰트 로딩 기능이 지원됩니다. 기본값은 위와 같지만 사용자가 환경 설정에 따라서 글꼴을 자유롭게 변경할 수 있습니다.

  • 기본적으로 다음 글꼴이 선택지로 제시됩니다.
  • 위 글꼴이 마음에 들지 않는 경우 CSS의 font-family 옵션을 적어서 커스터마이징 할 수 있습니다.
    • 이 기능을 악용해서 CSS 테러를 할 수 있으나 미디어위키 설정 특성상 본인만 적용됩니다.
  • 맑은 고딕을 제외한 폰트를 선택하실 시 웹폰트가 로딩됩니다. 만약 사용자의 디바이스에 해당되는 폰트가 설치되어 있을 경우에는 다운로드하지 않습니다.

1.4 변경사항

  • 다크 모드 설정이 추가되었습니다. 기본적으로는 브라우저 설정값을 따라갑니다.
  • 미디어위키 문서를 통해 내비게이션 바 커스텀 부분이 변경되었습니다.

1.5 변경사항

  • LocalSettings.php를 통해 최근변경 사이드바의 네임스페이스 설정을 변경할 수 있게 되었습니다.

1.6 변경사항

  • 미디어위키 기본 알림 기능(Echo) 버튼이 내비게이션 바에 통합되었습니다.

1.7 변경사항

  • FontAwesome 라이브러리가 FontAwesome 5로 업데이트 되었습니다.
  • 공유 버튼이 추가되었습니다. (polyfill 라이브러리를 사용합니다.)

1.8 변경사항

  • 미디어위키 1.35 버전에 대응합니다.
  • 비쥬얼에디터를 사용하기 위한 최소한의 부분이 구축되었습니다. (UI 문제상 제대로 작동하지 않습니다.)

1.9 변경사항

  • 미디어위키 환경설정 변경을 통해 유저별로 레이아웃을 커스텀할 수 있습니다.
  • (1.9.1 버전부터) 화면 우하단에 스크롤 버튼이 추가되었습니다.
  • (리브레 위키 한정) 비쥬얼에디터를 지원합니다.

1.10 변경사항

  • LocalSettings.php 변경을 통해 광고를 커스텀할 수 있습니다.
    • 가입 여부, 자동인증 여부 등에 따라 광고 표시 여부를 설정할 수 있습니다.

1.11 변경사항

  • 미디어위키 1.37 버전에 대응합니다.
  • 사용자별 광고 커스텀 기능이 권한에 따라 작동합니다. 아래 네 권한을 조정해서 사용자별 광고 커스텀 허용 여부를 결정할 수 있습니다.
    • blockads-header : 헤더 광고를 없앨 수 있습니다.
    • blockads-right : 우측 광고를 없앨 수 있습니다.
    • blockads-belowarticle : 글 하단 광고를 없앨 수 있습니다.
    • blockads-bottom : 하단 광고를 없앨 수 있습니다.
  • wgLibertyMobileReplaceAd 설정을 변경해서 모바일 환경에서 사이드바 광고가 본문 아래쪽으로 내려가는 여부를 조절할 수 있습니다.
  • 비쥬얼에디터를 지원합니다. (자잘한 UI 문제가 있을 수 있습니다.)

1.12 변경사항

  • 내비게이션 바 로고 커스터마이징이 가능합니다. 리브레 위키와 동일한 결과물을 얻고 싶으시면 840X300 해상도를 가진 투명 배경의 이미지 파일을 사용해 주세요.

1.13 변경사항

  • 미디어위키 1.39 버전에 대응합니다.
  • 비쥬얼에디터를 사용할 시 편집 버튼 외에 도구 상자에 원본 편집 버튼이 추가됩니다. 원본 편집 버튼은 비쥬얼에디터가 실행되고 있음에도 기존 편집기를 호출합니다.
    • 비쥬얼에디터가 사용되지 않는 네임스페이스에서 편집 버튼이 사라지는 문제로 롤백되었습니다. 향후 비쥬얼에디터 사용 가능 여부를 판별하는 보다 깔끔한 방법이 나오면 다시 적용할 예정입니다.
  • 1.13.7 변경사항
    • 커스텀 이미지 사용 시 로고가 잘리는 문제가 해결되었습니다.

현재 리브레 위키는 1.13 기반의 전용 버전을 유지하고 있습니다.

변경 예정

현재 리버티 스킨은 리브레 위키의 전용 스킨으로 개발되었기 때문에 리브레 위키를 목적으로 한 기능이 많이 들어가 있습니다. 하지만 리버티 스킨을 쓰는 다른 위키들(해외 위키 다수가 사용하고 있습니다.)과 맞추어 리버티 스킨의 비필수적인 기능을 축소하고, 별도의 확장기능(Librewiki 확장기능입니다.)으로 분리할 예정입니다.

현재 Librewiki 확장기능은 LibreBBS와 연동하기 위해 권한을 정의하는 역할을 수행하고 있으나 앞으로 리버티 스킨의 다음 기능을 부여받을 예정입니다.

  • 글꼴 커스터마이징 기능
  • 트위터 카드 삽입기능

다음 사항의 기능 변경을 검토하고 있습니다.

  • 프로필 사진의 Gravatar 대신 위키에 업로드된 이미지를 표시하는 것으로 대체

배포처

Liberty는 다음 배포처에서 배포되고 있습니다. 이 배포처 이외는 모두 미러거나 포크된 버전의 배포처입니다.

Git Branch

  • Master : 개발중인 버전입니다. 불안정하거나 오류가 있을 수 있습니다. 현재 미디어위키 1.37 버전에 대응합니다.
  • REL1_35 : 미디어위키 1.35.X 버전을 위한 스킨입니다. 리브레 위키에 적용됩니다.
  • REL1_31 : 미디어위키 1.31.X 버전을 위한 스킨입니다.
  • REL1_27 : 미디어위키 1.27.X 버전을 위한 스킨입니다.

각각의 릴리즈 브랜치는 사용 중단되거나 삭제된 미디어위키 함수 등 호환 문제가 있어 사용 전 미디어위키 버전을 확인해야 합니다. 또한 리브레 위키가 사용하지 않는 구버전의 미디어위키 대상 업데이트는 없으며, 최신 버전의 미디어위키와는 일부 대응하지 않을 수 있습니다.

적용 방법

미디어위키의 일반적인 스킨 사용법과 기본적으로 동일합니다. 세부 설정은 Git 저장소의 Readme를 참조하여 주십시오.

문의 사항 및 버그 제보

Liberty에 대한 문의 사항 및 버그 제보는 디스코드에서 받고 있습니다.

리버티 스킨을 사용하는 다른 위키들을 위한 안내문

리브레 위키 개발진은 다른 여러 위키들이 Liberty 스킨을 사용하는 것을 알고 있습니다. 이 스킨을 사용하는 다른 위키를 위해서 다음 안내문을 첨부합니다.

  • 리버티 스킨은 리브레 위키를 위해 개발된 스킨입니다. 기본적으로 미디어위키나 확장기능 대응은 리브레 위키를 우선합니다. 리브레 위키에서 사용하지 않는 버전의 미디어위키 및 확장기능을 사용할 경우에 버그가 발생할 수 있습니다.
  • 가급적이면 최신 버전을 사용해 주세요. 리브레 위키 개발진은 보고된 버그를 최대한 빠르게 대응하기 위해 노력합니다. 최신 버전을 사용할수록 적은 버그와 개선된 기능을 사용할 수 있습니다.
  • 기능 개선 및 건의를 환영합니다. 리버티 스킨을 자체적으로 개선해서 사용하고 있고, 이것이 다른 사람들에게도 유용해 보인다면 원본 소스에 기여해주세요. 리브레 위키 개발진이 변경사항을 검토한 후 원본에 적용할 수 있습니다. 또한 기능 개선을 건의하고 싶다면 이슈 트래커를 이용해 주세요.
  • 사용 전에 README를 읽어 주세요. 올바른 사용법이 아닌 경우에 개발진은 스킨의 작동을 보장할 수 없습니다.
  • 업데이트의 용이성을 위해서 직접 다운받으시기보다는 Git을 사용해 주세요.
  • 버그를 알려주실 때는 사용한 버전과(미디어위키, 리버티) 설정 값을 같이 보내주시면 도움이 됩니다.

편집 도구상자에 관해서

Liberty 스킨을 처음 설치한 경우 편집 도구상자 등이 리브레 위키와 상이하다는 점을 발견하실 수 있습니다. 이는 Liberty 스킨의 문제가 아니며, 미디어위키의 기본 메세지가 그렇게 설정되어 있어서 그렇습니다. 편집 도구상자 메세지를 변경하시려면 다음과 같은 문서를 수정해 주세요.

2.0 예정사항

Liberty 1.11을 기준으로 Liberty는 미디어위키 1.37버전에 호환됩니다. 하지만 위키미디어 재단의 발표 상 향후 미디어위키 프론트엔드에 Vue.js를 적용하고, 현재 벡터 스킨의 실시간 자동완성이 Vue.js로 구현되어 있습니다. 이에 따라 LibreBBS와 최대한 코드를 공유하고, 향후 미디어위키 발전에 맞게 대대적인 변경을 준비하고 있습니다. 구체적인 변경 사항은 아래와 같으며 GitLab에서 추적할 수 있습니다.

  • jQuery 기반의 스크립트를 ES6 기반으로 최신화
  • 템플릿 파일을 분리하여 향후 개발의 용이화
  • 상당수의 부하를 차지하는 부분의 렌더링을 클라이언트 단에서 수행(현재 내비게이션 바와 도구창과 같은 부분이 상당히 무겁고, 많은 로드 시간을 차지합니다.)
  • 향후 개발될 UI 컴포넌트에 대한 대응 준비
  • Bootstrap 기반에서 Bulma 등으로 프레임워크 교체

라이선스

Liberty는 GPL 3.0 라이선스로 배포되고 있습니다.[4] 기타 문의 사항은 이슈 트래커로 문의하여 주십시오.

관련 문서

  1. 만약 프레임워크가 변경되거나 적용 엔진이 달라지는 등 하위 호환성이 제한되는 경우 변경됩니다.(LibertyEngine의 경우에는 Bulma를 채택하고 있으며, 만약 이것을 미디어위키에 이식하였을 경우 2.X.X 버전이 됩니다.)
  2. 한자가 정상적으로 표시되지 않습니다.
  3. LibreBBS 개발에 따라 폐기되었습니다.
  4. LibertyEngine 적용 버전은 MIT 라이선스