{"id":26663205,"url":"https://github.com/startpolymer/startpolymer.org","last_synced_at":"2025-08-24T19:25:38.966Z","repository":{"id":74217907,"uuid":"41475926","full_name":"StartPolymer/startpolymer.org","owner":"StartPolymer","description":null,"archived":false,"fork":false,"pushed_at":"2016-01-13T19:59:43.000Z","size":802,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T14:21:20.795Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StartPolymer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-27T08:50:25.000Z","updated_at":"2016-07-17T19:23:21.000Z","dependencies_parsed_at":"2023-03-17T21:45:17.855Z","dependency_job_id":null,"html_url":"https://github.com/StartPolymer/startpolymer.org","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/StartPolymer/startpolymer.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StartPolymer%2Fstartpolymer.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StartPolymer%2Fstartpolymer.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StartPolymer%2Fstartpolymer.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StartPolymer%2Fstartpolymer.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StartPolymer","download_url":"https://codeload.github.com/StartPolymer/startpolymer.org/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StartPolymer%2Fstartpolymer.org/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271931130,"owners_count":24845567,"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","status":"online","status_checked_at":"2025-08-24T02:00:11.135Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-03-25T14:20:38.206Z","updated_at":"2025-08-24T19:25:38.926Z","avatar_url":"https://github.com/StartPolymer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Start Polymer](https://avatars0.githubusercontent.com/u/10231285?v=3\u0026s=200)\n\n# Polymer Starter Kit Plus\n\n[![PageSpeed 97/100](https://img.shields.io/badge/PageSpeed-97%20/%20100-brightgreen.svg)](https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fpolymer-starter-kit-plus.appspot.com\u0026tab=desktop)\n[![GTmetrix 99%](https://img.shields.io/badge/GTmetrix-99%-brightgreen.svg)](https://gtmetrix.com/reports/polymer-starter-kit-plus.appspot.com/KL895CNj)\n[![bitHound Code](https://www.bithound.io/github/StartPolymer/polymer-starter-kit-plus/badges/code.svg)](https://www.bithound.io/github/StartPolymer/polymer-starter-kit-plus)\n[![Google+ Start Polymer](https://img.shields.io/badge/Google+-Start%20Polymer-dd4b39.svg)](https://plus.google.com/101148544618948882647)\n\n\u003e A starting point for building [Single-Page Applications](https://en.wikipedia.org/wiki/Single-page_application) with Polymer 1.x\n\n\u003e App template for [Static Web Applications](http://www.staticapps.org) - [Static app use case](https://divshot.com/blog/guest/how-static-apps-are-changing-startups/)\n\n\u003e Polymer Starter Kit Plus is keeping up to date with\n[Polymer Starter Kit](https://github.com/PolymerElements/polymer-starter-kit) and following  \n[The 10 Commandments of Modern Web Application](https://gist.github.com/JosefJezek/8020bd8f02c4992e7d7d)\n\n## Demo\n\nSee latest Polymer Starter Kit Plus Demo (from master) at https://polymer-starter-kit-plus.appspot.com\n\nThe demo is running on Google App Engine with [HTTP 2.0 Push](https://github.com/GoogleChrome/http2push-gae)\n\n## :sparkles: Features :sparkles:\n\n- Progressive Web App template\n - [Building Progressive Web Apps with Polymer](https://www.youtube.com/watch?v=g7f1Az5fxgU\u0026index=10\u0026list=PLNYkxOF6rcICcHeQY02XLvoGL34rZFWZn)\n - [Getting started with Progressive Web Apps](http://addyosmani.com/blog/getting-started-with-progressive-web-apps/)\n- [Polymer](http://polymer-project.org), [Paper](https://elements.polymer-project.org/browse?package=paper-elements), [Iron](https://elements.polymer-project.org/browse?package=iron-elements), [Neon](https://elements.polymer-project.org/browse?package=neon-elements) and\n[Start](https://github.com/StartPolymer/start-elements) elements\n- Offline setup through [Platinum](https://elements.polymer-project.org/browse?package=platinum-elements) - [Service Worker](http://www.html5rocks.com/en/tutorials/service-worker/introduction/) elements\n- Themes directory with [Default Theme](https://github.com/StartPolymer/polymer-starter-kit-plus/blob/master/app/themes/default-theme)\n- Default Theme following [SUIT CSS](https://suitcss.github.io) - styling methodology for component-based UI development\n - [Material Design Style](https://www.google.com/design/spec/style/color.html)\n - [Custom Fonts list](https://github.com/StartPolymer/polymer-starter-kit-plus/blob/master/app/themes/default-theme/fonts.list)\n for download fonts from [Google Fonts](https://www.google.com/fonts)\n - [Custom Icons element](https://github.com/StartPolymer/polymer-starter-kit-plus/tree/master/app/themes/default-theme/icons.html) for [Material Design Icons](https://materialdesignicons.com)\n - [CSS Variables](https://github.com/StartPolymer/polymer-starter-kit-plus/tree/master/app/themes/default-theme/variables.css) including [Material Design Colors](https://www.google.com/design/spec/style/color.html) - [Material Palette](https://www.materialpalette.com)\n - [JS Variables](https://github.com/StartPolymer/polymer-starter-kit-plus/tree/master/app/themes/default-theme/variables.js) for colors in index.html and manifest.json\n - Light and Dark background mode following Material Design\n - Support more themes is ideal for [A/B testing](https://en.wikipedia.org/wiki/A/B_testing)\n- [Material Design Layout](http://www.google.com/design/spec/layout/principles.html)\n- [PostCSS](https://github.com/postcss/postcss) for transforming styles with JS plugins\n - [Introduction to PostCSS](http://www.smashingmagazine.com/2015/12/introduction-to-postcss/)\n - [PostCSS is 2 times faster](https://github.com/postcss/benchmark) than [libsass](https://github.com/sass/libsass), which is written in C++\n - [Autoprefixer](https://github.com/postcss/autoprefixer) add vendor prefixes to CSS rules using values from [Can I Use](http://caniuse.com)\n - [CSS Custom Media Queries](https://github.com/postcss/postcss-custom-media)\n - [CSS Nesting](https://github.com/jonathantneal/postcss-nesting)\n - [CSS MQPacker](https://github.com/hail2u/node-css-mqpacker) - pack same CSS media query rules into one media query rule\n - [Import](https://github.com/postcss/postcss-import) - transform `@import` rules by inlining content\n - [Simple Variables](https://github.com/postcss/postcss-simple-vars) - Sass-like variables\n - [Stylelint](https://github.com/stylelint/stylelint) - modern CSS linter\n - [SUIT CSS linter](https://github.com/postcss/postcss-bem-linter)\n- [Babel](https://babeljs.io) for support [ES2015 JavaScript](https://babeljs.io/docs/learn-es2015/)\n - [Polymer elements using the ES2015 class syntax](http://www.code-labs.io/codelabs/polymer-es2015/index.html#3)\n- [Nunjucks](https://mozilla.github.io/nunjucks/) templating engine for server-side\n - [Metadata](https://github.com/StartPolymer/polymer-starter-kit-plus/tree/master/app/metadata.js) at one place\n - [Markdown](http://commonmark.org) for [static content](https://github.com/StartPolymer/polymer-starter-kit-plus/tree/master/app/content)\n- Routing with [Page.js](https://visionmedia.github.io/page.js/)\n- [Config file](https://github.com/StartPolymer/polymer-starter-kit-plus/tree/master/config.js)\n- [Gulp tasks](https://github.com/StartPolymer/polymer-starter-kit-plus/tree/master/tasks) per file\n- [PageSpeed Insights](https://developers.google.com/speed/docs/insights/about) for performance tuning\n- Built-in preview server with [BrowserSync](http://www.browsersync.io)\n- [Vulcanize](https://github.com/Polymer/vulcanize) with [Crisper](https://github.com/PolymerLabs/crisper) for [Content Security Policy](https://developer.chrome.com/apps/contentSecurityPolicy) compliance\n- Unit testing with [Web Component Tester](https://github.com/Polymer/web-component-tester)\n- [Google Analytics](http://www.google.com/analytics/) with [offline support](https://elements.polymer-project.org/elements/platinum-sw?active=platinum-sw-offline-analytics)\n- Quick deploy with 3 environments: Development, Staging, Production\n - [Revision](https://github.com/smysnk/gulp-rev-all)\nall files by appending content hash to their names\n - Hosting platforms:\n    - [Firebase](https://www.firebase.com)\n    - [Google App Engine](https://cloud.google.com/appengine/) with [HTTP 2.0 Push](https://github.com/GoogleChrome/http2push-gae#pushing-content-from-a-static-handler)\n    - [Google Cloud Storage](https://cloud.google.com/storage/)\n- [Recipes](/docs/README.md/) for Polymer performance and using Chrome Dev Editor\n\n## Getting Started\n\nTo take advantage of Polymer Starter Kit Plus you need to:\n\n1. Get a copy of the code.\n2. Install the dependencies if you don't already have them.\n3. Modify the application to your liking.\n4. Deploy your production code.\n\n### 1. Get the code\n\n[Download](https://github.com/StartPolymer/polymer-starter-kit-plus/releases/latest) and extract Polymer Starter Kit Plus to where you want to work.\n\nOR `git clone https://github.com/StartPolymer/polymer-starter-kit-plus.git my-project`\n\nOR Install [Start Polymer Generator](https://github.com/StartPolymer/generator-startpolymer#installation) and run it in `my-project` directory\n\n```sh\nyo startpolymer\n```\n\n#### Updating from previous version\n\nIf you've previously downloaded a copy of the full Starter Kit and would like to update to the latest version, here's a git workflow for doing so:\n\n```sh\ngit init\ngit checkout -b master\ngit add .\ngit commit -m 'Check-in 1.0.1'\ngit remote add upstream https://github.com/StartPolymer/polymer-starter-kit-plus.git\ngit fetch upstream\ngit merge upstream/master\n# resolve the merge conflicts in your editor\ngit add . -u\ngit commit -m 'Updated to 1.0.2'\n```\n\n### 2. Install dependencies\n\n#### Quick-start (for experienced users)\n\nWith Node.js installed, run the following one liner from the root of your Polymer Starter Kit Plus download:\n\n```sh\nnpm run install:all\n```\n\n#### Prerequisites (for everyone)\n\nThe full starter kit requires the following major dependencies:\n\n- Node.js, used to run JavaScript tools from the command line.\n- npm, the node package manager, installed with Node.js and used to install Node.js packages.\n- gulp, a Node.js-based build tool.\n- bower, a Node.js-based package manager used to install front-end packages (like Polymer).\n\n**To install dependencies:**\n\n1)  Check your Node.js version.\n\n```sh\nnode --version\n```\n\nThe version should be at or above 5.x. [Installing Node.js via package manager](https://nodejs.org/en/download/package-manager/)\n\n2)  If you don't have Node.js installed, or you have a lower version, go to [nodejs.org](https://nodejs.org) and click on the big green Install button.\n\n3)  Install `gulp` and `bower` globally.\n\n```sh\nnpm install -g gulp bower\n```\n\nThis lets you run `gulp` and `bower` from the command line.\n\n4)  Install the starter kit's local `npm` and `bower` dependencies.\n\n```sh\ncd polymer-starter-kit-plus \u0026\u0026 npm install \u0026\u0026 bower install\n```\n\nThis installs the element sets (Paper, Iron, Platinum) and tools the starter kit requires to build and serve apps.\n\n### 3. Development workflow\n\n#### Check out the variables\n\n- Gulp variables -  [config.js](https://github.com/StartPolymer/polymer-starter-kit-plus/blob/master/config.js)\n- Theme variables -  [variables.css](https://github.com/StartPolymer/polymer-starter-kit-plus/blob/master/app/themes/default-theme/variables.css) and [variables.js](https://github.com/StartPolymer/polymer-starter-kit-plus/blob/master/app/themes/default-theme/variables.js)\n- HTML metadata -  [metadata.js](https://github.com/StartPolymer/polymer-starter-kit-plus/blob/master/app/metadata.js)\n\n#### Initializing your app\n\n```sh\ngulp init\n```\n\nInit task run [download:analytics task](https://github.com/StartPolymer/polymer-starter-kit-plus#download-newest-script-analyticsjs)\nand [download:fonts task](https://github.com/StartPolymer/polymer-starter-kit-plus#download-google-fonts)\n\n#### Serve / watch\n\n```sh\ngulp serve\n```\n\nThis outputs an IP address you can use to locally test and another that can be used on devices connected to your network.\n\n#### Build and serve the output from the dist build\n\n```sh\ngulp serve:dist\ngulp serve:gae\n```\n\n#### Run tests\n\n```sh\ngulp test:local\n```\n\nThis runs the unit tests defined in the `app/test` directory through [web-component-tester](https://github.com/Polymer/web-component-tester).\n\nTo run tests Java 7 or higher is required. To update Java go to http://www.oracle.com/technetwork/java/javase/downloads/index.html and download ***JDK*** and install it.\n\n#### Build \u0026 Vulcanize\n\n```sh\ngulp\n```\n\nBuild and optimize the current project, ready for deployment. This includes linting as well as vulcanization, image, script, stylesheet and HTML optimization and minification.\n\n### 4. Deploy app :tada:\n\n- For GAE or GCS [install Google Cloud SDK](https://developers.google.com/cloud/sdk/#Quick_Start)\n- For Firebase [install Firebase command line tools](https://www.firebase.com/docs/hosting/command-line-tool.html)\n\n#### Deploy to development environment\n\n```sh\ngulp deploy:dev\n```\n\n#### Deploy to staging environment\n\n```sh\ngulp deploy:stag\n```\n\n#### Deploy to production environment\n\n```sh\ngulp deploy:prod\n```\n\n#### Promote the staging version to the production environment\n\n```sh\ngulp deploy:promote\n```\n\n## Tools\n\n### Download newest script analytics.js\n\nYou need download newest script analytics.js from Google, because link https://www.google-analytics.com/analytics.js has set only 2 hours cache.\nHere is [analytics.js changelog](https://developers.google.com/analytics/devguides/collection/analyticsjs/changelog).\nLocal copy of this script is for better load page performance.\n\n```sh\ngulp download:analytics\n```\n\n### Download Google Fonts\n\nDownload Google Fonts for load page performance and offline using.\nFonts list for download is in file [fonts.list](https://github.com/StartPolymer/polymer-starter-kit-plus/blob/master/fonts.list).\n\n```sh\ngulp download:fonts\n```\n\n### PageSpeed Insights\n\n```sh\ngulp pagespeed\n```\n\n## Service Worker\n\nPolymer Starter Kit Plus offers an offline experience thanks to Service Worker and the [Platinum Service Worker elements](https://github.com/PolymerElements/platinum-sw). New to Service Worker? Read the following [introduction](https://github.com/PolymerElements/polymer-starter-kit#service-worker) to understand how it works.\n\n- http://www.html5rocks.com/en/tutorials/service-worker/introduction/\n- [chrome://inspect/#service-workers](chrome://inspect/#service-workers)\n- [chrome://serviceworker-internals](chrome://serviceworker-internals)\n\n## Unit Testing\n\nWeb apps built with Polymer Starter Kit come configured with support for [Web Component Tester](https://github.com/Polymer/web-component-tester) - Polymer's preferred tool for authoring and running unit tests. This makes testing your element based applications a pleasant experience.\n\n[Read more](https://github.com/Polymer/web-component-tester#html-suites) about using Web Component tester.\n\n## Extending\n\nUse a [recipes](https://github.com/yeoman/generator-gulp-webapp/blob/master/docs/recipes/README.md)\nor [recipes](https://github.com/gulpjs/gulp/tree/master/docs/recipes)\nfor integrating other popular technologies like CoffeeScript or Jade.\n\n## Licensing\n\nLike other Google projects, Polymer Starter Kit includes Google license headers at the top of several of our source files. Google's open-source licensing requires that this header be kept in place (sorry!), however we acknowledge that you may need to add your own licensing to files you modify. This can be done by appending your own extensions to these headers.\n\n## Contributing :+1:\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Make your changes\n4. Run the tests, adding new ones for your own code if necessary\n5. Commit your changes (`git commit -am 'Added some feature'`)\n6. Push to the branch (`git push origin my-new-feature`)\n7. Create new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstartpolymer%2Fstartpolymer.org","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstartpolymer%2Fstartpolymer.org","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstartpolymer%2Fstartpolymer.org/lists"}