enable text selection between breadcrumbs + update vs

This commit is contained in:
ed 2023-01-23 22:44:29 +00:00
parent 460709e6f3
commit b005acbfda
4 changed files with 29 additions and 20 deletions

View file

@ -754,8 +754,9 @@ html.y #files thead th {
display: inline; display: inline;
} }
#path a { #path a {
margin: 0 0 0 -.2em; padding: 0 .35em;
padding: 0 0 0 .4em; position: relative;
z-index: 1;
/* ie: */ /* ie: */
border-bottom: .1em solid #777\9; border-bottom: .1em solid #777\9;
margin-right: 1em\9; margin-right: 1em\9;
@ -763,18 +764,17 @@ html.y #files thead th {
#path a:first-child { #path a:first-child {
padding-left: .8em; padding-left: .8em;
} }
#path a:not(:last-child):after { #path i {
content: '';
width: 1.05em; width: 1.05em;
height: 1.05em; height: 1.05em;
margin: -.2em .3em -.2em -.4em; margin: -.5em .15em -.15em -.7em;
display: inline-block; display: inline-block;
border: 1px solid rgba(255,224,192,0.3); border: 1px solid rgba(255,224,192,0.3);
border-width: .05em .05em 0 0; border-width: .05em .05em 0 0;
transform: rotate(45deg); transform: rotate(45deg);
background: linear-gradient(45deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.25) 75%, rgba(0,0,0,0.35)); background: linear-gradient(45deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.25) 75%, rgba(0,0,0,0.35));
} }
html.y #path a:not(:last-child)::after { html.y #path i {
background: none; background: none;
border-color: rgba(0,0,0,0.2); border-color: rgba(0,0,0,0.2);
border-width: .1em .1em 0 0; border-width: .1em .1em 0 0;

View file

@ -6903,18 +6903,19 @@ function reload_browser() {
filecols.set_style(); filecols.set_style();
var parts = get_evpath().split('/'), var parts = get_evpath().split('/'),
rm = QSA('#path>a+a+a'), rm = ebi('entree'),
ftab = ebi('files'), ftab = ebi('files'),
link = '/', o; link = '', o;
for (a = rm.length - 1; a >= 0; a--) while (rm.nextSibling)
rm[a].parentNode.removeChild(rm[a]); rm.parentNode.removeChild(rm.nextSibling);
for (var a = 1; a < parts.length - 1; a++) { for (var a = 0; a < parts.length - 1; a++) {
link += parts[a] + '/'; link += parts[a] + '/';
o = mknod('a'); o = mknod('a');
o.setAttribute('href', link); o.setAttribute('href', link);
o.textContent = uricom_dec(parts[a]); o.textContent = uricom_dec(parts[a]) || '/';
ebi('path').appendChild(mknod('i'));
ebi('path').appendChild(o); ebi('path').appendChild(o);
} }

View file

@ -142,8 +142,8 @@ symbol legend,
| ┗ max uploads over time | █ | | | | | | | | | | | | ┗ max uploads over time | █ | | | | | | | | | | |
| ┗ compress before write | █ | | | | | | | | | | | | ┗ compress before write | █ | | | | | | | | | | |
| ┗ randomize filename | █ | | | | | | | █ | █ | | | | ┗ randomize filename | █ | | | | | | | █ | █ | | |
| ┗ mimetype reject-list | | | | | | | | | • | | | | ┗ mimetype reject-list | | | | | | | | | • | | |
| ┗ extension reject-list | | | | | | | | █ | • | | | | ┗ extension reject-list | | | | | | | | █ | • | | |
| checksums provided | | | | █ | █ | | | | █ | | | | checksums provided | | | | █ | █ | | | | █ | | |
| cloud storage backend | | | | █ | █ | █ | | | | | █ | | cloud storage backend | | | | █ | █ | █ | | | | | █ |
@ -158,9 +158,12 @@ symbol legend,
* `cloud storage backend` = able to serve files from (and write to) s3 or similar cloud services; `` means the software can do this with some help from `rclone mount` as a bridge * `cloud storage backend` = able to serve files from (and write to) s3 or similar cloud services; `` means the software can do this with some help from `rclone mount` as a bridge
* `a`/copyparty can reject uploaded files (based on complex conditions), for example [by extension](https://github.com/9001/copyparty/blob/hovudstraum/bin/hooks/reject-extension.py) or [mimetype](https://github.com/9001/copyparty/blob/hovudstraum/bin/hooks/reject-mimetype.py) * `a`/copyparty can reject uploaded files (based on complex conditions), for example [by extension](https://github.com/9001/copyparty/blob/hovudstraum/bin/hooks/reject-extension.py) or [mimetype](https://github.com/9001/copyparty/blob/hovudstraum/bin/hooks/reject-mimetype.py)
* `j`/filebrowser can provide checksums for single files on request * `j`/filebrowser remarks:
* can provide checksums for single files on request
* can probably do extension/mimetype rejection similar to copyparty
* `k`/filegator download-as-zip is not streaming; it creates the full zipfile before download can start * `k`/filegator download-as-zip is not streaming; it creates the full zipfile before download can start
## protocols and client support ## protocols and client support
| feature / software | a | b | c | d | e | f | g | h | i | j | k | | feature / software | a | b | c | d | e | f | g | h | i | j | k |
@ -288,8 +291,8 @@ symbol legend,
| search by custom parser | █ | | | | | | | | | | | | search by custom parser | █ | | | | | | | | | | |
| find local file | █ | | | | | | | | | | | | find local file | █ | | | | | | | | | | |
| undo recent uploads | █ | | | | | | | | | | | | undo recent uploads | █ | | | | | | | | | | |
| create directories | █ | | | █ | █ | | █ | █ | █ | | █ | | create directories | █ | | | █ | █ | | █ | █ | █ | | █ |
| image viewer | █ | | | █ | █ | | | | █ | | █ | | image viewer | █ | | | █ | █ | | | | █ | | █ |
| markdown viewer | █ | | | | █ | | | | █ | | | | markdown viewer | █ | | | | █ | | | | █ | | |
| markdown editor | █ | | | | █ | | | | █ | | | | markdown editor | █ | | | | █ | | | | █ | | |
| readme.md in listing | █ | | | █ | | | | | | | | | readme.md in listing | █ | | | █ | | | | | | | |
@ -469,10 +472,13 @@ symbol legend,
* ⚠️ on cloudflare: max upload size 100 MiB * ⚠️ on cloudflare: max upload size 100 MiB
* ⚠️ http only; no webdav / ftp / zeroconf * ⚠️ http only; no webdav / ftp / zeroconf
* ⚠️ doesn't support crazy filenames * ⚠️ doesn't support crazy filenames
* ⚠️ no directory tree nav
* ⚠️ limited file search * ⚠️ limited file search
* ✅ settings gui * ✅ settings gui
* ✅ good ui/ux * ✅ good ui/ux
* ⚠️ but no directory tree for navigation * ⚠️ but no directory tree for navigation
* ✅ user signup
* ✅ command runner / remote shell
* supposed to have write-only folders but couldn't get it to work * supposed to have write-only folders but couldn't get it to work
## [filegator](https://github.com/filegator/filegator) ## [filegator](https://github.com/filegator/filegator)

View file

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
set -e set -e
for f in README.md docs/devnotes.md; do for f in README.md docs/devnotes.md docs/versus.md; do
cat $f | awk ' cat $f | awk '
function pr() { function pr() {
@ -20,6 +20,8 @@ cat $f | awk '
/^#/{ /^#/{
lv=length($1); lv=length($1);
sub(/[^ ]+ /,""); sub(/[^ ]+ /,"");
sub(/\[/,"");
sub(/\]\([^)]+\)/,"");
bab=$0; bab=$0;
gsub(/ /,"-",bab); gsub(/ /,"-",bab);
gsub(/\./,"",bab); gsub(/\./,"",bab);
@ -31,9 +33,9 @@ cat $f | awk '
{pr()} {pr()}
' > toc ' > toc
grep -E '^#+ [^ ]+ toc$' -B1000 -A2 <$f >p1 grep -E '^#+ *[^ ]+ toc$' -B1000 -A2 <$f >p1
h2="$(awk '/^#+ [^ ]+ toc$/{o=1;next} o&&/^#/{print;exit}' <$f)" h2="$(awk '/^#+ *[^ ]+ toc$/{o=1;next} o&&/^#/{print;exit}' <$f)"
grep -F "$h2" -B2 -A999999 <$f >p2 grep -F "$h2" -B2 -A999999 <$f >p2