문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
기술문서:오픈소스:dokuwiki [2026/01/15 19:20] carlito76 |
기술문서:오픈소스:dokuwiki [2026/02/27 10:53] (현재) carlito76 |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| {{htmlmetatags> | {{htmlmetatags> | ||
| - | metatag-description=(도쿠위키, | + | metatag-description=(도쿠위키, |
| - | metatag-og: | + | metatag-og: |
| }} | }} | ||
| 줄 7: | 줄 7: | ||
| <note tip> | <note tip> | ||
| - | 본 문서는 2020-07-29a " | + | 본 문서는 2020-07-29a " |
| + | - [[# | ||
| + | - [[# | ||
| + | - [[# | ||
| + | - [[#관리]] | ||
| </ | </ | ||
| 줄 47: | 줄 51: | ||
| ==== 기본 템플릿 ==== | ==== 기본 템플릿 ==== | ||
| - | === 이름공간 정보 추가 | + | === 이미지 교체 |
| - | <sxh php; gutter: true; first-line: 17; highlight: [19]; title: | + | |
| - | < | + | * lib/tpl/dokuwiki/images/logo.png |
| - | <meta charset=" | + | * lib/ |
| - | < | + | |
| - | < | + | |
| - | <? | + | |
| - | <meta name=" | + | |
| - | <?php echo tpl_favicon(array(' | + | |
| - | <?php tpl_includeFile(' | + | |
| - | </ | + | |
| - | </ | + | |
| - | === 문서 정보 제거 | + | === logo 대체 텍스트 |
| - | <sxh php; gutter: true; first-line: | + | <sxh php; gutter: true; first-line: |
| - | <!-- ********** CONTENT ********** --> | + | <h1><?php |
| - | | + | |
| - | <?php html_msgarea() ?> | + | $logoSize |
| - | + | | |
| - | <div class=" | + | |
| - | <div class=" | + | // display logo and wiki title in a link to the home page |
| - | <? | + | |
| - | <?php tpl_includeFile('pageheader.html') ?> | + | wl(), |
| - | | + | ' |
| - | <?php tpl_content() ?> | + | |
| - | <!-- wikipage stop --> | + | |
| - | <?php tpl_includeFile('pagefooter.html') ?> | + | ?></h1> |
| - | | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | <?php tpl_flush() ?> | + | |
| - | </ | + | |
| </ | </ | ||
| === footer 숨김 === | === footer 숨김 === | ||
| - | <sxh php; gutter: true; first-line: | + | <sxh php; gutter: true; first-line: |
| - | < | + | < |
| - | <div id=" | + | |
| <?php tpl_license('' | <?php tpl_license('' | ||
| 줄 106: | 줄 94: | ||
| alt=" | alt=" | ||
| </ | </ | ||
| - | </ | + | </ |
| + | </ | ||
| + | |||
| + | === 문서 정보 제거 === | ||
| + | <sxh php; gutter: true; first-line: 49; highlight: [63]; title: lib/ | ||
| + | <div id=" | ||
| + | <?php html_msgarea() ?> | ||
| + | |||
| + | <div class=" | ||
| + | |||
| + | <div class=" | ||
| + | <?php tpl_flush() ?> | ||
| + | <?php tpl_includeFile(' | ||
| + | <!-- wikipage start --> | ||
| + | <?php tpl_content() ?> | ||
| + | <!-- wikipage stop --> | ||
| + | <?php tpl_includeFile(' | ||
| + | </ | ||
| + | |||
| + | <div class=" | ||
| + | |||
| + | <?php tpl_flush() ?> | ||
| + | </ | ||
| </ | </ | ||
| 줄 113: | 줄 123: | ||
| .dokuwiki .wrapper { | .dokuwiki .wrapper { | ||
| / | / | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | === 테이블 줄 바꿈 제거 === | ||
| - | <sxh css; gutter: true; first-line: 93; highlight: [93-95]; title: lib/ | ||
| - | .dokuwiki div.table[class*=" | ||
| - | white-space: | ||
| } | } | ||
| </ | </ | ||
| === 테이블 오버 효과 제거 === | === 테이블 오버 효과 제거 === | ||
| - | <sxh css; gutter: true; first-line: | + | <sxh css; gutter: true; first-line: |
| .dokuwiki table.inline tr:hover td { | .dokuwiki table.inline tr:hover td { | ||
| / | / | ||
| 줄 131: | 줄 134: | ||
| .dokuwiki table.inline tr:hover th { | .dokuwiki table.inline tr:hover th { | ||
| / | / | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | === 테이블 줄 바꿈 제거 === | ||
| + | <sxh css; gutter: true; first-line: 397; highlight: [397-399]; title: lib/ | ||
| + | .dokuwiki div.table[class*=" | ||
| + | white-space: | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | === 테이블 정중앙 정렬 === | ||
| + | <sxh css; gutter: true; first-line: 401; highlight: [401-403]; title: lib/ | ||
| + | .dokuwiki div.table[class*=" | ||
| + | vertical-align: | ||
| } | } | ||
| </ | </ | ||
| 줄 139: | 줄 156: | ||
| ==== 문서 편집 에디터 수정 ==== | ==== 문서 편집 에디터 수정 ==== | ||
| - | <sxh javascript; gutter: true; first-line: | + | <sxh javascript; gutter: true; first-line: |
| - | /** | + | |
| - | * Add the edit window size and wrap controls | + | |
| - | * | + | |
| - | * Initial values are read from cookie if it exists | + | |
| - | * | + | |
| - | * @param selector ctlarea the div to place the controls | + | |
| - | * @param selector editor | + | |
| - | */ | + | |
| initSizeCtl: | initSizeCtl: | ||
| var $ctl = jQuery(ctlarea), | var $ctl = jQuery(ctlarea), | ||
| 줄 178: | 줄 187: | ||
| ==== 자동 약어 힌트 비활성화 ==== | ==== 자동 약어 힌트 비활성화 ==== | ||
| - | <sxh; gutter: true; highlight: [3-62]; title: conf/ | + | <sxh; gutter: true; first-line: 3; highlight: [3-62]; title: conf/ |
| - | # Acronyms. | + | |
| #ACL Access Control List | #ACL Access Control List | ||
| # | # | ||
| 줄 244: | 줄 251: | ||
| ==== 자동 변환 문자열 비활성화 ==== | ==== 자동 변환 문자열 비활성화 ==== | ||
| - | <sxh; gutter: true; highlight: [8-21]; title: conf/ | + | <sxh; gutter: true; first-line: 8; highlight: [8-21]; title: conf/ |
| - | # Typography replacements | + | |
| - | # | + | |
| - | # Order does matter! | + | |
| - | # | + | |
| - | # You can use HTML entities here, but it is not recommended because it may break | + | |
| - | # non-HTML renderers. Use UTF-8 chars directly instead. | + | |
| #< | #< | ||
| # | # | ||
| 줄 276: | 줄 276: | ||
| ue https:// | ue https:// | ||
| </ | </ | ||
| + | ((이미지 경로: / | ||
| ==== favicon 설정 ==== | ==== favicon 설정 ==== | ||
| - | <sxh php; gutter: true; first-line: | + | * apple-touch-icon.png |
| - | /** | + | * favicon-96x96.png |
| - | * Returns < | + | * favicon.ico |
| - | * | + | * favicon.svg |
| - | * @author Anika Henke < | + | |
| - | * | + | <sxh php; gutter: true; first-line: |
| - | * @param | + | |
| - | * @return string | + | |
| - | */ | + | |
| function tpl_favicon($types = array(' | function tpl_favicon($types = array(' | ||
| 줄 310: | 줄 308: | ||
| } | } | ||
| */ | */ | ||
| - | + | | |
| - | | + | $return .= '< |
| - | $return .= '< | + | $return .= '< |
| - | $return .= '< | + | $return .= '< |
| - | $return .= '< | + | |
| - | $return .= '< | + | |
| return $return; | return $return; | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | ==== manifest 설정 ==== | ||
| + | * web-app-manifest-192x192.png | ||
| + | * web-app-manifest-512x512.png | ||
| + | |||
| + | <sxh; gutter: true; highlight: [1-22]; title: site.webmanifest;> | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ], | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <sxh php; gutter: true; first-line: 250; highlight: [251]; title: inc/ | ||
| + | if (actionOK(' | ||
| + | $head[' | ||
| + | } | ||
| </ | </ | ||
| ==== start 문서 index, | ==== start 문서 index, | ||
| - | <sxh php; gutter: true; first-line: | + | <sxh php; gutter: true; first-line: |
| - | // setup robot tags apropriate for different modes | + | |
| if(($ACT == ' | if(($ACT == ' | ||
| if($INFO[' | if($INFO[' | ||
| //delay indexing: | //delay indexing: | ||
| - | if((time() - $INFO[' | + | if((time() - $INFO[' |
| $head[' | $head[' | ||
| } else { | } else { | ||
| - | | + | $head[' |
| - | $head[' | + | |
| - | } else { | + | |
| - | | + | |
| - | } | + | |
| } | } | ||
| $canonicalUrl = wl($ID, '', | $canonicalUrl = wl($ID, '', | ||
| 줄 364: | 줄 390: | ||
| ==== 검색어 하이라이트 개선 ==== | ==== 검색어 하이라이트 개선 ==== | ||
| - | <sxh php; gutter: true; first-line: | + | <sxh php; gutter: true; first-line: |
| - | /** | + | |
| - | * Show a wiki page | + | |
| - | * | + | |
| - | * @author Andreas Gohr < | + | |
| - | * | + | |
| - | * @param null|string $txt wiki text or null for showing $ID | + | |
| - | */ | + | |
| function html_show($txt=null){ | function html_show($txt=null){ | ||
| global $ID; | global $ID; | ||
| 줄 410: | 줄 429: | ||
| </ | </ | ||
| - | <sxh javascript; gutter: true; first-line: 1; highlight: [1-78]; title: conf/ | + | <sxh javascript; gutter: true; highlight: [1-78]; title: conf/ |
| jQuery(function() { | jQuery(function() { | ||
| // 검색어 파라미터 | // 검색어 파라미터 | ||
| 줄 491: | 줄 510: | ||
| </ | </ | ||
| - | ==== Include Hooks ==== | + | ==== SEO 개선 |
| - | <sxh html; gutter: true; title: conf/ | + | * logo.png |
| + | |||
| + | <sxh html; gutter: true; highlight: [1-44]; title: conf/ | ||
| + | <!-- Open Graph --> | ||
| <meta property=" | <meta property=" | ||
| <meta property=" | <meta property=" | ||
| <meta property=" | <meta property=" | ||
| <meta property=" | <meta property=" | ||
| + | <!-- //Open Graph --> | ||
| + | |||
| + | <!-- JSON-LD --> | ||
| <script type=" | <script type=" | ||
| { | { | ||
| " | " | ||
| - | " | + | " |
| - | " | + | { |
| - | " | + | " |
| - | " | + | " |
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | "image": { | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | } | ||
| + | ] | ||
| } | } | ||
| </ | </ | ||
| + | <!-- //JSON-LD --> | ||
| + | </ | ||
| + | |||
| + | <sxh; gutter: true; highlight: [1-4]; title: robots.txt;> | ||
| + | User-agent: * | ||
| + | Allow: / | ||
| + | |||
| + | Sitemap: https:// | ||
| + | </ | ||
| + | |||
| + | <sxh php; gutter: true; first-line: 229; highlight: [229-231]; title: inc/ | ||
| + | // 수정일 메타 데이터 | ||
| + | $head[' | ||
| + | $head[' | ||
| + | </ | ||
| + | |||
| + | <sxh php; gutter: true; first-line: 980; highlight: [983-987]; title: inc/ | ||
| + | default : // SHOW and anything else not included | ||
| + | $page_title = $name; | ||
| + | |||
| + | // 이름공간 정보 표기 | ||
| + | global $INFO; | ||
| + | if (!empty($INFO[' | ||
| + | $page_title .= ' | ' . str_replace(':', | ||
| + | } | ||
| + | </ | ||
| + | ==== 카카오애드핏 ==== | ||
| + | <sxh html; gutter: true; first-line: 46; highlight: [46-77]; title: conf/ | ||
| <!-- 카카오애드핏 --> | <!-- 카카오애드핏 --> | ||
| < | < | ||
| 줄 538: | 줄 617: | ||
| </ | </ | ||
| <script type=" | <script type=" | ||
| - | <!-- // | ||
| - | |||
| - | <!-- Google tag (gtag.js) --> | ||
| - | <script async src=" | ||
| - | < | ||
| - | window.dataLayer = window.dataLayer || []; | ||
| - | function gtag(){dataLayer.push(arguments); | ||
| - | gtag(' | ||
| - | |||
| - | gtag(' | ||
| - | </ | ||
| - | |||
| - | <!-- Clarity tracking code --> | ||
| - | <script type=" | ||
| - | (function(c, | ||
| - | c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; | ||
| - | t=l.createElement(r); | ||
| - | y=l.getElementsByTagName(r)[0]; | ||
| - | })(window, document, " | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | <sxh html; gutter: true; title: conf/ | ||
| - | <!-- 카카오애드핏 --> | ||
| - | <div class=" | ||
| - | <ins class=" | ||
| - | data-ad-unit = " | ||
| - | data-ad-width = " | ||
| - | data-ad-height = " | ||
| - | </ | ||
| <!-- // | <!-- // | ||
| </ | </ | ||
| - | <sxh html; gutter: true; title: conf/ | + | <sxh html; gutter: true; highlight: [1-8]; title: conf/ |
| <!-- 카카오애드핏 --> | <!-- 카카오애드핏 --> | ||
| <div class=" | <div class=" | ||
| 줄 582: | 줄 631: | ||
| </ | </ | ||
| - | <sxh html; gutter: true; title: conf/ | + | <sxh html; gutter: true; highlight: [1-14]; title: conf/ |
| <!-- 카카오애드핏 --> | <!-- 카카오애드핏 --> | ||
| - | <div class=" | + | <div class=" |
| <ins class=" | <ins class=" | ||
| data-ad-unit = " | data-ad-unit = " | ||
| 줄 590: | 줄 639: | ||
| data-ad-height = " | data-ad-height = " | ||
| </ | </ | ||
| - | <div class=" | + | <div class=" |
| <ins class=" | <ins class=" | ||
| data-ad-unit = " | data-ad-unit = " | ||
| 줄 599: | 줄 648: | ||
| </ | </ | ||
| - | ==== robots.txt ==== | + | < |
| - | <sxh; gutter: true; title: | + | <!-- 카카오애드핏 --> |
| - | User-agent: * | + | <div class=" |
| - | Allow: / | + | <ins class=" |
| + | data-ad-unit = " | ||
| + | data-ad-width = " | ||
| + | data-ad-height = " | ||
| + | </ | ||
| + | <!-- // | ||
| + | </ | ||
| - | Sitemap: https://wiki.jobdeveloper.co.kr/doku.php?do=sitemap | + | ==== 추적 코드 ==== |
| + | <sxh html; gutter: true; first-line: 79; highlight: [79-96]; title: conf/ | ||
| + | <!-- Google tag (gtag.js) --> | ||
| + | <script async src="https://www.googletagmanager.com/ | ||
| + | < | ||
| + | window.dataLayer = window.dataLayer || []; | ||
| + | function gtag(){dataLayer.push(arguments); | ||
| + | gtag(' | ||
| + | |||
| + | gtag(' | ||
| + | </script> | ||
| + | |||
| + | <!-- Clarity tracking code --> | ||
| + | <script type=" | ||
| + | (function(c, | ||
| + | c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; | ||
| + | t=l.createElement(r); | ||
| + | y=l.getElementsByTagName(r)[0]; | ||
| + | })(window, document, " | ||
| + | </ | ||
| </ | </ | ||
| 줄 635: | 줄 709: | ||
| === PlantUML Parser Plugin === | === PlantUML Parser Plugin === | ||
| - | <sxh css; gutter: true; first-line: 1; highlight: [1-3]; title: | + | <sxh css; gutter: true; highlight: [1-3]; title: |
| [id^=" | [id^=" | ||
| overflow: auto; | overflow: auto; | ||
| 줄 656: | 줄 730: | ||
| === Tag Plugin === | === Tag Plugin === | ||
| - | <sxh css; gutter: true; first-line: 7; highlight: [8]; title: lib/ | + | <sxh css; gutter: true; first-line: 7; highlight: [8, 10, 14-16, 19-26]; title: lib/ |
| .dokuwiki div.tags { | .dokuwiki div.tags { | ||
| / | / | ||
| clear: both; | clear: both; | ||
| - | margin-bottom: | + | |
| } | } | ||
| + | |||
| + | .dokuwiki div.tagstop { | ||
| + | / | ||
| + | margin-top: -1.3em; | ||
| + | margin-bottom: | ||
| + | } | ||
| + | |||
| + | .dokuwiki div.tags span a, | ||
| + | .dokuwiki div.tagstop span a { | ||
| + | color: #2962ff; | ||
| + | background-color: | ||
| + | padding: 4px 4px; | ||
| + | border-radius: | ||
| + | margin-left: | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <sxh php; gutter: true; first-line: 162; highlight: [171]; title: lib/ | ||
| + | public function tagLinks($tags) { | ||
| + | if (empty($tags) || ($tags[0] == '' | ||
| + | return ''; | ||
| + | } | ||
| + | |||
| + | $links = array(); | ||
| + | foreach ($tags as $tag) { | ||
| + | $links[] = $this-> | ||
| + | } | ||
| + | return implode('' | ||
| + | } | ||
| </ | </ | ||
| 줄 768: | 줄 871: | ||
| </ | </ | ||
| ((Indexmenu Plugin: If you use the ' | ((Indexmenu Plugin: If you use the ' | ||
| + | |||
| + | {{tag>" | ||