mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-08 19:06:06 +03:00
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
🛠️ Enhancement
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#114
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 @davidPilkington on GitHub (Jun 8, 2016).
I would find it really useful to be able to include the contents of one page on another rather than just having a link to the other page displayed.
Page A - Heading
Page A - Content
include Page B
Page A - Content
Include Page C
Page A - Content
Currently, I have links to to Page B and C but it would be great if I could have the content of that page output on Page A. This would remove the need to traverse pages to get content that needs to be displayed in multiple locations. Very helpful for pdf exports too where a link to another page is not easy to follow.
@bridgeyuwa commented on GitHub (Jun 8, 2016):
Are you suggesting something similar to 'Hovercards' or popup extention in mediawiki?
@davidPilkington commented on GitHub (Jun 14, 2016):
No, not really. I am suggesting adding the included page in line with the rest of the page content. More like how include or require works in php.
@LeDistordu commented on GitHub (Jul 19, 2016):
+1
@kimreyio commented on GitHub (Jul 29, 2016):
This is referred to normally as Transclusion. For instance, In MediaWiki, if I created a page called WebServerIP and put in 10.1.1.53 as the body text, in another document I referred to connecting to the Web Server as {{WebServerIP}}, I could also put that same type of transclusion markup in 100 other technical pages.. that way when the IP changes I don't have to go update the IP on 100 pages, just edit that one page. It's also great for leagalese and other information that changes frequently.
@Shackelford-Arden commented on GitHub (Sep 26, 2016):
This would be a wonderful addition! This helps a lot with removing redundant information.
@kimreyio commented on GitHub (Nov 30, 2016):
Is this at all even being considered? Or is there a donation setup for specific features? This is really the only one I'm missing.
@ssddanbrown commented on GitHub (Nov 30, 2016):
Hi @kimreyio, There is no donation system currently set up. If I'm totally honest, since I did not have much of a use case for this feature myself I didn't have a lot of urgency to implement it.
I've now marked it as a feature to be in the next release.
@kimreyio commented on GitHub (Nov 30, 2016):
Amazing news, Can't wait for the new release!
@ssddanbrown commented on GitHub (Jan 18, 2017):
Hi all, Sorry for the delay in this. I started to tackle this feature last weekend but reading through this thread made me realise there's two slightly different, yet similar, features being asked for here:
I started work on feature 1 but then realised that by building feature 1 in a nice way (Integrated properly with the page editors) it will not cover the use case of feature 2 (Due to HTML formatting and the difference in content these two features have). Also, In regards to feature 2, I don't like the idea of people having to create whole pages only to store a simple string just to be included on other pages.
For feature 2 I propose we have a 'snippet library' which is where users can store simple strings of text within the system for the sole purpose of being included in other pages. By not trying to merge these two similar features together we can optimise their ease of use and the UI's built around them.
Since I'm a bit behind on the next release I only want to implement one of these for v0.14 then the other for the release after. Which one of these features gets added in the next release will be decided by a vote.
Using reactions on this post, react with a thumbs up (👍) for option 1 or a heart (❤️) for option 2. When I next get a chunk of time to work on a feature (Should be this weekend) I'll pick the one with the most votes.
@monitaurus commented on GitHub (Jan 19, 2017):
Hi there, I hesitated a lot between the options.
Option 2 is great, snippet libraries are always a good feature if you want to store data that are unrelated with the rest of the content or that can stand alone.
But if the main goal of the snippets library is to be included, option 1 can do this, even if it means to create a whole page for a simple snippet. Meanwhile, you can create a snippets book that can hold these, while waiting the option 2 on the next release.
So option 1 seems better for me.
@kimreyio commented on GitHub (Jan 19, 2017):
❤️ My main use case is technical, so "snippets" is an even better route for me than full page transclusion. He didn't say if you could selectively transclude parts of the page yet. Also, the html formatting features Dan brought up push me to option 2 for this release. Sounds like Option 1 might need some more work before it's full merged.
In keeping with the book spirit, having a snippets library can be good for quotes, favorite paragraph excerpts, studying purposes, and as far as technical writing goes, pulling out solutions from longer pages.
Truly amazing work thus far, Dan. I spend a majority of my day writing in BookStack and it's saved me an incredible amount of time and frustration.
@ssddanbrown commented on GitHub (Jan 21, 2017):
After some thought I decided it would be best to keep things simple in BookStack and not build any major UI components around this feature but simply have it available as an option for power users.
The resultant idea is a combination of both options discussed above. Placing the syntax
{{@5}}will inject the HTML from the page with and id of5into that location. If that page does not exist, or the user does not have permission to see it, the tag will simply be removed.Using the syntax
{{@5#bkmrk-about-my-cat}}will find content within an element with an ID ofbkmrk-about-my-catin the page with an id of5, trim it, then inject it in (So inline text or simple inline markup can be placed). Rather than building a 'Snippet library' into BookStack that only a percentage of people may use, A user could create a 'Page of snippets' which they use as a little library instead.I've updated the pop-up page link thingy to be able to generate the above syntax easily and there are some things to be wary of with this implementation. I'll write some friendly documentation regarding this for the next release.
I want to get the next release out tomorrow so If the above does not sound like it covers your use case please let me know ASAP.