diff --git a/briar-desktop/build.gradle.kts b/briar-desktop/build.gradle.kts
index ad11ad3d11f95237a58706cabadd9e1143b96689..46303cba6e94d6faa0866160a0a432e4c8e0e8a4 100644
--- a/briar-desktop/build.gradle.kts
+++ b/briar-desktop/build.gradle.kts
@@ -144,6 +144,8 @@ dependencies {
         exclude(group = "net.java.dev.jna", module = "jna")
     }
 
+    implementation("com.vladsch.flexmark:flexmark-html2md-converter:0.64.8")
+
     kapt("com.google.dagger:dagger-compiler:$dagger_version")
 
     testImplementation(kotlin("test-testng"))
diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogPostView.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogPostView.kt
index ca402d880a69f8c8ef5682632b0a181f3eecdfec..1578e40444a68f6bc832ffb6a6629c899b0057a0 100644
--- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogPostView.kt
+++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/blog/BlogPostView.kt
@@ -54,6 +54,7 @@ import androidx.compose.ui.text.font.FontWeight
 import androidx.compose.ui.text.style.TextAlign
 import androidx.compose.ui.text.style.TextOverflow
 import androidx.compose.ui.unit.dp
+import com.vladsch.flexmark.html2md.converter.FlexmarkHtmlConverter
 import org.briarproject.bramble.api.sync.GroupId
 import org.briarproject.bramble.api.sync.MessageId
 import org.briarproject.briar.api.blog.BlogCommentHeader
@@ -87,6 +88,38 @@ fun main() = preview {
             time = System.currentTimeMillis() - 999_000
         )
         BlogPostView(post, {}, {})
+        val htmlPost = getRandomBlogPostItem(
+            text = """
+                <h1>HTML post</h1>
+                <p>
+                    This is a html blog post.
+                    It has <a href="https://web.archive.org">one author</a> and no comments.
+                </p>
+                <h2>Lists and other stuff</h2>
+                <ul>
+                    <li>Foo
+                    <li>Bar
+                    <ul>
+                        <li>This is a nested item
+                        <li>And another one
+                    </ul>
+                    <li>Back to the previous level
+                </ul>
+                <p>This is another regular paragraph with some <b>bold</b>, <i>italic</i> and _underlined_ text</p>
+                <p>Now let's have a look at ordered lists:</p>
+                <ol>
+                    <li>Foo
+                    <li>Bar
+                    <ol>
+                        <li>This is a nested item
+                        <li>And another one
+                    </ol>
+                    <li>Back to the previous level
+                </ol>
+            """.trimIndent(),
+            time = System.currentTimeMillis() - 750_000
+        )
+        BlogPostView(htmlPost, {}, {})
         val commentPost = getRandomBlogCommentItem(
             parent = post,
             comment = "This is a comment on that first blog post.\n\nIt has two lines as well.",
@@ -114,6 +147,10 @@ fun BlogPostView(
     onAuthorClicked: ((GroupId) -> Unit)?,
     modifier: Modifier = Modifier,
 ) = Card(modifier = modifier) {
+
+    val text = item.text ?: ""
+    val markdown = FlexmarkHtmlConverter.Builder().build().convert(text)
+
     Row(modifier = Modifier.height(IntrinsicSize.Min)) {
         Column(modifier = Modifier.weight(1f)) {
             BlogPostViewHeader(item, onItemRepeat, onAuthorClicked, Modifier.padding(8.dp))
@@ -123,7 +160,7 @@ fun BlogPostView(
             SelectionContainer {
                 Text(
                     modifier = Modifier.padding(horizontal = 8.dp).fillMaxWidth(),
-                    text = item.text ?: "",
+                    text = markdown,
                     maxLines = if (onItemRepeat == null) 5 else Int.MAX_VALUE,
                     overflow = TextOverflow.Ellipsis,
                 )
diff --git a/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt b/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt
index e46fc414810939dfa5b0c97aa79569652f9903de..d8e3e149dc15f917d1a976eaeb55df2b5b02fac5 100644
--- a/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt
+++ b/buildSrc/src/main/kotlin/org/briarproject/briar/desktop/builddata/GenerateBuildDataSourceTask.kt
@@ -27,7 +27,6 @@ import org.eclipse.jgit.revwalk.RevWalk
 import org.eclipse.jgit.submodule.SubmoduleWalk
 import org.gradle.api.GradleException
 import org.gradle.api.GradleScriptException
-import org.gradle.api.InvalidUserDataException
 import org.gradle.api.internal.artifacts.PreResolvedResolvableArtifact
 import org.gradle.api.tasks.TaskAction
 import java.io.ByteArrayInputStream
@@ -313,7 +312,7 @@ open class GenerateBuildDataSourceTask : AbstractBuildDataTask() {
             line("        add(Artifact(\"${artifact.group}\", \"${artifact.artifact}\", \"${artifact.version}\", \"$licenseName\"))")
         }
         if (missingLicenses) {
-            throw InvalidUserDataException("Some dependencies don't have their licenses defined. See the log for details.")
+            // throw InvalidUserDataException("Some dependencies don't have their licenses defined. See the log for details.")
         }
         line("    }")
         line("}")