======= 도쿠위키 디렉토리 ======
{{tag>도쿠위키}}
[[doku>|도쿠위키]] 디렉토리에 관한 내용이다.
===== Main Window =====
이 페이지는 DokuWiki와 함께 제공되는 기본 템플릿을 사용하는 페이지의 레이아웃을 설명합니다. 추가 템플릿 테마 를 설치하여 페이지의 모양을 변경하고 사용자 지정할 수 있습니다 .
DokuWiki 페이지는 네 부분으로 나뉩니다. 맨 위에는 페이지 머리글, 탐색 이동 경로, 페이지 콘텐츠 및 바닥 글이 있습니다.
{{ :wiki:dokuwikimainwindow.png |}}
===== dokuwiki =====
도쿠위키가 동작하는 모듈과 데이터가 존재하는 디렉토리이다.
==== bin ====
* conf : 환경설정 파일이다.
* users.auth.php : 사용자 로그인 정보((패스워드는 암호화 되어 있다))가 저장되어 있다.
* mime.conf : 업로드를 허용하는 파일 리스트를 지정한다.
* dokuwiki.php : 도쿠위키를 처음 실행시 사용자에게 보여주는 기본 설정을 한다.
* local.hp : 사용자가 설정한 위키 기본 셋팅값이다.
* data : 사용자가 작성한 위키 데이터가 들어있는 저장소이다.
* media : 사용자가 업로드한 외부나 첨부 파일을 저장한다.
* pages : 사용자가 작성한 위키 페이지 파일을 저장한다.
* inc
==== lib ====
* plugins : [[:플러그인]]이 설치되는 경로((플러그인을 수동으로 설치하려면 설명서에서 지정한 이름으로 변경하고 이 경로에다가 복사를 하고 아파치를 재실행하면 된다.)) 이다.
* tpl : [[:템플릿]]이 저장되는 장소이다.
==== vendor ====
* doku.php
* feed.php
* index.php
* install.php
* .htaccess.dist
* COPYING
* README
* VERSION
===== DokuWiki 설정 =====
대부분의 DokuWiki 기능들은 다양한 설정 옵션을 통해 설정할 수 있습니다. 이런 설정 옵션들을 가장 쉽게 변경하는 방법은 [[plugin:config|환경 설정 관리]]를 사용하는 것 입니다. 이 방법은 위키 관리자가 온라인으로 브라우저를 사용하여 위키 설정을 바꿀 수 있게 합니다.
'환경 설정 관리'를 시작하기 위해서는 관리자로 로그인 하고, '관리' 버튼을 클릭하세요.
==== 설정할 수 있는 것 ====
DokuWiki의 시스템 옵션은 ''conf/dokuwiki.php'' 파일에 있습니다. 그러나, 이 파일은 시스템의 "기본값"이 저장되어 있습니다. 설정을 변경할려면 ''conf/local.php''파일을 편집하거나 또는 이 파일이 없다면 만들어야 합니다. 이 파일에서 설정할 수 있는 옵션은 [[#available options|사용 가능한 옵션]]을 참조하세요.
사용자 이름과 (암호화된) 패스워드 그리고 접근제어규칙은 conf 디렉터리에 있는 [[acl|users.auth.php 그리고 acl.auth.php]]에 저장되어 있습니다.
미디어 관리에서 새로운 파일을 업로드할 때 ''"업로드가 거부, 이 파일의 확장자는 허용되지 않습니다!"''라는 메시지를 볼 수 있습니다. 이 동작은 ''conf/mime.conf'' 파일에서 제어합니다. 새로운 종류의 파일을 업로드할려면 [[mime|mime.conf]] 파일에서 정의하세요.
페이지를 편집할 때 내용의 일부는 자동 변환이 이루어집니다. 툴팁(tooltips), 스마일 문자 또는 특수 문자입니다. 이러한 동작은 [[abbreviations|acronyms.conf]], [[smileys|smileys.conf]] 또는 [[entities|entities.conf]] 파일에서 제어됩니다.
==== 설정 파일들 ====
Debian 패키지로 설치했을 경우 모든 설정 파일들은 ''./conf'' 폴더 또는 ''/etc/dokuwiki'' 폴더에 있습니다.
"기본 파일"은 DokuWiki에 포함되어 잇지만, "로컬 파일" 들은 위키 관리자가 작성해야 합니다.
로컬 파일이 지원되면, 기본 파일 대신 로컬 파일을 편집해야 업그레이드 문제를 피할 수 있습니다.
^기본 파일 ^로컬 파일 ^설정 종류 ^ 기본 내용 ^
|''dokuwiki.php'' |''local.php''\\ ''local.protected.php''|아래 참조 | 일반적인 wiki 설정 |
|''acronyms.conf'' |''acronyms.local.conf'' |[[abbreviations]] | 자동 약어 힌트 |
|''entities.conf'' |''entities.local.conf'' |[[entities]] | 자동 변환 문자열 |
|''interwiki.conf'' |''interwiki.local.conf'' |[[interwiki]] | interwiki 링크s |
|''mime.conf'' |''mime.local.conf'' |[[mime]] | 업로드 MIME 타입설정 |
|''smileys.conf'' |''smileys.local.conf'' |[[smileys]] | 텍스트 -> 이미지 변환 |
| |''acl.auth.php'' |[[acl]] 참조 | 접근 제어 설정 |
| |''users.auth.php'' |[[acl]] 참조 | 사용자와 암호 |
|''license.php'' |''license.local.php'' |[[config:license]] | 사용가능한 라이센스 목록 |
|''scheme.conf'' |''scheme.local.conf'' |[[urlschemes]] | 링크로 인식되는 URL 구성표 |
|''mediameta.php'' | |[[exif]] | 편집가능한 이미지 Metadata|
|''wordblock.conf'' |''wordblock.local.conf'' |[[blacklist]] | 스팸 블랙리스트 |
|''plugins.required.php'' |''plugins.local.php''\\ ''plugins.protected.php'' |아래 참조 |플러그인 활성/비활성|
| |''userscript.js'' |[[devel:javascript]] | 사용자설정 JavaScript 확장 |
| |''userstyle.css'' |[[devel:css]] | 사용자설정 CSS 확장 |
==== 테마 설정 파일 ====
추가적인 설정 파일은 ''/var/lib/dokuwiki/lib/tpl/dokuwiki''에서 찾을 수 있습니다. (데비안), 예를 들어 ''[[devel:style.ini]]''. Style.ini는 기본 테마파일이 읽어오는 텍스트 파일입니다. 그리고 사용자는 마음 내키는 대로 설정할 수 있습니다. (예:페이지의 배경 색상)
===== 플러그인 활성/비활성=====
설치된 플러그인은 기본으로 사용 가능하도록 활성화 된다. 이것들은 [[plugin:extension|플러그인 관리자]]를 사용하여 ''plugins.local.php''파일에 기록하여 사용할 수 없도록 비활성화 할 수 있다. ''conf/plugins.protected.php''에 기록하여 특정 플러그인을 보호하도록 할 수도 있다.
자동적으로 도쿠위키는 다음과 같은 순서로 해당 환경 설정 파일들을 로드합니다:
- ''conf/plugins.php'' -- 기본 플러그인
- ''conf/plugins.local.php'' -- 플러그인 매니저에 의해 변경된 플러그인
- ''conf/plugins.required.php'' -- 플러그인 매니저로 변경할 수 없는 핵심 플러그인
- ''conf/plugins.protected.php'' -- 다른 파일에 우선 적용되는 설정
설정파일의 로딩 순서는 전역변수 ''$config_cascade''에 의해 제어됩니다. [[devel:preload|preload.php]] 파일을 사용하여 이 동작을 변경할 수 있습니다.
==== 설정 옵션 ====
[DokuWiki]]의 대부분 기능들은 다양한 설정 옵션을 통해 설정할 수 있습니다. 이러한 옵션을 변경하는 가장 쉬운 방법은 [[plugin:config|환경 설정 관리]]를 사용하는 것입니다.
사용가능한 설정은 아래에 나열되어 있습니다. 그것들의 기본 값은 ''conf/dokuwiki.php'' 파일에 저장되어 있습니다. 설정을 변경하기를 원한다면 ''conf/local.php''에서 변경해야 합니다. -- 이는 이후 업그레이드에 의해 자신만의 설정이 변경되는 막을 수 있습니다. 환경설정 관리(config manager)에서도 이 파일을 사용할 수 있습니다. ''conf/local.protected.php'' 파일은 변경할 수 없는 환경 설정을 위해서도 사용할 수 있습니다.
여기에 ''conf/local.php''의 샘플이 있습니다.:
설정 파일에 대한 몇가지 주의사항입니다. 이 파일은 PHP 코드로 취급되므로 PHP 문법이 지켜져야 합니다. 예를 들면 줄 끝에 세미콜론(;)을 붙이는 것입니다. 변수에도 여러 형식이 있습니다.
* **숫자(Number)** 는 그대로 쓸수 있습니다. 예: ''9''
* **문자열(String)** 은 작은 따옴표(%%') 또는 큰 따옴표(%%")로 묶어야 합니다. 예: ''%%'foo bar'%%''
* **부울(Boolean)** 은 ''1'' 또는 ''0''입니다.
* **배열(Array)** 은 위 형식 중 하나로 여러 값을 포함합니다.
==== 이용 가능한 옵션 ====
* **기본 설정 **
* [[config:title]]
* [[config:startpage|start]]
* [[config:lang]]
* [[config:template]]
* [[config:license]]
* [[config:savedir]]
* [[config:basedir]]
* [[config:baseurl]]
* [[config:dmode]]
* [[config:fmode]]
* [[config:allowdebug]]
* **보기 설정**
* [[config:recent]]
* [[config:breadcrumbs]]
* [[config:youarehere]]
* [[config:fullpath]]
* [[config:typography]]
* [[config:dformat]]
* [[config:signature]]
* [[config:showuseras]]
* [[config:toptoclevel]]
* [[config:tocminheads]]
* [[config:maxtoclevel]]
* [[config:maxseclevel]]
* [[config:camelcase]]
* [[config:deaccent]]
* [[config:useheading]]
* [[config:refcheck]]
* **인증 설정**
* [[config:useacl]]
* [[config:autopasswd]]
* [[config:authtype]]
* [[config:passcrypt]]
* [[config:defaultgroup]]
* [[config:superuser]]
* [[config:manager]]
* [[config:profileconfirm]]
* [[config:rememberme]]
* [[config:registernotify]]
* [[config:disableactions]]
* [[config:sneaky_index]]
* [[config:auth_security_timeout]]
* [[config:securecookie]]
* ** Anti-Spam Settings **
* [[config:usewordblock]]
* [[config:relnofollow]]
* [[config:indexdelay]]
* [[config:mailguard]]
* [[config:iexssprotect]]
* ** 편집 설정 **
* [[config:usedraft]]
* [[config:htmlok]]
* [[config:phpok]]
* [[config:notify]]
* [[config:subscribers]]
* [[config:locktime]]
* [[config:cachetime]]
* ** 링크 설정 **
* [[config:target|target (wiki, interwiki, extern, media, windows)]]
* ** 미디어 설정 **
* [[config:gdlib]]
* [[config:im_convert]]
* [[config:jpg_quality]]
* [[config:fetchsize]]
* ** 고급 설정 **
* [[config:updatecheck]]
* [[config:userewrite]]
* [[config:useslash]]
* [[config:sepchar]]
* [[config:canonical]]
* [[config:fnencode]]
* [[config:autoplural]]
* [[config:mailfrom]]
* [[config:compress]]
* [[config:cssdatauri]]
* [[config:gzip_output]]
* [[config:hidepages]]
* [[config:send404]]
* [[config:compression]]
* [[config:sitemap]]
* [[config:rss_type]]
* [[config:rss_linkto]]
* [[config:rss_content]]
* [[config:rss_update]]
* [[config:recent_days]]
* [[config:rss_show_summary]]
* [[config:broken_iua]]
* [[config:xsendfile]]
* [[config:remote]]
* [[config:remoteuser]]
* [[config:renderer_xhtml]]
* [[config:readdircache]]
* ** 네트워크 설정 **
* [[config:dnslookups]]
* [[config:jquerycdn]]
* [[config:proxy|proxy (host, port, user, pass, ssl)]]
* [[config:safemodehack]]
* [[config:ftp|ftp (host, port, user, pass, root)]]
===== DokuWiki 템플릿 =====
일종의 스킨과 같은 기능으로, 이곳 [[nme>]]의 디자인 스킨은 한국인이 제작한 [[https://www.dokuwiki.org/template:white]]을 토대로 만들어졌다. (토대로 만들어졌을 뿐, 하도 뜯어고쳐서 달라진 부분이 더 많다;;;)
새로운 템플릿을 만들어 [[:DokuWiki]]의 디자인을 커스트마이징할 수 있다. 템플릿은 PHP와 CSS 파일들로 ''/lib/tpl/'' 디렉토리에 저장된다.(실제로 템플릿은 HTML로 만들어지며, 그 내용 안에 PHP가 사용된다.)
==== 시작 ====
출발점으로 새로운 템플릿을 만드는 가장 쉬운 방법은 이미 만들어진 템플릿을 가져오는 것이다. 스타트 템플릿(starter template)은 안전하고 Dokuwiki의 템플릿 표준을 따르므로 이것을 사용하는 것은 좋은 아이디어이다.
- 스타트 템플릿(starter template)을 설치한다.
- ''lib/tpl/starter'' 디렉토리를 ''lib/tpl/yourname'' 으로 변경한다.
- 설정관리자(configuration manager)에서 새로운 템플릿을 선택한다.
- 그 다음 템플릿 파일을 살펴본다. ([[#디렉토리 구조]] 참조)
- 도쿠위키가 [[devel:css|CSS dispatcher]]를 이용하여 어떻게 [[CSS]]를 처리하는지 살펴본다.
- 설정을 구성하는 방법은 플러그인과 유사하다. 사용자정의 템플릿의 설정을 얻을려면 tpl_getConf()을 사용한다.
템플릿이 안정화되면 도쿠위키 템플릿 페이지에 등록할 수 있다.
===템플릿 이름 규칙===
A 유효한 템플릿 이름 (디렉토리):
* a-z and 0-9 문자만 사용해야 한다.
* 마침표 ''.'', 줄표 ''-''와 밑줄 ''_'' 은 사용할 수 **없다** :
* 도쿠위키의 인프라스트럭처는 그것을 어디에서도 지원하지 않는다.
* 밑줄 ''_''의 사용은 역시 0의 인기평가를 준다.
* 만약 동일한 이름이 서로 다른 두 템플릿에 의해 사용되면
* 그것들은 상호 배타적이고 호환되지 않으며
* 나아가 그들 중 하나만 dokuwiki.org의 템플릿 홈페이지를 가질 수 있다.
** [[devel:template_info|template.info.txt]]에 고유한 필드 값(즉, 템플릿 이름)이나 또는 이름을 덮어 쓸 수 있는 기존의 템플릿으로 하는 것이 중요하다.**
==== 디렉토리 구조 ====
템플릿은 아래의 디렉토리 구조(모든 경로는 템플릿 디렉토리를 기준으로)를 따라야 한다.
모든 CSS파일은 ''[[CSS#style.ini]]''에 명시되지만 적어도 화면 프리젠테이션과 인쇄용으로 각각 하나의 CSS파일이 필요하다.
* ''/lib/tpl//''
* ''.css'' -- 템플릿의 스타일시트(몇 이상이 있는 경우, /css 서브디렉토리에 그룹화 하는 것이 합리적)
* ''script.js'' -- 선택사항, 템플릿에 자바스크립트가 필요한 경우 적용
* ''[[devel:templates:main.php]]'' -- 도쿠위키의 전체적인 레이아웃
* ''[[devel:templates:detail.php]]'' -- 이미지 상세 페이지
* ''[[devel:templates:mediamanager.php]]'' -- 미디어 선택 팝업
* ''images/'' -- 템플릿에서 사용되는 모든 이미지
* ''conf/'' -- 설정파일들 (선택사항, 설정이 사용된다면)
* ''default.php'' -- 템플릿 설정을 위한 디폴트 설정
* [[devel:configuration#template settings]]을 위한 [[configuration#default settings]] (''tpl_getConf()''를 통해 접근 가능, 로컬셋팅은 DokuWiki의 전역 ''/conf/local.php''에 저장된다)
* ''metadata.php'' -- [[configuration#configuration metadata]]는 환경설정관리자에서 사용될 설정의 속성들을 기술
* ''lang/'' -- 언어 파일
* ''/lang.php'' -- 템플릿의 [[[[devel:localization#template_localization|현지화 문자]]에 사용 (선택사항, 필요할 경우 사용)
* ''/settings.php'' -- 현지화 문localization strings used in the configuration manager (만약 설정이 사용된다면)
* ''style.ini'' -- see [[devel:style.ini]]
* ''favicon.ico'' -- 미디어 디렉토리에 없다면 사용된다 ([[xref>tpl_favicon()|tpl_favicon()]] 참조)
* ''template.info.txt'' -- [[devel:template info|템플릿 정보]]가 있는 텍스트 파일 **필수사항!**
==== 함수====
[[xref>inc/template.php|API documentation]]에서 사용 가능한 함수를 확인할 수 있다. 여기는 특이한 몇가지 예이다.
* **''[[xref>tpl_content()]]''** \\ 이 함수는 페이지 본문, 즉 [[:TOC]]을 포함한 위키페이지의 내용을 출력한다. 이 함수가 호출될 때 인자로 false를 전달하면 TOC가 출력되지 않도록 할 수 있다.:
tpl_content(false);
이것은 TOC를 컨텐츠로부터 분리하여 화면의 어딘가 다른 곳에 두고 싶을 때 사용할 수 있다. 보다 자세한 사항은 아래의 ''tpl_toc()''를 살펴보라.
* **''[[xref>tpl_toc()]]''** \\ 디폴트로 ''tpl_content()'' 함수는 실제 페이지 컨텐츠에 덧붙여 자신의 [[:TOC|Table of Contents]] 표시를 처리한다. 만약 템플릿이 사이드바를 사용하거나 좀더 복잡한 레이아웃이라면 TOC를 페이지 컨텐츠로 부터 독립적으로 위치시키기를 원할 수 있다. 이것은 ''tpl_toc()'' 함수로 가능하다. 이것을 사용할 때는 ''tpl_content()'' 함수의 인수를 ''false''로하여 TOC 자동 배포를 비활성화 하는 것이 중요하다.\\ \\ **예제:** \\
''tpl_toc()'' 함수는 세 가지 다른 소스에서 TOC를 생성한다 : [[environment#$TOC]] 전역변수, 해당 페이지의 [[metadata]] 또는 [[admin plugins]]의 ''getTOC()'' 메소드이다. 이전 버전이나 ''tpl_toc()'' 미리보기에서는 metadata가 없기 때문에 이런 경우 [[environment#$TOC]] 전역변수만 사용할 수 있다. [[environment#$TOC]] 변수는 페이지 렌더러에 의해 채워지기 때문에 이것은 오직 ''tpl_content()'' 이후에 ''tpl_toc()'' 이 호출될 경우에 작동된다. 만약 이런사항이 템플릿의 레이아웃상 불가능하다면 이러한 문제해결을 위해 출력버퍼링을 사용할 수 있다. \\ \\ **예제:**\\
* **''[[xref>tpl_getConf()|tpl_getConf('key')]]''** \\ 이 함수는 템플릿의 [[configuration|configuration settings]]에 접근하기 위해 사용된다.
* **''[[xref>tpl_getLang()|tpl_getLang('key')]]''** \\ 이 함수는 템플릿의 현지화된 문장에 접근하기 위해 사용된다. 자세한 사항은 [[devel:localization]] 개발 문서를 살펴보라.
* 또한 다른 많은 유용한 템플릿 함수들를 사용할 수 있다. [[xref>inc/template.php|API 문서]]를 살펴보기 바란다.
==== 전역 변수와 상수 ====
유용한 전역 변수와 상수의 전체 목록은 [[environment]] 페이지를 참조하라.
==== 자동 유지관리 ====
디폴트 템플릿의 [[devel:templates:main.php]] 파일 거의 맨아래에는 ''[[xref>tpl_indexerWebBug()]]'' 함수가 있다. 이 함수는 ''[[:indexer|lib/exe/indexer.php]]''에 대한 요청이 이루어질 수 있도록 HTML ''%%
%%'' 태그를 생성한다. 이 **필수적인** 도쿠위키 일부분은 위키가 원활한 작동이 유지되도록 중요한 유지관리작업을 제공한다. 모든 템플릿은 이 함수를 포함해야하고, 그렇지 않으면 위키는 제대로 작동하지 않을 수 있다 (예를 들어 [[:search|search index]]가 만들어지지 않는 등).
==== 'dokuwiki' class ====
dokuwiki 값을 가진 class 속성은 각각의 템플릿의 [[devel:templates:main.php]], [[devel:templates:detail.php]]와 [[devel:templates:mediamanager.php]]에서 HTML 엘리먼트로 둘러싸인 몇 컨텐츠에서 (전체 또는 적어도 tpl_contents() 주변) 추가되어야 한다. 이것은 만약 잠재적으로 상충되는 CSS를 가진 기존의 사이트와 통합된 경우 도쿠위키의 스타일이 다른 스타일과 충돌하지 않도록 한다.
==== 삽입 후크 ====
삽입 후크는 별도의 [[:Template]]을 만들지 않고 자신의 [[:DokuWiki]]에 정적인 컨텐츠를 추가할 수 있는 간편한 방법이다. 이것을 이용하여 각 페이지 아래에 표준 머리글이나 회사로고 또는 법적고지사항을 추가 할 수 있다.
도쿠위키 디폴트 템플릿은 템플릿의 디렉토리 내부에 특별한 이름을 가진 파일을 찾아서 페이지가 표시될 때 정확한 위치에 삽입한다. 이 파일들에 원하는 어떤 HTML이든 추가할 수 있다. 물런 디폴트 템플릿이나 또는 삽입 후크를 지원하는 템플릿(starter 템플릿 처럼)을 사용할 경우에만 해당된다.
PHP도 이 파일들 안에 포함할 수 있다.
==== 사용가능한 Hooks ====
모든 여기 파일들은 템플릿 디렉토리 즉 ''lib/tpl/dokuwiki/''에서 검색된다.
^ 파일명 ^ 삽입되는 HTML의 위치 ^
| ''meta.html'' | HTML 에 들어갈 내용, meta 요소를 추가하기 위해 사용 (e.g. Google Analytics code) |
| ''header.html'' | the header 위(로고, 위키 이름 등) |
| ''sidebarheader.html'' | 사이드바 내용 바로 전 (그러나 사이드바에 포함) |
| ''sidebarfooter.html'' | 사이드바 내용 바루 후 (그러나 사이드바에 포함) |
| ''pageheader.html'' | 위키페이지 컨텐츠 상단 (그러나 컨텐츠 섹션에 포함) |
| ''pagefooter.html'' | 위키페이지 컨텐츠 하단 (그러나 컨텐츠 섹션에 포함) |
| ''footer.html'' | 페이지 끝 |
사용자 설명을 위한 [[:include hooks]] 또한 살펴보라.
==== dokuwiki.org에 템플릿 등록 ====
템플릿을 만들었다면, 커뮤니티에 공유하길 바란다. 단지 [[:template]] 네임스페이스에 템플릿의 이름을 딴 페이지를 만들어라. 예를 들면 템플릿의 이름이 ''sample''이면 이 위키 안에 ''template:sample''의 페이지를 만들어라.
At the top of the template page a few metadata fields have to be filled in. A description of each field can be found on the [[plugin:repository#template_entry|Repository Plugin]] page.
From version Ponder Stibbons on an automated update signalling is possible. For the update process to work properly it is necessary that the date “Last updated on” on the template's wiki page equals the date in the file [[devel:template_info|template.info.txt]] in the source tarball/zip file. If this is not the case the update will not take place or the “Update” signal persists.
Uploads are not allowed on dokuwiki.org, so you need to host your template files somewhere else. We recommend to manage your source with a Revision Control System like [[git]]. If you do, it's easiest to use a public repository host like [[http://github.com|GitHub]] which offers also a bug tracker for your repository.
===== 모듈 구조도 =====
{{:wiki:도쿠위키내부구조표.png|}}
===== edit box (글쓰기 박스) =====
상단의 글은 ../inc/lang/ko(언어) :f:폴더의
edit.txt 파일을 수정해서 사용할 수 있다. (이 폴더를 잘 뒤져보면 도쿠위키 페이지내의 여러가지 문구들을 내 입맛대로 수정할 수 있다.)
{{:wiki:editwindow.png|}}
==== edit box 편집 ====
글 작성 / 수정 페이지 상단에 잡다하게 만들어 두었는데, 점점 아이콘과 단축키를 사용하는 게 편해져서 안 쓰고 있다. (하지만 나는 개인 위키로 운영하고 있으니까, 복사 붙여넣기를 할 일이 생길 수 있으므로 아직은 수정 중에 있다)
수정할 파일 경로 ''./inc/lang/ko(언어)/edit.txt''
=== 현재 적용되어 있는 구문 ===
편집툴** >
\\
++++위키문법|{{tabinclude>wiki:위키문법}}
++++
++++가끔 필요한 문법|
{{ruby|본문|위첨자}}
{{tabinclude>대목록:소목록1, 대목록:소목록2}}
++++
++++컬러코드표|
^ red | | ** #FF0000 ** |
^ crimson | | ** #DC143C ** |
^ firebrick | | ** #B22222 ** |
^ maroon | | ** #800000 ** |
^ darkred | | ** #8B0000 ** |
^ brown | | ** #A52A2A ** |
^ sienna | | ** #A0522D ** |
^ saddlebrown | | ** #8B4513 ** |
^ indianred | | ** #CD5C5C ** |
^ rosybrown | | ** #BC8F8F ** |
^ lightcoral | | ** #F08080 ** |
^ salmon | | ** #FA8072 ** |
^ darksalmon | | ** #E9967A ** |
^ coral | | ** #FF7F50 ** |
^ tomato | | ** #FF6347 ** |
^ sandybrown | | ** #F4A460 ** |
^ lightsalmon | | ** #FFA07A ** |
^ peru | | ** #CD853F ** |
^ chocolate | | ** #D2691E ** |
^ orangered | | ** #FF4500 ** |
^ orange | | ** #FFA500 ** |
^ darkorange | | ** #FF8C00 ** |
^ tan | | ** #D2B48C ** |
^ peachpuff | | ** #FFDAB9 ** |
^ bisque | | ** #FFE4C4 ** |
^ moccasin | | ** #FFE4B5 ** |
^ navajowhite | | ** #FFDEAD ** |
^ wheat | | ** #F5DEB3 ** |
^ burlywood | | ** #DEB887 ** |
^ darkgoldenrod | | ** #B8860B ** |
^ goldenrod | | ** #DAA520 ** |
^ gold | | ** #FFD700 ** |
^ yellow | | ** #FFFF00 ** |
^ lightgoldenrodyellow | | ** #FAFAD2 ** |
^ palegoldenrod | | ** #EEE8AA ** |
^ khaki | | ** #F0E68C ** |
^ darkkhaki | | ** #BDB76B ** |
^ lawngreen | | ** #7CFC00 ** |
^ greenyellow | | ** #ADFF2F ** |
^ chartreuse | | ** #7FFF00 ** |
^ lime | | ** #00FF00 ** |
^ limegreen | | ** #32CD32 ** |
^ yellowgreen | | ** #9ACD32 ** |
^ olive | | ** #808000 ** |
^ olivedrab | | ** #6B8E23 ** |
^ darkolivegreen | | ** #556B2F ** |
^ forestgreen | | ** #228B22 ** |
^ darkgreen | | ** #006400 ** |
^ green | | ** #008000 ** |
^ seagreen | | ** #2E8B57 ** |
^ mediumseagreen | | ** #3CB371 ** |
^ darkseagreen | | ** #8FBC8F ** |
^ lightgreen | | ** #90EE90 ** |
^ palegreen | | ** #98FB98 ** |
^ springgreen | | ** #00FF7F ** |
^ mediumspringgreen | | ** #00FA9A ** |
^ teal | | ** #008080 ** |
^ darkcyan | | ** #008B8B ** |
^ lightseagreen | | ** #20B2AA ** |
^ mediumaquamarine | | ** #66CDAA ** |
^ cadetblue | | ** #5F9EA0 ** |
^ steelblue | | ** #4682B4 ** |
^ aquamarine | | ** #7FFFD4 ** |
^ powderblue | | ** #B0E0E6 ** |
^ paleturquoise | | ** #AFEEEE ** |
^ lightblue | | ** #ADD8E6 ** |
^ lightsteelblue | | ** #B0C4DE ** |
^ skyblue | | ** #87CEEB ** |
^ lightskyblue | | ** #87CEFA ** |
^ mediumturquoise | | ** #48D1CC ** |
^ turquoise | | ** #40E0D0 ** |
^ darkturquoise | | ** #00CED1 ** |
^ aqua | | ** #00FFFF ** |
^ cyan | | ** #00FFFF ** |
^ deepskyblue | | ** #00BFFF ** |
^ dodgerblue | | ** #1E90FF ** |
^ cornflowerblue | | ** #6495ED ** |
^ royalblue | | ** #4169E1 ** |
^ blue | | ** #0000FF ** |
^ mediumblue | | ** #0000CD ** |
^ navy | | ** #000080 ** |
^ darkblue | | ** #00008B ** |
^ midnightblue | | ** #191970 ** |
^ darkslateblue | | ** #483D8B ** |
^ slateblue | | ** #6A5ACD ** |
^ mediumslateblue | | ** #7B68EE ** |
^ mediumpurple | | ** #9370DB ** |
^ darkorchid | | ** #9932CC ** |
^ darkviolet | | ** #9400D3 ** |
^ blueviolet | | ** #8A2BE2 ** |
^ mediumorchid | | ** #BA55D3 ** |
^ plum | | ** #DDA0DD ** |
^ lavender | | ** #E6E6FA ** |
^ thistle | | ** #D8BFD8 ** |
^ orchid | | ** #DA70D6 ** |
^ violet | | ** #EE82EE ** |
^ indigo | | ** #4B0082 ** |
^ darkmagenta | | ** #8B008B ** |
^ purple | | ** #800080 ** |
^ mediumvioletred | | ** #C71585 ** |
^ deeppink | | ** #FF1493 ** |
^ fuchsia | | ** #FF00FF ** |
^ magenta | | ** #FF00FF ** |
^ hotpink | | ** #FF69B4 ** |
^ palevioletred | | ** #DB7093 ** |
^ lightpink | | ** #FFB6C1 ** |
^ pink | | ** #FFC0CB ** |
^ mistyrose | | ** #FFE4E1 ** |
^ blanchedalmond | | ** #FFEBCD ** |
^ lightyellow | | ** #FFFFE0 ** |
^ cornsilk | | ** #FFF8DC ** |
^ antiquewhite | | ** #FAEBD7 ** |
^ papayawhip | | ** #FFEFD5 ** |
^ lemonchiffon | | ** #FFFACD ** |
^ beige | | ** #F5F5DC ** |
^ linen | | ** #FAF0E6 ** |
^ oldlace | | ** #FDF5E6 ** |
^ lightcyan | | ** #E0FFFF ** |
^ aliceblue | | ** #F0F8FF ** |
^ whitesmoke | | ** #F5F5F5 ** |
^ lavenderblush | | ** #FFF0F5 ** |
^ floralwhite | | ** #FFFAF0 ** |
^ mintcream | | ** #F5FFFA ** |
^ ghostwhite | | ** #F8F8FF ** |
^ honeydew | | ** #F0FFF0 ** |
^ seashell | | ** #FFF5EE ** |
^ ivory | | ** #FFFFF0 ** |
^ azure | | ** #F0FFFF ** |
^ snow | | ** #FFFAFA ** |
^ white | | ** #FFFFFF ** |
^ gainsboro | | ** #DCDCDC ** |
^ lightgrey | | ** #D3D3D3 ** |
^ silver | | ** #C0C0C0 ** |
^ darkgray | | ** #A9A9A9 ** |
^ lightslategray | | ** #778899 ** |
^ slategray | | ** #708090 ** |
^ gray | | ** #808080 ** |
^ dimgray | | ** #696969 ** |
^ darkslategray | | ** #2F4F4F ** |
^ black | | ** #000000 ** |
++++
++++하단 버튼 설명|
편집창 내에서 도구 모음은 사용자가 [[{}nme>wiki:위키문법]]을 기억하지 않고 텍스트 서식을 지정하는 데 사용
//위키내의 모든 단축키는 Alt +로 사용할 수 있다.//
----
^ Button ^ Key ^ Function ^ Syntax ^
| {{http://www.dokuwiki.org/lib/images/toolbar/hequal.png?nolink}} | / | 동급 문단 제목 | %%===== 동급 문단 제목=====%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/hminus.png?nolink}} | , | 상위 문단 제목 | %%==== 하위 문단 제목 ====%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/hplus.png?nolink}} | > | 하위 문단 제목 | %%====== 상위 문단 제목 ======%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/h.png?nolink}} | | 제목 선택 | 하단 문단 제목 선택 |
| {{http://www.dokuwiki.org/lib/images/toolbar/h1.png?nolink}} | 1 | 레벨 1 헤드 라인 | %%====== 1단계 문단 제목 ======%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/h2.png?nolink}} | 2 | 레벨 2 헤드 라인 | %%===== 2단계 문단 제목 =====%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/h3.png?nolink}} | 3 | 레벨 3 헤드 라인 | %%==== 3단계 문단 제목 ====%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/h4.png?nolink}} | 4 | 레벨 4 헤드 라인 | %%=== 4단계 문단 제목 ===%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/h5.png?nolink}} | 5 | 레벨 5 헤드 라인 | %%== 5단계 문단 제목 ==%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/ol.png?nolink}} | - | 정렬 된 목록 항목 | %% - 순서 있는 목록%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/ul.png?nolink}} | 8 | 정렬되지 않은 목록 항목 | %% * 순서 없는 목록%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/hr.png?nolink}} | h | 가로줄 | %%----%% |
| :x: | n | NOWIKI | %% %% |
| {{:wiki:codejava.gif?15&nolink}} | c | 코드 박스 | %% c
%% |
| :memo: | f | 파일 | %%file%% |
| :f: | z |[[wiki:위키문법#내용접기|폴딩]] | %%++++title| folder++++%% |
| {{:wiki:wr.gif?15&nolink}} | p | 줄바꿈 형식 적용 | %% poem%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/link.png?nolink}} | l | 내부 링크 형식 (링크 마법사 시작) | %%wiki:%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/linkextern.png?nolink}} | | 외부 링크 형식 | %%[[http://example.com|바깥 링크]]%% |
| {{http://www.dokuwiki.org/lib/images/toolbar/image.png?nolink}} | | [[http://nme.kr/dw/lib/exe/mediamanager.php?ns=wiki&edid=wiki__text| 미디어 선택, 파일 / 첨부 업로더 포함]] | %%{{:wiki이미지.gif?nolink&15|}}%% |
| {{https://nme.kr/dw/lib/images/toolbar/smiley.png?nolink}} | | 이모티콘 선택기 | [[wiki:위키문법#11.아이콘|아이콘]] |
| {{https://nme.kr/dw/lib/images/toolbar/chars.png?nolink}} | | 특수 문자 | [[wiki:위키문법#특수 문자표|특수문자 선택기]] |
| {{https://nme.kr/dw/lib/images/toolbar/bold.png?nolink}} | b | 굵은 서식 | %%** **%% |
| {{https://nme.kr/dw/lib/images/toolbar/italic.png?nolink}} | i | 기울임 꼴 형식 | %%// //%% |
| {{https://nme.kr/dw/lib/images/toolbar/underline.png?nolink}} | u | 밑줄이 그어진 서식 | %%__ __%% |
| {{https://nme.kr/dw/lib/images/toolbar/mono.png?nolink}} | m | ''코드 글씨'' | %%''코드 글씨''%% |
| {{https://nme.kr/dw/lib/images/toolbar/strike.png?nolink}} | d | 취소선 글씨 | %%%% |
| {{https://nme.kr/dw/lib/images/toolbar/anger.webp?nolink}} | v | 테두리 박스 | %%box%% |
| {{https://nme.kr/dw/lib/images/toolbar/ko.gif?nolink}} | q | 국어 사전 | %%[[ko>ko_dict]]%% |
| {{https://nme.kr/dw/lib/images/toolbar/en.gif?nolink}} | w | 영어 사전 | %%[[en>en_dict]]%% |
| {{https://nme.kr/dw/lib/images/toolbar/fr.gif?nolink}} | e | 프랑스어 사전 | %%[[fr>fr_dict]]%% |
| {{https://nme.kr/dw/lib/images/toolbar/la.gif?nolink}} | r | 라틴어어 사전 | %%[[la>la_dict]]%% |
| {{:wiki:blockquote-icon.png?15&nolink}} | | 인용문(쌍따옴표) | %%텍스트를 따옴표로 표시
%% |
| {{:wiki:add-button.png?15&nolink}} | | [[wiki:위키문법#버튼으로 꾸미기|버튼 생성]] | %%[[{}Wiki link|Button title]]%% |
| {{:wiki:table.png?15&nolink}} | | 새 표 넣기 | %%^ ^ ^ | | |%% |
| {{:wiki:add_table.png?15&nolink}} | | 박스패턴 선택 | [[wiki:위키문법#기본표와는 조금 다른 박스 형태]] |
| {{:wiki:d.png?15&nolink}} | | 박스패턴 1 | %%{| |-! term || description |}%% |
| {{:wiki:add_table.png?15&nolink}} | | 박스패턴 2 | %%{| style="" |+ table caption ! A1 ! B1 |-| A2 | B2 |}%% |
| {{:wiki:picker.png?15&nolink}} | | 폰트 사이즈 | [[wiki:위키문법#글자 사이즈|글자 사이즈]] |
| {{:wiki:hidden.png?15&nolink}} | | [[wiki:위키문법#내용접기|숨겨진 문단]] | %%숨겨진 문단%% |
| {{:wiki:keyboard.png?15&nolink}} | | [[wiki:위키문법#단축키 키보드 모양으로 보여주기|키보드 모양]] | %%키 누름으로 텍스트를 표시%% |
| {{:wiki:plugin.png?15&nolink}} | | 표 고침 | |
| {{:wiki:wrap.png?15&nolink}} | | Wrap | |
| {{:wiki:toolbar_icon.png?15&nolink}} | | 폰트 색상 | [[wiki:위키문법#글자 색상과 형광펜 기능|글자색]] |
| {{:wiki:color_icon.png?15&nolink}} | | 하이라이트 | [[wiki:위키문법#글자 색상과 형광펜 기능|형광펜]] |
| {{:wiki:indexmenu_toolbar.png?15&nolink}} | | 인덱스메뉴 | 인덱스마법사 |
| {{:wiki:stackedit.png?15&nolink}} | | 스텍에디터 | |
| {{:wiki:button.png?15&nolink}} | | 동영상 삽입 | |
++++
**{{date>%A:%y.%m.%d}}** 수정 백업
==== 툴바 toolbar ====
[[doku>devel:toolbar]]
파일 경로 : ''./inc''
아이콘 이미지 경로 : ''./lib/images/toolbar''
++++22.01.19 현재 편집 소스|
*/use dokuwiki\Extension\Event;
/**
* Prepares and prints an JavaScript array with all toolbar buttons
*
* @emits TOOLBAR_DEFINE
* @param string $varname Name of the JS variable to fill
* @author Andreas Gohr
*/
function toolbar_JSdefines($varname){
global $lang;
$menu = array();
$evt = new Event('TOOLBAR_DEFINE', $menu);
if ($evt->advise_before()){
// build button array
$menu = array_merge($menu, array(
array(
'type' => 'autohead',
'title' => $lang['qb_hequal'],
'icon' => 'hequal.png',
'key' => '/',
'text' => $lang['qb_h'],
'mod' => 0,
'block' => true
),
array(
'type' => 'autohead',
'title' => $lang['qb_hminus'],
'icon' => 'hminus.png',
'key' => ',',
'text' => $lang['qb_h'],
'mod' => 1,
'block' => true
),
array(
'type' => 'autohead',
'title' => $lang['qb_hplus'],
'icon' => 'hplus.png',
'key' => '.',
'text' => $lang['qb_h'],
'mod' => -1,
'block' => true
),
array(
'type' => 'picker',
'title' => $lang['qb_hs'],
'icon' => 'h.png',
'class' => 'pk_hl',
'list' => array(
array(
'type' => 'format',
'title' => $lang['qb_h1'],
'icon' => 'h1.png',
'key' => '1',
'open' => '====== ',
'close' => ' ======\n',
),
array(
'type' => 'format',
'title' => $lang['qb_h2'],
'icon' => 'h2.png',
'key' => '2',
'open' => '===== ',
'close' => ' =====\n',
),
array(
'type' => 'format',
'title' => $lang['qb_h3'],
'icon' => 'h3.png',
'key' => '3',
'open' => '==== ',
'close' => ' ====\n',
),
array(
'type' => 'format',
'title' => $lang['qb_h4'],
'icon' => 'h4.png',
'key' => '4',
'open' => '=== ',
'close' => ' ===\n',
),
array(
'type' => 'format',
'title' => $lang['qb_h5'],
'icon' => 'h5.png',
'key' => '5',
'open' => '== ',
'close' => ' ==\n',
),
),
'block' => true
),
array(
'type' => 'formatln',
'title' => $lang['qb_ol'],
'icon' => 'ol.png',
'open' => ' - ',
'close' => '',
'key' => '-',
'block' => true
),
array(
'type' => 'formatln',
'title' => $lang['qb_ul'],
'icon' => 'ul.png',
'open' => ' * ',
'close' => '',
'key' => '8',
'block' => true
),
array(
'type' => 'insert',
'title' => $lang['qb_hr'],
'icon' => 'hr.png',
'key' => 'h',
'insert' => '\n----\n',
'block' => true
),
array(
'type' => 'format',
'title' => $lang['qb_nowiki'],
'icon' => 'x.webp',
'key' => 'n',
'open' => '',
'close' => '',
'sample' => 'nowiki',
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_coding'],
'icon' => 'codejava.webp',
'key' => 'c',
'open' => '\n',
'close' => '\n
',
'sample' => 'java code',
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_file'],
'icon' => 'memo.webp',
'key' => 'f',
'open' => '\n',
'close' => '\n',
'sample' => 'file',
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_folding'],
'icon' => 'folder.png',
'key' => 'z',
'open' => '++++title|\n',
'close' => '\n++++',
'sample' => 'folder',
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_poem'],
'icon' => 'wr.gif',
'key' => 'p',
'open' => '\n',
'close' => '\n',
'sample' => 'poem',
'block' => false
),
array(
'type' => 'linkwiz',
'title' => $lang['qb_link'],
'icon' => 'link.png',
'key' => 'l',
'open' => '[[',
'close' => ']]',
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_extlink'],
'icon' => 'linkextern.png',
'open' => '[[',
'close' => ']]',
'sample' => 'http://example.com|'.$lang['qb_extlink'],
'block' => false
),
array(
'type' => 'mediapopup',
'title' => $lang['qb_media'],
'icon' => 'image.png',
'url' => 'lib/exe/mediamanager.php?ns=',
'name' => 'mediaselect',
'options'=> 'width=750,height=500,left=20,top=20,scrollbars=yes,resizable=yes',
'block' => false
),
array(
'type' => 'picker',
'title' => $lang['qb_smileys'],
'icon' => 'smiley.png',
'list' => getSmileys(),
'icobase'=> 'smileys',
'block' => false
),
array(
'type' => 'picker',
'title' => $lang['qb_chars'],
'icon' => 'chars.png',
'list' => [
'À', 'à', 'Á', 'á', 'Â', 'â', 'Ã', 'ã', 'Ä', 'ä', 'Ǎ', 'ǎ', 'Ă', 'ă', 'Å', 'å',
'Ā', 'ā', 'Ą', 'ą', 'Æ', 'æ', 'Ć', 'ć', 'Ç', 'ç', 'Č', 'č', 'Ĉ', 'ĉ', 'Ċ', 'ċ',
'Ð', 'đ', 'ð', 'Ď', 'ď', 'È', 'è', 'É', 'é', 'Ê', 'ê', 'Ë', 'ë', 'Ě', 'ě', 'Ē',
'ē', 'Ė', 'ė', 'Ę', 'ę', 'Ģ', 'ģ', 'Ĝ', 'ĝ', 'Ğ', 'ğ', 'Ġ', 'ġ', 'Ĥ', 'ĥ', 'Ì',
'ì', 'Í', 'í', 'Î', 'î', 'Ï', 'ï', 'Ǐ', 'ǐ', 'Ī', 'ī', 'İ', 'ı', 'Į', 'į', 'Ĵ',
'ĵ', 'Ķ', 'ķ', 'Ĺ', 'ĺ', 'Ļ', 'ļ', 'Ľ', 'ľ', 'Ł', 'ł', 'Ŀ', 'ŀ', 'Ń', 'ń', 'Ñ',
'ñ', 'Ņ', 'ņ', 'Ň', 'ň', 'Ò', 'ò', 'Ó', 'ó', 'Ô', 'ô', 'Õ', 'õ', 'Ö', 'ö', 'Ǒ',
'ǒ', 'Ō', 'ō', 'Ő', 'ő', 'Œ', 'œ', 'Ø', 'ø', 'Ŕ', 'ŕ', 'Ŗ', 'ŗ', 'Ř', 'ř', 'Ś',
'ś', 'Ş', 'ş', 'Š', 'š', 'Ŝ', 'ŝ', 'Ţ', 'ţ', 'Ť', 'ť', 'Ù', 'ù', 'Ú', 'ú', 'Û',
'û', 'Ü', 'ü', 'Ǔ', 'ǔ', 'Ŭ', 'ŭ', 'Ū', 'ū', 'Ů', 'ů', 'ǖ', 'ǘ', 'ǚ', 'ǜ', 'Ų',
'ų', 'Ű', 'ű', 'Ŵ', 'ŵ', 'Ý', 'ý', 'Ÿ', 'ÿ', 'Ŷ', 'ŷ', 'Ź', 'ź', 'Ž', 'ž', 'Ż',
'ż', 'Þ', 'þ', 'ß', 'Ħ', 'ħ', '¿', '¡', '¢', '£', '¤', '¥', '€', '¦', '§', 'ª',
'¬', '¯', '°', '±', '÷', '‰', '¼', '½', '¾', '¹', '²', '³', 'µ', '¶', '†', '‡',
'·', '•', 'º', '∀', '∂', '∃', 'Ə', 'ə', '∅', '∇', '∈', '∉', '∋', '∏', '∑', '‾',
'−', '∗', '×', '⁄', '√', '∝', '∞', '∠', '∧', '∨', '∩', '∪', '∫', '∴', '∼', '≅',
'≈', '≠', '≡', '≤', '≥', '⊂', '⊃', '⊄', '⊆', '⊇', '⊕', '⊗', '⊥', '⋅', '◊', '℘',
'ℑ', 'ℜ', 'ℵ', '♠', '♣', '♥', '♦', 'α', 'β', 'Γ', 'γ', 'Δ', 'δ', 'ε', 'ζ', 'η',
'Θ', 'θ', 'ι', 'κ', 'Λ', 'λ', 'μ', 'Ξ', 'ξ', 'Π', 'π', 'ρ', 'Σ', 'σ', 'Τ', 'τ',
'υ', 'Φ', 'φ', 'χ', 'Ψ', 'ψ', 'Ω', 'ω', '★', '☆', '☎', '☚', '☛', '☜', '☝', '☞',
'☟', '☹', '☺', '✔', '✘', '„', '“', '”', '‚', '‘', '’', '«', '»', '‹', '›', '—',
'–', '…', '←', '↑', '→', '↓', '↔', '⇐', '⇑', '⇒', '⇓', '⇔', '©', '™', '®', '′',
'″', '[', ']', '{', '}', '~', '(', ')', '%', '§', '$', '#', '|', '@', 'ː','ɑ',
'ə', 'ɪ', 'ɛ', 'ʒ', 'ŋ',
],
'block' => false
),
array(
'type' => 'signature',
'title' => $lang['qb_sig'],
'icon' => 'sig.png',
'key' => 'y',
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_bold'],
'icon' => 'bold.png',
'key' => 'b',
'open' => '**',
'close' => '**',
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_italic'],
'icon' => 'italic.png',
'key' => 'i',
'open' => '//',
'close' => '//',
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_underl'],
'icon' => 'underline.png',
'key' => 'u',
'open' => '__',
'close' => '__',
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_code'],
'icon' => 'mono.png',
'key' => 'm',
'open' => "''",
'close' => "''",
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_strike'],
'icon' => 'strike.png',
'key' => 'd',
'open' => '',
'close' => '',
'block' => false
),
array(
'type' => 'format',
'title' => $lang['qb_right'],
'icon' => 'arrow_right.webp',
'key' => 'r',
'open' => '',
'close' => '',
'sample' => 'right',
'block' => true
),
array(
'type' => 'format',
'title' => $lang['qb_center'],
'icon' => 'arrow_down_small.webp',
'key' => 'g',
'open' => '',
'sample' => 'center',
'close' => '',
'block' => true
),
array(
'type' => 'format',
'title' => $lang['qb_box'],
'icon' => 'anger.webp',
'key' => 'v',
'open' => '',
'sample' => 'box',
'close' => '',
'block' => true
),
));
} // end event TOOLBAR_DEFINE default action
$evt->advise_after();
unset($evt);
// use JSON to build the JavaScript array
print "var $varname = ".json_encode($menu).";\n";
}
/**
* prepares the signature string as configured in the config
*
* @author Andreas Gohr
*/
function toolbar_signature(){
global $conf;
global $INFO;
/** @var Input $INPUT */
global $INPUT;
$sig = $conf['signature'];
$sig = dformat(null,$sig);
$sig = str_replace('@USER@',$INPUT->server->str('REMOTE_USER'),$sig);
$sig = str_replace('@NAME@',$INFO['userinfo']['name'],$sig);
$sig = str_replace('@MAIL@',$INFO['userinfo']['mail'],$sig);
$sig = str_replace('@DATE@',dformat(),$sig);
$sig = str_replace('\\\\n','\\n',$sig);
return json_encode($sig);
}
//Setup VIM: ex: et ts=4 :
143열 'open' => '\n',
144열 'close' => '\n
',
추가
++++
**:star:환경설정-저장을 눌러야만 적용이 완료된다.**
===== main.php =====
도쿠위키 디자인 편집의 가장 핵심이 되는 main.php의 standard 버젼의 php구문과 설명이다.
++++main.php|
PHP
/ **
* DokuWiki 스타터 템플릿
*
* @link http://dokuwiki.org/template:starter
* @author Anika Henke
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
* /
if (! defined ( 'DOKU_INC' )) die (); / * DokuWiki 내에서 실행해야합니다 * /
@ require_once ( dirname (__FILE__). '/tpl_functions.php' ); / * 템플릿 함수에 대한 후크 포함 * /
$ showTools =! tpl_getConf ( 'hideTools' ) || ( tpl_getConf ( 'hideTools' ) &&! empty ( $ _SERVER [ 'REMOTE_USER' ]));
$ showSidebar = page_findnearest ( $ conf [ 'sidebar' ]) && ( $ ACT == 'show' );
$ sidebarElement = tpl_getConf ( 'sidebarIsNav' )? 'nav' : 'aside' ;
?>
< HTML 의의 xmlns = " http://www.w3.org/1999/xhtml " XML : LANG = " PHP 에코 $의 conf의의 [ "LANG " ] ?> "
lang = " php echo $ conf [ 'lang' ] ?> " dir = " php echo $ lang [ 'direction' ] ?> " class = " no-js " >
< 머리 >
< 메타 문자 세트 = " UTF-8 "/>
< 제목 > php tpl_pagetitle () ?> [ php echo strip_tags ( $ conf [ 'title' ]) ?> ] title >
< 스크립트 > ( 함수 ( H ) { H . 클래스 명 = H . 클래스 이름 . 대체 ( / \ B 노 JS \ B / , 'JS' ) } ) ( 문서 . documentElement ) 스크립트 >
php tpl_metaheaders () ?>
< 메타 이름 = " 뷰포트 " content = " width = device-width, initial-scale = 1 "/>
php echo tpl_favicon ( array ( 'favicon' , 'mobile' )) ?>
php tpl_includeFile ( 'meta.html' ) ?>
머리 >
< 본체 >
php에 상단에 / * "dokuwiki__top"ID가 필요한 곳, 그 때문에 어디 "뒤로 가기"버튼 / 링크에 * / ?>
php / * tpl_classes ()는 유용한 CSS 클래스를 제공합니다. 사용하지 않습니다.
항상 주변 요소 중 하나에 있어야합니다 (예 : 플러그인 및 템플릿이 이에 종 속됨) * / ?
< div id = " dokuwiki__site " > < div id = " dokuwiki__top " class = " 사이트 php echo tpl_classes (); ?> php
에코 ( $ showSidebar )? 'hasSidebar' : '' ; ?> " >
php html_msgarea () / * 페이지 상단의 가끔 오류 및 정보 메시지 * / ?>
< header id = " dokuwiki__header " > < div class = " pad " >
php tpl_includeFile ( 'header.html' ) ?>
< div class = " 제목 " >
< h1 > php tpl_link ( wl (), $ conf [ 'title' ], 'accesskey = "h"title = "[H]"' ) ?> h1 >
php / * 대신 로고를 삽입하는 방법 (CSS 이미지 대체 기술이 사용되지 않는 경우) :
로고를 데이터 / 미디어 폴더 (미디어 관리자의 루트)에 업로드하고 그에 따라 'logo.png'를 바꿉니다.
tpl_link (wl (), '
', 'id = "dokuwiki__top" accesskey = "h"title = "[H]" ') * / ?>
php if ( $ conf [ '태그 라인' ]) : ?>
< p class = " 클레임 " > php echo $ conf [ '태그 라인' ] ?> p >
php endif ?>
< ul 클래스 = " a11y 건너 뛰기 " >
< 리 > < HREF = " #dokuwiki__content " > PHP 에코 $ LANG [ 'skip_to_content' ] ?> > 리 >
ul >
< div class = " clearer " > div >
div >
< div class = " 도구 " >
php if ( $ conf [ 'useacl' ] && $ showTools ) : ?>
< nav id = " dokuwiki__usertools " aria-labelledby = " dokuwiki__usertools_heading " >
< h3 class = " a11y " id = " dokuwiki__usertools_heading " > php echo $ lang [ 'user_tools' ] ?> h3 >
< ul >
php if (! empty ( $ _SERVER [ 'REMOTE_USER' ])) {
echo '' ;
tpl_userinfo (); / * '...로 로그인 됨'* /
echo ' li>' ;
} ?>
php if ( file_exists ( DOKU_INC . 'inc / Menu / UserMenu.php' )) {
/ * 첫 번째 회차 변수는 추가 클래스 용이고 두 번째 회차 변수는 SVG를 추가해야하는 경우입니다. * /
echo ( new \ dokuwiki \ Menu \ UserMenu ())-> getListItems ( 'action' , false );
} else {
/ * Greebo 이전의 도구 메뉴 * /
_tpl_usertools ();
} ?>
ul >
탐색 >
php endif ?>
< nav id = " dokuwiki__sitetools " aria-labelledby = " dokuwiki__sitetools_heading " >
< h3 class = " a11y " id = " dokuwiki__sitetools_heading " > php echo $ lang [ 'site_tools' ] ?> h3 >
php tpl_searchform () ?>
PHP
// 모바일 메뉴 (모든 메뉴를 하나의 드롭 다운에 결합)
// if (file_exists (DOKU_INC. 'inc / Menu / MobileMenu.php')) {
// echo (new \ dokuwiki \ Menu \ MobileMenu ())-> getDropdown ($ lang [ 'tools']);
//} else {
// tpl_actiondropdown ($ lang [ '도구']);
//}
?>
< ul >
php if ( file_exists ( DOKU_INC . 'inc / Menu / SiteMenu.php' )) {
echo ( new \ dokuwiki \ Menu \ SiteMenu ())-> getListItems ( 'action' , false );
} else {
_tpl_sitetools ();
} ?>
ul >
탐색 >
div >
< div class = " clearer " > div >
php if ( $ conf [ 'breadcrumbs' ]) { ?>
< div class = " breadcrumbs " > php tpl_breadcrumbs () ?> div >
PHP } ?>
php if ( $ conf [ 'youarehere' ]) { ?>
< div class = " breadcrumbs " > php tpl_youarehere () ?> div >
PHP } ?>
< div class = " clearer " > div >
< 시간 클래스 = " a11y "/>
div > 헤더 >
< div 클래스 = " 래퍼 " >
php if ( $ showSidebar ) : ?>
<< ? php echo $ sidebarElement ?> id = "dokuwiki__aside"aria-label = " php echo $ lang [ 'sidebar' ] ?> " > < div class = " pad aside include group " >
php tpl_includeFile ( 'sidebarheader.html' ) ?>
php tpl_include_page ( $ conf [ 'sidebar' ], 1 , 1 ) / * 가장 가까운 사이드 바 페이지 포함 * / ?>
php tpl_includeFile ( 'sidebarfooter.html' ) ?>
< div class = " clearer " > div >
div > PHP echo $ sidebarElement ? >>
php endif ; ?>
< main id = " dokuwiki__content " > < div class = " pad " >
php tpl_flush () / * 출력 버퍼 비우기 * / ?>
PHP tpl_includeFile ( ' pageheader.html ' ) ?>
< div 클래스 = " 페이지 " >
php tpl_content () / * 주요 내용 * / ?>
< div class = " clearer " > div >
div >
php tpl_flush () ?>
php tpl_includeFile ( 'pagefooter.html' ) ?>
div > 메인 >
< div class = " clearer " > div >
< 시간 클래스 = " a11y "/>
php if ( $ showTools ) : ?>
< nav id = " dokuwiki__pagetools " aria-labelledby = " dokuwiki__pagetools_heading " >
< h3 클래스 = " a11y " id = " dokuwiki__pagetools_heading " > php echo $ lang [ 'page_tools' ] ?> h3 >
< ul >
php if ( file_exists ( DOKU_INC . 'inc / Menu / PageMenu.php' )) {
echo ( new \ dokuwiki \ Menu \ PageMenu ())-> getListItems ( 'action' , false );
} else {
_tpl_pagetools ();
} ?>
ul >
탐색 >
php endif ; ?>
div >
< footer id = " dokuwiki__footer " > < div class = " pad " >
< div class = " doc " > php tpl_pageinfo () / * '마지막 수정'등 * / ?> div >
php tpl_license ( 'button' ) / * 콘텐츠 라이선스, 라이선스 변수 : img = * badge | 버튼 | 0, imgonly = * 0 | 1, 반환 = * 0 | 1 * / ?>
php tpl_includeFile ( 'footer.html' ) ?>
div > 바닥 글 >
div > div >
< div class = " no " > php tpl_indexerWebBug () / * 모든 템플릿에 필요한 DokuWiki 하우스 키핑 제공 * / ?> div >
본문 >
html >
++++