스킨 제작 가이드

최근 수정 시각 : 2020-11-17 16:40:42
== 개요 == 오픈나무의 [[스킨]] 제작 가이드 입니다. 오픈나무는 플라스크를 사용하므로 템플릿 엔진으로 Jinja2를 사용합니다. [[https://snacky.tistory.com/7|Jinja 기본 가이드]] == 스킨 변수 == 오픈나무의 스킨 시스템에서 변수는 {{변수_이름}}의 형태로 받아옵니다. {{변수_이름|safe}} 형태는 HTML 코드를 텍스트로 변환시키지 않고 적용하여 보여줍니다. === 지원하는 변수들 === ==== imp ==== 오픈나무의 핵심 변수입니다. 위키의 중요한 내용을 담고 있습니다. * imp[0] : 문서 이름 ---- * imp[1][x]는 위키 설정에 대한 내용입니다. * imp[1][0] : 위키 이름 * imp[1][1]|safe : 라이선스 내용 * ~~imp[1][2]~~[*A 전역 HEAD로 통합되면서 삭제됨.] * ~~imp[1][3]~~[*A] * imp[1][4]|safe : 로고 * imp[1][5]|safe : 전역 <HEAD> ---- * imp[2][x]는 사용자 설정에 대한 내용입니다. * ~~imp[2][0]~~[*A] * ~~imp[2][1]~~[*A] * imp[2][2] : 사용자 상태 (0 : 비로그인, 1 : 로그인) {정수형} * imp[2][3]|safe : 사용자 <HEAD> * imp[2][4] : 사용자 이메일 * imp[2][5] : 사용자 이름 * imp[2][6] : 관리자 여부 (0 : 일반 사용자, 1 : 관리자) * imp[2][7] : 차단 여부 (0 : 일반 사용자, 1 : 차단된 사용자) * imp[2][8] : 알림 갯수 * imp[2][9] : 가지고 있는 권한 (0 : 없을 때 {문자열}, [[ACL|자세한 내용]]) {배열} * imp[2][10] : 아이피 or 사용자 이름 * imp[2][11] : 사용자 토론 유무 (0 : 없음, 1 : 있음) ---- * imp[3][0] : 서브 타이틀 (0 : 없을 때 {정수형}) * imp[3][1] : 마지막으로 편집한 시간 * ~~imp[3][2]~~ * imp[3][3]|safe : 필수 CSS, JS * imp[3][4] : 주시, 관심 문서 등록여부 확인 ({{{''}}} : 문서 읽기 중 아님, 0 : 비로그인 상태, 1 : 등록하지 않음, 2 : 등록함) {정수형 : {{{''}}} 제외 전부} ---- * '''특별한 부가 설명이 없으면 문자열 값 입니다.''' ==== data ==== {{data|safe}} 문서의 내용입니다. 필수로 들어가야 합니다. ==== menu ==== 메뉴 관련 변수입니다. 배열값으로 전송합니다. 만약 메뉴가 없을 때는 정수 0을 전송합니다. 배열은 \[\[링크, 이름, 강조[* 정수 1이면 강조되는 상태 정수 0이면 일반 상태]\]\]로 구성 되어 있습니다. ===== 예제 ===== [[파일:메뉴 예제.png]] for문 돌려서 메뉴를 표시하는 코드의 예제 입니다. == 스킨 함수 == 오픈나무 스킨 시스템에서 함수는 꼭 변수와 함께 {{'내용'|함수_이름}}이나 {{변수_이름|함수_이름}} 형태로 사용됩니다. === 지원하는 함수 === * load_lang : 내용의 대응하는 언어 내용을 불러옵니다. * md5_replace : 내용이나 변수의 MD5 해시를 반환합니다. * cut_100 : 100글자까지 내용이나 변수를 자릅니다. == 기타 == === 다크모드 === 다크모드 표준에 따라서 코드를 작성해야지만 에디터, 문법 다크모드 기능이 작동합니다. 다크모드 표준은 main_css_darkmode 쿠기 값을 1로 하면 ON 0으로 하면 OFF 입니다. [[분류:개발자용 기능]]
이 위키의 내용은 오픈나무와 동일한 라이선스로 배포됩니다.

The contents of this wiki are distributed in the same way as the license of openNAMU.