mirror of
https://github.com/philomena-dev/philomena.git
synced 2024-11-30 14:57:59 +01:00
add missing span wrapper, handle nested quote/spoiler interactions inside link text
This commit is contained in:
parent
c53c7d283f
commit
1bec3e0caa
2 changed files with 14 additions and 4 deletions
|
@ -141,12 +141,22 @@ defmodule Textile.Lexer do
|
||||||
link_contents_start =
|
link_contents_start =
|
||||||
choice([
|
choice([
|
||||||
image,
|
image,
|
||||||
|
spoiler_open,
|
||||||
|
spoiler_close,
|
||||||
|
blockquote_open,
|
||||||
|
blockquote_open_cite,
|
||||||
|
blockquote_close,
|
||||||
link_markup_start,
|
link_markup_start,
|
||||||
])
|
])
|
||||||
|
|
||||||
link_contents_element =
|
link_contents_element =
|
||||||
choice([
|
choice([
|
||||||
image,
|
image,
|
||||||
|
spoiler_open,
|
||||||
|
spoiler_close,
|
||||||
|
blockquote_open,
|
||||||
|
blockquote_open_cite,
|
||||||
|
blockquote_close,
|
||||||
link_markup_element
|
link_markup_element
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
@ -199,25 +199,25 @@ defmodule Textile.Parser do
|
||||||
defp image(parser, [{:image_url, image_url}, {:image_title, title}, {:image_link_url, link_url} | r_tokens]) do
|
defp image(parser, [{:image_url, image_url}, {:image_title, title}, {:image_link_url, link_url} | r_tokens]) do
|
||||||
image_url = parser.image_transform.(image_url)
|
image_url = parser.image_transform.(image_url)
|
||||||
|
|
||||||
{:ok, [markup: ~s|<a href="#{escape_html(link_url)}"><img src="#{escape_html(image_url)}" title="#{escape_html(title)}"/></a>|], r_tokens}
|
{:ok, [markup: ~s|<a href="#{escape_html(link_url)}"><span class="imgspoiler"><img src="#{escape_html(image_url)}" title="#{escape_html(title)}"/></span></a>|], r_tokens}
|
||||||
end
|
end
|
||||||
|
|
||||||
defp image(parser, [{:image_url, image_url}, {:image_title, title} | r_tokens]) do
|
defp image(parser, [{:image_url, image_url}, {:image_title, title} | r_tokens]) do
|
||||||
image_url = parser.image_transform.(image_url)
|
image_url = parser.image_transform.(image_url)
|
||||||
|
|
||||||
{:ok, [markup: ~s|<img src="#{escape_html(image_url)}" title="#{escape_html(title)}"/>|], r_tokens}
|
{:ok, [markup: ~s|<span class="imgspoiler"><img src="#{escape_html(image_url)}" title="#{escape_html(title)}"/></span>|], r_tokens}
|
||||||
end
|
end
|
||||||
|
|
||||||
defp image(parser, [{:image_url, image_url}, {:image_link_url, link_url} | r_tokens]) do
|
defp image(parser, [{:image_url, image_url}, {:image_link_url, link_url} | r_tokens]) do
|
||||||
image_url = parser.image_transform.(image_url)
|
image_url = parser.image_transform.(image_url)
|
||||||
|
|
||||||
{:ok, [markup: ~s|<a href="#{escape_html(link_url)}"><img src="#{escape_html(image_url)}"/></a>|], r_tokens}
|
{:ok, [markup: ~s|<a href="#{escape_html(link_url)}"><span class="imgspoiler"><img src="#{escape_html(image_url)}"/></span></a>|], r_tokens}
|
||||||
end
|
end
|
||||||
|
|
||||||
defp image(parser, [{:image_url, image_url} | r_tokens]) do
|
defp image(parser, [{:image_url, image_url} | r_tokens]) do
|
||||||
image_url = parser.image_transform.(image_url)
|
image_url = parser.image_transform.(image_url)
|
||||||
|
|
||||||
{:ok, [markup: ~s|<img src="#{escape_html(image_url)}"/>|], r_tokens}
|
{:ok, [markup: ~s|<span class="imgspoiler"><img src="#{escape_html(image_url)}"/></span>|], r_tokens}
|
||||||
end
|
end
|
||||||
|
|
||||||
defp image(_parser, _tokens),
|
defp image(_parser, _tokens),
|
||||||
|
|
Loading…
Reference in a new issue