Dark Reader 프로젝트에 기여하고 도움을 줄 수 있는 다양한 방법이 있습니다. 아래에서 더 자세히 알아보세요. 미리 감사드립니다.
Dark Reader의 개발을 후원하세요.
번역을 개선하거나 제안할 수 있습니다. 지원 가능한 언어 코드 목록을 참조하세요.
웹사이트 페이지는 Dark Reader가 자체적으로 비활성화되도록 요청할 수 있습니다. 이를 위해 "Dark Reader 잠금"을 포함합니다. 이 "잠금"은 name
속성이 darkreader-lock
으로 설정된 <meta>
태그이며, 문서의 <head>
태그 안에 자식 요소로 포함됩니다.
다음과 같이 HTML 문서의 <head>
태그 내에 <meta name="darkreader-lock">
을 추가하세요:
html
코드 복사
<head>
<meta name="darkreader-lock">
</head>
다음과 같이 "잠금"을 동적으로 추가하세요(브라우저가 이미 문서를 충분히 파싱하여 head
속성을 생성했다고 가정):
const lock = document.createElement('meta');
lock.name = 'darkreader-lock';
document.head.appendChild(lock);
다음 조건을 만족하는 경우 웹사이트가 이미 다크 모드인 것으로 간주됩니다:
이러한 조건을 만족하면 dark-sites.config
파일에 웹사이트를 추가할 수 있습니다.
웹페이지의 요소가 잘못 반전되었거나 스타일이 잘못된 경우, 적절한 CSS 선택자를 지정하여 이를 수정할 수 있습니다. Dynamic Theme 모드에서는 dynamic-theme-fixes.config
파일을, Filter 및 Filter+ 모드에서는 inversion-fixes.config
파일을 사용하세요.
Dev Tools는 웹 페이지에서 사소한 문제를 수정하는 데 도움을 줍니다. 이러한 문제에는 어두운 배경 위에 어두운 아이콘이 있거나, 밝은 배경을 제거하거나, 투명한 이미지에 흰색 배경을 추가하는 등의 작업이 포함될 수 있습니다.
페이지가 부분적으로 어둡고 밝게 보일 경우, 이는 버그로 간주됩니다.
페이지에서 이미 어두운 요소들을 반전시키는 것이 일반적인 관행입니다.
Chrome Dev Tools 열기
Chrome에서 Dev Tools를 열려면 F12
키를 누릅니다. Firefox에서는 "Inspector"를 여려면 Ctrl + Shift + C
를 누릅니다.
요소 선택기 클릭
Chrome에서는 요소 선택기를 클릭합니다 (왼쪽 상단 아이콘). Firefox에서는 자동으로 활성화됩니다.
잘못 반전된 요소 선택
잘못 반전된 요소를 선택합니다.
해당 요소의 선택자 결정
그 요소 또는 유사한 모든 요소에 대한 선택자를 선택합니다. 예를 들어, 요소에 class="icon small"
이 있는 경우 선택자는 .icon
일 수 있습니다.
Dark Reader 아이콘 클릭
Dark Reader 아이콘을 클릭합니다.
개발자 도구 열기
Dark Reader 팝업 하단에서 "Open developer tools"를 클릭합니다.
블록 편집 또는 추가
URL 및 반전할 선택자가 포함된 블록을 편집하거나 추가합니다.
적용 클릭
변경 사항을 적용합니다.
모드 확인
Light 모드와 Dark 모드에서 어떻게 보이는지 확인합니다.
동적 테마 수정 파일 또는 반전 수정 파일 열기
수정한 내용이 제대로 작동하면 dynamic-theme-fixes.config
파일 또는 inversion-fixes.config
파일을 엽니다.
GitHub에서 수정 사항 추가
Edit을 클릭합니다 (먼저 GitHub에 로그인해야 합니다).
수정 사항 입력
해당 파일에 수정 사항을 입력합니다. URL별로 알파벳 순서를 유지합니다.
수정 작업 설명 추가
수행한 작업에 대한 간단한 설명을 추가합니다.
파일 변경 제안 클릭
Propose file change를 클릭합니다.
변경 사항 검토 및 풀 리퀘스트 생성
변경 사항을 검토한 후 Create pull request를 클릭합니다.
GitHub Actions 테스트 확인
GitHub Actions는 올바른 코드 스타일인지 확인하기 위해 테스트를 실행합니다.
오류 수정
빨간 십자가가 보이면 Details를 클릭하여 문제가 무엇인지 확인하고 기존 Pull Request를 수정합니다.
테스트 통과 확인
초록색 체크 표시가 보이면 모든 것이 정상입니다.
개발자 검토 및 머지
Dark Reader 개발자가 변경 사항을 검토하고 병합하여 이를 사용할 수 있게 합니다.
dynamic-theme-fixes.config
================================
example.com
INVERT
.icon
CSS
.wrong-element-colors {
background-color: ${white} !important;
color: ${black} !important;
}
IGNORE INLINE STYLE
.color-picker
IGNORE IMAGE ANALYSIS
.logo
규칙 | 설명 | 비고 / 예시 |
---|---|---|
INVERT | 지정한 요소를 반전합니다. | Dynamic Mode: 어두운 이미지가 어두운 배경에서 보이지 않을 때만 INVERT를 사용합니다. |
CSS | 웹페이지에 사용자 지정 CSS를 추가합니다. | !important 키워드는 다른 스타일 시트의 재정의를 방지하기 위해 각 CSS 속성에 지정해야 합니다. Dynamic mode는 ${COLOR} 템플릿을 지원합니다. 예: ${white} 는 다크 모드에서 ${black} 으로 변환됩니다. |
IGNORE INLINE STYLE | 매칭된 요소의 인라인 스타일 분석을 방지합니다. | 예: <p style="color: red"> 요소의 스타일 속성은 변경되지 않습니다. |
IGNORE IMAGE ANALYSIS | 매칭된 선택자에 대해 배경 이미지 분석을 방지합니다. |
Dark Reader에 인기 있거나 독특하지만 유용한 사전 정의된 색상 스키마를 추가하려면, src/config/color-schemes.drconf
파일에 추가할 수 있습니다. 아래의 단계를 따라 새로운 색상 스키마를 추가하세요:
color-schemes.drconf
파일 열기
해당 파일을 엽니다.
수정 사항 입력하기 (GitHub 로그인 필요)
파일의 Edit 버튼을 클릭하여 수정 사항을 입력합니다. 색상 스키마 이름에 따라 알파벳 순서를 유지합니다.
간단한 설명 추가
추가한 내용에 대한 간단한 설명을 제공합니다.
파일 변경 제안
Propose file change 버튼을 클릭합니다.
변경 사항 검토
변경 사항을 검토한 후 Create pull request를 클릭합니다.
GitHub Actions 테스트 확인
GitHub Actions가 올바른 코드 스타일인지 확인하기 위해 테스트를 실행합니다.
오류 수정
만약 빨간 십자가가 보이면 Details를 클릭하여 무엇이 잘못되었는지 확인하고, 기존 Pull Request를 수정합니다.
테스트 통과 확인
초록색 체크 표시가 나타나면 모든 것이 정상입니다.
개발자 검토 및 병합
Dark Reader 개발자가 변경 사항을 검토하고, 병합하여 사용 가능하게 만듭니다.
배경색이나 텍스트 색상을 수정할 때, #fff
, #000
, black
, white
와 같은 하드코딩된 색상 대신 사용자의 설정에 따라 생성된 CSS 변수를 사용해야 합니다.
CSS
코드 복사
dynamic-theme-fixes.config
================================
example.com
CSS
.logo {
background-color: var(--darkreader-neutral-background) !important;
}
.footer > p {
color: var(--darkreader-neutral-text) !important;
}
변수 | 설명 | 사용 용도 |
---|---|---|
--darkreader-neutral-background | 사용자의 설정에 맞는 중립적인 배경색 | 주로 배경색이 잘못된 요소에 사용됨 |
--darkreader-neutral-text | 사용자의 설정에 맞는 중립적인 텍스트 색상 | 잘못된 텍스트 색상이 적용된 요소에 사용됨 |
--darkreader-selection-background | 사용자가 정의한 배경색 설정 | 사용자의 배경색 설정 |
--darkreader-selection-text | 사용자가 정의한 텍스트 색상 설정 | 사용자의 텍스트 색상 설정 |
이 변수를 사용하면 사용자의 테마 설정에 맞게 요소의 색상이 동적으로 조정됩니다.
CSS
코드 복사
inversion-fixes.config
================================
example.com
INVERT
.icon
.button
#player
NO INVERT
#player *
REMOVE BG
.bg-photo
CSS
.overlay {
background: rgba(255, 255, 255, 0.5);
}
Dark Reader에 새로운 기능을 추가하거나 버그를 수정하고 싶다면, GitHub에 이슈를 제출하세요(기존의 이슈가 없는 경우). 활발한 기여자들과 논의한 후 승인을 기다립니다.
확장을 빌드하고 디버그하려면 Node.js LTS 버전을 설치하세요. 프로젝트 루트 폴더에서 npm install
을 실행하여 개발 종속성을 설치합니다. 그런 다음 npm run debug
를 실행하세요.
chrome://extensions
페이지를 엽니다.build/debug/chrome
폴더로 이동합니다.about:addons
페이지를 엽니다.about:debugging#addons
페이지를 엽니다.build/debug/firefox/manifest.json
파일을 엽니다.npm run debug:watch
를 실행하면 코드 변경 후 자동으로 다시 컴파일됩니다.
코드를 편집하기 위해 Visual Studio Code나 WebStorm과 같은 텍스트 편집기나 웹 IDE를 사용할 수 있습니다.
코드 스타일(예: 공백 등)을 유지해 주세요. 이는 npm run code-style
을 실행하면 자동으로 가능합니다.
테스트를 실행하려면 npm test
를 실행하여 통과하는지 확인하세요.
코드가 검토 및 병합 준비가 되면, 풀 리퀘스트를 제출하고 검토를 기다리세요.