diff --git a/app/javascript/controllers/retarget_links_controller.js b/app/javascript/controllers/retarget_links_controller.js new file mode 100644 index 000000000..f0187711e --- /dev/null +++ b/app/javascript/controllers/retarget_links_controller.js @@ -0,0 +1,15 @@ +import { Controller } from "@hotwired/stimulus" + +export default class extends Controller { + connect() { + this.element.querySelectorAll("a").forEach(this.#retargetLink.bind(this)) + } + + #retargetLink(link) { + link.target = this.#targetsSameDomain(link) ? "_top" : "_blank" + } + + #targetsSameDomain(link) { + return link.href.startsWith(window.location.origin) + } +} diff --git a/app/views/cards/comments/_comment.html.erb b/app/views/cards/comments/_comment.html.erb index a1e863bf9..b0eeaee14 100644 --- a/app/views/cards/comments/_comment.html.erb +++ b/app/views/cards/comments/_comment.html.erb @@ -28,7 +28,7 @@ <% end %> -
+
<%= comment.body %>
diff --git a/app/views/cards/container/_title.html.erb b/app/views/cards/container/_title.html.erb index 1767fd854..0a45685e9 100644 --- a/app/views/cards/container/_title.html.erb +++ b/app/views/cards/container/_title.html.erb @@ -4,7 +4,7 @@

<%= link_to card.title, edit_collection_card_path(card.collection, card), class: "card__title-link" %>

-
+
<%= card.description %>