功能配置
配置文件路径 /_h5ai/private/conf/options.json
初始化的配置在搭建的时候已经简单介绍过了,这里再丰富一些说明。
一、view功能
"view": {
"binaryPrefix": false,
"disableSidebar": true, //是否显示左侧边栏(功能栏)
"fallbackMode": false,
"fastBrowsing": true,
"fonts": ["Ubuntu", "Roboto", "Helvetica", "Arial", "sans-serif"],
"fontsMono": ["Ubuntu Mono", "Monaco", "Lucida Sans Typewriter", "monospace"],
"hidden": ["^.", "^_h5ai"], //此参数可以指定文件夹列表里隐藏哪些文件,可以使用正则来匹配文件名称。
"hideFolders": false,
"hideIf403": true,
"hideParentFolder": false,
"maxIconSize": 40,
"modes": ["details", "grid", "icons"],
"modeToggle": false,
"setParentFolderLabels": true,
"sizes": [20, 40, 60, 80, 100, 140, 180, 220, 260, 300],
"theme": "comity", //图标选择有default和comity两种
"unmanaged": ["index.html", "index.htm", "index.php"], //如果某个文件夹里包含数组里的文件,则将拒绝显示此文件夹里的所有内容。
"unmanagedInNewWindow": false
},
- hidden详细说明:
- ^.:隐藏名称以 . 开头的文件,如 .htaccess,.gitignor 等等。
- ^_h5ai:隐藏名称以 _h5ai 开头的文件或文件夹,如 _h5ai,_h5ai.header.html 等等。
- ^:隐藏名称以开头的文件或文件夹,如 tmp,__aaa 等等。
- .sh$:隐藏名称以.sh结尾的文件或文件夹,如 bash.sh,scripts.sh 等等。
- ^robots.txt:隐藏名称以 robots.txt 开头的文件或文件夹,如 robots.txt, robots.txt.bak 等等。
- hideFolders:是否在文件列表中只显示文件而隐藏文件夹。
- theme:默认的文件类型图标,_h5ai/public/images/theme 里的每个文件夹都是一种图标,默认带了 2 套,另一套图标名为 comity。
二、文件信息功能
"info": {
"enabled": false, //是否显示右侧边栏(详情栏)。
"show": false, //是否一直显示右侧边栏。
"qrcode": true, //是否在右侧边栏生成下载链接的二维码以方便移动端下载。
"qrFill": "#999",
"qrBack": "#fff"
},
三、文件下载和选择功能
"download": {
"enabled": false, //是否允许下载文件
"type": "php-tar", //选择压缩方式。php-tar使用php内置功能来下载文件,多线程,可以同时下载多个文件。shell-tar使用外部tar程序来下载文件,单线程,同一时间只能下载一个文件。shell-zip使用外部zip程序来下载文件,单线程,同一时间只能下载一个文件。
"packageName": null, //默认压缩包名称,为 null 时压缩包名称当前文件夹的名称,
"alwaysVisible": false //下载按钮是否动态显示(只能选中文件后显示)。
},
"select": {
"enabled": true, //是否允许文件选择,如果禁止文件选择,那么文件就无法下载。
"clickndrag": true, //是否允许左键拖动来进行文件多选。
"checkboxes": false //当鼠标悬浮在文件名上时是否显示选择框。
},
四、语言设置
"l10n": {
"enabled": true, //是否允许更改界面语言
"lang": "en", //默认界面语言,en 为英文,zh-cn 为中文简体,zh-tw 为中文繁体。
"useBrowserLang": true //是否根据浏览器的语言来自动调整界面语言。
},
五、字体加速
"resources": {
"scripts": [],
"styles": [
"//fonts.lug.ustc.edu.cn/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700"
]
},
在这里添加的第三方脚本与 CSS 会自动生成
<link>
标签插入所有页面的<head>
中。默认从
_h5ai/public/ext/
里加载不以「 http://、https://、/ 」开头的脚本与 CSS 文件。
由于google国内访问很慢,解决字体加速的方式有三种:改为常用字体宋体等、用国内镜像源或者下载到本地加载。
1、用国内镜像源,以中科大为🌰。
中科大源 | 对应google字体源 |
---|---|
fonts.lug.ustc.edu.cn | fonts.googleapis.com |
ajax.lug.ustc.edu.cn | ajax.googleapis.com |
google-themes.lug.ustc.edu.cn | themes.googleusercontent.com |
fonts-gstatic.lug.ustc.edu.cn | fonts.gstatic.com |
修改fonts.googleapis.com
为fonts.lug.ustc.edu.cn
即可
"resources": {
"scripts": [],
"styles": [
"//fonts.lug.ustc.edu.cn/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700"
]
},
2、将google字体下载到本地加载
1)在 _h5ai/public/ext/ 目录下新建shell脚本 fonts.sh
#!/bin/bash
ext_dir="/www/wwwroot/域名根目录/_h5ai/public/ext"
# 将谷歌字体的 css 下载到 _h5ai/public/ext 下
curl -sL -H "User-Agent:Mozilla/5.0 (X11; Linux x86_64; rv:69.1) Gecko/20100101 Firefox/69.1"
-o "$ext_dir/fonts.google.css"
"https://fonts.lug.ustc.edu.cn/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700"
# 将 css 文件里的所需的字体下载至 _h5ai/public/ext/fonts 下
# 并将 css 文件里字体的路径更改为 _h5ai/public/ext/fonts
mkdir -p "$ext_dir/fonts"
if [ -d "$ext_dir/fonts" ]; then
cd "$ext_dir/fonts"
wget $(grep "https" "$ext_dir/fonts.google.css" | awk -F '[()]' '{print $6}')
sed -i 's|https://.*/|/_h5ai/public/ext/fonts/|' "$ext_dir/fonts.google.css"
fi
2)赋予 fonts.sh
文件可执行权限,并运行。运行之后,google字体被下载到fonts.sh脚本所在的目录下。
$ pwd
/www/wwwroot/域名根目录/_h5ai/public/ext
$ chmod +x fonts.sh
$ ./fonts.sh
$ ls -ltr
total 24
-rw-r--r-- 1 root root 170 Mar 22 2019 README.md
-rwxr-xr-x 1 root root 777 Aug 17 10:34 fonts.sh
drwxr-xr-x 2 root root 4096 Aug 17 10:35 fonts
-rw-r--r-- 1 root root 9595 Aug 17 10:35 fonts.google.css
3)修改配置文件 options.json
将谷歌字体换成本地字体
"resources": {
"scripts": [],
"styles": [
"fonts.google.css"
]
},
六、页眉和页脚
/*
Allow customized header and footer files.
First checks for files "_h5ai.header.html" and "_h5ai.footer.html" in the current directory.
If not successful it checks all parent directories (starting in the current directory) for
files "_h5ai.headers.html" and "_h5ai.footers.html".
Note the different filenames: "header" (only current) - "headers" (current and sub directories)!
The file's content will be placed inside a <div/> tag above/below the main content.
If a file's extension is ".md" instead of ".html" its content will be interpreted as markdown.
*/
"custom": {
"enabled": true
},
根据注释说明,为 h5ai 添加页眉和页脚,只需要在对应目录下放置好 _h5ai.header(s).html(页眉) 或 _h5ai.footer(s).html(页脚)即可,设置将应用于该目录或该目录的所有子目录。
同时H5ai支持Markdown格式页面,可以放置 _h5ai.header(s).md 和 _h5ai.footer(s).md 。
不同文件名称以及不同的存放位置会呈现不同的效果。
- 只在当前目录显示
- 页眉:_h5ai.header.html
- 页脚:_h5ai.footer.html
- 在当前及子目录显示
- 页眉:_h5ai.headers.html
- 页脚:_h5ai.footers.html
1、页眉
在文件夹下新建 _h5ai.header.html,并粘贴进以下代码。
<h1 style="text-align:center">标题</h1>
<p style="text-align:center">
正文内容
</p>
2、页脚
在文件夹下新建 _h5ai.footer.html,并粘贴进以下代码。
<p style="text-align:center">正文内容</p>
<iframe frameborder="0" scrolling="no" style="width: 100%" srcdoc="
<!DOCTYPE html>
<html>
<head>
<!--Import CSS library .CSS file-->
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/css/materialize.min.css'>
</head>
<body>
<!--Demo Content-->
<div class='row'>
<div class='col s12'>
<div class='card'>
<div class='card-content'>
<div class='card-title' style='text-align: center;'>
Demo
</div>
<p>This is a demo.</p>
</div>
</div>
</div>
</div>
<!--Import CSS library JavaScript files-->
<script src='https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js'></script>
<!--Initialise CSS library-->
<script type='text/javascript'>
M.AutoInit();
</script>
<!--Import Iframe resizer library-->
<script src='https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/3.6.0/iframeResizer.contentWindow.min.js'></script>
</body>
</html>
">
效果图
七、修改网站标题
1、先修改配置文件options.json
中的title部分内容为 false
/*
Replace window title with current breadcrumb.
*/
"title": {
"enabled": false //默认是true,改为false
},
2、修改<strong>_h5ai/private/php/pages/index.php</strong>
文件
<title>index - powered by h5ai v0.29.2 (https://larsjung.de/h5ai/)</title>
先找到上面👆找到这部分内容,再替换title中间部分内容,例如
八、修改首页默认的域名显示
修改 _h5ai/public/js/scripts.js
文件,Ctrl+F搜索🔍下面内容
"/"===t?p.getDomain():n.name //修改替换 p.getDomain() 为'你想显示的内容'
"/"===t?'你想显示的内容':n.name //示例"/"===t?'科技玩家':n.name
九、修改右上角版权信息
建议保留这部分版权信息,只是作为学习参考资料。
示例修改如下:
<a id="backlink" href="https://larsjung.de/h5ai/" title="powered by h5ai - https://larsjung.de/h5ai/">n <div>powered</div>n <div>by h5ai</div>n </a>n