Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visual Theme System: Public Files #3904

Closed
ssddanbrown opened this issue Dec 6, 2022 · 2 comments
Closed

Visual Theme System: Public Files #3904

ssddanbrown opened this issue Dec 6, 2022 · 2 comments

Comments

@ssddanbrown
Copy link
Member

Within the visual theme system there's one major element missing: The ability to define files that can be put in public space to be references or used within other content. This could be JS libraries, CSS files, images, videos etc...

There are ways to hack around this adding custom endpoints or embedding content inline, but these are awkward extra steps.
Ideally we'd provide an in-built way that can load static files from public web space.

Thoughts

  • Do we copy to public folder or symlink?
    • Copy would require some kind of existing file removal/update on original change.
    • How well cross-system (operating and file) supported are symlinks?
      • What about on container mounts?
      • Will we face challenges with webservers diving into symlinked folders?
  • When do we do this?
    • On request to file?
    • On some kind of "install" event?
    • On user action?

I'm thinking we symlink to public location upon request if there is not already a link. Just need to assess symlink usage.
Will continue this with structural thoughts soon.

@beckymarques
Copy link

You should insert on docs how to add custom css and js, as some people can't use the “Custom HTML Head Content” for many reasons, like there will be lots of admins which are not devs.

ssddanbrown added a commit that referenced this issue Jan 13, 2025
Allows files to be placed within a "public" folder within a theme
directory which the contents of will served by BookStack for access.

- Only "web safe" content-types are provided.
- A static 1 day cache time it set on served files.

For #3904
@ssddanbrown ssddanbrown added this to the Next Feature Release milestone Jan 13, 2025
@ssddanbrown
Copy link
Member Author

Mechanism now added within #5405.

Think I was over-thinking this with attempting symlinks or whatever which would have just cause more confusion and problems. Added simple dynamic serving via app, with a little bit of added cache time, which should suit 95% of use-cases really.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants