Ejemplo n.º 1
0
    def test_url_callback_constructor_kwargs(self):
        def rewrite_links_func(url):
            if url.startswith('/'):
                return 'http://example.com%s' % url
        
        md = Markdown(
            '[a](/a.html)',
            rewrite_links_func=rewrite_links_func
        )

        html = md.get_html_content()

        self.assertEqual(
            html,
            '<p><a href="http://example.com/a.html">a</a></p>'
        )

        def link_attrs_func(url):
            if url.startswith('http'):
                return 'target="_blank"'

        md = Markdown(
            '[a](/a.html)\n[b](http://example.com/b.html)',
            link_attrs_func=link_attrs_func
        )

        html = md.get_html_content()

        self.assertEqual(
            html,
            '<p>'
            '<a href="/a.html">a</a>\n'
            '<a href="http://example.com/b.html" target="_blank">b</a>'
            '</p>'
        )
Ejemplo n.º 2
0
    def transform(self, text, entry, *args):

        mkd = Markdown(text.encode(entry.encoding),
                       autolink=True,
                       safelink=True,
                       ignore_header=True)
        return mkd.get_html_content().decode(entry.encoding, errors='replace')
Ejemplo n.º 3
0
    def transform(self, text, entry, *args):

        mkd = Markdown(text.encode('utf-8'),
                       autolink=True,
                       safelink=True,
                       ignore_header=True)
        return mkd.get_html_content().decode('utf-8')
Ejemplo n.º 4
0
    def test_input_string_get_html_css(self):
        md = Markdown(
            '<style>\n  *{color:red}\n</style>\n\n# header-1\n\n`test`')

        style = md.get_html_css()

        self.assertEqual(style, '<style>  *{color:red}</style>\n')
Ejemplo n.º 5
0
    def test_input_file_get_html_css(self):
        i = tempfile.TemporaryFile('r+w')
        i.write('<style>\n  *{color:red}\n</style>\n\n# header-1\n\n`test`')
        i.seek(0)
        md = Markdown(i)

        style = md.get_html_css()

        self.assertEqual(style, '<style>  *{color:red}</style>\n')
Ejemplo n.º 6
0
    def test_input_file_get_html_content(self):
        i = tempfile.TemporaryFile('r+w')
        i.write('`test`')
        i.seek(0)
        md = Markdown(i)
        html = md.get_html_content()
        i.close()

        self.assertEqual(html, '<p><code>test</code></p>')
Ejemplo n.º 7
0
    def test_input_string_write_html_content(self):
        o = tempfile.TemporaryFile('r+w')
        md = Markdown('`test`')
        md.write_html_content(o)

        o.seek(0)
        html = o.read()
        o.close()

        self.assertEqual(html, '<p><code>test</code></p>\n')
Ejemplo n.º 8
0
    def test_input_string_write_html_css(self):
        o = tempfile.TemporaryFile('r+w')
        md = Markdown(
            '<style>\n  *{color:red}\n</style>\n\n# header-1\n\n`test`')
        md.write_html_css(o)

        o.seek(0)
        style = o.read()
        o.close()

        self.assertEqual(style, '<style>  *{color:red}</style>\n')
Ejemplo n.º 9
0
    def test_rewrite_links_as_method(self):
        def rewrite_links_func(url):
            if url.startswith('/'):
                return 'http://example.com%s' % url
        
        md = Markdown('[a](/a.html)')
        md.rewrite_links(rewrite_links_func)
        html = md.get_html_content()

        self.assertEqual(
            html,
            '<p><a href="http://example.com/a.html">a</a></p>'
        )
Ejemplo n.º 10
0
    def test_input_string_get_html_toc(self):
        md = Markdown('# header-1\n## header-2\n### header-3')
        html = md.get_html_toc()

        self.assertEqual(
            html, (
                '\n '
                '<ul>\n <li><a href="#header-1">header-1</a>\n  '
                '<ul>\n  <li><a href="#header-2">header-2</a>\n   '
                '<ul>\n   <li><a href="#header-3">header-3</a>   </li>\n   '
                '</ul>\n  </li>\n  </ul>\n </li>\n </ul>\n'
            )
        )
Ejemplo n.º 11
0
    def test_input_file_get_pandoc_date(self):
        i = tempfile.TemporaryFile('r+w')
        i.write('`test`')
        i.seek(0)
        md = Markdown(i)
        self.assertEqual(md.get_pandoc_date(), None)
        i.close()

        i = tempfile.TemporaryFile('r+w')
        i.write('% abc\n')
        i.seek(0)
        md = Markdown(i)
        self.assertEqual(md.get_pandoc_date(), None)
        i.close()

        i = tempfile.TemporaryFile('r+w')
        i.write('% abc\n% def')
        i.seek(0)
        md = Markdown(i)
        self.assertEqual(md.get_pandoc_date(), None)
        i.close()

        i = tempfile.TemporaryFile('r+w')
        i.write('% abc\n% def\n% jhi\n')
        i.seek(0)
        md = Markdown(i)
        self.assertEqual(md.get_pandoc_date(), 'jhi')
        i.close()
Ejemplo n.º 12
0
    def test_link_attrs_as_method(self):
        def link_attrs_func(url):
            if url.startswith('http'):
                return 'target="_blank"'

        md = Markdown('[a](/a.html)\n[b](http://example.com/b.html)')
        md.link_attrs(link_attrs_func)
        html = md.get_html_content()

        self.assertEqual(
            html,
            '<p>'
            '<a href="/a.html">a</a>\n'
            '<a href="http://example.com/b.html" target="_blank">b</a>'
            '</p>'
        )
Ejemplo n.º 13
0
    def test_input_file_get_html_toc(self):
        i = tempfile.TemporaryFile('r+w')
        i.write('# header-1\n## header-2\n### header-3')
        i.seek(0)
        md = Markdown(i)
        html = md.get_html_toc()
        i.close()

        self.assertEqual(
            html, (
                '\n '
                '<ul>\n <li><a href="#header-1">header-1</a>\n  '
                '<ul>\n  <li><a href="#header-2">header-2</a>\n   '
                '<ul>\n   <li><a href="#header-3">header-3</a>   </li>\n   '
                '</ul>\n  </li>\n  </ul>\n </li>\n </ul>\n'
            )
        )
Ejemplo n.º 14
0
    def test_input_string_write_html_toc(self):
        o = tempfile.TemporaryFile('r+w')
        md = Markdown('# header-1\n## header-2\n### header-3')
        md.write_html_toc(o)

        o.seek(0)
        html = o.read()
        o.close()

        self.assertEqual(
            html, (
                '\n '
                '<ul>\n <li><a href="#header-1">header-1</a>\n  '
                '<ul>\n  <li><a href="#header-2">header-2</a>\n   '
                '<ul>\n   <li><a href="#header-3">header-3</a>   </li>\n   '
                '</ul>\n  </li>\n  </ul>\n </li>\n </ul>\n'
            )
        )
Ejemplo n.º 15
0
    def test_input_string_get_pandoc_date(self):
        md = Markdown('`test`')
        self.assertEqual(md.get_pandoc_date(), None)

        md = Markdown('% abc\n')
        self.assertEqual(md.get_pandoc_date(), None)

        md = Markdown('% abc\n% def')
        self.assertEqual(md.get_pandoc_date(), None)

        md = Markdown('% abc\n% def\n% jhi\n')
        self.assertEqual(md.get_pandoc_date(), 'jhi')
Ejemplo n.º 16
0
    def test_empty_document_renders(self):
        md = Markdown('')
        html = md.get_html_content()
        self.assertEqual(html, '')

        md = Markdown('    \t    \n    ')
        html = md.get_html_content()
        self.assertEqual(html, '')

        i = tempfile.TemporaryFile('r+w')
        md = Markdown(i)
        html = md.get_html_content()
        i.close()
        self.assertEqual(html, '')

        i = tempfile.TemporaryFile('r+w')
        i.write('    \t    \n    ')
        i.seek(0)
        md = Markdown(i)
        html = md.get_html_content()
        i.close()
        self.assertEqual(html, '')
Ejemplo n.º 17
0
    def transform(self, text, entry, *args):

        mkd = Markdown(text.encode(entry.encoding),
                       autolink=True, safelink=True, ignore_header=True)
        return mkd.get_html_content().decode(entry.encoding, errors='replace')
Ejemplo n.º 18
0
    def test_input_string_get_html_content(self):
        md = Markdown('`test`')

        html = md.get_html_content()

        self.assertEqual(html, '<p><code>test</code></p>')
Ejemplo n.º 19
0
    def transform(self, text, entry, *args):

        mkd = Markdown(text.encode('utf-8'),
                       autolink=True, safelink=True, ignore_header=True)
        return mkd.get_html_content().decode('utf-8')