| 
      
      
      From: Dmitry S. <mi...@gm...> - 2013-08-27 18:54:29
      
     | 
| Try this:
from markdown.extensions.headerid import HeaderIdExtension
...
headerId = HeaderIdExtension([('slugify', my_slugify)])
md = markdown.Markdown(extensions=[headerId])
Initially I thought that extensions would accept dicts, but they seem
to only support lists of tuples.
On Tue, Aug 27, 2013 at 5:07 PM, wilbur <wil...@fo...> wrote:
> Hi, I tried to parse my markdown files with python-markdown's headerid
> extension, with my custom slugify function:
>
> import markdown
>
> def my_slugify(value, sep):
>     return "100"
>
> md = markdown.Markdown(extensions=['headerid(slugify=my_slugify)'])
> print md.convert("#Head 1")
>
> But I got this error:
>
> Traceback (most recent call last):
> File "a.py", line 7, in <module>
>     print md.convert("#Head 1")
> File "/usr/local/lib/python2.7/dist-packages/markdown/__init__.py", line
> 296, in convert
>     newRoot = treeprocessor.run(root)
> File
> "/usr/local/lib/python2.7/dist-packages/markdown/extensions/headerid.py",
> line 139, in run
>   id = slugify(''.join(itertext(elem)), sep)
> TypeError: 'unicode' object is not callable
>
> I looked into headerid's source code. It seems that the headerid extension
> just use the unicode object as a callable object:
>
> id = slugify(''.join(itertext(elem)), sep)
>
> So my question is how can I pass my custom slugify function to headerid?
> Besides, my python version is 2.7.3 and python-markdown is 2.3.1. Thanks in
> advance.
--
Dmitry Shachnev
 |