{ "info": { "author": "Arijit Basu", "author_email": "sayanarijit@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: Other Audience", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: Microsoft", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "Flask-Htmldoom\n================\n[htmldoom](https://github.com/sayanarijit/htmldoom) integration for Flask\n\nCheckout the **[live demo](https://htmldoom-flask-example.herokuapp.com/)** with [performance debugging](https://htmldoom-flask-example.herokuapp.com/flask-profiler/)\n\nUsage\n----\n### Install\n\n```bash\npip install Flask-Htmldoom\n```\n\n### Plug into Flask\n\n#### app.py\n\n```python\nimport os\n\nfrom flask import Flask\n\nfrom flask_htmldoom import render_template\n\napp = Flask(__name__)\n\n\n@app.route(\"/\")\ndef hello_htmldoom_view():\n \"\"\"htmldoom rendered view\"\"\"\n return render_template(\"templates.hello\", data=\"Hello htmldoom\")\n\n\nif __name__ == \"__main__\":\n app.run(\"0.0.0.0\", int(os.environ.get(\"PORT\", \"8080\")), debug=True)\n```\n\n#### templates/hello.py\n\n```python\nfrom htmldoom import elements as e\nfrom htmldoom import renders\n\nfrom .layout import render_document\n\n\n@renders(\n e.body()(\n e.h3()(\"{contents}\"),\n e.a(href=\"/\")(\"Home\"),\n )\n)\ndef render_body(data):\n return {\"contents\": data[\"data\"]}\n\n\ndef render(data):\n return render_document(data, body_renderer=render_body)\n```\n\n#### templates/layout.py\n\n```python\nfrom htmldoom import base as b\nfrom htmldoom import elements as e\nfrom htmldoom import render as _render\nfrom htmldoom import renders\n\ndoctype = _render(b.doctype(\"html\"))\n\n\n@renders(e.title()(\"{doctitle}\"))\ndef render_title(doctitle):\n return {\"doctitle\": doctitle}\n\n\n@renders(e.body()(\"{content}\"))\ndef render_body(data):\n raise NotImplementedError(\"You are trying to render a layout.\")\n\n\n@renders(\"{doctype}\", e.html()(e.head()(\"{title}\"), \"{body}\"))\ndef render_document(\n data,\n title_renderer=render_title,\n body_renderer=render_body,\n):\n return {\n \"doctype\": doctype,\n \"title\": title_renderer(doctitle=data[\"data\"]),\n \"body\": body_renderer(data=data),\n }\n\n\ndef render(data):\n return render_document(data=data)\n```\n\nExamples\n--------\n[Find demo and examples here](https://github.com/sayanarijit/flask-htmldoom/blob/master/examples)\n\n### Deploy examples on heroku:\n\n```bash\ngit push heroku $(git subtree split --prefix examples/2_hackernews master):master\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sayanarijit/flask-htmldoom", "keywords": "html rendering for flask", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Flask-Htmldoom", "package_url": "https://pypi.org/project/Flask-Htmldoom/", "platform": "Any", "project_url": "https://pypi.org/project/Flask-Htmldoom/", "project_urls": { "Homepage": "https://github.com/sayanarijit/flask-htmldoom" }, "release_url": "https://pypi.org/project/Flask-Htmldoom/0.1.2/", "requires_dist": [ "Flask", "htmldoom (>=0.6<0.7)", "pytest (>=4.4.1) ; extra == 'dev'", "pytest-cov (>=2.7.1) ; extra == 'dev'", "black (>=19.3b0) ; extra == 'dev'", "tox (>=3.12.1) ; extra == 'dev'", "pytest (>=4.4.1) ; extra == 'testing'", "pytest-cov (>=2.7.1) ; extra == 'testing'", "black (>=19.3b0) ; extra == 'testing'" ], "requires_python": "", "summary": "htmldoom integration for Flask", "version": "0.1.2" }, "last_serial": 5484984, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1145f9bf0b8aee4c2a3a594c5fea1dd2", "sha256": "f370c0082a9fd7606829fbfaa3346e090e8590df34823527a6f81f0847072328" }, "downloads": -1, "filename": "Flask_Htmldoom-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1145f9bf0b8aee4c2a3a594c5fea1dd2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4021, "upload_time": "2019-07-03T17:17:12", "url": "https://files.pythonhosted.org/packages/b2/45/43a4f054601582e456dd75fe6e376f3f36ea7a4a24cc29867a6df715d210/Flask_Htmldoom-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a75eae1c4facc06b3ce2e687649cdc3", "sha256": "b566966ba33ac8c7f091487806012735089889913ddd253d2d8fe8a724e2afff" }, "downloads": -1, "filename": "Flask-Htmldoom-0.1.tar.gz", "has_sig": false, "md5_digest": "8a75eae1c4facc06b3ce2e687649cdc3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3385, "upload_time": "2019-07-03T17:17:15", "url": "https://files.pythonhosted.org/packages/24/db/7f2654434cf91a48b4de7968487d6170386beea47b2782151f25e3e542d7/Flask-Htmldoom-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "1f15bbb3cd2cc2ff946599f221d24291", "sha256": "1e0320bd6cadca442ab8da870c95087a188b481a5c09db5e088121c73665e068" }, "downloads": -1, "filename": "Flask_Htmldoom-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1f15bbb3cd2cc2ff946599f221d24291", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4068, "upload_time": "2019-07-03T18:52:31", "url": "https://files.pythonhosted.org/packages/69/1b/398e55a28f74cb3db209c1106924463fde7664eaaf0f684704d6bfb767fa/Flask_Htmldoom-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ae9974d0abb736a25516afdf0b3e97c", "sha256": "e14c9aaa78f2213b196feb029dde32a8695109ccd5cc001fadaa981bb0c4b044" }, "downloads": -1, "filename": "Flask-Htmldoom-0.1.1.tar.gz", "has_sig": false, "md5_digest": "2ae9974d0abb736a25516afdf0b3e97c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3338, "upload_time": "2019-07-03T18:52:33", "url": "https://files.pythonhosted.org/packages/ef/3a/a2e745cb3759f799d4d5915bfc6974d4c70feb86165da8c0b2adf56ccf1c/Flask-Htmldoom-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "77ce1a670d9a9decfa68e46af1fa0ed8", "sha256": "8929dcdd1b5aa6521522d52a19363ea1a7a5c131704b3693cdf2bdb425299078" }, "downloads": -1, "filename": "Flask_Htmldoom-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "77ce1a670d9a9decfa68e46af1fa0ed8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4043, "upload_time": "2019-07-04T05:27:14", "url": "https://files.pythonhosted.org/packages/9f/bb/73c24b49ec7a95222c10b487b99ae65ba2b23f199a62c32bd2561dfb7f68/Flask_Htmldoom-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7220c650744781f31b6934c8ca9109d5", "sha256": "98b7217a1691652ca4a8de108735ac95cfa51219b41d9d662b2a8502d42674ff" }, "downloads": -1, "filename": "Flask-Htmldoom-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7220c650744781f31b6934c8ca9109d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3305, "upload_time": "2019-07-04T05:27:16", "url": "https://files.pythonhosted.org/packages/a6/6c/28a354454daed993972bbf251b8f23ec2d7203a76978a96dc608f4bb6e26/Flask-Htmldoom-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "77ce1a670d9a9decfa68e46af1fa0ed8", "sha256": "8929dcdd1b5aa6521522d52a19363ea1a7a5c131704b3693cdf2bdb425299078" }, "downloads": -1, "filename": "Flask_Htmldoom-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "77ce1a670d9a9decfa68e46af1fa0ed8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4043, "upload_time": "2019-07-04T05:27:14", "url": "https://files.pythonhosted.org/packages/9f/bb/73c24b49ec7a95222c10b487b99ae65ba2b23f199a62c32bd2561dfb7f68/Flask_Htmldoom-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7220c650744781f31b6934c8ca9109d5", "sha256": "98b7217a1691652ca4a8de108735ac95cfa51219b41d9d662b2a8502d42674ff" }, "downloads": -1, "filename": "Flask-Htmldoom-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7220c650744781f31b6934c8ca9109d5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3305, "upload_time": "2019-07-04T05:27:16", "url": "https://files.pythonhosted.org/packages/a6/6c/28a354454daed993972bbf251b8f23ec2d7203a76978a96dc608f4bb6e26/Flask-Htmldoom-0.1.2.tar.gz" } ] }