Yuanji's Wiki

人間は考える葦である

用户工具

站点工具


wiki:customize

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
wiki:customize [2019/11/17 20:54 JST]
gimo [Customize DokuWiki]
wiki:customize [2020/09/26 17:39 JST] (当前版本)
gimo
行 3: 行 3:
 注意:所有自定义项目基于 DokuWiki 自带主题 注意:所有自定义项目基于 DokuWiki 自带主题
  
-===== Sidebar =====+===== 模板样式设置 =====
  
-By default, there is no sidebar on the left like the official [[doku>dokuwiki|DokuWiki]] does, but we can add ours own very easily because it's nothing special but a regular [[:sidebar]] page.+默认主题我觉得已经非常好看而且实用了,还提供一个微调的后台。
  
 +<del>我在那里调整了一下整站的宽度,把全站的宽度改成了 80%,侧边栏的宽度改为了 17%。</del>
  
-===== Multilingual =====+===== 侧边栏 =====
  
-Another custom is to add multiple language support for wiki pages, which means I can write different language versions for every wiki page. To achieve that, just install the [[doku>plugin:translation|Translation Plugin]].+默认情况下,新[[wiki:install|安装]]的 DokuWiki 没有像[[doku>dokuwiki|官网]]一样的侧边栏,不过加一个非常简单,就是创建一个普通的[[:sidebar|侧边栏]]页面。 
 +===== 多语言 =====
  
-After installing the plugin, configure it through the Config Manager. For example, set translation languages to ''zh ja''.+另外一项自定义设置就是加上多语言支持,对于同一个页面可以提供不同语言的版本。为了达到这个目的可以安装[[doku>plugin:translation|Translation Plugin]] 这个插件。
  
-To put the language selector above sidebar like the official [[doku>dokuwiki|DokuWiki]] does, we will have other extra work to do.+安装好插件后,在配置管理器里做相应设置,比如像我这样把翻译语言列表设置成 ''en ja''
  
-1. Create a file named ''sidebarheader.html'', put it under ''$DOKU_ROOT/lib/tpl/dokuwiki/''+另外,为了像[[doku>dokuwiki|官网]]一样把语言选择器放在侧边栏的上方,还有一些额外的工作需要完成。 
 + 
 +1. 创建一个名叫 ''sidebarheader.html'' 的文件,放在 ''$DOKU_ROOT/lib/tpl/dokuwiki/'' 目录下。
  
 <file php sidebarheader.html> <file php sidebarheader.html>
行 25: 行 29:
 </file> </file>
  
-2. Create a CSS file named ''userstyle.css'', put it into ''$DOKU_ROOT/conf/'' +2. 创建一个 CSS 文件名叫 ''userstyle.css'' 放在 ''$DOKU_ROOT/conf/'' 目录下。
 <file css userstyle.css> <file css userstyle.css>
 .dokuwiki #dokuwiki__aside div.plugin_translation { .dokuwiki #dokuwiki__aside div.plugin_translation {
行 41: 行 44:
 } }
 </file> </file>
 +
 +===== 时区 =====
 +
 +创建或者修改 ''conf/local.protected.php'' 这个文件,东京时间的示例如下:
 +
 +<file php local.protected.php>
 +<?php
 +date_default_timezone_set("Asia/Tokyo");
 +</file>
 +
 +===== 更整洁的 URL =====
 +
 +基本上按照 [[doku>rewrite|URL Rewriting]] 上的思路,首先在配置管理器里选择 `.htaccess`,然后在 DokuWiki 的根目录下放入这个文件,内容如下:
 +
 +<file apache .htaccess>
 +## You should disable Indexes and MultiViews either here or in the
 +## global config. Symlinks maybe needed for URL rewriting.
 +#Options -Indexes -MultiViews +FollowSymLinks
 +
 +## make sure nobody gets the htaccess, README, COPYING or VERSION files
 +<Files ~ "^([\._]ht|README$|VERSION$|COPYING$)">
 +    <IfModule mod_authz_host>
 +        Require all denied
 +    </IfModule>
 +    <IfModule !mod_authz_host>
 +        Order allow,deny
 +        Deny from all
 +    </IfModule>
 +</Files>
 +
 +## Don't allow access to git directories
 +<IfModule alias_module>
 +    RedirectMatch 404 /\.git
 +</IfModule>
 +
 +## Uncomment these rules if you want to have nice URLs using
 +## $conf['userewrite'] = 1 - not needed for rewrite mode 2
 +RewriteEngine on
 +
 +RewriteRule ^_media/(.*)              lib/exe/fetch.php?media=$1  [QSA,L]
 +RewriteRule ^_detail/(.*)             lib/exe/detail.php?media=$1  [QSA,L]
 +RewriteRule ^_export/([^/]+)/(.*)     doku.php?do=export_$1&id=$2  [QSA,L]
 +RewriteRule ^$                        doku.php  [L]
 +RewriteCond %{REQUEST_FILENAME}       !-f
 +RewriteCond %{REQUEST_FILENAME}       !-d
 +RewriteRule (.*)                      doku.php?id=$1  [QSA,L]
 +RewriteRule ^index.php$               doku.php
 +
 +## Not all installations will require the following line.  If you do,
 +## change "/dokuwiki" to the path to your dokuwiki directory relative
 +## to your document root.
 +#RewriteBase /dokuwiki
 +#
 +## If you enable DokuWikis XML-RPC interface, you should consider to
 +## restrict access to it over HTTPS only! Uncomment the following two
 +## rules if your server setup allows HTTPS.
 +#RewriteCond %{HTTPS} !=on
 +#RewriteRule ^lib/exe/xmlrpc.php$      https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
 +</file>
 +
 +如果你像我一样使用了 [[https://hub.docker.com/r/bitnami/dokuwiki|bitnami/dokuwiki]] 这个 docker 镜像,可以做如下操作:
 +
 +1. 进入正在使用的容器
 +
 +  docker exec -it dokuwiki_dokuwiki_1 bash
 +
 +
 +2. 修改 dokuwiki-vhost.conf 文件
 +
 +  sed -i 's/AllowOverride None/AllowOverride All/g' /opt/bitnami/apache/conf/vhosts/dokuwiki-vhost.conf
 +  
 +3. 下载 .htaccess 文件到指定位置
 +
 +  curl -L https://git.io/Jeo5c > /opt/bitnami/dokuwiki/.htaccess
 +  
 +4. 重启容器
 +
 +  docker-compose restart
 +  
 +===== 本站使用的插件 =====
 +
 +实际上在 [[https://download.dokuwiki.org/|DokuWiki 的下载页面]] 提供了一些可选插件随安装包一揽子下载,想必这些插件都是非常不错、成熟的插件,另外在 [[https://dokuwiki.oreda.net/plugin/must-plugin.html|DokuWikiに最初に入れるお勧めプラグイン]]这里也列举了一些安装初期推荐安装的插件,本站使用的插件如下:
 +
 +  *[[doku>plugin:translation|Translation Plugin]] 如上文提到的,提供多语言页面的功能
 +  *[[doku>plugin:edittable|EditTable Plugin]] 可以像 Excel 一样编辑表格,不过注意表格里如果有 ''^'' 要记得改成 ''<nowiki>%%^%%</nowiki>'' 转义
 +  *[[doku>plugin:wrap|Wrap Plugin]] 可以进行分栏排版、装饰等多种功能,比如像 DokuWiki 官网首页那样的两栏结构
 +  *[[doku>plugin:googleanalytics|Google Analytics for DokuWiki
 +]] 方便设置 GA,安装完之后需要在模板 main.php 的 head 里自行插入代码
 +
 +===== 参考资料 =====
 +  *[[doku>devel:css#user_styles]]
 +  *[[doku>plugin:translation#installation]]
 +  *[[doku>tips:timezone]]
wiki/customize.1573991656.txt.gz · 最后更改: 2019/11/17 20:54 JST 由 gimo