From 1c6f0a401aa71f56d32b11c76eefaf548ffc3461 Mon Sep 17 00:00:00 2001 From: Arsen S <759223@gmail.com> Date: Tue, 17 Apr 2018 13:29:32 +0400 Subject: [PATCH 1/3] Fix generating invalid JS when module name contains double quotes (#842) --- lib/ex_doc/formatter/html/templates.ex | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/ex_doc/formatter/html/templates.ex b/lib/ex_doc/formatter/html/templates.ex index 9515903c9..4990d1bfb 100644 --- a/lib/ex_doc/formatter/html/templates.ex +++ b/lib/ex_doc/formatter/html/templates.ex @@ -175,11 +175,15 @@ defmodule ExDoc.Formatter.HTML.Templates do |> Enum.reject(fn {_type, nodes_map} -> nodes_map == [] end) |> Enum.map_join(",", &sidebar_items_by_type/1) - if items == "" do - ~s/{"id":"#{module_node.id}","title":"#{module_node.title}","group":"#{module_node.group}"}/ - else - ~s/{"id":"#{module_node.id}","title":"#{module_node.title}","group":"#{module_node.group}",#{items}}/ - end + if items == "" do + ~s/{"id":#{inspect(module_node.id)},"title":#{inspect(module_node.title)},"group":"#{ + module_node.group + }"}/ + else + ~s/{"id":#{inspect(module_node.id)},"title":#{inspect(module_node.title)},"group":"#{ + module_node.group + }",#{items}}/ + end end defp sidebar_items_by_type({type, docs}) do From dcd317202d0adda0a40c35ad911a15e7cd7db31c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Tue, 17 Apr 2018 12:24:56 +0200 Subject: [PATCH 2/3] Update templates.ex --- lib/ex_doc/formatter/html/templates.ex | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/lib/ex_doc/formatter/html/templates.ex b/lib/ex_doc/formatter/html/templates.ex index 4990d1bfb..88ba9b765 100644 --- a/lib/ex_doc/formatter/html/templates.ex +++ b/lib/ex_doc/formatter/html/templates.ex @@ -176,13 +176,9 @@ defmodule ExDoc.Formatter.HTML.Templates do |> Enum.map_join(",", &sidebar_items_by_type/1) if items == "" do - ~s/{"id":#{inspect(module_node.id)},"title":#{inspect(module_node.title)},"group":"#{ - module_node.group - }"}/ + ~s/{"id":#{inspect(module_node.id)},"title":#{inspect(module_node.title)},"group":"#{module_node.group}"}/ else - ~s/{"id":#{inspect(module_node.id)},"title":#{inspect(module_node.title)},"group":"#{ - module_node.group - }",#{items}}/ + ~s/{"id":#{inspect(module_node.id)},"title":#{inspect(module_node.title)},"group":"#{module_node.group}",#{items}}/ end end From bcfb367d7850088e789730c4de8cece3f747f540 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Tue, 17 Apr 2018 12:25:25 +0200 Subject: [PATCH 3/3] Update templates.ex --- lib/ex_doc/formatter/html/templates.ex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/ex_doc/formatter/html/templates.ex b/lib/ex_doc/formatter/html/templates.ex index 88ba9b765..f4ed516f5 100644 --- a/lib/ex_doc/formatter/html/templates.ex +++ b/lib/ex_doc/formatter/html/templates.ex @@ -175,11 +175,11 @@ defmodule ExDoc.Formatter.HTML.Templates do |> Enum.reject(fn {_type, nodes_map} -> nodes_map == [] end) |> Enum.map_join(",", &sidebar_items_by_type/1) - if items == "" do - ~s/{"id":#{inspect(module_node.id)},"title":#{inspect(module_node.title)},"group":"#{module_node.group}"}/ - else - ~s/{"id":#{inspect(module_node.id)},"title":#{inspect(module_node.title)},"group":"#{module_node.group}",#{items}}/ - end + if items == "" do + ~s/{"id":#{inspect(module_node.id)},"title":#{inspect(module_node.title)},"group":"#{module_node.group}"}/ + else + ~s/{"id":#{inspect(module_node.id)},"title":#{inspect(module_node.title)},"group":"#{module_node.group}",#{items}}/ + end end defp sidebar_items_by_type({type, docs}) do