diff --git a/Userland/Libraries/LibMarkdown/CMakeLists.txt b/Userland/Libraries/LibMarkdown/CMakeLists.txt index 40571c5208..ef316fbdac 100644 --- a/Userland/Libraries/LibMarkdown/CMakeLists.txt +++ b/Userland/Libraries/LibMarkdown/CMakeLists.txt @@ -15,4 +15,4 @@ set(SOURCES ) serenity_lib(LibMarkdown markdown) -target_link_libraries(LibMarkdown PRIVATE LibJS LibRegex LibSyntax) +target_link_libraries(LibMarkdown PRIVATE LibUnicode LibJS LibRegex LibSyntax) diff --git a/Userland/Libraries/LibMarkdown/Heading.cpp b/Userland/Libraries/LibMarkdown/Heading.cpp index 1e2b0c3121..cd3b215be3 100644 --- a/Userland/Libraries/LibMarkdown/Heading.cpp +++ b/Userland/Libraries/LibMarkdown/Heading.cpp @@ -4,15 +4,19 @@ * SPDX-License-Identifier: BSD-2-Clause */ +#include #include #include #include +#include namespace Markdown { DeprecatedString Heading::render_to_html(bool) const { - return DeprecatedString::formatted("{}\n", m_level, m_text.render_to_html(), m_level); + auto input = Unicode::normalize(m_text.render_for_raw_print().view(), Unicode::NormalizationForm::NFD); + auto slugified = MUST(AK::slugify(input)); + return DeprecatedString::formatted("# {}\n", m_level, slugified, slugified, m_text.render_to_html(), m_level); } Vector Heading::render_lines_for_terminal(size_t) const