WikiLinks

《 初回公開:2022/03/26 , 最終更新:未 》

原文は

旧バージョンの記事は

【 目次 】

要約

WikiLinks拡張機能は、WikiLinksのサポートを追加します。
具体的には、[[と]]で囲まれた単語はすべてリンクに変換されます。
この拡張機能は、標準のMarkdownライブラリに含まれています。

構文

[[]]で囲まれた単語は、大文字または小文字、数字、ダッシュ、アンダースコア、および二重括弧で囲まれたスペースの任意の組み合わせです。
従って

[[Bracketed]]

次のHTMLが生成されます

<a href="/Bracketed/" class="wikilink">Bracketed</a>

WikiLinksには自動的にclass = "wikilink"が割り当てられるため、必要に応じて、ページ上の他のリンクとは異なる WikiLinksのスタイルを簡単に設定できます。
クラスを変更する方法については、以下を参照してください。

また、スペースを使用すると、スペースはリンクではアンダースコアに変換されますが、ラベルではそのままになります。
おそらく、この最もよい例は:

[[Wiki Link]]

になります

<a href="/Wiki_Link/" class="wikilink">Wiki Link</a>

使い方

一般的な拡張機能の使用法については、拡張機能を参照してください。
拡張機能の名前としてwikilinksを使用します。
拡張機能の構成については、ライブラリリファレンスを参照してください。

デフォルトの動作では、各リンクを現在のドメインのドキュメントルートにポイントし、末尾にスラッシュを付けて閉じます。
さらに、各リンクはHTMLクラスwikilinkに割り当てられます。

デフォルトの動作を変更するために、次のオプションが用意されています。

  • base_url:
    URLの先頭に追加する文字列。
    デフォルト: '/'

  • end_url:
    URLの末尾に追加する文字列。
    デフォルト: '/'

  • html_class:
    CSSクラス。
    なしの場合は空白のままにします。
    デフォルト: 'wikilink'

  • build_url:
    その部分からURLをフォーマットするCallable。

ささいな例:

markdown.markdown(some_text, extensions=['wikilinks'])

たとえば、リンクは常にサブディレクトリ/wiki/を指し、.htmlで終わる必要があると仮定します。

>>> from markdown.extensions.wikilinks import WikiLinkExtension
>>> html = markdown.markdown(text,
...     extensions=[WikiLinkExtension(base_url='/wiki/', end_url='.html')]
... )

上記の結果、[[WikiLink]]のリンクは次のようになります。

<a href="/wiki/WikiLink.html" class="wikilink">WikiLink</a>

URLのベースやエンド、あるいはその両方をもっと変更したいなら、3つの引数(label、base、end)をもつcallableオブジェクトを渡すこともできます。
callableは、URL全体を返す必要があります。

>>> def my_url_builder(label, base, end):
...    # do stuff
...    return url
...
>>> html = markdown.markdown(text,
...     extensions=[WikiLinkExtension(build_url=my_url_builder)],
... )

クラス属性を変更または削除するためのオプションも用意されています。

>>> html = markdown.markdown(text,
...     extensions=[WikiLinkExtension(html_class='myclass')]
... )

すべてのWikiLinkがクラスmyclassに割り当てられます。

<a href="/WikiLink/" class="myclass">WikiLink</a>

Meta-Data extensionでの使用

WikiLink拡張機能は、Meta-Data extensionもサポートしています。
詳細については、その拡張機能のドキュメントを参照してください。
サポートされているメタデータキーワードは次のとおりです。

  • wiki_base_url
  • wiki_end_url
  • wiki_html_class

メタデータを使用すると、extension_configsインターフェイスを介して提供される設定が上書きされます。

このドキュメントは:

wiki_base_url: http://example.com/
wiki_end_url:  .html
wiki_html_class:

A [[WikiLink]] in the first paragraph.

次の出力になります(空白のwiki_html_classに注意してください)。

<p>A <a href="http://example.com/WikiLink.html">WikiLink</a> in the first paragraph.</p>
ページのトップへ戻る