{ "info": { "author": "4teamwork AG", "author_email": "mailto:info@4teamwork.ch", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: 4.3", "Framework :: Plone :: 5.1", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. contents:: Table of Contents\n\n\nInstallation\n============\n\nAdd the package as dependency to your setup.py:\n\n.. code:: python\n\n setup(...\n install_requires=[\n ...\n 'ftw.theming',\n ])\n\nor to your buildout configuration:\n\n.. code:: ini\n\n [instance]\n eggs += ftw.theming\n\nand rerun buildout.\n\n\nSCSS Registry\n=============\n\nThe SCSS registry is configured with ZCML and contains all SCSS resources from\n``ftw.theming``, addons, the theme and policy packages.\n\n\nInspecting the SCSS registry\n----------------------------\n\nThe ``@@theming-resources`` (on any navigation root) lists all resources.\n\n\nResource slots\n--------------\n\nThe registry allows to register resources to a list of fix slots.\nThese are the available slots, sorted by inclusion order:\n\n- ``top``\n- ``variables``\n- ``mixins``\n- ``ftw.theming``\n- ``addon``\n- ``theme``\n- ``policy``\n- ``bottom``\n\nAdding resources\n----------------\n\nAdding SCSS resources is done in the ZCML of a package.\nThe SCSS should always go into the same package where the styled templates are.\n\nRegistering a resource\n~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: xml\n\n \n\n \n \n\n \n \n\n \n\n\nOptions for standalone ``theme:scss``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n- ``file``: relative path to the SCSS file (required)\n- ``slot``: name of the slot (see slots section, default: ``addon``)\n- ``profile``: Generic Setup profile required to be installed (default:\n no profile, e.g. ``my.package:default``)\n- ``for``: context interface (default: ``INavigationRoot``)\n- ``layer``: request layer interface (default: ``Interface``)\n- ``before``: name of the resource after which this resource should be ordered\n (within the same slot).\n- ``after``: name of the resource before which this resource should be ordered\n (within the same slot)\n\n\nRegistering multiple resources\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: xml\n\n \n\n \n\n \n\n \n \n\n \n\n \n\nOptions for ``theme:resources``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n- ``slot``: name of the slot (see slots section, default: ``addon``)\n- ``profile``: Generic Setup profile required to be installed (default:\n no profile, e.g. ``my.package:default``)\n- ``for``: context interface (default: ``INavigationRoot``)\n- ``layer``: request layer interface (default: ``Interface``)\n\nOptions for ``theme:scss`` within ``theme:resources``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n- ``file``: relative path to the SCSS file (required)\n- ``before``: name of the resource after which this resource should be ordered\n (within the same slot).\n- ``after``: name of the resource before which this resource should be ordered\n (within the same slot)\n\n\nResource names\n~~~~~~~~~~~~~~\n\nEach resource has an automatically generated name, which can be looked up in the\n``@@theming-resources``-view.\nThe resource has the format ``[package]:[relative path]``.\n\n\nResource Ordering\n-----------------\n\nThe SCSS resources are ordered when retrieved from the registry, so that the\norder is as consistent as possible.\n\nOrdering priority:\n\n1. the resource's ``slot`` (see the slot section below)\n1. the ``before`` and ``after`` options (topological graph sorting), within each slot.\n1. the ZCML load order of the resources\n\nBe aware that the ZCML load order is usally random.\n\n\nResource factories for dynamic resources\n----------------------------------------\n\nA resource factory is a callable (accepting context and request) which returns\na ``DynamicSCSSResource`` object.\nSince the callable instantiates the resource, it's content can be created dynamically.\n\n\n.. code:: xml\n\n \n\n \n\n \n\n \n\n\n.. code:: python\n\n from ftw.theming.interfaces import ISCSSResourceFactory\n from ftw.theming.resource import DynamicSCSSResource\n from zope.interface import provider\n\n @provider(ISCSSResourceFactory)\n def dynamic_resource_factory(context, request):\n return DynamicSCSSResource('dynamic.scss', slot='addon', source='$color: blue;',\n cachekey='1')\n\n\nWhen generating the SCSS is expensive in time, you should subclass the\n``DynamicSCSSResource`` class and implement custom ``get_source`` and ``get_cachekey``\nmethods.\nThe ``get_cachekey`` should be very lightweight and cheap: it is called on every pageview.\nIt should return any string and only change the return value when the ``get_source`` result\nwill change.\n\n.. code:: python\n\n from Products.CMFCore.utils import getToolByName\n from ftw.theming.interfaces import ISCSSResourceFactory\n from ftw.theming.resource import DynamicSCSSResource\n from zope.annotation import IAnnotations\n from zope.interface import provider\n\n\n class CustomSCSSResource(DynamicSCSSResource):\n\n def get_source(self, context, request):\n return 'body { background-color: $primary-color; }'\n\n def get_cachekey(self, context, request):\n portal = getToolByName(context, 'portal_url').getPortalObject()\n config = IAnnotations(portal).get('my-custom-config', {})\n return config.get('last-change-timestamp', '1')\n\n @provider(ISCSSResourceFactory)\n def dynamic_resource_factory(context, request):\n return CustomSCSSResource('my.package:custom.scss', slot='addon')\n\n\n\nControl Panel\n=============\n\nWhen ``ftw.theming`` is installed, a control panel is added, listing the\nSCSS resources and the default SCSS variables.\nThe controlpanel views are available on any navigation root.\n\n\nIcons\n=====\n\n``ftw.theming`` provides a portal type icon registry.\nThe default iconset is `font-awesome`_.\n\n\nDeclare icon for portal types\n-----------------------------\n\nPortal type icons are declared in the scss file of the addon package.\nIt is possible to support multiple icon sets by declaring icons for each iconset:\n\n.. code:: scss\n\n @include portal-type-font-awesome-icon(repository-folder, leaf);\n @include portal-type-icon(repository-folder, \"\\e616\", customicons);\n\nUsing those mixins does not generate any CSS yet, nor does it introduce dependency\nto those iconset.\nIt simply stores this information in a list to be processed later.\n\n\nSwitching iconset\n-----------------\n\nA theme or policy package may change the iconset.\nThe standard iconset is ``font-awesome``.\nChanging the iconset should be done in an SCSS file in the ``variables`` slot.\n\n.. code:: scss\n\n $standard-iconset: customicons;\n\n\nCustom iconsets\n---------------\n\nThe default iconset is ``font-awesome``, which is automatically loaded and the\nnecessary CSS is generated when the ``$standard-iconset`` variable is ``font-awesome``.\n\nFor having custom iconsets an SCSS file must be registered in the ``bottom`` slot.\nThis is usually done by a theme or policy package.\n\nThe SCSS file should apply the necessary CSS only when the ``$standard-iconset`` is set\nto this iconset:\n\n.. code:: scss\n\n @if $standard-iconset == customicons {\n\n @font-face {\n font-family: 'customicons';\n src:url('#{$portal-url}/++theme++foo/fonts/customicons.eot?-fa99j8');\n src:url('#{$portal-url}/++theme++foo/fonts/customicons.eot?#iefix-fa99j8') format('embedded-opentype'),\n url('#{$portal-url}/++theme++foo/fonts/customicons.woff?-fa99j8') format('woff'),\n url('#{$portal-url}/++theme++foo/fonts/customicons.ttf?-fa99j8') format('truetype'),\n url('#{$portal-url}/++theme++foo/fonts/customicons.svg?-fa99j8#opengever') format('svg');\n font-weight: normal;\n font-style: normal;\n }\n\n .icons-on [class^=\"contenttype-\"],\n .icons-on [class*=\" contenttype-\"] {\n &:before {\n font-family: 'customicons';\n content: \"x\";\n text-align:center;\n position: absolute;\n }\n }\n\n @each $type, $value in get-portal-type-icons-for-iconset(font-awesome) {\n body.icons-on .contenttype-#{$type} {\n &:before {\n content: $value;\n }\n }\n }\n }\n\n\n\nFunctions\n=========\n\nembed-resource\n--------------\n\nThe ``embed-resource`` function embeds a resource (e.g. svg) as\nbase64 encoded url.\n\nExample:\n\n.. code:: scss\n\n .something {\n background: embed-resource(\"images/foo.svg\");\n }\n\nThe function is able to fill colors in SVGs.\nThis can be done with either XPath or CSS selectors.\n\nSince lxml is used for filling the SVGs and SVGs are namespaced\nXML documents, the expressions must be namespaced as well.\nThis leads to problems when converting certain CSS selectors\nsince CSS does not support namespaces.\n\nExample:\n\n.. code:: scss\n\n .foo {\n background: embed-resource(\"soccer.svg\", $fill-css:('#pentagon', red));\n }\n\n .bar {\n background: embed-resource(\"soccer.svg\", $fill-xpath:('//*[@id=\"black_stuff\"]/*[local-name()=\"g\"][1]', red));\n }\n\n\n\nSCSS Mixins\n===========\n\nUsing media queries Mixins\n--------------------------\n\n``ftw.theming`` provides mixins for most common media queries:\n\n- small (480px)\n- medium (800px)\n- large (1024)\n\nExample usage:\n\n.. code:: scss\n\n #container {\n width: 1600px;\n\n @include screen-medium {\n width:1000px;\n }\n @include screen-small {\n width:500px;\n }\n }\n\nIncluding font faces\n--------------------\n\n.. code:: scss\n\n @include font-face($name: 'VerdanaRegular', $path: '++resource++nidau.web/fonts/Verdana');\n\nThe file-extension for the ``$path`` argument is going to be concatenated automatically.\nBoth ``woff`` and ``woff2`` must be provided.\n\nThe mixin then produces the following css code:\n\n.. code:: css\n\n @font-face {\n font-family: 'VerdanaRegular';\n font-style: normal;\n font-weight: normal;\n src: url(\"++resource++nidau.web/fonts/Verdana.woff2\") format(woff2),\n url(\"++resource++nidau.web/fonts/Verdana.woff\") format(woff);\n }\n\n @font-face {\n font-family: 'VerdanaBold';\n font-style: normal;\n font-weight: bold;\n src: url(\"++resource++nidau.web/fonts/Verdana-Bold.woff2\") format(woff2),\n url(\"++resource++nidau.web/fonts/Verdana-Bold.woff\") format(woff);\n }\n\nLinks\n=====\n\n- Github: https://github.com/4teamwork/ftw.theming\n- Issues: https://github.com/4teamwork/ftw.theming/issues\n- Pypi: http://pypi.python.org/pypi/ftw.theming\n- Continuous integration: https://jenkins.4teamwork.ch/search?q=ftw.theming\n\nCopyright\n=========\n\nThis package is copyright by `4teamwork `_.\n\n``ftw.theming`` is licensed under GNU General Public License, version 2.\n\n.. _font-awesome: http://fortawesome.github.io/Font-Awesome/\n\nChangelog\n=========\n\n2.0.2 (2019-03-19)\n------------------\n\n- plone.browserlayer subscriber must be registered before our subscriber [Nachtalb]\n\n\n2.0.1 (2019-01-17)\n------------------\n\n- Fix UnicodeEncodeError error for content types names with unicode characters [Nachtalb]\n\n\n2.0.0 (2018-01-17)\n------------------\n\n- Deprecate legacy breakpoint mixins and variables. [Kevin Bieri]\n- Remove deprecated variables. [Kevin Bieri]\n\n\n1.11.0 (2017-12-19)\n-------------------\n\n- Avoid using freeze in test_cachekey_refreshes_when_navroot_changes\n for plone 5.1, since we get a ReadConflictError. The value of the test does not change if we remove the freeze context manager. [mathias.leimgruber]\n\n- Implement Plone 5.1 compatibility [mathias.leimgruber]\n\n\n1.10.2 (2017-07-03)\n-------------------\n\n- Introduce webkit-only mixin. [Kevin Bieri]\n\n\n1.10.1 (2017-06-02)\n-------------------\n\n- Fix escaping of font type on fontface mixin. [Kevin Bieri]\n- Provide background option for tab-list mixin. [Kevin Bieri]\n- Introduce hyphenation mixin. [Bieri Kevin]\n\n\n1.10.0 (2017-03-20)\n-------------------\n\n- Add uninstall profile [raphael-s]\n\n- Make sure the default profile is installed when installing ftw.theming with\n quickinstaller. [raphael-s]\n\n\n1.9.0 (2017-02-09)\n------------------\n\n- Update font-awesome to 4.7.0.\n [elioschmutz]\n\n\n1.8.2 (2017-01-11)\n------------------\n\n- 1.8.1 was accidentally released from the wrong branch. Please use 1.8.2 instead.\n [Kevin Bieri]\n\n- Use two columns for print layout.\n [Kevin Bieri]\n\n- Avoid duplicate (mimetype) icons on \"Image\" types. [jone]\n\n- Introduce new mixins\n\n - Introduce link-color helper\n - Introduce font-face helper\n - Introduce rem helper\n\n [Kevin Bieri]\n\n\n1.8.0 (2016-10-06)\n------------------\n\n- Switch from \"private\" to \"public\" caching, since the CSS does\n not contain any user specific data. [jone]\n\n- Fix caching for unpublished navigation roots by not using p.a.caching. [jone]\n\n- Introduce appearance helper\n [Kevin Bieri]\n\n\n1.7.1 (2016-09-26)\n------------------\n\n- Support replacing portal-type- and mimetype-icons. [jone]\n\n- Fix support for mimetype icons having long names. [jone, mbaechtold]\n\n\n1.7.0 (2016-09-22)\n------------------\n\n- Fix multi-fill support of embed-resource mixin,\n introducing a new syntax and signature. [Kevin Bieri]\n\n\n1.6.1 (2016-08-08)\n------------------\n\n- Reduce tab hover state\n The current hover state will be always the selected state\n [Kevin Bieri]\n\n\n1.6.0 (2016-07-18)\n------------------\n\n- Move zindex system from plonetheme.blueberry\n [Kevin Bieri]\n\n\n1.5.2 (2016-07-06)\n------------------\n\n- Use font family definitions from plonetheme.blueberry\n [Kevin Bieri]\n\n\n1.5.1 (2016-06-23)\n------------------\n\n- Support selected state of tab-list on link (a tag) too.\n [mathias.leimgruber]\n\n- ie-only slector now supports ms edge and IE11.\n [raphael-s]\n\n\n1.5.0 (2016-05-26)\n------------------\n\n- Introduce spinner mixin.\n [Kevin Bieri]\n\n\n1.4.0 (2016-05-24)\n------------------\n\n- Introduce ie-only mixin.\n [Kevin Bieri]\n\n\n1.3.0 (2016-05-20)\n------------------\n\n- Extend list-group mixin interface to configure the hover color.\n [Kevin Bieri]\n\n- Add new variable $color-content-background.\n [mathias.leimgruber]\n\n- Introduce overlay mixin.\n [Kevin Bieri]\n\n- Extend floatgrid with by-index directive.\n [Kevin Bieri]\n\n\n1.2.0 (2016-03-30)\n------------------\n\n- Introduce horizontal definition list mixin.\n [Kevin Bieri]\n\n- Responsive support for textareas.\n [Kevin Bieri]\n\n- Introduce portrait mixin.\n [Kevin Bieri]\n\n- Responsive support for input fields.\n [Kevin Bieri]\n\n- Introduce active list-group item mixin.\n [Kevin Bieri]\n\n\n1.1.0 (2016-03-03)\n------------------\n\n- Introduce progressbar.\n [Kevin Bieri]\n\n- Register imaging scales as dynamic SCSS resource.\n [Kevin Bieri]\n\n- Add label element mixins.\n [elioschmutz]\n\n- Introduce inverted link colors.\n Apply blueberry color scheme.\n [Kevin Bieri]\n\n- Update font-awesome to 4.5.0. [jone]\n\n- Add `width-full` functional class of grid system for legacy support.\n [Kevin Bieri]\n\n- Introduce floated grid system.\n [Kevin Bieri]\n\n- Use more modular and adaptive mixins to provide a base to build themes upon it.\n Deprecated variables are stil avilable but will be removed in the next major.\n So use the new variables set for further styling.\n [Kevin Bieri]\n\n\n1.0.3 (2015-11-17)\n------------------\n\n- Change collection / topic icons in order to avoid collision.\n [jone]\n\n- Add open office mimetype icons.\n [jone]\n\n\n1.0.2 (2015-10-28)\n------------------\n\n- Provide mimetype icons for solr flairs.\n [jone]\n\n\n1.0.1 (2015-10-26)\n------------------\n\n- Remove duplicate icon in search results for files.\n [jone]\n\n\n1.0.0 (2015-09-30)\n------------------\n\n- Initial implementation\n [jone]", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/4teamwork/ftw.theming", "keywords": "ftw theming", "license": "GPL2", "maintainer": "", "maintainer_email": "", "name": "ftw.theming", "package_url": "https://pypi.org/project/ftw.theming/", "platform": "", "project_url": "https://pypi.org/project/ftw.theming/", "project_urls": { "Homepage": "https://github.com/4teamwork/ftw.theming" }, "release_url": "https://pypi.org/project/ftw.theming/2.0.2/", "requires_dist": null, "requires_python": "", "summary": "", "version": "2.0.2" }, "last_serial": 5823429, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "110f118e9b2061fde8710bc64659806e", "sha256": "1157f5cc93dd140a6d566a8493afac11ba863634f5b2452e12d200b0501b06c2" }, "downloads": -1, "filename": "ftw.theming-1.0.0.tar.gz", "has_sig": false, "md5_digest": "110f118e9b2061fde8710bc64659806e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 508160, "upload_time": "2015-09-30T13:50:47", "url": "https://files.pythonhosted.org/packages/0e/80/166f72665306b60a14b4731ec9327371ed74ce70c47f34aa72d35ef52cce/ftw.theming-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "152eaa22deb1651f5a947a49c8f71b31", "sha256": "f642d1ac62a316268c43a272ad3ce531af00dcf3cf610f1f4afa83d08fe1a9b2" }, "downloads": -1, "filename": "ftw.theming-1.0.1.tar.gz", "has_sig": false, "md5_digest": "152eaa22deb1651f5a947a49c8f71b31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 508257, "upload_time": "2015-10-26T06:38:15", "url": "https://files.pythonhosted.org/packages/2d/48/36424d754294bf7e70c6d9708520bab9a474583a649b66fbfe32a3ae4ae2/ftw.theming-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "8a49d3fba2906ee61305809f35f6eae1", "sha256": "ac9e21c656f978f6068423a5deb83c964509215caa578359087e1d6fa295df8e" }, "downloads": -1, "filename": "ftw.theming-1.0.2.tar.gz", "has_sig": false, "md5_digest": "8a49d3fba2906ee61305809f35f6eae1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 508362, "upload_time": "2015-10-28T10:57:39", "url": "https://files.pythonhosted.org/packages/0d/1a/85c412a05ae3549ee7907f2358a19555b3f0975e11cc7e9e281bac3a31c7/ftw.theming-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "9b2dfff05663dd253237f12937b0d5b4", "sha256": "2f33912ac95a146a081e32de4ccda53bfc532295ec717cbe7bd98a2a511b6b4e" }, "downloads": -1, "filename": "ftw.theming-1.0.3.tar.gz", "has_sig": false, "md5_digest": "9b2dfff05663dd253237f12937b0d5b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 508612, "upload_time": "2015-11-17T10:45:57", "url": "https://files.pythonhosted.org/packages/20/c5/85c664b8d116fa442330c83886a85d8b24df1059214e2882b25d3a833959/ftw.theming-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "eb79f2e7daf7c8f86e36c76dfb738b32", "sha256": "a6bd736de15f6829f269b46baadb13dac318d4b59e3da46fec61822a08a88e96" }, "downloads": -1, "filename": "ftw.theming-1.1.0.tar.gz", "has_sig": false, "md5_digest": "eb79f2e7daf7c8f86e36c76dfb738b32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 593542, "upload_time": "2016-03-03T09:57:13", "url": "https://files.pythonhosted.org/packages/07/c9/e4f9f44d74f60517b860710c64515f6593e5cd966f74b82f829ad6606032/ftw.theming-1.1.0.tar.gz" } ], "1.10.0": [ { "comment_text": "", "digests": { "md5": "1e0a85937dfa922624f749a9d67fa708", "sha256": "dca3a8cbdf0deed15e85df9278b620379d80206d34e607b836625cd3a5004b34" }, "downloads": -1, "filename": "ftw.theming-1.10.0.tar.gz", "has_sig": false, "md5_digest": "1e0a85937dfa922624f749a9d67fa708", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 715495, "upload_time": "2017-03-20T15:39:24", "url": "https://files.pythonhosted.org/packages/ad/17/2880ff2391ded4ec05a365dbd5046268371f890558758bda0b2a609f958b/ftw.theming-1.10.0.tar.gz" } ], "1.10.1": [ { "comment_text": "", "digests": { "md5": "fd5a6bb83b80fc8f9e5187f191ebae32", "sha256": "5c39e8cd96403f0a1defb0860f7e7e39815e0f81b0e0938a04c7bcb027cd79fe" }, "downloads": -1, "filename": "ftw.theming-1.10.1.tar.gz", "has_sig": false, "md5_digest": "fd5a6bb83b80fc8f9e5187f191ebae32", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 715859, "upload_time": "2017-06-02T09:51:34", "url": "https://files.pythonhosted.org/packages/ed/74/affba4a66747db186194daf600f53b46cbef3b841a02d7e824130c0fb054/ftw.theming-1.10.1.tar.gz" } ], "1.10.2": [ { "comment_text": "", "digests": { "md5": "30545672dca563cfaca90e106935d3c9", "sha256": "121756e6a99343e2217aad58dc44ab545b10344b878a3d5fb8ef254cb9def371" }, "downloads": -1, "filename": "ftw.theming-1.10.2.tar.gz", "has_sig": false, "md5_digest": "30545672dca563cfaca90e106935d3c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 716089, "upload_time": "2017-07-03T14:39:45", "url": "https://files.pythonhosted.org/packages/a0/2b/19f8d4e4ebd734f0868b718782d7ae5e10990ad0f705e7ec19ce9c08f361/ftw.theming-1.10.2.tar.gz" } ], "1.11.0": [ { "comment_text": "", "digests": { "md5": "4777d39923a98972310811c8c71f4552", "sha256": "9c50627133a7ae8109a5d6cac5c71aa6cd8e7f20458251a65211f40227b1883c" }, "downloads": -1, "filename": "ftw.theming-1.11.0.tar.gz", "has_sig": false, "md5_digest": "4777d39923a98972310811c8c71f4552", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 716975, "upload_time": "2017-12-19T08:25:16", "url": "https://files.pythonhosted.org/packages/18/1a/5243e74326586a076ba3cb8c9719c4440126308f864247052e2a06d9aca9/ftw.theming-1.11.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "4dd707e3f0c49bc8a63e98c26777b5fa", "sha256": "ffac1e947f1633f95106a5c3ab8f562384a8091546e2c20a5180cdfcc157d115" }, "downloads": -1, "filename": "ftw.theming-1.2.0.tar.gz", "has_sig": false, "md5_digest": "4dd707e3f0c49bc8a63e98c26777b5fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 594012, "upload_time": "2016-03-30T15:05:15", "url": "https://files.pythonhosted.org/packages/a5/e7/0a8f5f31007f5346d808c538bea944784d652b58e4b0080139b7d2c93a3e/ftw.theming-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "068fe90d399f68ab9269f35f017d78de", "sha256": "9fe862bd6876688e3d486be3122bb5e14d92b8f785c8b942a53288b6b2f7c6d4" }, "downloads": -1, "filename": "ftw.theming-1.3.0.tar.gz", "has_sig": false, "md5_digest": "068fe90d399f68ab9269f35f017d78de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 594524, "upload_time": "2016-05-20T09:01:21", "url": "https://files.pythonhosted.org/packages/71/85/71be52ef0fb6bbe76299775f2c9e89c72822b21b9fa041acf4134795b042/ftw.theming-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "1629f9f047cf5280ca0633d7005df2c1", "sha256": "74dffef121736aae031b791478deaf94fb675c1c41467ab2882f52398eb1c0b7" }, "downloads": -1, "filename": "ftw.theming-1.4.0.tar.gz", "has_sig": false, "md5_digest": "1629f9f047cf5280ca0633d7005df2c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 594619, "upload_time": "2016-05-24T07:25:38", "url": "https://files.pythonhosted.org/packages/0c/5d/364e51c54ff7370b2af8b3310429a824199979684d0885bba0451aea554d/ftw.theming-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "c442960be78dc99d366b7828fbe7a8f0", "sha256": "016944da3fadb6a49e8d487e5fc1e2c9c614e2e0e81c4dc9785550fc0d8f24d5" }, "downloads": -1, "filename": "ftw.theming-1.5.0.tar.gz", "has_sig": false, "md5_digest": "c442960be78dc99d366b7828fbe7a8f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 594919, "upload_time": "2016-05-26T14:58:32", "url": "https://files.pythonhosted.org/packages/fd/19/d1c2484847ca4973af67f319e4a9f26e3d74477cb559b5d27558d429b85b/ftw.theming-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "24a56a0fdfaf9dbb8437edbd796d82e6", "sha256": "e01b22c39b2950f27e87c9755c15e6111539303247999160754b7414c02fb475" }, "downloads": -1, "filename": "ftw.theming-1.5.1.tar.gz", "has_sig": false, "md5_digest": "24a56a0fdfaf9dbb8437edbd796d82e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 595143, "upload_time": "2016-06-23T12:30:38", "url": "https://files.pythonhosted.org/packages/f3/f4/2bd5ece7a45c846a8ca8e4c00656fcce6dcf75b742b9bc77011a76a71477/ftw.theming-1.5.1.tar.gz" } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "bb60a1f9c3832ce9a5e0e9e2aad7c12a", "sha256": "11a0423d2eb2765d8c0a4781f1e137676a7cf915d0cebf5dbe26dfb945076603" }, "downloads": -1, "filename": "ftw.theming-1.5.2.tar.gz", "has_sig": false, "md5_digest": "bb60a1f9c3832ce9a5e0e9e2aad7c12a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 595498, "upload_time": "2016-07-06T08:00:46", "url": "https://files.pythonhosted.org/packages/32/e2/e2ee8b9148c066d2d2d89bba0aade29b630f82ff5a438e7892e6ac41538f/ftw.theming-1.5.2.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "cd26d62197ad2e412992eff16570bac7", "sha256": "df0f4363a8cd4b1b57c5f33dfdbaa8ba57a8f78af996d1dc0a28e7e6517e8f24" }, "downloads": -1, "filename": "ftw.theming-1.6.0.tar.gz", "has_sig": false, "md5_digest": "cd26d62197ad2e412992eff16570bac7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 595718, "upload_time": "2016-07-18T14:22:25", "url": "https://files.pythonhosted.org/packages/84/86/c6f745e38ad5497bba4b9039655ead0e74cd153af3b6a0cf9cc4c742bd00/ftw.theming-1.6.0.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "f6d4996a4cc989fa409165cf32f250c1", "sha256": "7aff444f4257f761d748a39eb21e2142ba932deae561582470c25463aaa7a323" }, "downloads": -1, "filename": "ftw.theming-1.6.1.tar.gz", "has_sig": false, "md5_digest": "f6d4996a4cc989fa409165cf32f250c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 595789, "upload_time": "2016-08-08T15:35:22", "url": "https://files.pythonhosted.org/packages/8f/10/fb9dcffa79e8b5be4837e38fd4d3adf3099febc7449976faae451807aedc/ftw.theming-1.6.1.tar.gz" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "ebb9a5b0a392a360577424e3c7cdfba3", "sha256": "682ad587608042b1e711b7cafbb8023197bb063a85aa4d2cda93b7f7bd65c895" }, "downloads": -1, "filename": "ftw.theming-1.7.0.tar.gz", "has_sig": false, "md5_digest": "ebb9a5b0a392a360577424e3c7cdfba3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 596012, "upload_time": "2016-09-22T14:50:18", "url": "https://files.pythonhosted.org/packages/0c/f9/1dcedf6387b975550f4b3c2e79a341e33b8a2173e2057a4edc7b252de39a/ftw.theming-1.7.0.tar.gz" } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "0ca4ec8eb59cde94bd01fae23f78c271", "sha256": "e7f55b151ddfbba682074721a435e3bb100cf44e8c0c47eb59edcac19e769436" }, "downloads": -1, "filename": "ftw.theming-1.7.1.tar.gz", "has_sig": false, "md5_digest": "0ca4ec8eb59cde94bd01fae23f78c271", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 596214, "upload_time": "2016-09-26T16:44:00", "url": "https://files.pythonhosted.org/packages/31/b7/ce235692701622dcce3186a591269a2f459b78d6d1741aa141727c866d0f/ftw.theming-1.7.1.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "f9133856b5ced573d6dd23f848afa107", "sha256": "53f9c9880c05bdf4bce222beca20006147b61930149d229b6c43417e7ee65439" }, "downloads": -1, "filename": "ftw.theming-1.8.0.tar.gz", "has_sig": false, "md5_digest": "f9133856b5ced573d6dd23f848afa107", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 596427, "upload_time": "2016-10-06T11:40:49", "url": "https://files.pythonhosted.org/packages/2d/36/79c46c42dbb9ac36145de9814f8698256cbe1ea4bc12694b32200bd0f313/ftw.theming-1.8.0.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "8f49058b40adcd9ba56de9451b6ee0c7", "sha256": "a978d2fd78263c93dff70936ff139a0ee5647a6e82443470a2b40ce8e5c784ec" }, "downloads": -1, "filename": "ftw.theming-1.8.1.tar.gz", "has_sig": false, "md5_digest": "8f49058b40adcd9ba56de9451b6ee0c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 597201, "upload_time": "2017-01-11T10:26:41", "url": "https://files.pythonhosted.org/packages/ec/3e/0e1e200749f5348f4729a6fba479ab7431cfe0e060ad92402e7d5de4e5bd/ftw.theming-1.8.1.tar.gz" } ], "1.8.2": [ { "comment_text": "", "digests": { "md5": "4cbf313c31a76806b30b98a2252f0ef1", "sha256": "f111811acac10235668828337c1c519a79c7d69f0117d3dda62fa0cc0c70109f" }, "downloads": -1, "filename": "ftw.theming-1.8.2.tar.gz", "has_sig": false, "md5_digest": "4cbf313c31a76806b30b98a2252f0ef1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 597277, "upload_time": "2017-01-11T10:32:50", "url": "https://files.pythonhosted.org/packages/41/d1/927b4ec879aa0c83ad4a7edb7ff4055a28ca1e870c18924da7ee402cdaa7/ftw.theming-1.8.2.tar.gz" } ], "1.9.0": [ { "comment_text": "", "digests": { "md5": "d82f7bfdb3f612ba78e9f0eb524d09e0", "sha256": "91e52ab0fed81957e48c97fdef0f2a8d7fcae75fa65f5d9e00196a59b9822fa0" }, "downloads": -1, "filename": "ftw.theming-1.9.0.tar.gz", "has_sig": false, "md5_digest": "d82f7bfdb3f612ba78e9f0eb524d09e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 714718, "upload_time": "2017-02-09T16:34:33", "url": "https://files.pythonhosted.org/packages/c2/b8/4176eec3d4e227053c31eefc0f6de73b49b54a7959182e735af46db5a830/ftw.theming-1.9.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "012e1a3117f13a9710e14794d45ff62b", "sha256": "f20a77ef45cdebf0cbac18a946102408b6c055a13e116c66efe869b0fd2a1cb2" }, "downloads": -1, "filename": "ftw.theming-2.0.0.tar.gz", "has_sig": false, "md5_digest": "012e1a3117f13a9710e14794d45ff62b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 716710, "upload_time": "2018-01-17T08:12:54", "url": "https://files.pythonhosted.org/packages/26/62/b29a6a0523d8674fb51df9e9800de1a149ba27576041f21eef787efcea73/ftw.theming-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "c291cd37e06269492829df9948ff59d3", "sha256": "ed0644482111e33345ba2c259acb05021052111e3fee6b737bac16aef7f048ef" }, "downloads": -1, "filename": "ftw.theming-2.0.1.tar.gz", "has_sig": false, "md5_digest": "c291cd37e06269492829df9948ff59d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 723177, "upload_time": "2019-01-17T08:17:27", "url": "https://files.pythonhosted.org/packages/8e/31/234ee7374c4c9a0a549eeb003e7a7f99b1aed0df6f7cf36a1110d175592e/ftw.theming-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "13dd5f0d6f82a84534118529a1c0e4bc", "sha256": "ad586256953db08cd4ac309aeb760ad5d8bc3872ea97d24cbc87bb682b7a29b8" }, "downloads": -1, "filename": "ftw.theming-2.0.2.tar.gz", "has_sig": false, "md5_digest": "13dd5f0d6f82a84534118529a1c0e4bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 723398, "upload_time": "2019-03-19T16:08:59", "url": "https://files.pythonhosted.org/packages/04/ef/80376570b59dd967bdc44dbe3cf26a8be2cd63e774b652be4e19bb5377ad/ftw.theming-2.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "13dd5f0d6f82a84534118529a1c0e4bc", "sha256": "ad586256953db08cd4ac309aeb760ad5d8bc3872ea97d24cbc87bb682b7a29b8" }, "downloads": -1, "filename": "ftw.theming-2.0.2.tar.gz", "has_sig": false, "md5_digest": "13dd5f0d6f82a84534118529a1c0e4bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 723398, "upload_time": "2019-03-19T16:08:59", "url": "https://files.pythonhosted.org/packages/04/ef/80376570b59dd967bdc44dbe3cf26a8be2cd63e774b652be4e19bb5377ad/ftw.theming-2.0.2.tar.gz" } ] }