{ "info": { "author": "David Cramer", "author_email": "dcramer@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 6 - Mature", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3 :: Only" ], "description": "Summary\n=======\n\nFormats text following the `MediaWiki `_\nsyntax.\n\n\nUsage\n=====\n\nTo return HTML from Wiki::\n\n from wikimarkup.parser import Parser\n\n parser = Parser()\n html = parser.parse(text[, show_toc=True])\n\nTo return HTML without certain \"annoying\" (TODO: define annoying) elements, such as headings::\n\n from wikimarkup.parser import parselite\n\n parselite(text)\n\n\nAdding New Tags\n===============\n\nYou can add new tags with the `registerTagHook` method.::\n\n from wikimarkup.parser import Parser\n import cgi\n\n def blockquoteTagHook(parser_env, body, attributes={}):\n \"\"\"A paragraph of text.\"\"\"\n text = ['
']\n if 'cite' in attributes:\n text.append('%s' % (cgi.escape(attributes['cite']),))\n text.append(parse(body.strip()))\n text.append('
')\n return u'\\n'.join(text)\n\n parser = Parser()\n parser.registerTagHook('quote', blockquoteTagHook)\n\n\nAdding Internal Links\n=====================\n\nYou can support ``[[internal links]]`` with the `registerInternalLinkHook`\nmethod. There is no default handling for internal links. If no hook\nhandles the link, it will appear unchanged in the output. An internal\nlink may have a `namespace:` prefix. Hooks are registered per namespace,\nwith 'None' for unprefixed links::\n\n def internalLinkHook(parser_env, namespace, body):\n ...\n return replacement\n\n parser.registerInternalLinkHook(None, internalLinkHook) # called for [[link]]\n parser.registerInternalLinkHook('Wikipedia', hook) # called for [[Wikipedia: Link]]\n parser.registerInternalLinkHook(':en', hook) # called for [[:en:link]\n parser.registerInternalLinkHook(':', hook) # called for [[:any:link]]\n parser.registerInternalLinkHook('*', hook) # called for [[anything]]\n\n\nExamples::\n\n from wikimarkup.parser import Parser\n\n def wikipediaLinkHook(parser_env, namespace, body):\n # namespace is going to be 'Wikipedia'\n (article, pipe, text) = body.partition('|')\n href = article.strip().capitalize().replace(' ', '_')\n text = (text or article).strip()\n return '%s' % (href, text)\n\n parser = Parser()\n parser.registerInternalLinkHook('Wikipedia', wikipediaLinkHook)\n\n print parser.parse(\"[[Wikipedia:public transport|public transportation]]\")\n print parser.parse(\"[[Wikipedia: bus]]\")\n\n import settings\n from pytils.translit import slugify\n from blog.models import Post\n\n def byteflowLinkHook(parser_env, namespace, body):\n (article, pipe, text) = body.partition('|')\n slug = slugify(article.strip())\n text = (text or article).strip()\n try:\n post = Post.objects.get(slug=slug)\n href = post.get_absolute_url()\n except Post.DoesNotExist:\n href = '#'\n return '%s' % (href, text)\n\n parser.registerInternalLinkHook(None, byteflowLinkHook)\n\n parser.parse(\"[[Blog post title]]\")\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.github.com/dgilman/py-wikimarkup/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "py-wikimarkup", "package_url": "https://pypi.org/project/py-wikimarkup/", "platform": "", "project_url": "https://pypi.org/project/py-wikimarkup/", "project_urls": { "Homepage": "http://www.github.com/dgilman/py-wikimarkup/" }, "release_url": "https://pypi.org/project/py-wikimarkup/2.0.0/", "requires_dist": [ "bleach (<3.0.0,>=2.0.0)", "unidecode (<2.0.0,>=1.0.0)" ], "requires_python": ">=3", "summary": "A basic MediaWiki markup parser.", "version": "2.0.0" }, "last_serial": 5800546, "releases": { "1.0.2": [ { "comment_text": "", "digests": { "md5": "387d3a3f4a803ee9e95d5f34932d7352", "sha256": "9a3de9e35a4910dbb4a98c62e1b5cf7ffa35c27027a0f8fdbf8cea4c58a1ef8c" }, "downloads": -1, "filename": "py-wikimarkup-1.0.2.tar.gz", "has_sig": false, "md5_digest": "387d3a3f4a803ee9e95d5f34932d7352", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25427, "upload_time": "2009-08-20T04:04:36", "url": "https://files.pythonhosted.org/packages/a2/b3/32fc3f60c4b39720d9ba2de139049913ac22f8a75a5abb5d33d404492e87/py-wikimarkup-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "2089a2410d7977215a1526e400a5a551", "sha256": "75fc2fd3cb78e24f4ac70ef25f5fdc96837a6df2758fa8e92476b6efc5bda538" }, "downloads": -1, "filename": "py_wikimarkup-1.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "2089a2410d7977215a1526e400a5a551", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": "<3.0", "size": 29431, "upload_time": "2019-09-08T20:34:16", "url": "https://files.pythonhosted.org/packages/bd/48/c1718b5374d30ee0ed39bbdbf5b7eeb66525885f77c1b4ba6dcb7cbb045a/py_wikimarkup-1.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a7e2f3286bce5bce53b4597519b15376", "sha256": "fd9219ce0f7c0dc93c2f309a84f975de24dcf347c5f849c2ea1eeae496579c2f" }, "downloads": -1, "filename": "py-wikimarkup-1.0.3.tar.gz", "has_sig": false, "md5_digest": "a7e2f3286bce5bce53b4597519b15376", "packagetype": "sdist", "python_version": "source", "requires_python": "<3.0", "size": 28245, "upload_time": "2019-09-08T20:34:17", "url": "https://files.pythonhosted.org/packages/79/07/964a9b2f29ef3ed43d1de3c536f964baa99cb4712f3d584ed6a47546e270/py-wikimarkup-1.0.3.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "3e3da037a50ebeb4185e5fe7b5f5bda9", "sha256": "59c312a0743cf94da38aea3dda6ce761fd385a89a70cea403f4c8dd3212b7631" }, "downloads": -1, "filename": "py_wikimarkup-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3e3da037a50ebeb4185e5fe7b5f5bda9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 26333, "upload_time": "2019-09-08T20:43:09", "url": "https://files.pythonhosted.org/packages/b3/77/a0b9e275bac81ba3345ce817dbac1984ec6e4ad3c6c5a931b67cae1d2424/py_wikimarkup-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "341b4ac0dfce868c6c1ea8fe0995bd55", "sha256": "8f568e6e544f2ab532c9b784eec05e6abaa879e633b88a1aa9fb8bbc18add3b5" }, "downloads": -1, "filename": "py-wikimarkup-2.0.0.tar.gz", "has_sig": false, "md5_digest": "341b4ac0dfce868c6c1ea8fe0995bd55", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 25122, "upload_time": "2019-09-08T20:43:10", "url": "https://files.pythonhosted.org/packages/7d/97/99af479390c1607e88be9d88f976bdcd7052a18d94d21bda2d095f01c69b/py-wikimarkup-2.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3e3da037a50ebeb4185e5fe7b5f5bda9", "sha256": "59c312a0743cf94da38aea3dda6ce761fd385a89a70cea403f4c8dd3212b7631" }, "downloads": -1, "filename": "py_wikimarkup-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3e3da037a50ebeb4185e5fe7b5f5bda9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 26333, "upload_time": "2019-09-08T20:43:09", "url": "https://files.pythonhosted.org/packages/b3/77/a0b9e275bac81ba3345ce817dbac1984ec6e4ad3c6c5a931b67cae1d2424/py_wikimarkup-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "341b4ac0dfce868c6c1ea8fe0995bd55", "sha256": "8f568e6e544f2ab532c9b784eec05e6abaa879e633b88a1aa9fb8bbc18add3b5" }, "downloads": -1, "filename": "py-wikimarkup-2.0.0.tar.gz", "has_sig": false, "md5_digest": "341b4ac0dfce868c6c1ea8fe0995bd55", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 25122, "upload_time": "2019-09-08T20:43:10", "url": "https://files.pythonhosted.org/packages/7d/97/99af479390c1607e88be9d88f976bdcd7052a18d94d21bda2d095f01c69b/py-wikimarkup-2.0.0.tar.gz" } ] }