{ "info": { "author": "Neon Jungle", "author_email": "developers@neonjungle.studio", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "================\nwagtail-metadata\n================\n\nThis plugin adds custom properties to your page models and then lets you output meta-attribute tags using the included template tag.\nThese tags help with search engine optimisations and for creating nice shareable links for social media, mainly Facebook and Twitter.\n\n\nCompatibility\n=============\n\nWagtail-metadata works with Wagtail v2.0 and upwards.\n\nInstalling\n==========\n\nFirst, install using pip::\n\n pip install wagtail-metadata\n\nThen add ``wagtailmetadata`` to your project's ``INSTALLED_APPS``:\n\n.. code-block:: python\n\n INSTALLED_APPS = [\n 'home',\n 'search',\n # etc...\n\n 'wagtail.contrib.settings',\n 'wagtail.contrib.modeladmin',\n # etc...\n\n # Add the following:\n 'wagtailmetadata',\n\n ]\n\nUsing\n=====\n\nPages should inherit from ``wagtailmetadata.models.MetadataPageMixin``.\nThis provides a ``search_image`` field in the Wagtail interface for that page type.\nThe description for the page will be pulled from the ``search_description`` page.\nMetadata for the page will then be built from the page details.\n\n\n.. code-block:: python\n\n from wagtail.core.models import Page\n from wagtailmetadata.models import MetadataPageMixin\n\n class ContentPage(MetadataPageMixin, Page):\n pass\n\n.. note::\n\n Ensure you put ``MetadataPageMixin`` before ``Page``.\n\nIf you want to use this with a non-page model,\nor want to use a different implementation for the fields,\nyou can inherit from ``wagtailmetadata.models.MetadataMixin``.\nYou will need to implement the following methods:\n\n.. code-block:: python\n\n from wagtailmetadata.models import MetadataMixin\n\n class CustomObject(MetadataMixin, object):\n\n def get_meta_title(self):\n \"\"\"The title of this object\"\"\"\n return \"My custom object\"\n\n def get_meta_url(self):\n \"\"\"The URL of this object, including protocol and domain\"\"\"\n return \"http://example.com/my-custom-object/\"\n\n def get_meta_description(self):\n \"\"\"\n A short text description of this object.\n This should be plain text, not HTML.\n \"\"\"\n return \"This thing is really cool, you should totally check it out\"\n\n def get_meta_image(self):\n \"\"\"A relevant Wagtail Image to show. Optional.\"\"\"\n return self.some_image\n\n def get_meta_twitter_card_type(self):\n \"\"\"\n What kind of Twitter card to show this as.\n Defaults to ``summary_large_photo`` if there is a meta image,\n or ``summary`` if there is no image. Optional.\n \"\"\"\n return \"summary_large_photo\"\n\n\nDisplay\n=======\n\nDjango\n------\n\nTo use this in a template, first load the template tag library,\nand then insert the metadata by placing ``{% meta_tags %}`` into the ````:\n\n.. code-block:: html+django\n\n {% load wagtailmetadata_tags %}\n {% meta_tags %}\n\nBy default, this will look for a ``self`` object in the context to pull the metadata from.\nYou can specify a different object to use if you need to:\n\n.. code-block:: html+django\n\n {% load wagtailmetadata_tags %}\n {% meta_tags my_custom_object %}\n\nJinja2\n------\n\nAdd ``wagtailmetadata.jinja2tags.WagtailMetadataExtension`` to the template extensions\nin your ``settings.py``:\n\n.. code-block:: python\n\n TEMPLATES = [\n {\n 'BACKEND': 'django.template.backends.jinja2.Jinja2',\n 'OPTIONS': {\n 'extensions': [\n 'wagtailmetadata.jinja2tags.WagtailMetadataExtension'\n ],\n },\n }\n ]\n\nInsert the metadata by placing ``{{ meta_tags() }}`` into the ````:\n\n.. code-block:: html\n\n {{ meta_tags() }}\n\nBy default, this will look for a ``page`` object in the context to pull the metadata from.\nYou can specify a different object to use if you need to:\n\n.. code-block:: html\n\n {{ meta_tags(my_custom_object) }}\n\n\nTroubleshooting\n===============\n\n`'meta_tags' missing request from context`\n\nThe template that is trying to render the `meta_tags` tag does not have a `request` object in the context. \n\n`'meta_tags' tag is missing a model or object`\n\nThere was no model passed to the template tag, or `self` is not found in the current context.\n\n\nAdding extra tags\n=================\n\nIf you need to add extra meta tags, to add the twitter:site tag for example,\nyou can extend the Wagtail Metadata template.\nFirst, create any models that you might need to hold the extra data:\n\n.. code-block:: python\n\n from wagtail.contrib.settings.models import BaseSetting, register_setting\n\n @register_setting\n class TwitterName(BaseSetting):\n handle = models.CharField(max_length=20)\n\nYou could also add extra fields to a page model and output them as meta tags:\n\n.. code-block:: python\n\n class MyPage(MetadataPageMixin, Page):\n body = RichTextField()\n author_twitter_handle = models.CharField(max_length=20)\n\nThen, override the ``wagtailmetadata/parts/tags.html`` template\nand add your tags to the relevant blocks:\n\n.. code-block:: html\n\n {% extends \"wagtailmetadata/parts/tags.html\" %}\n\n {% block twitter %}\n {{ block.super }}\n \n \n {% endblock %}\n\nThe ``wagtailmetadata/parts/tags.html`` template defines the following blocks\nyou can override or extend:\n\n``{% block tags %}``\n This block surrounds the whole template.\n You can override this block to append extra tags before or after the standard tags.\n\n``{% block twitter %}``\n This block surrounds the Twitter card tags.\n\n``{% block opengraph %}``\n This block surrounds the Open Graph tags\n\n``{% block meta %}``\n This block surrounds the standard meta tags defined in HTML.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/neon-jungle/wagtail-metadata", "keywords": "", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "wagtail-metadata", "package_url": "https://pypi.org/project/wagtail-metadata/", "platform": "", "project_url": "https://pypi.org/project/wagtail-metadata/", "project_urls": { "Homepage": "https://github.com/neon-jungle/wagtail-metadata" }, "release_url": "https://pypi.org/project/wagtail-metadata/3.0.0/", "requires_dist": [ "wagtail (~=2.0)" ], "requires_python": ">=3", "summary": "A tool to assist with metadata for social media.", "version": "3.0.0" }, "last_serial": 5920981, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "52bfdbf193bddc2fbd1e2c3a98e88b29", "sha256": "488296fab8cdecf66be35344aa67a7e561f7b213a604145694fddb5349dfcce1" }, "downloads": -1, "filename": "wagtail-metadata-0.1.0.tar.gz", "has_sig": false, "md5_digest": "52bfdbf193bddc2fbd1e2c3a98e88b29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6199, "upload_time": "2016-02-15T04:30:09", "url": "https://files.pythonhosted.org/packages/5f/11/cc49a8b9962619bbadd7d668e0c7738f66dc73768984a4ac30dce676a382/wagtail-metadata-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9ae63731fd10c3c185fe970e31fe7767", "sha256": "b54038b976a5031b886402c38452828b8956b4e9057ba24a477aa9f28e03febe" }, "downloads": -1, "filename": "wagtail-metadata-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9ae63731fd10c3c185fe970e31fe7767", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5885, "upload_time": "2016-02-15T04:49:55", "url": "https://files.pythonhosted.org/packages/93/53/80d7a72b6464f257adffd193dbf693c2f0726e8e24fd2a6f52ec270c02a1/wagtail-metadata-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d8c0696749fbe230d22854dd06173350", "sha256": "5379a40fe2e8bec883f929c654e944bc7034dcb6a9d6d9b37c5fbdf3479d49f3" }, "downloads": -1, "filename": "wagtail-metadata-0.1.2.tar.gz", "has_sig": false, "md5_digest": "d8c0696749fbe230d22854dd06173350", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6000, "upload_time": "2016-04-28T00:31:36", "url": "https://files.pythonhosted.org/packages/f2/61/91878282769c0739640aa30982cd0f59704749dbc67fe6f964d5d8e4095d/wagtail-metadata-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "8b3983a8b46d2db9a56a863834094a6f", "sha256": "b9f22c88d12072a571a977f1b14f8b9a5940378890fc5be6a3c0d568fe90829d" }, "downloads": -1, "filename": "wagtail-metadata-0.1.3.tar.gz", "has_sig": false, "md5_digest": "8b3983a8b46d2db9a56a863834094a6f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6406, "upload_time": "2016-06-07T12:26:16", "url": "https://files.pythonhosted.org/packages/ab/9a/b44b723c7240b534d81950410c6fca567dc4c8072f9558b17c66cefc6c4b/wagtail-metadata-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "44e2d019e816642967b5a76a081c210f", "sha256": "319e4b918d342d963ecab012acb3436373a0873600f32923b07bbb15ec2146de" }, "downloads": -1, "filename": "wagtail-metadata-0.1.4.tar.gz", "has_sig": false, "md5_digest": "44e2d019e816642967b5a76a081c210f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7464, "upload_time": "2016-09-09T00:23:49", "url": "https://files.pythonhosted.org/packages/79/70/ccb0de30416542efc05fc10b5d035c2da8b31fb1b8a08d477cdddf7c0b39/wagtail-metadata-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "3110012db0c4d97df3e8a2523dc9e007", "sha256": "9a3dbfc8675c674a1eac65080c608677c2073c2506f208816ce60c7b9777df70" }, "downloads": -1, "filename": "wagtail-metadata-0.2.0.tar.gz", "has_sig": false, "md5_digest": "3110012db0c4d97df3e8a2523dc9e007", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9332, "upload_time": "2016-09-28T04:54:39", "url": "https://files.pythonhosted.org/packages/de/4f/02ac967bac1cbfb6397f01d4d15e10a5434264e08f6d786838cac3c83e08/wagtail-metadata-0.2.0.tar.gz" } ], "0.2.1": [], "0.2.2": [ { "comment_text": "", "digests": { "md5": "91722969caa21655a3dcc0a35fca446f", "sha256": "98ae7700b66d4f14a32a8599268d4fd5ef06d967ef0f699b6f4e7af5ca2ffc50" }, "downloads": -1, "filename": "wagtail-metadata-0.2.2.tar.gz", "has_sig": false, "md5_digest": "91722969caa21655a3dcc0a35fca446f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10391, "upload_time": "2016-10-13T01:16:58", "url": "https://files.pythonhosted.org/packages/70/b3/cb22fb88c09da809c3342fd783badae110622bb637c827621199841b93fb/wagtail-metadata-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "c8e49fb77373b1e886c89da396ef045f", "sha256": "4cef27fae71811d489c1e03ca7b5ceaf4e987717fb1fae6be5f3f4a29982acb4" }, "downloads": -1, "filename": "wagtail_metadata-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c8e49fb77373b1e886c89da396ef045f", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 15671, "upload_time": "2016-10-19T05:51:18", "url": "https://files.pythonhosted.org/packages/b9/1b/378135a2fa6fe4ab12dbba9bfd4cd796e3ebf8aa8e247f5a625d6b8e7dd9/wagtail_metadata-0.3.0-py2.py3-none-any.whl" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "31f4210a06d5ab30e6bdf62486fe0fd4", "sha256": "5e5296d8892ffcdf8e125d941197954df99711f6685b8a0784d71f282b832453" }, "downloads": -1, "filename": "wagtail_metadata-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "31f4210a06d5ab30e6bdf62486fe0fd4", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 10899, "upload_time": "2017-02-22T04:19:06", "url": "https://files.pythonhosted.org/packages/93/0b/543036f24a21f10c1f12a82dbfae2e9dd328cf316f2dba847c823e9ca36e/wagtail_metadata-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3df9198dd2d8ad72087d93cdba7a2765", "sha256": "49d14ebdb5f950bf9f03d9898e9482bb9d1186ffbc82ae1d7a51dced8b786a8a" }, "downloads": -1, "filename": "wagtail-metadata-0.3.1.tar.gz", "has_sig": false, "md5_digest": "3df9198dd2d8ad72087d93cdba7a2765", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6227, "upload_time": "2017-02-22T04:19:02", "url": "https://files.pythonhosted.org/packages/5c/32/d9419a48bc2b9bfa0a791522f40025e99c735d05b643a159d6b049de1e02/wagtail-metadata-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "89baf3a3319f3636e9af01c3402e7202", "sha256": "81f490b0fc018b6c6b7a2fa3decc8011788ae18b71772c8f38869d2ea2737863" }, "downloads": -1, "filename": "wagtail-metadata-0.3.2.tar.gz", "has_sig": false, "md5_digest": "89baf3a3319f3636e9af01c3402e7202", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10575, "upload_time": "2018-01-29T03:40:45", "url": "https://files.pythonhosted.org/packages/5e/b3/0f6db2cce1b274081c594629a49b3bf92850027b0bdf4113782301e76196/wagtail-metadata-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "4c12d9938e727bcbeba3e6c70a825e45", "sha256": "92b421352eac99349323c2e8070296507b0704636068376813b9f476447193ba" }, "downloads": -1, "filename": "wagtail_metadata-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4c12d9938e727bcbeba3e6c70a825e45", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13408, "upload_time": "2018-02-05T01:15:57", "url": "https://files.pythonhosted.org/packages/6c/73/66da85ebadc65973c918541a6dd08e03c1127777fc153c018f84107b3724/wagtail_metadata-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd4b7144c071a676fa5697da2e5e4e49", "sha256": "a34a82f8a2a65be33bb54c9d601d62e01fd587bc50a025fe6f564ea99da40f37" }, "downloads": -1, "filename": "wagtail-metadata-0.4.0.tar.gz", "has_sig": false, "md5_digest": "bd4b7144c071a676fa5697da2e5e4e49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9119, "upload_time": "2018-02-05T01:15:59", "url": "https://files.pythonhosted.org/packages/5c/7b/56137debf64957808933ac0d482d958cceb6ae08390b5152d6033cedbc90/wagtail-metadata-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "ae7b7f8fc350c2d862c562397213c4ad", "sha256": "d67b11985dc2d159fbe142329e6161990e0b7adba57b801d739437bf3da7aee5" }, "downloads": -1, "filename": "wagtail_metadata-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae7b7f8fc350c2d862c562397213c4ad", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13414, "upload_time": "2018-02-05T01:32:11", "url": "https://files.pythonhosted.org/packages/41/d9/123060109fdc022d9ead6ac89caae034469a5ffea6e4e82ab5c09818f4a0/wagtail_metadata-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10a24d868be683dca09579cf23be75ce", "sha256": "7d077d6cd696dabdfd692ae82f17ea87ab53148bfd45cc7900b639e41eb2863e" }, "downloads": -1, "filename": "wagtail-metadata-0.4.1.tar.gz", "has_sig": false, "md5_digest": "10a24d868be683dca09579cf23be75ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9127, "upload_time": "2018-02-05T01:32:13", "url": "https://files.pythonhosted.org/packages/82/d1/e8eb9a595e078e5efe0f0815a9cd3f464a8c26ff6b05a57f77c82bcbb3c4/wagtail-metadata-0.4.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "f433f3f9d4165b736cd0e2d9731205b8", "sha256": "538b8b1be09f5cb9fb624ddd841bf7a1603fcbfd17e2e2482879211198c8c1c9" }, "downloads": -1, "filename": "wagtail_metadata-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f433f3f9d4165b736cd0e2d9731205b8", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13273, "upload_time": "2018-02-28T23:38:59", "url": "https://files.pythonhosted.org/packages/20/33/77b9c80b9307053763740f4b899c0135c225aac05c0ff7e60f910b5290f3/wagtail_metadata-2.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "59b218a39adfaf71cf8b3a292eba5e84", "sha256": "b18e1615fe1e67e871f736686a84a972ef2dc3cf4f085cc44612a416f0ba6970" }, "downloads": -1, "filename": "wagtail-metadata-2.0.0.tar.gz", "has_sig": false, "md5_digest": "59b218a39adfaf71cf8b3a292eba5e84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11578, "upload_time": "2018-02-28T23:38:55", "url": "https://files.pythonhosted.org/packages/c7/5a/65e85caddebf3cd50ff1fa452aa00ee2f2b7893c7a9e032bf36806b2721d/wagtail-metadata-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "fd9e29863dcec071e67bf7c615d206e7", "sha256": "1b710fcd6c96f2405db0d9f12ea3055a4532f3e4a43bcb2793700cde714841f1" }, "downloads": -1, "filename": "wagtail_metadata-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fd9e29863dcec071e67bf7c615d206e7", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 13325, "upload_time": "2018-10-03T04:20:35", "url": "https://files.pythonhosted.org/packages/c8/6c/a5e635a71a680b6bad34d32b6557ce6c0b4f46a72823ec76e8d8e08a1fac/wagtail_metadata-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4bf54fd7e454ce05f00d3a586def0193", "sha256": "e3ef0776d3a429239dce4d164ac40c779f5d8ac958c630e0ab7442c25c54692e" }, "downloads": -1, "filename": "wagtail-metadata-2.0.1.tar.gz", "has_sig": false, "md5_digest": "4bf54fd7e454ce05f00d3a586def0193", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11632, "upload_time": "2018-10-03T04:20:32", "url": "https://files.pythonhosted.org/packages/1a/71/d7a3dcd44f45068b0b95ecae29869fbedf95a704778269f63c26b0f2a395/wagtail-metadata-2.0.1.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "c08095d1afe9ea26164cf074be12ce48", "sha256": "621773909a62767efcf012f4099ae1d45727cf9a681cae91f11a9a8d9526dea9" }, "downloads": -1, "filename": "wagtail_metadata-3.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c08095d1afe9ea26164cf074be12ce48", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 11908, "upload_time": "2019-10-02T23:04:27", "url": "https://files.pythonhosted.org/packages/9d/1b/e00792e0fba2774674366ca3dbf6d9de25260d5b12aeee11354b6cb80d80/wagtail_metadata-3.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d092833210d46343d9370becf0517587", "sha256": "9fab09c6955f4adf169175c4be3886f1bddc3527c966aa13e3788f869ee5fcac" }, "downloads": -1, "filename": "wagtail-metadata-3.0.0.tar.gz", "has_sig": false, "md5_digest": "d092833210d46343d9370becf0517587", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 12601, "upload_time": "2019-10-02T23:04:30", "url": "https://files.pythonhosted.org/packages/01/4c/d2fea1af39265872a8ba4f34965c20bc24c51ee9c39b38e2dea80d1d0e9b/wagtail-metadata-3.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c08095d1afe9ea26164cf074be12ce48", "sha256": "621773909a62767efcf012f4099ae1d45727cf9a681cae91f11a9a8d9526dea9" }, "downloads": -1, "filename": "wagtail_metadata-3.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c08095d1afe9ea26164cf074be12ce48", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 11908, "upload_time": "2019-10-02T23:04:27", "url": "https://files.pythonhosted.org/packages/9d/1b/e00792e0fba2774674366ca3dbf6d9de25260d5b12aeee11354b6cb80d80/wagtail_metadata-3.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d092833210d46343d9370becf0517587", "sha256": "9fab09c6955f4adf169175c4be3886f1bddc3527c966aa13e3788f869ee5fcac" }, "downloads": -1, "filename": "wagtail-metadata-3.0.0.tar.gz", "has_sig": false, "md5_digest": "d092833210d46343d9370becf0517587", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 12601, "upload_time": "2019-10-02T23:04:30", "url": "https://files.pythonhosted.org/packages/01/4c/d2fea1af39265872a8ba4f34965c20bc24c51ee9c39b38e2dea80d1d0e9b/wagtail-metadata-3.0.0.tar.gz" } ] }