H5ai文件目录列表程序(云网盘)基础界面美化介绍

背景:上一篇介绍了H5ai的搭建,基本可以快速使用上。这一篇主要说下它的基本优化设置。

功能配置

配置文件路径 /_h5ai/private/conf/options.json

初始化的配置在搭建的时候已经简单介绍过了,这里再丰富一些说明。

一、view功能

  1. "view": {
  2. "binaryPrefix": false,
  3. "disableSidebar": true, //是否显示左侧边栏(功能栏)
  4. "fallbackMode": false,
  5. "fastBrowsing": true,
  6. "fonts": ["Ubuntu", "Roboto", "Helvetica", "Arial", "sans-serif"],
  7. "fontsMono": ["Ubuntu Mono", "Monaco", "Lucida Sans Typewriter", "monospace"],
  8. "hidden": ["^\\.", "^_h5ai"], //此参数可以指定文件夹列表里隐藏哪些文件,可以使用正则来匹配文件名称。
  9. "hideFolders": false,
  10. "hideIf403": true,
  11. "hideParentFolder": false,
  12. "maxIconSize": 40,
  13. "modes": ["details", "grid", "icons"],
  14. "modeToggle": false,
  15. "setParentFolderLabels": true,
  16. "sizes": [20, 40, 60, 80, 100, 140, 180, 220, 260, 300],
  17. "theme": "comity", //图标选择有default和comity两种
  18. "unmanaged": ["index.html", "index.htm", "index.php"], //如果某个文件夹里包含数组里的文件,则将拒绝显示此文件夹里的所有内容。
  19. "unmanagedInNewWindow": false
  20. },
  1. hidden详细说明:
  2. ^\.:隐藏名称以 . 开头的文件,如 .htaccess,.gitignor 等等。
  3. ^_h5ai:隐藏名称以 _h5ai 开头的文件或文件夹,如 _h5ai,_h5ai.header.html 等等。
  4. ^:隐藏名称以开头的文件或文件夹,如 tmp,__aaa 等等。
  5. \.sh$:隐藏名称以.sh结尾的文件或文件夹,如 bash.sh,scripts.sh 等等。
  6. ^robots.txt:隐藏名称以 robots.txt 开头的文件或文件夹,如 robots.txt, robots.txt.bak 等等。
  7. hideFolders:是否在文件列表中只显示文件而隐藏文件夹。
  8. theme:默认的文件类型图标,_h5ai/public/images/theme 里的每个文件夹都是一种图标,默认带了 2 套,另一套图标名为 comity。

二、文件信息功能

  1. "info": {
  2. "enabled": false, //是否显示右侧边栏(详情栏)。
  3. "show": false, //是否一直显示右侧边栏。
  4. "qrcode": true, //是否在右侧边栏生成下载链接的二维码以方便移动端下载。
  5. "qrFill": "#999",
  6. "qrBack": "#fff"
  7. },

三、文件下载和选择功能

  1. "download": {
  2. "enabled": false, //是否允许下载文件
  3. "type": "php-tar", //选择压缩方式。php-tar使用php内置功能来下载文件,多线程,可以同时下载多个文件。shell-tar使用外部tar程序来下载文件,单线程,同一时间只能下载一个文件。shell-zip使用外部zip程序来下载文件,单线程,同一时间只能下载一个文件。
  4. "packageName": null, //默认压缩包名称,为 null 时压缩包名称当前文件夹的名称,
  5. "alwaysVisible": false //下载按钮是否动态显示(只能选中文件后显示)。
  6. },
  7. "select": {
  8. "enabled": true, //是否允许文件选择,如果禁止文件选择,那么文件就无法下载。
  9. "clickndrag": true, //是否允许左键拖动来进行文件多选。
  10. "checkboxes": false //当鼠标悬浮在文件名上时是否显示选择框。
  11. },

四、语言设置

  1. "l10n": {
  2. "enabled": true, //是否允许更改界面语言
  3. "lang": "en", //默认界面语言,en 为英文,zh-cn 为中文简体,zh-tw 为中文繁体。
  4. "useBrowserLang": true //是否根据浏览器的语言来自动调整界面语言。
  5. },

五、字体加速

  1. "resources": {
  2. "scripts": [],
  3. "styles": [
  4. "//fonts.lug.ustc.edu.cn/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700"
  5. ]
  6. },

在这里添加的第三方脚本与 CSS 会自动生成 <link> 标签插入所有页面的 <head> 中。

默认从 _h5ai/public/ext/ 里加载不以「 http://、https://、/ 」开头的脚本与 CSS 文件。

由于google国内访问很慢,解决字体加速的方式有三种:改为常用字体宋体等、用国内镜像源或者下载到本地加载。

1、用国内镜像源,以中科大为🌰。

中科大源对应google字体源fonts.lug.ustc.edu.cnfonts.googleapis.comajax.lug.ustc.edu.cnajax.googleapis.comgoogle-themes.lug.ustc.edu.cnthemes.googleusercontent.comfonts-gstatic.lug.ustc.edu.cnfonts.gstatic.com

修改fonts.googleapis.comfonts.lug.ustc.edu.cn即可

  1. "resources": {
  2. "scripts": [],
  3. "styles": [
  4. "//fonts.lug.ustc.edu.cn/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700"
  5. ]
  6. },

2、将google字体下载到本地加载

1)在 _h5ai/public/ext/ 目录下新建shell脚本fonts.sh

  1. #!/bin/bash
  2. ext_dir="/www/wwwroot/域名根目录/_h5ai/public/ext"
  3. # 将谷歌字体的 css 下载到 _h5ai/public/ext 下
  4. curl -sL -H "User-Agent:Mozilla/5.0 (X11; Linux x86_64; rv:69.1) Gecko/20100101 Firefox/69.1" \
  5. -o "$ext_dir/fonts.google.css" \
  6. "https://fonts.lug.ustc.edu.cn/css?family=Ubuntu:300,400,700%7CUbuntu+Mono:400,700"
  7. # 将 css 文件里的所需的字体下载至 _h5ai/public/ext/fonts 下
  8. # 并将 css 文件里字体的路径更改为 _h5ai/public/ext/fonts
  9. mkdir -p "$ext_dir/fonts"
  10. if [ -d "$ext_dir/fonts" ]; then
  11. cd "$ext_dir/fonts"
  12. wget $(grep "https" "$ext_dir/fonts.google.css" | awk -F '[()]' '{print $6}')
  13. sed -i 's|https://.*/|/_h5ai/public/ext/fonts/|' "$ext_dir/fonts.google.css"
  14. fi

2)赋予fonts.sh文件可执行权限,并运行。运行之后,google字体被下载到fonts.sh脚本所在的目录下。

  1. $ pwd
  2. /www/wwwroot/域名根目录/_h5ai/public/ext
  3. $ chmod +x fonts.sh
  4. $ ./fonts.sh
  5. $ ls -ltr
  6. total 24
  7. -rw-r--r-- 1 root root 170 Mar 22 2019 README.md
  8. -rwxr-xr-x 1 root root 777 Aug 17 10:34 fonts.sh
  9. drwxr-xr-x 2 root root 4096 Aug 17 10:35 fonts
  10. -rw-r--r-- 1 root root 9595 Aug 17 10:35 fonts.google.css

3)修改配置文件 options.json 将谷歌字体换成本地字体

  1. "resources": {
  2. "scripts": [],
  3. "styles": [
  4. "fonts.google.css"
  5. ]
  6. },

六、页眉和页脚

  1. /*
  2. Allow customized header and footer files.
  3. First checks for files "_h5ai.header.html" and "_h5ai.footer.html" in the current directory.
  4. If not successful it checks all parent directories (starting in the current directory) for
  5. files "_h5ai.headers.html" and "_h5ai.footers.html".
  6. Note the different filenames: "header" (only current) - "headers" (current and sub directories)!
  7. The file's content will be placed inside a <div/> tag above/below the main content.
  8. If a file's extension is ".md" instead of ".html" its content will be interpreted as markdown.
  9. */
  10. "custom": {
  11. "enabled": true
  12. },

根据注释说明,为 h5ai 添加页眉和页脚,只需要在对应目录下放置好 _h5ai.header(s).html(页眉) 或 _h5ai.footer(s).html(页脚)即可,设置将应用于该目录或该目录的所有子目录。

同时H5ai支持Markdown格式页面,可以放置 _h5ai.header(s).md_h5ai.footer(s).md

不同文件名称以及不同的存放位置会呈现不同的效果。

  1. 只在当前目录显示
    • 页眉:_h5ai.header.html
    • 页脚:_h5ai.footer.html
  2. 在当前及子目录显示
    • 页眉:_h5ai.headers.html
    • 页脚:_h5ai.footers.html

1、页眉

在文件夹下新建 _h5ai.header.html,下面是我的示例。

  1. <h1 style="text-align:center">科技玩家Cloud</h1>
  2. <p style="text-align:center">
  3. 傻妞插件
  4. </p>

2、页脚

在文件夹下新建 _h5ai.footer.html,下面是我的示例。

  1. <p style="text-align:center">
  2. 本站所发布的一切破解补丁、注册机和注册信息及软件的文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
  3. </p>
  4. <p style="text-align:center">
  5. <strong>Note</strong>: 本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。访问和下载本站内容,说明您已同意上述条款。
  6. </p>

3、功能演示

1)不加s的演示

2)加s的演示

这里再放一个发现的页眉样式代码供参考

  1. <iframe frameborder="0" scrolling="no" style="width: 100%" srcdoc="
  2. <!DOCTYPE html>
  3. <html>
  4. <head>
  5. <!--Import CSS library .CSS file-->
  6. <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/css/materialize.min.css'>
  7. </head>
  8. <body>
  9. <!--Demo Content-->
  10. <div class='row'>
  11. <div class='col s12'>
  12. <div class='card'>
  13. <div class='card-content'>
  14. <div class='card-title' style='text-align: center;'>
  15. Demo
  16. </div>
  17. <p>This is a demo.</p>
  18. </div>
  19. </div>
  20. </div>
  21. </div>
  22. <!--Import CSS library JavaScript files-->
  23. <script src='https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0-beta/js/materialize.min.js'></script>
  24. <!--Initialise CSS library-->
  25. <script type='text/javascript'>
  26. M.AutoInit();
  27. </script>
  28. <!--Import Iframe resizer library-->
  29. <script src='https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/3.6.0/iframeResizer.contentWindow.min.js'></script>
  30. </body>
  31. </html>
  32. ">

效果图

七、修改网站标题

1、先修改配置文件options.json中的title部分内容为false

  1. /*
  2. Replace window title with current breadcrumb.
  3. */
  4. "title": {
  5. "enabled": false //默认是true,改为false
  6. },

2、修改 _h5ai/private/php/pages/index.php 文件

  1. <title>index - powered by h5ai v0.29.2 (https://larsjung.de/h5ai/)</title>

先找到上面👆找到这部分内容,再替换title中间部分内容,例如<title>科技玩家</title>,修改后浏览器标签页就变了。

八、修改首页默认的域名显示

修改 _h5ai/public/js/scripts.js 文件,Ctrl+F搜索🔍下面内容

  1. "/"===t?p.getDomain():n.name //修改替换 p.getDomain() 为'你想显示的内容'
  2. "/"===t?'你想显示的内容':n.name //示例"/"===t?'科技玩家':n.name

九、修改右上角版权信息

建议保留这部分版权信息,只是作为学习参考资料。

修改 _h5ai/public/js/scripts.js 文件,Ctrl+F搜索🔍下面内容进行修改

  1. <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

示例修改如下:

  1. <a id="backlink" href="https://www.kejiwanjia.com/" title="kejiwanjia - https://www.kejiwanjia.com/">\n <div>科技玩家</div>\n <div>Cloud</div>\n </a>\n

参考资料:

  1. [1] h5ai - 私有云
  2. [2] CentOS6 部署h5ai 并集成ownCloud文件上传功能
  3. [3] h5ai网页标题会自动变成当前网站域名如何修改
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容