wiki-chan / ModernSkylight

Modern skin for Mediawiki Engine
BSD 2-Clause "Simplified" License
11 stars 7 forks source link

전역 변수를 사용한 스킨 커스터마이징 #13

Open wiki-chan-server opened 7 years ago

wiki-chan-server commented 7 years ago

현재 스킨에는 우측 상단의 네비게이션 메뉴와 우측 전체의 사이드바를 가리는 토글 옵션이 있습니다. 이 옵션들은 Hook을 사용하며, 서드파티 익스텐션에서 상황에 맞게 네비게이션 메뉴와 사이드바를 보여줄 지 여부를 결정합니다. 하지만 #12 에서 제시된 것처럼, 이러한 방식은 LocalSettings.php 파일을 통한 간단한 설정이 어렵습니다.

따라서 이를 전역 변수를 통해 켜고 끌 수 있게 하는것이 커스터마이징에 더 유리할 것입니다. 이를 위한 코드 수정이 필요합니다.

wiki-chan-server commented 7 years ago

아마도, 이런 식으로 진행하면 될 것 같네요. 우측 사이드바를 예로 들면,

  1. 사이드바를 표시할 지에 대한 여부를 전역 변수로 가져온다. (기본값은 True)
  2. 만약 현재 페이지가 대문 페이지이고, 별도의 전역 변수를 통해 사이드바 표시 여부가 대문 페이지에 대해 별도로 설정되어 있다면, 이 값으로 덮어쓰기한다.
  3. 만약 현재 페이지가 특정 네임스페이스에 속해 있고, 별도의 전역 변수를 통해 사이드바 표시 여부가 해당 네임스페이스에 대해 별도로 설정되어 있다면, 이 값으로 덮어쓰기한다.
  4. 최종적으로 Hook을 통해 사이드바를 표시할 지를 결정한다.