{ "info": { "author": "Aleksandr Batsuev", "author_email": "batsuev@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "License :: OSI Approved :: BSD License", "Topic :: Utilities" ], "description": "# Installation\n \n pip install google_closure_fabric\n\nor for latest dev version:\n\n pip install https://github.com/batsuev/google-closure-fabric/archive/develop.zip\n\n# Boilerplate\nYou can create new project using gclosureboilerplate script. Sample:\n\n mkdir my-project\n cd my-project\n gclosureboilerplate .\n fab bootstrap\n fab build\n fab serve\n\nOpen http://localhost:8000/ and enjoy. Or http://localhost:8000/index.min.html for compiled version.\nAll changes in sources will rebuild automatically.\n\n# Boilerplate project structure\n* my-project/\n * src/\n * js/\n * css/\n * templates/\n * dist/\n * pages/\n * libs-google/\n * fabfile.py\n\n`src/js` - folder with javascript source code. \n`src/css` - css sources. \n`src/templates` - soy templates. \n`dist` - compiled output. \n`pages` - html files. \n`libs-google` - folder for all google libs. \n`fabfile.py` - fabric file with all required tasks.\n\n# Google Closure libraries and tools\n\nRunning `fab bootstrap` in project folder will install all libraries to `libs-google` folder.\nplovr installation is disabled in this example.\n\nThat will be installed:\n* Google Closure Stylesheets (http://code.google.com/p/closure-stylesheets/)\n* Google Closure Templates (https://developers.google.com/closure/templates/)\n* Google Closure Compiler (https://developers.google.com/closure/compiler/)\n* Google Closure Library (https://developers.google.com/closure/library/)\n* Plovr (http://plovr.com)\n\n# fabfile.py\n\n import google_closure_fabric, os\n\n PROJECT_PATH = os.path.dirname(__file__)\n SRC = 'src/js'\n\n def __get_css_builder():\n css = google_closure_fabric.StylesheetsBuilder(PROJECT_PATH)\n css.add_stylesheet('src/css/app.css')\n css.set_output_file('dist/css/app.min.css')\n return css\n\n def __get_deps_builder():\n deps = google_closure_fabric.DepsBuilder(PROJECT_PATH)\n deps.set_source(SRC)\n return deps\n\n def __get_templates_builder():\n soy = google_closure_fabric.TemplatesBuilder(PROJECT_PATH)\n soy.add_template('src/templates/app.soy')\n soy.set_output_path_format('src/js/templates/app.soy.js')\n return soy\n\n def __get_js_builder():\n js_builder = google_closure_fabric.JSBuilder(PROJECT_PATH)\n js_builder.set_output_file('dist/js/app.min.js')\n js_builder.set_sources_folder('src/js')\n js_builder.set_main_file('app.js')\n return js_builder\n\n def __get_linter():\n linter = google_closure_fabric.Linter(PROJECT_PATH, strict=True, ignore_80_symbols=True)\n linter.add_sources('src/js')\n linter.add_exclude('src/js/templates/app.soy.js')\n linter.add_exclude('src/js/soy.js')\n linter.add_exclude('src/js/deps.js')\n return linter\n\n def bootstrap():\n google_closure_fabric.bootstrap(\n PROJECT_PATH,\n dir_name='libs-google',\n plovr=False\n )\n\n def serve():\n deps = __get_deps_builder()\n deps.set_custom_path_prefix('../'+SRC)\n google_closure_fabric.serve(\n PROJECT_PATH,\n html_folder='pages',\n deps_builder=deps,\n stylesheets_builder=__get_css_builder(),\n templates_builder=__get_templates_builder(),\n js_builder=__get_js_builder()\n )\n\n def autofix():\n __get_linter().autofix()\n\n def build():\n deps = __get_deps_builder()\n deps.set_custom_path_prefix(SRC)\n deps.set_output_file('src/js/deps.js')\n deps.build()\n\n __get_linter().lint()\n __get_css_builder().build()\n __get_templates_builder().build()\n __get_js_builder().build()", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/batsuev/google-closure-fabric", "keywords": "google closure gjslint soy", "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "google_closure_fabric", "package_url": "https://pypi.org/project/google_closure_fabric/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/google_closure_fabric/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/batsuev/google-closure-fabric" }, "release_url": "https://pypi.org/project/google_closure_fabric/0.0.5/", "requires_dist": null, "requires_python": null, "summary": "fabric module for simplifying google closure integration", "version": "0.0.5" }, "last_serial": 792615, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "7912dc16ffff8f7300b32afff5f5a384", "sha256": "2aea10346a432a4bc676a3058e08db11a7578f94ce7bef0a3e07f7268c5aaf2c" }, "downloads": -1, "filename": "google_closure_fabric-0.0.1.tar.gz", "has_sig": false, "md5_digest": "7912dc16ffff8f7300b32afff5f5a384", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4334, "upload_time": "2013-02-13T04:06:39", "url": "https://files.pythonhosted.org/packages/43/45/617f4e3b357a1ae9c65628d0a7a56f37417d4878a1c68530747e37eadc0b/google_closure_fabric-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "26a424da5779e061e85f5e86ec2af621", "sha256": "0d332886eae83bdce4abe6a3305ca649de025fa157aacfcce34b609a66cec671" }, "downloads": -1, "filename": "google_closure_fabric-0.0.2.tar.gz", "has_sig": false, "md5_digest": "26a424da5779e061e85f5e86ec2af621", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4885, "upload_time": "2013-02-14T04:15:40", "url": "https://files.pythonhosted.org/packages/74/5a/6ae96f3177ff758605e7f737cb19e656eb466d8651fce87039483db97550/google_closure_fabric-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "d24d13d59ecd0b72cfd1b8b92524d270", "sha256": "8778964ad286feac2fb8d9b401d2715668328a873ee77b24fd11c26c3e4ac341" }, "downloads": -1, "filename": "google_closure_fabric-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d24d13d59ecd0b72cfd1b8b92524d270", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4890, "upload_time": "2013-02-14T04:19:24", "url": "https://files.pythonhosted.org/packages/e0/41/2038d0d3e702df5ebb640e0fc879c6ad865faaa2d86b82b78e0d74fb410c/google_closure_fabric-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "3bad45c83070e044d51076e6b52e8728", "sha256": "0a6756dbc6957a4e92162067f85d1ad07f5457f335622becfcd95f112cabcbe3" }, "downloads": -1, "filename": "google_closure_fabric-0.0.4.tar.gz", "has_sig": false, "md5_digest": "3bad45c83070e044d51076e6b52e8728", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5445, "upload_time": "2013-02-18T02:36:24", "url": "https://files.pythonhosted.org/packages/cf/dd/8285b44b4f308229ec7c1f0abc417be219d0b5ea3901486aad6b36e512f6/google_closure_fabric-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "cbfc03d4e5161fbfd4f365a9cca799cc", "sha256": "a78ea8581649a9273143f12e9294b81e7156508d6283c8cd2d2b93e9fe49dab8" }, "downloads": -1, "filename": "google_closure_fabric-0.0.5.tar.gz", "has_sig": false, "md5_digest": "cbfc03d4e5161fbfd4f365a9cca799cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8926, "upload_time": "2013-03-24T07:59:03", "url": "https://files.pythonhosted.org/packages/cf/c2/dddb8cff955b12730a38fdd366607965f99ac33fd956f27d861b3a71fc9c/google_closure_fabric-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cbfc03d4e5161fbfd4f365a9cca799cc", "sha256": "a78ea8581649a9273143f12e9294b81e7156508d6283c8cd2d2b93e9fe49dab8" }, "downloads": -1, "filename": "google_closure_fabric-0.0.5.tar.gz", "has_sig": false, "md5_digest": "cbfc03d4e5161fbfd4f365a9cca799cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8926, "upload_time": "2013-03-24T07:59:03", "url": "https://files.pythonhosted.org/packages/cf/c2/dddb8cff955b12730a38fdd366607965f99ac33fd956f27d861b3a71fc9c/google_closure_fabric-0.0.5.tar.gz" } ] }