diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2023-07-18 18:06:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-18 18:06:43 +0200 |
commit | faa28b5a44912f1c63afddab9396bae9e6fe061c (patch) | |
tree | 0a3abf5922acc88887e83082994852c9ec822bb5 /build | |
parent | Disallow dangerous url schemes (#25960) (diff) | |
download | forgejo-faa28b5a44912f1c63afddab9396bae9e6fe061c.tar.xz forgejo-faa28b5a44912f1c63afddab9396bae9e6fe061c.zip |
Move public asset files to the proper directory (#25907)
Move `public/*` to `public/assets/*`
Some old PRs (like #15219) introduced inconsistent directory system.
For example: why the local directory "public" is accessed by
`http://site/assets`? How to serve the ".well-known" files properly in
the public directory?
For convention rules, the "public" directory is widely used for the
website's root directory. It shouldn't be an exception for Gitea.
So, this PR makes the things consistent:
* `http://site/assets/foo` means `{CustomPath}/public/assets/foo`.
* `{CustomPath}/public/.well-known` and `{CustomPath}/public/robots.txt`
can be used in the future.
This PR is also a prerequisite for a clear solution for:
* #21942
* #25892
* discourse.gitea.io: [.well-known path serving custom files behind
proxy?](https://discourse.gitea.io/t/well-known-path-serving-custom-files-behind-proxy/5445/1)
This PR is breaking for users who have custom "public" files (CSS/JS).
After getting approvals, I will update the documents.
----
## ⚠️ BREAKING ⚠️
If you have files in your "custom/public/" folder, please move them to
"custom/public/assets/".
---------
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Giteabot <teabot@gitea.io>
Diffstat (limited to 'build')
-rwxr-xr-x | build/generate-images.js | 14 | ||||
-rwxr-xr-x | build/generate-svg.js | 6 |
2 files changed, 10 insertions, 10 deletions
diff --git a/build/generate-images.js b/build/generate-images.js index e5744526db..a3a0f8d8f3 100755 --- a/build/generate-images.js +++ b/build/generate-images.js @@ -69,13 +69,13 @@ async function main() { const faviconSvg = await readFile(new URL('../assets/favicon.svg', import.meta.url), 'utf8'); await Promise.all([ - generate(logoSvg, '../public/img/logo.svg', {size: 32}), - generate(logoSvg, '../public/img/logo.png', {size: 512}), - generate(faviconSvg, '../public/img/favicon.svg', {size: 32}), - generate(faviconSvg, '../public/img/favicon.png', {size: 180}), - generate(logoSvg, '../public/img/avatar_default.png', {size: 200}), - generate(logoSvg, '../public/img/apple-touch-icon.png', {size: 180, bg: true}), - gitea && generate(logoSvg, '../public/img/gitea.svg', {size: 32}), + generate(logoSvg, '../public/assets/img/logo.svg', {size: 32}), + generate(logoSvg, '../public/assets/img/logo.png', {size: 512}), + generate(faviconSvg, '../public/assets/img/favicon.svg', {size: 32}), + generate(faviconSvg, '../public/assets/img/favicon.png', {size: 180}), + generate(logoSvg, '../public/assets/img/avatar_default.png', {size: 200}), + generate(logoSvg, '../public/assets/img/apple-touch-icon.png', {size: 180, bg: true}), + gitea && generate(logoSvg, '../public/assets/img/gitea.svg', {size: 32}), ]); } diff --git a/build/generate-svg.js b/build/generate-svg.js index dc82ed465a..b845da9367 100755 --- a/build/generate-svg.js +++ b/build/generate-svg.js @@ -44,7 +44,7 @@ async function processFile(file, {prefix, fullName} = {}) { ], }); - await writeFile(fileURLToPath(new URL(`../public/img/svg/${name}.svg`, import.meta.url)), data); + await writeFile(fileURLToPath(new URL(`../public/assets/img/svg/${name}.svg`, import.meta.url)), data); } function processFiles(pattern, opts) { @@ -53,13 +53,13 @@ function processFiles(pattern, opts) { async function main() { try { - await mkdir(fileURLToPath(new URL('../public/img/svg', import.meta.url)), {recursive: true}); + await mkdir(fileURLToPath(new URL('../public/assets/img/svg', import.meta.url)), {recursive: true}); } catch {} await Promise.all([ ...processFiles('node_modules/@primer/octicons/build/svg/*-16.svg', {prefix: 'octicon'}), ...processFiles('web_src/svg/*.svg'), - ...processFiles('public/img/gitea.svg', {fullName: 'gitea-gitea'}), + ...processFiles('public/assets/img/gitea.svg', {fullName: 'gitea-gitea'}), ]); } |