mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-07 03:09:44 +03:00
Highlight text containing diacritics on search results #3758
Open
opened 2026-02-05 07:20:57 +03:00 by OVERLORD
·
8 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#3758
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 @athoik on GitHub (Apr 22, 2023).
Describe the Bug
Searching text with or without diacritics works great! 👍
Although the highlighted text works only if an exact match is found on
getMatchPositionsa46b438a4c/app/Search/SearchResultsFormatter.php (L92)So search a text like
δοκιμήwill only get highlighted only if enter as written on a page. Entering textδοκιμηworks, but no highlighted text shown on search results.The following patch fixes the issue, using transliterator_transliterate to convert text to lower case without diacritics.
It requires package
php-intlinstalled (eg apt-get install php8.2-intl).I believe above above change will work universally for all languages with diacritics.
Please consider accepting that change, if you believe it will improve BookStack.
Thanks!
Steps to Reproduce
δοκιμή(Greek word for test, with ή -> GREEK SMALL LETTER ETA WITH TONOS)δοκιμη(small letters without diacritics)δοκιμήis not highlightedExpected Behaviour
The text δοκιμή should be highlighted, since it was possible to search that text.
Screenshots or Additional Context
No response
Browser Details
No response
Exact BookStack Version
v23.02.3
PHP Version
8.2.5
Hosting Environment
Debian 11 with PHP 8.2 by @armando-femat
@esakkiraja100116 commented on GitHub (Apr 25, 2023):
Already the text
δοκιμήwas highlighted as you expect @athoik@athoik commented on GitHub (Apr 26, 2023):
@esakkiraja100116 that is correct, you typed the word
δοκιμήincluding diacritics.Now give another try searching the word
δοκιμηwithout diacritics and let me know if it gets highlighted.@esakkiraja100116 commented on GitHub (Apr 26, 2023):
Yes, it's highlighted. Can you provide any screenshot like this @athoik
@athoik commented on GitHub (Apr 26, 2023):
Using the word
δοκιμηalsoδοκιμήshould be highlighted (that's what patch is doing)@esakkiraja100116 commented on GitHub (Apr 26, 2023):
@ssddanbrown commented on GitHub (Apr 26, 2023):
@esakkiraja100116 I'm pretty sure your screenshots are showing the scenario that @athoik is trying to address here. I believe they'd desire both instances of the term in your screenshot to become bold, not just the last.
Thanks for investigating and providing a patch @athoik.
I'm going to reclassify this as a feature request, since it's not a break/bug in existing supported behaviour (I didn't really know this was a thing) but a request to specifically support diacritics here.
In regards to the patch, I'm not too keen on adding a new system requirement just to meet what is mostly a minor presentational feature (with a little functional purpose). We could conditionally do this based upon extension existence, but not sure if that's a route I'd want to take. I'll have to ponder upon options for this.
@athoik commented on GitHub (Apr 26, 2023):
It's really trivial feature but really nice on Greek users (or other communities using diacritics), since it's common to search words with or without diacritics.
Please feel free to include that feature in hacks section! It might be useful for other people too.
In case
php-intlpackage becomes a thing, then we can re-consider the addition.Thanks a lot for your support! 👍
@esakkiraja100116 commented on GitHub (Apr 26, 2023):