{ "info": { "author": "Pratap Chakravarthy", "author_email": "prataprc@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "Programming Language :: Python :: 3.2", "Topic :: Internet :: WWW/HTTP" ], "description": "Overview\n--------\n\nStatic web site generator, based on well understood MVC_ - Model, View,\nController - design philosophy. The general idea behind MVC from web\napplication's perspective is\n\n.. code-block:: text\n\n +--------+\n |template|\n +--------+\n |\n V \n +-------+ +----------+ +------+ +-----+\n |request|-->|controller|--->|action|<---|model|\n +-------+ +----------+ +------+ +-----+\n |\n V\n +---------+\n |HTML page|\n +---------+\n |\n V\n goes to the client +-------------+\n <---------------------|http-response|\n +-------------+\n\n\nThe general idea being that,\n\n- http request reaches web-application's controller logic.\n- controller resolves request to web-action by parsing request-URL.\n- the action-logic gathers necessary context information from database models\n and other sources.\n- a html-template is identified, and the final HTML page is generated using\n context information from models and page-layout from one or more template\n files.\n\n``pagd`` follows, more or less, a similar principle to build a web-site from a\ncollection of files organised as a directory tree. Here is a brief idea on how\nit is done\n\n.. code-block:: text\n\n\n +------+ +---------+ +-------------+\n |layout|--->|generator|<---->|page-iterator| \n +------+ +---------+ +-------------+\n | ^\n | | +------------+\n V +<---------|page-context|\n +---------+ | +------------+\n |Html-page| | \n +---------+ | +-------------+\n | +<---------|page-template|\n | | +-------------+\n V +------------+\n +--------+ |page-content|\n |web-site| +------------+\n +--------+ \n\n\nFeatures\n--------\n\n- generates static output, hence can be hosted anywhere.\n- pluggable layouts.\n\n - I am currently using `pagd.myblog` layout for publishing my blog articles.\n - It is possible to create any number of layout either as part of `pagd`\n tool or as separate package.\n - although layouts are encouraged to follow the Model-View-Controller\n concept explained above, it is up to the layout-plugin to define a structure\n and meaning of layout's source directory-tree.\n\n- everything that needs to get done by pagd is done through ``pagd`` command\n line interface.\n- command line interface comes with simple sub-commands like,\n\n - `create`, to create a new layout.\n - `gen`, to generate static web site from a source layout.\n\n- sub-commands are plugins and can be extended by implementing\n pagd.interfaces.ICommand interface.\n- to use pagd as python library, refer to ``script.py`` module under pagd\n package.\n- web-site templates can be designed using `tayra template`_.\n\n - experimental feature is available for mako and jinja2. If you face problems\n with these templates, kindly let me know.\n\n- reStructuredText directives,\n \n - code syntax highlighting.\n - play youtube video within page content.\n - display collection of images as gallery, uses magnific-popup_ jquery\n plugin. Magnific-popop is a well documented jquery plugin, it is possible\n to change its CSS file and/or pagd template script to customize it in \n many ways.\n - to embed github gist, entire gist or individual file in a gist.\n\n- ``pagd.myblog`` layout is loaded with batteries.\n\n - write blog articles in reStructured text, markdown, plain-text, html or\n even as tayra-templates.\n - template your site using tayra templates.\n - configure site generation using JSON file.\n - add context to individual pages are all pages under a sub-directory\n through one or more JSON files.\n - use google-webfonts_ by configuring CSS links using `config.json` attribute\n `google_webfonts`.\n - integration with disqus commenting system. Comments will be stored in\n disqus' server.\n - integration with git, mercurial repository to gather file's meta-data like\n page's author, email, created-time, last-modified-time etc..., this is\n entirely optional.\n - social sharing with twitter, facebook, hackernews, google+, reddit,\n linkedin etc...\n - includes jquery, template can be customized with jquery plugins.\n - learn more - pagd.myblog_.\n\n- only part that cannot be configured, customized or entirely replaced, is\n the name of the tool ;)\n\n- **License:** `GPLv3 license`_\n- **Requires:** Linux, Python-3.x, Pluggdapps.\n\n - To interpret markdown text, python-markdown_ needs to be installed.\n - To interpret rst text, docutils_ needs to be installed.\n - To interpret raw-html, python-lxml_ needs to be installed.\n - If you need source code highlighting in your rst text, pygments_ and\n docutils_ needs to be installed.\n - To template with jinja2 or mako corresponding packages need to be\n installed.\n\n- **Status:** Core design stable. Not expected to change.\n\nRefer to glossary_ and documentation for default layout pagd.myblog_.\n\nRelated links\n-------------\n\n* `package documentation`_.\n* changelog_.\n* todo_.\n* mailing-list_ - if you have any problem just ask !!\n\npagd is under development - you can hack the code, contribute back with\n`github `_. Note that the original\nrepository is maintained with mercurial and uses hg-git plugin to publish it\non github.\n\n.. _MVC: http://en.wikipedia.org/wiki/Model-view-controller\n.. _GPLv3 license: http://www.gnu.org/licenses/\n.. _python-markdown: https://pypi.python.org/pypi/Markdown\n.. _docutils: https://pypi.python.org/pypi/docutils\n.. _pygments: https://pypi.python.org/pypi/pygments\n.. _python-lxml: https://pypi.python.org/pypi/lxml\n.. _google-webfonts: http://www.google.com/fonts\n.. _magnific-popup: https://github.com/dimsemenov/Magnific-Popup\n\n.. _tayra template: http://pythonhosted.org/tayra\n.. _pagd.myblog: http://pythonhosted.org/pagd/myblog.html\n.. _glossary: http://pythonhosted.org/pagd/glossary.html\n.. _package documentation: http://pythonhosted.org/pagd\n.. _changelog: http://pythonhosted.org/pagd/CHANGELOG.html\n.. _todo: http://pythonhosted.org/pagd/TODO.html\n.. _mailing-list: http://groups.google.com/group/pluggdapps", "description_content_type": null, "docs_url": "https://pythonhosted.org/pagd/", "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pythonhosted.org/pagd/", "keywords": "template, web, html, css, pluggdapps", "license": "General Public License", "maintainer": null, "maintainer_email": null, "name": "pagd", "package_url": "https://pypi.org/project/pagd/", "platform": "", "project_url": "https://pypi.org/project/pagd/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pythonhosted.org/pagd/" }, "release_url": "https://pypi.org/project/pagd/0.21dev/", "requires_dist": null, "requires_python": null, "summary": "An integrated web templating environment", "version": "0.21dev" }, "last_serial": 961105, "releases": { "0.1dev": [ { "comment_text": "", "digests": { "md5": "f8a0c226cf4149cf7d403b7d9c3b4a48", "sha256": "360c832305b9c8b60753727f03b73d4470171538198a1bfdbd97976a28b5d2cc" }, "downloads": -1, "filename": "pagd-0.1dev.tar.gz", "has_sig": false, "md5_digest": "f8a0c226cf4149cf7d403b7d9c3b4a48", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22007, "upload_time": "2013-06-11T14:50:02", "url": "https://files.pythonhosted.org/packages/c4/2c/d23d44891e1bfe18644010dbf21b7225ab67e8db41abfc0fecc46a50d75c/pagd-0.1dev.tar.gz" } ], "0.21dev": [ { "comment_text": "", "digests": { "md5": "cbc5910b71100d2ac4ce53ff8dc8c3d4", "sha256": "4db53a8fb63456f0e4fcc601e67faab78cf9b7393a0d048c97b1f362aa3a5189" }, "downloads": -1, "filename": "pagd-0.21dev.tar.gz", "has_sig": false, "md5_digest": "cbc5910b71100d2ac4ce53ff8dc8c3d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35401, "upload_time": "2014-01-05T15:03:04", "url": "https://files.pythonhosted.org/packages/96/2d/3ace4ab0d6e2e0f656f35ac2ee46ff9a5b6c21a6d3271856727db0dce756/pagd-0.21dev.tar.gz" } ], "0.2dev": [ { "comment_text": "", "digests": { "md5": "93076dd7cceba7ae51523aca48ee996c", "sha256": "660fbf5ea9352fffad0e3e02cbc3ed6622ab69d078a1f5db761223a1b97d47b9" }, "downloads": -1, "filename": "pagd-0.2dev.tar.gz", "has_sig": false, "md5_digest": "93076dd7cceba7ae51523aca48ee996c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37471, "upload_time": "2013-06-22T02:09:17", "url": "https://files.pythonhosted.org/packages/31/83/01d659f4d124af631a0412ed706d22f50c53924c24def73ce2748b45bdd4/pagd-0.2dev.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cbc5910b71100d2ac4ce53ff8dc8c3d4", "sha256": "4db53a8fb63456f0e4fcc601e67faab78cf9b7393a0d048c97b1f362aa3a5189" }, "downloads": -1, "filename": "pagd-0.21dev.tar.gz", "has_sig": false, "md5_digest": "cbc5910b71100d2ac4ce53ff8dc8c3d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35401, "upload_time": "2014-01-05T15:03:04", "url": "https://files.pythonhosted.org/packages/96/2d/3ace4ab0d6e2e0f656f35ac2ee46ff9a5b6c21a6d3271856727db0dce756/pagd-0.21dev.tar.gz" } ] }