class LinkPlugin(BasePlugin): slug = 'links' urlpatterns = {'article': patterns('', url(r'^json/query-urlpath/$', views.QueryUrlPath.as_view(), name='links_query_urlpath'), )} sidebar = {'headline': _('Links'), 'icon_class': 'fa-bookmark', 'template': 'wiki/plugins/links/sidebar.html', 'form_class': None, 'get_form_kwargs': (lambda a: {})} wikipath_config = [ ('base_url', reverse_lazy('wiki:get', kwargs={'path': ''})), ('default_level', settings.LOOKUP_LEVEL), ] markdown_extensions = [ urlize_makeExtension(), WikiPathExtension(wikipath_config)] def __init__(self): pass
class LinkPlugin(BasePlugin): slug = "links" urlpatterns = { "article": [ re_path( r"^json/query-urlpath/$", views.QueryUrlPath.as_view(), name="links_query_urlpath", ), ] } sidebar = { "headline": _("Links"), "icon_class": "fa-bookmark", "template": "wiki/plugins/links/sidebar.html", "form_class": None, "get_form_kwargs": (lambda a: {}), } wikipath_config = [ ("base_url", reverse_lazy("wiki:get", kwargs={"path": ""})), ("default_level", settings.LOOKUP_LEVEL), ] markdown_extensions = [urlize_makeExtension(), WikiPathExtension(wikipath_config)]
def test_works_with_lazy_functions(self): URLPath.create_root() config = (('base_url', reverse_lazy('wiki:get', kwargs={'path': ''})), ) md = markdown.Markdown(extensions=['extra', WikiPathExtension(config)]) text = '[Français](wiki:/fr)' self.assertEqual( md.convert(text), '<p><a class="wikipath linknotfound" href="/fr">Français</a></p>', )
def test_works_with_lazy_functions(self): URLPath.create_root() config = (("base_url", reverse_lazy("wiki:get", kwargs={"path": ""})), ) md = markdown.Markdown(extensions=["extra", WikiPathExtension(config)]) text = "[Français](wiki:/fr)" self.assertEqual( md.convert(text), '<p><a class="wikipath linknotfound" href="/fr">Français</a></p>', ) URLPath.create_urlpath( URLPath.root(), "linktest", title="LinkTest", content="A page\n#A section\nA line", user_message="Comment1", ) # Link to an existing page text = "[Test link](wiki:/linktest)" self.assertEqual( md.convert(text), '<p><a class="wikipath" href="/linktest/">Test link</a></p>', ) # Link with an empty fragment text = "[Test link](wiki:/linktest#)" self.assertEqual( md.convert(text), '<p><a class="wikipath" href="/linktest/#">Test link</a></p>', ) # Link to a header in an existing page text = "[Test head](wiki:/linktest#wiki-toc-a-section)" self.assertEqual( md.convert(text), '<p><a class="wikipath" href="/linktest/#wiki-toc-a-section">Test head</a></p>', ) # Link to a header in a non existing page text = "[Test head nonExist](wiki:/linktesterr#wiki-toc-a-section)" self.assertEqual( md.convert(text), '<p><a class="wikipath linknotfound" href="/linktesterr#wiki-toc-a-section">Test head nonExist</a></p>', ) # Invalid Wiki link: The default markdown link parser takes over text = "[Test head err](wiki:/linktest#wiki-toc-a-section#err)" self.assertEqual( md.convert(text), '<p><a href="wiki:/linktest#wiki-toc-a-section#err">Test head err</a></p>', )
def setUp(self): config = (("base_url", reverse_lazy("wiki:get", kwargs={"path": ""})), ) self.md = markdown.Markdown( extensions=["extra", WikiPathExtension(config)]) URLPath.create_root() URLPath.create_urlpath( URLPath.root(), "linktest", title="LinkTest", content="A page\n#A section\nA line", user_message="Comment1", )