open note urls in new tab #4091
Signed-off-by: si458 <simonsmith5521@gmail.com>
si458 committed
Nov 5, 2024 at 15:58 UTC
fc83211e907215dd32352d2a591ee6f0874890dd
2 files changed
+26
views/default.handlebars
+13
@@ -1708,6 +1708,19 @@
1708
mainUpdate(512);
1709
}, 200);
1710
1711
+ // open notes markdown links in new tab
1712
+ if (DOMPurify) {
1713
+ DOMPurify.addHook('afterSanitizeAttributes', function (node) {
1714
+ if ('target' in node) {
1715
+ node.setAttribute('target', '_blank');
1716
+ node.setAttribute('rel', 'noopener noreferrer');
1717
+ }
1718
+ if (!node.hasAttribute('target') && (node.hasAttribute('xlink:href') || node.hasAttribute('href'))) {
1719
+ node.setAttribute('xlink:show', 'new');
1720
+ }
1721
+ });
1722
+ }
1723
+
1724
// Connect to the mesh server
1725
meshserver = MeshServerCreateControl(domainUrl);
1726
meshserver.onStateChanged = onStateChanged;
views/default3.handlebars
+13
@@ -2369,6 +2369,19 @@
2369
mainUpdate(512);
2370
}, 200);
2371
2372
+ // open notes markdown links in new tab
2373
+ if (DOMPurify) {
2374
+ DOMPurify.addHook('afterSanitizeAttributes', function (node) {
2375
+ if ('target' in node) {
2376
+ node.setAttribute('target', '_blank');
2377
+ node.setAttribute('rel', 'noopener noreferrer');
2378
+ }
2379
+ if (!node.hasAttribute('target') && (node.hasAttribute('xlink:href') || node.hasAttribute('href'))) {
2380
+ node.setAttribute('xlink:show', 'new');
2381
+ }
2382
+ });
2383
+ }
2384
+
2385
// Connect to the mesh server
2386
meshserver = MeshServerCreateControl(domainUrl);
2387
meshserver.onStateChanged = onStateChanged;