mirror of
https://github.com/go-gitea/gitea.git
synced 2026-07-15 20:09:18 -05:00
Gitea wiki repo uses urlencoded file name when creating new pages online #7452
Open
opened 2025-11-02 07:26:17 -06:00 by GiteaMirror
·
5 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
No Label
type/bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#7452
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @BLumia on GitHub (Jun 9, 2021).
Description
When creating a new wiki page online, it will generate a urlencoded file name for that page to the wiki repo, instead of using the page title as-is, which can make local management (i.e. clone the wiki repo locally and use it as a regular git repo to manage documentation or notes) vary hard.
Not sure if that's intended, but for reference, GitHub, instead, will (at least try to) use the wiki page title as-is as the name of the new file.
List of related issues that need to be discussed/fixed
Test Test.md)/character?@lunny commented on GitHub (Jun 10, 2021):
This is indeed a problem.
@BLumia commented on GitHub (Jun 11, 2021):
While I try to write a patch for this issue, I found there is a bug related to this issue.
If you created a non-urlencoded markdown file and push it to the wiki repo, the file name can be displayed correctly, but if you edit that page online and save it with the save button, it will create a new page with urlencoded file name, and the old non-urlencoded file will still exist.
My patch is here but I haven't tested it due to some other issue I've got, anyway here is the patch. be aware it's NOT TESTED
This patch will try to find if there is a non-urlencoded file in the repo and try to update that file if there is, which may fixes the bug mention in this comment. This will of course not fix the main issue since it will not try to use the wiki page name as-is as the newly created file name. Using the page name as-is by default may probably break already existed wikis so I'm not sure about the right way to do it.
Edit: the patch in this comment is not correct, a patch tested on my laptop is sent via PR, see #16139
@BLumia commented on GitHub (Jul 26, 2021):
I updated the description to match the main point of this issue.
While working on the third issue (wiki page contains space cannot be viewed from the Gitea wiki webpage), I found it seems harder to fix. I cannot find a way to fix this issue and also keep the old behavior not break. Any suggestions?
To help others reproduce that issue, you can:
test test.md, commit it and push it to the wiki repo@BLumia commented on GitHub (Jul 28, 2021):
I tested GitHub Wiki's behavior for reference:
When creating wiki page online (with Markdown chose as its format):
Wiki PageWiki-Page.mdWiki-PageWiki Page学习 C++学习-C--.md学习-C--学习 CChrome / ChromiumChrome---Chromium.mdChrome---ChromiumChrome Chromium安装指南安装指南.md安装指南安装指南Page-contains-dash&%Page-contains-dash&%.mdPage-contains-dash&%25Page contains dash&%...md..md..mdSpace(
) got converted to dash(-), and it seems characters unsupported by GitHub Wiki (+and/, and maybe others listed in their doc) will also get converted to dash(-) and will no longer exist on the page title. Percent(%) will become%25in URL but it will still be%in the generated file name.When creating wiki page locally, then commit and push it to wiki repo:
KDE Connect.mdKDE-ConnectKDE Connect掌握 C++.md掌握-C--掌握 C++Test%20test+test test.mdTest%2520test-test-testTest%20test+test testPage URL seems weird but the page title can still be displayed correctly.
When editing a non-regular naming page, let's assume there is a file names
学习 C++.mdin the wiki repo, once we edit that page, the file will get renamed to学习 C--.mdsince the plus(+) got converted to dash(-), and as the result, the page display name will become学习 Cafter that.@BLumia commented on GitHub (Jul 30, 2021):
Some additional tests:
Create
学习 C.md、学习-C.md、学习 C--.mdin the repo, according to the previous comment, their URL would be学习-C、学习-Cand学习-C--(first two URL are the same, and both of these pages display with the name学习 C).学习-C:学习 C.mdcontent will be shown instead of学习-C.md学习-C--and leave the title field unchanged (学习 C): An error will be shown saysCannot rename, target already exists.BTW, I don't think GitHub Wiki dees are good since users won't be able to use some characters in a wiki title which can be confused. A page with title names
学习 C++will be not possible, for example. I think these need to be discussed before working on future bug fixes related to this issue.