Gibt es eine Möglichkeit, in Markdown einen Link zu erstellen, der sich in einem neuen Fenster öffnet? Wenn nicht, welche Syntax empfehlen Sie dafür? Ich werde es in den von mir verwendeten Markdown-Compiler einbauen. Ich denke, es sollte eine Option sein.
Antworten
Zu viele Anzeigen?Was die Markdown-Syntax betrifft, so müssen Sie, wenn Sie so detailliert werden wollen, einfach HTML verwenden.
<a href="http://example.com/" target="_blank">Hello, world!</a>
Die meisten Markdown-Engines, die ich kenne, erlauben einfaches HTML für Situationen wie diese, in denen ein allgemeines Textauszeichnungssystem einfach nicht ausreicht. (Die StackOverflow-Engine, zum Beispiel.) Sie lassen dann die gesamte Ausgabe durch einen HTML-Whitelist-Filter laufen, da selbst ein reines Markdown-Dokument leicht XSS-Angriffe enthalten kann. Wenn Sie oder Ihre Benutzer also eine _blank
Links, dann können sie das wahrscheinlich immer noch.
Wenn Sie diese Funktion häufig verwenden werden, kann es sinnvoll sein, eine eigene Syntax zu erstellen, aber im Allgemeinen ist es keine wichtige Funktion. Wenn ich den Link in einem neuen Fenster öffnen möchte, klicke ich ihn selbst mit der Strg-Taste an, danke.
Ich glaube nicht, dass es eine Markdown-Funktion gibt, obwohl es möglicherweise andere Optionen gibt, wenn Sie Links, die außerhalb Ihrer eigenen Website verweisen, automatisch mit JavaScript öffnen möchten.
Array.from(javascript.links)
.filter(link => link.hostname != window.location.hostname)
.forEach(link => link.target = '_blank');
jsFiddle .
Wenn Sie jQuery verwenden:
$(document.links).filter(function() {
return this.hostname != window.location.hostname;
}).attr('target', '_blank');
jsFiddle .
Es stimmt also nicht ganz, dass man einer Markdown-URL keine Link-Attribute hinzufügen kann. Um Attribute hinzuzufügen, müssen Sie den verwendeten Markdown-Parser und seine Erweiterungen überprüfen.
Im Besonderen, pandoc
hat eine Erweiterung, die es ermöglicht link_attributes
, die Markierungen im Link erlauben. z.B.
[Hello, world!](http://example.com/){target="_blank"}
- Für diejenigen, die von R (z.B. mit
rmarkdown
,bookdown
,blogdown
und so weiter), ist dies die Syntax, die Sie brauchen. - Für diejenigen, die nicht R müssen Sie möglicherweise aktivieren Sie die Erweiterung beim Aufruf von
pandoc
con+link_attributes
Note : Dies ist anders als die kramdown
Unterstützung des Parsers, was eine der oben akzeptierten Antworten ist. Beachten Sie insbesondere, dass kramdown sich von pandoc unterscheidet, da es einen Doppelpunkt benötigt -- :
-- am Anfang der geschweiften Klammern -- {}
z.B.
[link](http://example.com){:hreflang="de"}
Im Besonderen:
# Pandoc
{ attribute1="value1" attribute2="value2"}
# Kramdown
{: attribute1="value1" attribute2="value2"}
^
^ Colon
- See previous answers
- Weitere Antworten anzeigen