femiwiki / docker-mediawiki

:whale: Dockerized Femiwiki's mediawiki server
Other
33 stars 7 forks source link

사용자가 구글 웹폰트 자유롭게 선택할 수 있게 하기 #326

Open lens0021 opened 4 years ago

lens0021 commented 4 years ago

확장기능 TemplateStyles에는 @font-face 사용에 몇 가지 제약 사항이 있는데, font-family가 반드시 "TemplateStyles"로 시작해야 한다는 점과 src: url()에는 $wgTemplateStylesAllowedUrls['font']에서 미리 지정한 (PCRE)정규식에 해당하는 값만 들어갈 수 있다는 것이 그것입니다.

요청에 따라 구글 웹폰트를 사용할 수 있게 하기 위해 LocalSettings.php에서 다음을 선언하면

$wgTemplateStylesAllowedUrls = [
    "font" => [
        "<^https://fonts\\.googleapis\\.com/css(?:[?#]|$)>"
    ],
];

Sanitized CSS에 다음을 정의해서 사용할 수 있어집니다. (대문자는 교체)

@font-face {
  font-family: "TemplateStyles FONT_NAME";
  src: local('FONT_NAME'), url("URL") format('woff2');
}
lens0021 commented 4 years ago

아직 안됩니다

lens0021 commented 4 years ago

FYI: @Import AtRule은 화이트리스트가 안 되어 있습니다. https://github.com/wikimedia/mediawiki-extensions-TemplateStyles/blob/f121c39/includes/TemplateStylesHooks.php#L168

simnalamburt commented 4 years ago

이런 저런 방법을 알아봤는데 구글폰트 확장기능을 만드는게 제일 쉬울것같습니다

lens0021 commented 4 years ago

레퍼런스