{"id":19522152,"url":"https://github.com/captaincodeman/app-metadata","last_synced_at":"2025-08-31T12:05:28.212Z","repository":{"id":42421295,"uuid":"62171819","full_name":"CaptainCodeman/app-metadata","owner":"CaptainCodeman","description":"Manage page meta tags for SEO","archived":false,"fork":false,"pushed_at":"2018-09-19T18:27:58.000Z","size":2607,"stargazers_count":31,"open_issues_count":2,"forks_count":6,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-04-12T06:35:22.917Z","etag":null,"topics":["meta","meta-tags","metadata","polymer","seo","webcomponents"],"latest_commit_sha":null,"homepage":"http://captaincodeman.github.io/app-metadata/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CaptainCodeman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-28T20:26:04.000Z","updated_at":"2024-06-29T15:56:57.000Z","dependencies_parsed_at":"2022-08-30T16:11:16.072Z","dependency_job_id":null,"html_url":"https://github.com/CaptainCodeman/app-metadata","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainCodeman%2Fapp-metadata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainCodeman%2Fapp-metadata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainCodeman%2Fapp-metadata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainCodeman%2Fapp-metadata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CaptainCodeman","download_url":"https://codeload.github.com/CaptainCodeman/app-metadata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250967210,"owners_count":21515562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["meta","meta-tags","metadata","polymer","seo","webcomponents"],"created_at":"2024-11-11T00:37:24.908Z","updated_at":"2025-04-26T09:32:04.630Z","avatar_url":"https://github.com/CaptainCodeman.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Published on Vaadin  Directory](https://img.shields.io/badge/Vaadin%20Directory-published-00b4f0.svg)](https://vaadin.com/directory/component/CaptainCodemanapp-metadata)\n[![Stars on vaadin.com/directory](https://img.shields.io/vaadin-directory/star/CaptainCodemanapp-metadata.svg)](https://vaadin.com/directory/component/CaptainCodemanapp-metadata)\n\n_[Demo and API docs](http://captaincodeman.github.io/app-metadata/)_\n\n##\u0026lt;app-metadata\u0026gt;\n\n`app-metadata` is a singleton element used to manage page meta-data for Search Engine Optimization (SEO).\nIt will add and remove `\u003cmeta\u003e` elements to the page `\u003chead\u003e` section based on the JSON object passed\nto it.\n\nIn order to make use of the meta data manager, it is best to request it's availability in the app element.\n\nExample:\n\n    Polymer({\n      is: 'my-app',\n      attached: function() {\n        // this will create the singleton element if it has not been created yet\n        Polymer.AppMetadata.requestAvailability();\n      }\n    });\n\nAfter the `app-metadata` has been made available, elements can update the meta by firing bubbling `app-metadata`\nevents.\n\nExample:\n\n    this.fire('app-metadata', {\n      title: 'This is the page title',\n      description: 'This is the page description',\n      keywords: 'these,are,keywords'\n    });\n\nAlternatively, create an instance of the `app-metadata` element and set it's `data` property.\n\nExample:\n\n    var meta = document.createElement('app-metadata');\n    meta.data = {\n      title: 'This is the page title',\n      description: 'This is the page description',\n      keywords: 'these,are,keywords'\n    };\n\n##Demonstration\n\nTo demonstrate this approach does work I've created a very [simple test site](http://app-metadata.appspot.com/)\nusing the polymer-cli and added some content with the meta html headers set for each view using this `\u003capp-metadata\u003e` element.\n\nHere's the meta data set for the main view:\n\n    this.fire('app-metadata', {\n        title: 'Why use Agile Project Management?',\n        description: 'How Agile Project Management Methodologies help compared to the old Waterfall approach to Project Management',\n        keywords: 'scrum, scrum master, agile, training, certification, professional, certified, CSM, PSM'\n    });\n\nThis view has been successfully indexed by Google and [appears correctly in the search results](https://www.google.ca/search#q=site%3Aapp-metadata.appspot.com):\n\n![Example](https://cloud.githubusercontent.com/assets/304910/16563503/be298c16-41bf-11e6-8ac8-fdc53d4e614d.png)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaptaincodeman%2Fapp-metadata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaptaincodeman%2Fapp-metadata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaptaincodeman%2Fapp-metadata/lists"}