테스트 사이트 - 개발 중인 베타 버전입니다

다크 모드 만들기 - 1

테마적용을 기준으로 합니다.

 

1. js폴더에 업로드

링크에서 다운받아서 업로드 합니다.

js/dark-mode-bootstrap

 

2. 적용할 버튼을 보이기

fontawesome-free-6.0.0-web을 다운받아서 업로드 후 적용해 줍니다.

https://fontawesome.com/download

head.sub.php

add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/font-awesome/css/font-awesome.min.css">', 0);
add_stylesheet('<link rel="stylesheet" href="'.G5_JS_URL.'/fontawesome-free-6.0.0-web/css/all.min.css">', 0); 

 

3. 버튼추가

head.php추가

 

<li><a href="<?php echo G5_BBS_URL ?>/current_connect.php" class="visit">접속자<strong class="visit-num"><?php echo connect('theme/basic'); // 현재 접속자수, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정  ?></strong></a></li>
<li>
<input type="checkbox" class="" id="darkSwitch" style="display:none">
<label class="custom-control-label text-center" for="darkSwitch"><span id="data-theme-mod"></span></label>
<script src="<?php echo G5_JS_URL?>/dark-mode-bootstrap/dark-mode-switch.js"></script>
</li>

**************************

참고

dark-mode-switch.js의 파일 내부

var darkSwitch = document.getElementById("darkSwitch");
//window.addEventListener("load", function () {
  if (darkSwitch) {
    initTheme();
    darkSwitch.addEventListener("change", function () {
      resetTheme();
    });
  }
//});

사이트 변화에 따른 속도 향샹을 위해 load를 주석해 줍니다.

 

3. 스킨의 CSS파일을 추가 합니다

default.css 상단에 추가

@charset "utf-8";
@import url("./default_dark.css");

 

default_dark.css 파일을 만든후

[data-theme="dark"] 모든스타일에 붙여주기
 

각각의 모든 스킨을 만들어서 적용해 주세요.

참조 : 미완성된 css 파일 첨부

 

**********************************

팝업이나 head가 없는 페이지 적용을 위해 위치를 수정합니다.

head.sub.php

<body<?php echo isset($g5['body_script']) ? $g5['body_script'] : ''; ?>>
<?php
if ($is_member) { // 회원이라면 로그인 중이라는 메세지를 출력해준다.
    $sr_admin_msg = '';
    if ($is_admin == 'super') $sr_admin_msg = "최고관리자 ";
    else if ($is_admin == 'group') $sr_admin_msg = "그룹관리자 ";
    else if ($is_admin == 'board') $sr_admin_msg = "게시판관리자 ";

    echo '<div id="hd_login_msg">'.$sr_admin_msg.get_text($member['mb_nick']).'님 로그인 중 ';
    echo '<a href="'.G5_BBS_URL.'/logout.php">로그아웃</a></div>';
}
?>

<input type="checkbox" class="" id="darkSwitch" style="display:none">

<script src="<?php echo G5_JS_URL?>/dark-mode-bootstrap/dark-mode-switch.js"></script>

*********

head.sub.php

페이지이동시 반짝이는 현상때문에 스크립 파일을 이동합니다.

 

tail.sub.php

<script src="<?php echo G5_JS_URL?>/dark-mode-bootstrap/dark-mode-switch.js"></script>
<?php run_event('tail_sub'); ?>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 22개

테마를 바꿀수도 없고.. 다크모드는 탐나고.. 그림에 떡이네요.. ㅠ.ㅠ
@티스탁 사용하시는 테마에도 적용이 가능합니다..기본형을 가지고 예시를 들인것입니다.
@제로나라 정말요.. 와~~ 도전해 봐야 겠네요
감사 합니다.
감사합니다.
어우 감사합니다
팁을 사용하여 다크모드를 하고자 하시는 분들이 있으시면
제가 적용한 다크모드용 CSS파일을 올려드리겠습니다.
제로나라 사이트는 최대한 기본그누만을 사용하고 있습니다.
@제로나라 감사합니다 잘적용했습니다 다크모드 일때 태양아이콘이 보이는데 다크모드아닐때 달아이콘이 안뜰땐 어떡해야할까요? css파일 받을수 있을까요?
@위솔루션 default.css
#data-theme-mod:before {font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f699";position:absolute;margin-top:-3px;cursor:pointer;color:#ddd}

default_dark.css
[data-theme="dark"] #data-theme-mod:before {font-family: "Font Awesome 6 Free"; font-weight: 900; content: "\f185";position:absolute;margin-top:-3px;cursor:pointer}

이걸 확인해 보세요
@제로나라 감사합니다 제로나라님
[http://sir.kr/data/editor/2203/f8f340c20f9c47b4aafab20a7f4d1585_1646188105_7094.PNG]

어렵네요.. 감사합니다.
@들레아빠 고생하셧습니다..
잘사용하겠습니다. 감사합니다.
탐은나네요 저같은 초보는 아예 꿈도못꾸겠죠
잘보고 갑니다 즐거운시간되세요
멋집니다. 따라가기라도 해야 하는데 아직 코린이라서..
감사합니다. 우선 스크랩 해놓으려구요.
초기 접속시 기본모드를 다크모드 상태로 할 려면 어디를 손봐야 할 까요..ㅠ

혹시 이건 버전이랑은 상관없으려나요...그누보드 5.33 을 쓰는데

일딴 감사히 스크랩해갑니다

 default.css (26.3K) 

 default_dark.css (34.0K) 

 

는 어디다가 업로드 시키고, 다크모드 버튼 소스는 어디있죠? ㅠㅠ

어떤 파일을 어디에 넣고 설명만 좀더 해주시면 설치가 편할거같은데 넘 어렵네요 ㅠㅠ

게시판 목록

그누보드5 팁자료실

글쓰기
🐛 버그신고