Пример #1
0
    def test_with_config2(self):
        output = """
<p><a class="wikilink" href="https://dummy">Wikilink</a>    <code>[[wikilink]]</code></p>
<p><a class="wikilink" href="https://dummy">File Name</a></p>
<p><a class="wikilink" href="https://dummy">File Name</a></p>
<p><a class="wikilink" href="https://dummy">File Name</a></p>
<p><a class="wikilink" href="https://dummy">File Name</a></p>
<p><a class="wikilink" href="https://dummy">File Name</a></p>
<p><a class="wikilink" href="https://dummy">File Name</a></p>
<p><a class="wikilink" href="https://dummy">www.example.com</a></p>
<p><a class="wikilink" href="https://dummy">www.example.com</a></p>
<p><a class="wikilink" href="https://dummy">Example Tutorial</a></p>
<p><a class="wikilink" href="https://dummy">Example Tutorial</a></p>
<p><img class="wikilink" src="https://dummy" /></p>
<p><img class="wikilink" src="https://dummy" /></p>
<p><img class="wikilink" src="https://dummy" /></p>
<p><img class="wikilink" src="https://dummy" /></p>
<p><img class="wikilink" src="https://dummy" /></p>
<p><img alt="better example" class="wikilink" src="https://dummy" /></p>
        """.strip()
        md2 = markdown.Markdown(extensions=[
            WikiLinkPlusExtension(md_configs2['mdx_wikilink_plus'])
        ])
        html = md2.convert(text)
        # ~ print(html)
        self.assertEqual(html, output)
Пример #2
0
    def test_with_meta(self):
        output = """
<p><a class="wiki-lnk" href="/local/wikilink">Wikilink</a>    <code>[[wikilink]]</code></p>
<p><a class="wiki-lnk" href="/local/path/to/file_name">File name</a></p>
<p><a class="wiki-lnk" href="/local/path/to/file_name">File name</a></p>
<p><a class="wiki-lnk" href="/local/path/to/file-name">File name</a></p>
<p><a class="wiki-lnk" href="/local/path/to/file_name/?a=b&amp;b=c">File name</a></p>
<p><a class="wiki-lnk" href="/local/path/to/file_name.html">File name</a></p>
<p><a class="wiki-lnk" href="/local/path/to/file_name.html?a=b&amp;b=c">File name</a></p>
<p><a class="wiki-lnk" href="https://www.example.com/">www.example.com</a></p>
<p><a class="wiki-lnk" href="https://www.example.com/?a=b&amp;b=c">www.example.com</a></p>
<p><a class="wiki-lnk" href="https://www.example.com/example-tutorial">Example tutorial</a></p>
<p><a class="wiki-lnk" href="https://www.example.com/example-tutorial">Example Tutorial</a></p>
<p><img class="wiki-img" src="/local/wikilink.png" /></p>
<p><img class="wiki-img" src="/local/path/to/file_name.jpg?a=b&amp;b=c" /></p>
<p><img class="wiki-img" src="https://example.jpeg?a=b&amp;b=c" /></p>
<p><img class="wiki-img" src="https://www.example.com/example-tutorial.jpeg" /></p>
<p><img class="wiki-img" src="https://example.com/example-tutorial.gif" /></p>
<p><img alt="better example" class="wiki-img" src="/local/example_tutorial.jpg" /></p>
        """.strip()
        md2 = markdown.Markdown(
            extensions=[WikiLinkPlusExtension(),
                        MetaExtension()])
        html = md2.convert(meta_text + "\n\n" + text)
        # ~ print(html)
        self.assertEqual(html, output)
Пример #3
0
    def test_with_config1(self):
        output = """
<p><a class="a-custom-class" href="/static/wikilink.html">Wikilink</a>    <code>[[wikilink]]</code></p>
<p><a class="a-custom-class" href="/static/path/to/file-name.html">File Name</a></p>
<p><a class="a-custom-class" href="/static/path/to/file_name.html">File Name</a></p>
<p><a class="a-custom-class" href="/static/path/to/file-name.html">File Name</a></p>
<p><a class="a-custom-class" href="/static/path/to/file-name.html?a=b&amp;b=c">File Name</a></p>
<p><a class="a-custom-class" href="/static/path/to/file-name.html">File Name</a></p>
<p><a class="a-custom-class" href="/static/path/to/file-name.html?a=b&amp;b=c">File Name</a></p>
<p><a class="a-custom-class" href="https://www.example.com/">www.example.com</a></p>
<p><a class="a-custom-class" href="https://www.example.com/?a=b&amp;b=c">www.example.com</a></p>
<p><a class="a-custom-class" href="https://www.example.com/example-tutorial">Example Tutorial</a></p>
<p><a class="a-custom-class" href="https://www.example.com/example-tutorial">Example Tutorial</a></p>
<p><img class="wikilink-image" src="/static/wikilink.png" /></p>
<p><img class="wikilink-image" src="/static/path/to/file-name.jpg?a=b&amp;b=c" /></p>
<p><img class="wikilink-image" src="https://example.jpeg?a=b&amp;b=c" /></p>
<p><img class="wikilink-image" src="https://www.example.com/example-tutorial.jpeg" /></p>
<p><img class="wikilink-image" src="https://example.com/example-tutorial.gif" /></p>
<p><img alt="better example" class="wikilink-image" src="/static/example-tutorial.jpg" /></p>
        """.strip()
        md2 = markdown.Markdown(extensions=[
            WikiLinkPlusExtension(md_configs1['mdx_wikilink_plus'])
        ])
        html = md2.convert(text)
        # ~ print(html)
        self.assertEqual(html, output)
Пример #4
0
    def test_without_config(self):
        output = """
<p><a class="wikilink" href="wikilink">Wikilink</a>    <code>[[wikilink]]</code></p>
<p><a class="wikilink" href="Wikilink">Wikilink</a>    <code>[[Wikilink]]</code></p>
<p><a class="wikilink" href="/path/to/file-name">File Name</a></p>
<p><a class="wikilink" href="/path/to/file_name">File Name</a></p>
<p><a class="wikilink" href="/path/to/file-name">File Name</a></p>
<p><a class="wikilink" href="/path/to/file-name/?a=b&amp;b=c">File Name</a></p>
<p><a class="wikilink" href="/path/to/file-name.html">File Name</a></p>
<p><a class="wikilink" href="/path/to/file-name.html?a=b&amp;b=c">File Name</a></p>
<p><a class="wikilink" href="https://www.example.com/">www.example.com</a></p>
<p><a class="wikilink" href="https://www.example.com/?a=b&amp;b=c">www.example.com</a></p>
<p><a class="wikilink" href="https://www.example.com/example-tutorial">Example Tutorial</a></p>
<p><a class="wikilink" href="https://www.example.com/example-tutorial">Example Tutorial</a></p>
    """.strip()
        md = markdown.Markdown(extensions=[WikiLinkPlusExtension()])
        html = md.convert(text)
        # ~ print(html)
        self.assertEqual(html, output)
Пример #5
0
        help='directory containing wiki files (Markdown + other)')
    return parser


# set up markdown
markdown_configs = {
    'mdx_wikilink_plus': {
        'base_url': '',
        'end_url': '.html',
        'url_whitespace': '_',
    },
}
markdown_extensions = [
    'footnotes',
    'tables',
    WikiLinkPlusExtension(markdown_configs['mdx_wikilink_plus']),
]
markdown = Markdown(output_format="html5", extensions=markdown_extensions)


# set up a Jinja2 environment
def jinja2_environment(path_to_templates):
    return jinja2.Environment(
        loader=jinja2.FileSystemLoader(path_to_templates))


# load config file
def load_config(path):
    with open(path) as infile:
        return yaml.safe_load(infile)