From 44eda43d02a0a6453288bad665b65e2c55d74ab3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonatan=20K=C5=82osko?= Date: Tue, 20 Apr 2021 19:31:02 +0200 Subject: [PATCH] Fix markdown line breaks rendering (#227) --- lib/livebook/live_markdown/markdown_helpers.ex | 8 ++++++++ test/livebook/live_markdown/import_test.exs | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/lib/livebook/live_markdown/markdown_helpers.ex b/lib/livebook/live_markdown/markdown_helpers.ex index dd53132cc..9893d609a 100644 --- a/lib/livebook/live_markdown/markdown_helpers.ex +++ b/lib/livebook/live_markdown/markdown_helpers.ex @@ -99,6 +99,12 @@ defmodule Livebook.LiveMarkdown.MarkdownHelpers do |> build_md(ast) end + defp build_md(iodata, [{"br", _, [], %{}} | ast]) do + render_line_break() + |> append_inline(iodata) + |> build_md(ast) + end + defp build_md(iodata, [{"p", _, content, %{}} | ast]) do render_paragraph(content) |> append_block(iodata) @@ -225,6 +231,8 @@ defmodule Livebook.LiveMarkdown.MarkdownHelpers do end end + defp render_line_break(), do: "\\\n" + defp render_paragraph(content), do: markdown_from_ast(content) defp render_heading(n, content) do diff --git a/test/livebook/live_markdown/import_test.exs b/test/livebook/live_markdown/import_test.exs index ad07ada86..a7b7cd2b6 100644 --- a/test/livebook/live_markdown/import_test.exs +++ b/test/livebook/live_markdown/import_test.exs @@ -98,6 +98,9 @@ defmodule Livebook.LiveMarkdown.ImportTest do ## Section 1 + Line 1.\s\s + Line 2. + |State|Abbrev|Capital| | --: | :-: | --- | | Texas | TX | Austin | @@ -117,6 +120,9 @@ defmodule Livebook.LiveMarkdown.ImportTest do type: :markdown, metadata: %{}, source: """ + Line 1.\\ + Line 2. + | State | Abbrev | Capital | | ----: | :----: | ------- | | Texas | TX | Austin |