mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-08 11:19:36 +03:00
Better link control through relative and stable links. #3347
Closed
opened 2026-02-05 06:25:58 +03:00 by OVERLORD
·
3 comments
No Branch/Tag Specified
development
further_theme_development
l10n_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
🔨 Feature Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#3347
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 @YoSiJo on GitHub (Nov 16, 2022).
Describe the feature you'd like
Describtion
Currently Bookstack Links, when using the
insertLinkbutton, writes like this:Now I would like it if there were two ways to change this.
Used relative links
So that these then look like the following:
Used stable link referencing
So that these then look like the following:
OR
Note
For both options, it would be great to be able to control them similarly to the "Editor" choice.
So globally set a default but if necessary can adjust per page.
Describe the benefits this would bring to existing BookStack users
Currently, renaming a headline is enough to invalidate a link.
Adjusting the domain is also sufficient.
The latter is probably rather rare, but can also happen with multiple domains.
If you write the links with now so and if necessary the export understands relative or absolute links and can convert, that stabilizes the links enormously.
Can the goal of this request already be achieved via other means?
Yes; Manual editing and not using the
insertLinkfunction. ;)Have you searched for an existing open/closed issue?
How long have you been using BookStack?
6 months to 1 year
Additional context
There is a weak connection to #1342.
Roof here the issue is addressed by the APP_URL, not by functionalities of
insertLink.Ps. All this is under the Markdown editor. I have never seen or used the other W… editor.
@ssddanbrown commented on GitHub (Nov 16, 2022):
Thanks for the request @YoSiJo but to be honest my feelings to relative/dynamic links remain much as the same as my common on 1342 in respect to growing fond of standardising on absolute links. In addition, this requests options and optional behaviour to a sub-component, which I usually try to avoid in the platform with relatively large benefit.
In regards to the described benefits, content renaming should be handled for most common scenarios where absolute URLs are used, on recent versions of BookStack. For domain adjustment, we provide a helper command to make such changes, again helped by the use of absolute URLs.
Not really sure what is meant there. Either absolute or relative URLs can introduce scenarios to handle for the export formats, but from my experience absolute URLs are less prone to break as links, and generally allow a level of portability that relative links don't by default.
While page permalinks are available, I've never been too fond of these and generally try to focus on using, and improving where possible, the normal content links.
@YoSiJo commented on GitHub (Nov 17, 2022):
When specifying relative links, the links in the processed format remain absolute.
[example](/books/book/page/example)->https://example.com/books/book/page/exampleAbsolute left would therefore come out.
I have forgotten one advantage. The spelling is of course much shorter. Depending on the length of the FQDN, this can make a huge difference. Extreme cases are of course onion domains, but also a classic domain can become long.
Example:
The difference is already not small.
Since relative links specified in Markdown are nevertheless output absolutes, the point is moot.
The page permalink stabilizes the referencing immensely, in my estimation. Since so correcting a page title should not be able to break anything.
@ssddanbrown commented on GitHub (Nov 17, 2022):
Relative links are not processed to absolute links by BookStack, apart from some edge-case scenarios such as exports. They will appear resolved to the absolute URL by the browser, for which the resultant URL will change depending on baseURL & subpath, and protocol.
I'm going to close this off in deferment to #1342, since I see that as the main issue for supporting relative URLs, whereas this is this issue is a dependant of that in a way.
If having shorter links in markdown is very much valuable to you feel free to open a feature request focused on that, but please focus it on the core value/user-benefit rather than describing any form of technical implementation/solution.