Merge branch 'master' of git://github.com/filebrowser/filebrowser into filebrowser-master

pull/3756/head
Laurynas Gadliauskas 2021-11-30 16:54:17 +02:00
commit a093de3e40
6 changed files with 57 additions and 26 deletions

View File

@ -2,6 +2,19 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [2.19.0](https://github.com/filebrowser/filebrowser/compare/v2.18.0...v2.19.0) (2021-11-24)
### Features
* prefetch previous and next images in preview. ([#1627](https://github.com/filebrowser/filebrowser/issues/1627)) ([7401d16](https://github.com/filebrowser/filebrowser/commit/7401d16e457bb232fd7dd7ef427e8960d465705c))
### Bug Fixes
* empty file listing on share ([e082397](https://github.com/filebrowser/filebrowser/commit/e08239781f61e7bb25d9b8c5c6cce90f34621a76))
* relative font sizes ([c29698d](https://github.com/filebrowser/filebrowser/commit/c29698dffac769077ab7c7869569a902979ee3d7))
## [2.18.0](https://github.com/filebrowser/filebrowser/compare/v2.17.2...v2.18.0) (2021-10-31) ## [2.18.0](https://github.com/filebrowser/filebrowser/compare/v2.17.2...v2.18.0) (2021-10-31)

View File

@ -189,7 +189,7 @@ export default {
return filesize(this.size); return filesize(this.size);
}, },
humanTime: function () { humanTime: function () {
if (this.user.dateFormat) { if (this.readOnly == undefined && this.user.dateFormat) {
return moment(this.modified).format("L LT"); return moment(this.modified).format("L LT");
} }
return moment(this.modified).fromNow(); return moment(this.modified).fromNow();

View File

@ -167,3 +167,7 @@
} }
@import "~material-design-icons/iconfont/material-icons.css"; @import "~material-design-icons/iconfont/material-icons.css";
.material-icons {
font-size: 1.5rem;
}

View File

@ -314,11 +314,11 @@ main .spinner .bounce2 {
} }
#editor-container .breadcrumbs span { #editor-container .breadcrumbs span {
font-size: 12px; font-size: .75rem;
} }
#editor-container .breadcrumbs i { #editor-container .breadcrumbs i {
font-size: 16px; font-size: 1rem;
} }
/* * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * *
@ -334,7 +334,7 @@ main .spinner .bounce2 {
background: rgba(0, 0, 0, 0.05); background: rgba(0, 0, 0, 0.05);
border: 1px solid rgba(0,0,0,0.1); border: 1px solid rgba(0,0,0,0.1);
box-shadow: 0 0 0 0; box-shadow: 0 0 0 0;
font-size: 14px; font-size: 1rem;
} }
/* * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * *

View File

@ -17,10 +17,9 @@
"more": "更多", "more": "更多",
"move": "移动", "move": "移动",
"moveFile": "移动文件", "moveFile": "移动文件",
"new": "新", "new": "新",
"next": "下一个", "next": "下一个",
"ok": "确定", "ok": "确定",
"openFile": "打开文件",
"permalink": "获取永久链接", "permalink": "获取永久链接",
"permissions": "权限", "permissions": "权限",
"previous": "上一个", "previous": "上一个",
@ -34,13 +33,14 @@
"select": "选择", "select": "选择",
"selectMultiple": "选择多个", "selectMultiple": "选择多个",
"share": "分享", "share": "分享",
"shell": "激活 shell", "shell": "激活 Shell",
"submit": "提交", "submit": "提交",
"switchView": "切换显示方式", "switchView": "切换显示方式",
"toggleSidebar": "切换侧边栏", "toggleSidebar": "切换侧边栏",
"unarchive": "解压缩", "unarchive": "解压缩",
"update": "更新", "update": "更新",
"upload": "上传" "upload": "上传",
"openFile": "打开文件"
}, },
"download": { "download": {
"downloadFile": "下载文件", "downloadFile": "下载文件",
@ -73,11 +73,11 @@
"metadata": "元数据", "metadata": "元数据",
"multipleSelectionEnabled": "多选模式已开启", "multipleSelectionEnabled": "多选模式已开启",
"name": "名称", "name": "名称",
"noPreview": "Preview is not available for this file.",
"size": "大小", "size": "大小",
"sortByLastModified": "按最后修改时间排序", "sortByLastModified": "按最后修改时间排序",
"sortByName": "按名称排序", "sortByName": "按名称排序",
"sortBySize": "按大小排序" "sortBySize": "按大小排序",
"noPreview": "此文件无法预览。"
}, },
"help": { "help": {
"click": "选择文件或目录", "click": "选择文件或目录",
@ -164,7 +164,7 @@
"rename": "重命名", "rename": "重命名",
"renameMessage": "请输入新名称,旧名称为:", "renameMessage": "请输入新名称,旧名称为:",
"replace": "替换", "replace": "替换",
"replaceMessage": "您尝试上传的文件中有一个与现有文件的名称存在冲突。是否替换现有的同名文件?", "replaceMessage": "您尝试上传的文件中有一个与现有文件的名称存在冲突。是否替换现有的同名文件?\n",
"schedule": "计划", "schedule": "计划",
"scheduleMessage": "请选择发布这篇帖子的日期与时间。", "scheduleMessage": "请选择发布这篇帖子的日期与时间。",
"show": "点击以显示", "show": "点击以显示",
@ -186,7 +186,7 @@
"images": "图像", "images": "图像",
"music": "音乐", "music": "音乐",
"pdf": "PDF", "pdf": "PDF",
"pressToSearch": "回车搜索...", "pressToSearch": "输入回车搜索...",
"search": "搜索...", "search": "搜索...",
"types": "类型", "types": "类型",
"typeToSearch": "输入搜索...", "typeToSearch": "输入搜索...",
@ -195,7 +195,7 @@
"settings": { "settings": {
"admin": "管理员", "admin": "管理员",
"administrator": "管理员", "administrator": "管理员",
"allowCommands": "执行命令(shell 命令)", "allowCommands": "执行命令(Shell 命令)",
"allowEdit": "编辑、重命名或删除文件/目录", "allowEdit": "编辑、重命名或删除文件/目录",
"allowNew": "创建新文件和目录", "allowNew": "创建新文件和目录",
"allowPublish": "发布新的帖子与页面", "allowPublish": "发布新的帖子与页面",
@ -203,10 +203,10 @@
"avoidChanges": "(留空以避免更改)", "avoidChanges": "(留空以避免更改)",
"branding": "品牌", "branding": "品牌",
"brandingDirectoryPath": "品牌信息文件夹路径", "brandingDirectoryPath": "品牌信息文件夹路径",
"brandingHelp": "您可以通过改变实例名称,更换Logo加入自定义样式甚至禁用到Github的外部链接来自定义File Browser的外观和给人的感觉。\n想获得更多信息请查看 {0} 。", "brandingHelp": "您可以通过改变实例名称,更换 Logo加入自定义样式甚至禁用到 Github 的外部链接来自定义 File Browser 的外观和感觉。\n想获得更多信息请查看 {0}。",
"changePassword": "更改密码", "changePassword": "更改密码",
"commandRunner": "命令执行器", "commandRunner": "命令执行器",
"commandRunnerHelp": "在这里你可以设置在下面的事件中执行的命令。每行必须写一条命令。可以在命令中使用环境变量 {0} 和 {1}。关于此功能和可用环境变量的更多信息,请阅读{2}.", "commandRunnerHelp": "你可以在此设置在下列事件中执行的命令。每行必须写一条命令。可以在命令中使用环境变量 {0} 和 {1},使 {0} 与 {1} 相关联。关于此功能和可用环境变量的更多信息,请阅读 {2}。",
"commandsUpdated": "命令已更新!", "commandsUpdated": "命令已更新!",
"createUserDir": "在添加新用户的同时自动创建用户的个人目录", "createUserDir": "在添加新用户的同时自动创建用户的个人目录",
"customStylesheet": "自定义样式表CSS", "customStylesheet": "自定义样式表CSS",
@ -214,8 +214,8 @@
"disableExternalLinks": "禁止外部链接(帮助文档除外)", "disableExternalLinks": "禁止外部链接(帮助文档除外)",
"documentation": "帮助文档", "documentation": "帮助文档",
"examples": "例子", "examples": "例子",
"executeOnShell": "在Shell中执行", "executeOnShell": "在 Shell 中执行",
"executeOnShellDescription": "默认情况下File Browser通过直接调用命令的二进制包来执行命令,如果想在shell中执行如Bash、PowerShell你可以在这里定义所使用的shell和参数。如果设置了这个选项所执行的命令会作为参数追加在后面。本选项对用户命令和事件钩子都生效。", "executeOnShellDescription": "默认情况下File Browser 通过直接调用命令的二进制包来执行命令,如果想在 Shell中 执行(如 Bash 或 PowerShell你可以在这里定义所使用的 Shell 和参数。设置后,您所执行的命令会作为参数追加。本设置对用户命令和事件钩子都生效。",
"globalRules": "这是全局允许与禁止规则。它们作用于所有用户。您可以给每个用户定义单独的特殊规则来覆盖全局规则。", "globalRules": "这是全局允许与禁止规则。它们作用于所有用户。您可以给每个用户定义单独的特殊规则来覆盖全局规则。",
"globalSettings": "全局设置", "globalSettings": "全局设置",
"hideDotfiles": "不显示隐藏文件", "hideDotfiles": "不显示隐藏文件",
@ -225,7 +225,7 @@
"language": "语言", "language": "语言",
"lockPassword": "禁止用户修改密码", "lockPassword": "禁止用户修改密码",
"newPassword": "您的新密码", "newPassword": "您的新密码",
"newPasswordConfirm": "重输一遍新密码", "newPasswordConfirm": "再次输入以确认您的新密码",
"newUser": "新建用户", "newUser": "新建用户",
"password": "密码", "password": "密码",
"passwordUpdated": "密码已更新!", "passwordUpdated": "密码已更新!",
@ -240,12 +240,12 @@
"share": "分享文件" "share": "分享文件"
}, },
"permissions": "权限", "permissions": "权限",
"permissionsHelp": "您可以将该用户设置为管理员,也可以单独选择各项权限。如果选择了“管理员”,则其他的选项会被自动勾上,同时该用户可以管理其他用户。", "permissionsHelp": "您可以将该用户设置为管理员或单独选择各项权限。如果您选择了“管理员”,则其他的选项会被自动选中,同时该用户可以管理其他用户。\n",
"profileSettings": "个人设置", "profileSettings": "个人设置",
"ruleExample1": "阻止用户访问所有文件夹下任何以 . 开头的文件(隐藏文件, 例如: .git, .gitignore", "ruleExample1": "阻止用户访问所有文件夹下任何以 . 开头的文件(隐藏文件, 例如: .git, .gitignore\n",
"ruleExample2": "阻止用户访问其目录范围的根目录下名为 Caddyfile 的文件。", "ruleExample2": "阻止用户访问其目录范围的根目录下名为 Caddyfile 的文件。",
"rules": "规则", "rules": "规则",
"rulesHelp": "您可以为该用户制定一组黑名单或白名单式的规则,被屏蔽的文件将不会显示在列表中,用户也无权限访问,支持相对于目录范围的路径。", "rulesHelp": "您可以为该用户制定一组黑名单或白名单式的规则,被屏蔽的文件将不会显示在列表中,用户也无权限访问,支持正则表达式和相对于用户范围的路径。\n",
"scope": "目录范围", "scope": "目录范围",
"setDateFormat": "Set exact date format", "setDateFormat": "Set exact date format",
"settingsUpdated": "设置已更新!", "settingsUpdated": "设置已更新!",
@ -259,8 +259,8 @@
"title": "主题" "title": "主题"
}, },
"user": "用户", "user": "用户",
"userCommands": "用户命令(shell 命令)", "userCommands": "用户命令(Shell 命令)",
"userCommandsHelp": "指定该用户可以执行的命令(shell 代码),用空格分隔。例如:", "userCommandsHelp": "指定该用户可以执行的命令(Shell 命令),用空格分隔。例如:\n",
"userCreated": "用户已创建!", "userCreated": "用户已创建!",
"userDefaults": "用户默认设置", "userDefaults": "用户默认设置",
"userDeleted": "用户已删除!", "userDeleted": "用户已删除!",
@ -271,7 +271,7 @@
}, },
"sidebar": { "sidebar": {
"help": "帮助", "help": "帮助",
"hugoNew": "Hugo New", "hugoNew": "Hugo 新建",
"login": "登录", "login": "登录",
"logout": "登出", "logout": "登出",
"myFiles": "我的文件", "myFiles": "我的文件",

View File

@ -137,6 +137,8 @@
> >
<i class="material-icons">chevron_right</i> <i class="material-icons">chevron_right</i>
</button> </button>
<link rel="prefetch" :href="previousRaw">
<link rel="prefetch" :href="nextRaw">
</div> </div>
</template> </template>
@ -146,7 +148,6 @@ import { files as api } from "@/api";
import { baseURL, resizePreview } from "@/utils/constants"; import { baseURL, resizePreview } from "@/utils/constants";
import url from "@/utils/url"; import url from "@/utils/url";
import throttle from "lodash.throttle"; import throttle from "lodash.throttle";
import HeaderBar from "@/components/header/HeaderBar"; import HeaderBar from "@/components/header/HeaderBar";
import Action from "@/components/header/Action"; import Action from "@/components/header/Action";
import ExtendedImage from "@/components/files/ExtendedImage"; import ExtendedImage from "@/components/files/ExtendedImage";
@ -172,6 +173,8 @@ export default {
navTimeout: null, navTimeout: null,
hoverNav: false, hoverNav: false,
autoPlay: false, autoPlay: false,
previousRaw: "",
nextRaw: "",
}; };
}, },
computed: { computed: {
@ -302,13 +305,14 @@ export default {
for (let j = i - 1; j >= 0; j--) { for (let j = i - 1; j >= 0; j--) {
if (mediaTypes.includes(this.listing[j].type)) { if (mediaTypes.includes(this.listing[j].type)) {
this.previousLink = this.listing[j].url; this.previousLink = this.listing[j].url;
this.previousRaw = this.prefetchUrl(this.listing[j]);
break; break;
} }
} }
for (let j = i + 1; j < this.listing.length; j++) { for (let j = i + 1; j < this.listing.length; j++) {
if (mediaTypes.includes(this.listing[j].type)) { if (mediaTypes.includes(this.listing[j].type)) {
this.nextLink = this.listing[j].url; this.nextLink = this.listing[j].url;
this.nextRaw = this.prefetchUrl(this.listing[j]);
break; break;
} }
} }
@ -316,6 +320,16 @@ export default {
return; return;
} }
}, },
prefetchUrl: function(item) {
const key = Date.parse(item.modified);
if (item.type === "image" && !this.fullSize) {
return `${baseURL}/api/preview/big${item.path}?k=${key}&inline=true`;
} else if (item.type === "image"){
return `${baseURL}/api/raw${item.path}?k=${key}&inline=true`;
} else{
return "";
}
},
openMore() { openMore() {
this.$store.commit("showHover", "more"); this.$store.commit("showHover", "more");
}, },