mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
[Enhancement] Support HTML/rich text descriptions for audiobooks #1172
Closed
opened 2026-04-24 23:34:49 +02:00 by adam
·
8 comments
No Branch/Tag Specified
master
book_tags_genres_dedupe
episode_download_fallback
Issue-4540-SortBy-StartedDate-and-FinishedDate
episode_meta_tagging
fix_authorize_race_condition
redirect_transcode_requests
progress_updated_sort
fix_ereader_socket_event
fix_change_empty_root_password
fix_podcast_session_track_index
fix_set_token
session_modal_user
localize_durations
fix_oidc_create_user
jwt_auth_refactor
fix_scanner_deleting_single_file_books
fix_mediaprogress_updatedat_2
experimental_next_client
podcast_episode_duration
episode-timestamps-clickable
book_author_secondary_sort_title
podcast_useragents
pathexists_user_access
fix_pathexists_join
book_author_secondary_sort
clean_duplicate_mediaprogress
sanitize_html_description
trix_prevent_attachments
check_path_api_fix
fix_mediaprogress_updatedat
increase_express_json_limit
fix_dockerfile_nunicode
search_episodes
audiobook_tools_update
episode_secondary_sorts
hls_stream_url_update
new_session_track_endpoint
audiobook_tools_enhancements
watcher_rescans_update
player_track_tooltip
fix_exclude_prefixes_crash
socket_item_events
fix_podcast_episode_scanner_promise
new_stats_controller
count_cache_for_userpermissions
parsing-opf-v3
validate_migration_files
fix-quick-match-all-crash
fix-chapter-end-sleep-timer
stringify_sequelize_query
remove-col-ambiguity
fix_next_prev_edit_description
details_trim_whitespace
fix_content_url_basepath
fix_logger_fatal
progress_bar_visibility
batch-edit-populate-map-details
feed_generator_updates
bookmark-modal-updates
migrate-library-item-in-scanner
migrate-new-library-items
migrate-podcasts-new-library-item-2
migrate-podcasts-new-library-item
fix-remove-episode-from-playlist
playback-session-use-new-library-item
refactor-library-item
fix-heatmap-caption
feed-episodes-upsert
share-media-player-media-session-api
remove-old-playlist
remove_old_collection_object
plugin-implementation-demo
feed_migration
refactor-feeds-from-item
fix_remove_authors_no_books
v2.17.3-fk-constraints-migration
migrations-first-upgrade
sqlite_2
feature/nuxt-target-server
waveform
sqlite
playlists
video
v2.35.1
v2.35.0
v2.34.0
v2.33.2
v2.33.1
v2.33.0
v2.32.1
v2.32.0
v2.31.0
v2.30.0
v2.29.0
v2.28.0
v2.27.0
v2.26.3
v2.26.2
v2.26.1
v2.26.0
v2.25.1
v2.25.0
v2.24.0
v2.23.0
v2.22.0
v2.21.0
v2.20.0
v2.19.5
v2.19.4
v2.19.3
v2.19.2
v2.19.1
v2.19.0
v2.18.1
v2.18.0
v2.17.7
v2.17.6
v2.17.5
v2.17.4
v2.17.3
v2.17.2
v2.17.1
v2.17.0
v2.16.2
v2.16.1
v2.16.0
v2.15.1
v2.15.0
v2.14.0
v2.13.4
v2.13.3
v2.13.2
v2.13.1
v2.13.0
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.11.0
v2.10.1
v2.10.0
v2.9.0
v2.8.1
v2.8.0
v2.7.2
v2.7.1
v2.7.0
v2.6.0
v2.5.0
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.23
v2.2.22
v2.2.21
v2.2.20
v2.2.19
v2.2.18
v2.2.17
v2.2.16
v2.2.15
v2.2.14
v2.2.13
v2.2.12
v2.2.11
v2.2.10
v2.2.9
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.5
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.19
v2.0.18
v2.0.17
v2.0.16
v2.0.15
v2.0.14
v2.0.13
v2.0.12
v2.0.11
v2.0.10
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v1.7.2
v1.7.1
v1.7.0
v1.6.0
v1.5.5
v1.5.0
v1.4.11
v1.4.9
v1.4.7
v1.4.6
v1.4.4
v1.4.2
v1.4.0
v1.4.1
v1.3.4
v1.3.3
v1.3.1
v1.2.8
v1.2.6
v1.2.5
v1.2.4
v1.2.1
v1.1.15
v1.1.14
v1.1.13
v1.1.12
v1.1.11
v1.1.10
v1.1.9
v1.1.8
v1.0.0
0.9.61-beta.0
0.9.61-beta
Labels
Clear labels
authentication
backlog
bug
chapter editor
config-issue
ebooks
encoding/embedding
enhancement
help wanted
listening sessions & progress
planned
possible plugin
progress sync
pull-request
sorting/filtering/searching
unable to reproduce
upload
users & permissions
waiting
Mirrored from GitHub Pull Request
No Label
enhancement
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
adam (Adam Melkus)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/audiobookshelf#1172
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 @Demian98 on GitHub (Jun 5, 2023).
Describe the issue
Metadata fetching from audible is working and a great feature. But there is an issue with the comment field, that contains the description of the book.
The comments fetched from audible are loosing all their line breaks, which makes the text harder to read. Hopefully an easy that can improve the ABS even more :)
Steps to reproduce the issue
Audiobookshelf version
2.2.22
How are you running audiobookshelf?
Docker
@advplyr commented on GitHub (Jun 5, 2023):
Related #617
This is because Audible is giving us an HTML description where we only support plain text descriptions right now. When we strip the HTML it removes the formatting.
@undaunt commented on GitHub (Jun 29, 2023):
I would just mention this would also be great for Podcast descriptions. I'm not sure if the description field for audiobooks and podcasts is the same underlying code. A few of my podcasts use things such as
<p>flags in their description. See: "Haunted City - A Blades in the Dark Campaign"Or, if not easily supportable, is there a way to strip HTML from podcast feed descriptions?
Thanks! This app is amazing!
@ZLoth commented on GitHub (Apr 2, 2024):
Somehow, my request to "Associate hyperlinks with an audiobook" got redirected here. What I was hoping to add to some of my books are....
Admittedly, the book's website reference and third party references would apply to non-fiction books such as Great Courses or Modern Scholar.
This could also be extended to author/narriator page including references to that person's own site as well as IMDB and GoodReads.
@ZLoth commented on GitHub (Apr 6, 2024):
I was previously utilizing Emby as my audiobook manager, and this is one of the features that I missed. I ended up cleaning most of the descriptions from Audible so that the output woud fit properly. (You wouldn't believe how many
</b><b>and<p></p>I removed to better format the text.)The keep thing to remember is that that you have to sanitize the output for at least three scenarios:
As an example, here is the Audible page for NPR Road Trips: Family Vacations - https://www.audible.com/pd/NPR-Road-Trips-Family-Vacations-Audiobook/B00AQ3VPFU :

Here is the same description after import into Audiobookshelf:

From my experience, the following tags should be allowed:
<p>and</p><br>and<br /><ul>and</ul><li>and</li><ol>and</ol><em>and</em>with it's cousin<i>and</i><strong>and</strong>with it's cousin<b>and</b><u>and</u>I've only seen
<span>used on a couple of GraphicAudio titles, and it was usually used to color the text red:<span style="color: #d92027;">ADVISORY: Due to subject matter, this title contains realistically harsh language, including racial epithets and sexual content.</span>While it's optional, I also converted em-dashes and en-dashes to
—and–equivelents as well as the double quotes into“and”respectively.@ZLoth commented on GitHub (Oct 29, 2024):
@advplyr , Is there any way to at least support paragraph breaks now to avoid the "blob of text" until full formatting is supported in ABS?
@vangorra commented on GitHub (Jan 12, 2025):
If plain text support is preferred, then I propose the metadata provider convert the html description to markdown.
From there, the clients can show content as is (enclosed in
@ZLoth commented on GitHub (Jan 25, 2025):
Thank you @advplyr . Looking forward to release.
@github-actions[bot] commented on GitHub (Feb 2, 2025):
Fixed in v2.19.0.