diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..6d70bf8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+node_modules
+content-gen.js
diff --git a/.travis.yml b/.travis.yml
index 07d33ac..0414da9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,17 +3,15 @@ node_js:
- '6'
cache:
directories:
- - node_modules
+ - node_modules
before_install:
-- openssl aes-256-cbc -K $encrypted_b0dab8baefe0_key -iv $encrypted_b0dab8baefe0_iv
- -in client-secret.json.enc -out client-secret.json -d
-before_deploy:
- - node gen.js
+- 'if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then openssl aes-256-cbc -K $encrypted_5ae6bda58156_key -iv $encrypted_5ae6bda58156_iv
+ -in client-secret.json.enc -out client-secret.json -d; fi'
+script:
+- node gen.js
deploy:
provider: gae
skip_cleanup: true
keyfile: client-secret.json
project: web-components-resources
- config: app.yaml
- version: 1
default: true
diff --git a/README.md b/README.md
index 9cf6014..c4f19f5 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
# Adding or modifying content
1. Decide what the content type is:
- * Evergreen pages such as Polyfills, Specifications should me modified in [/static]
+ * Evergreen pages such as Polyfills, Specifications should be modified in [/static]
* Posts such as articles/podcasts/presentations should be added to [/documents]
1. Send a PR with the changes.
1. Done! Once it's merged, the site will update with the latest content.
diff --git a/app.js b/app.js
index 892b043..abe9666 100644
--- a/app.js
+++ b/app.js
@@ -60,7 +60,7 @@ app.get('/content/*', function(request, response) {
// Return full author metadata
if (metadata.authors) {
- for (var author of metadata.authors)
+ for (let author of metadata.authors)
Object.assign(author, authors[author.id]);
}
@@ -98,6 +98,24 @@ app.get('/resources', function(request, response) {
response.status(200).send(createResult(metadata.all, offset, limit));
});
+app.get('/resources/author/:author', function(request, response) {
+ response.header('Access-Control-Allow-Origin', '*');
+ const offset = parseInt(request.query.offset) || 0;
+ const limit = parseInt(request.query.limit) || 10;
+
+ let filtered = metadata.all.filter(function(item) {
+ if (!item.authors)
+ return false;
+ for (let author of item.authors) {
+ if (author.id == request.params.author)
+ return true;
+ }
+ return false;
+ });
+ response.status(200).send(
+ createResult(filtered, offset, limit));
+});
+
app.get('/resources/:bucket', function(request, response) {
response.header('Access-Control-Allow-Origin', '*');
if (!metadata[request.params.bucket]) {
diff --git a/app.yaml b/app.yaml
index b22edb5..f0ccc6d 100644
--- a/app.yaml
+++ b/app.yaml
@@ -1,2 +1 @@
-runtime: nodejs
-vm: true
+runtime: nodejs8
diff --git a/assets/images/building-a-custom-tag-input-with-skate-js.png b/assets/images/building-a-custom-tag-input-with-skate-js.png
new file mode 100644
index 0000000..b0aa475
Binary files /dev/null and b/assets/images/building-a-custom-tag-input-with-skate-js.png differ
diff --git a/assets/images/custom-elements-interop-angular.png b/assets/images/custom-elements-interop-angular.png
new file mode 100644
index 0000000..a6ec7f0
Binary files /dev/null and b/assets/images/custom-elements-interop-angular.png differ
diff --git a/authors.js b/authors.js
index f7e5197..df413f0 100755
--- a/authors.js
+++ b/authors.js
@@ -11,6 +11,12 @@ module.exports = {
github: "1240073",
twitter: "onishiweb"
},
+ alex_sexton: {
+ name: "Alex Sexton",
+ bio: "Alex is a Front-end Infrastructure at Stripe",
+ github: "96554",
+ twitter: "SlexAxton"
+ },
amal_hussein: {
name: "Amal Hussein",
bio: "Amal Hussein is a software developer in Boston, MA & a panelist on The Web Platform Podcast",
@@ -107,12 +113,31 @@ module.exports = {
gravatar: "f3d812c50181277a75a997270518ee15",
twitter: "findajit"
},
+ btopro: {
+ name: "Bryan Ollendyke",
+ bio: "Bryan is lead of HAX and ELMS: Learning Network at Penn State. ELMS:LN and HAX seek to democratise content production and transform education through advanced authoring tools.",
+ gravatar: "8f21ddd50ee3f5856d9be912e6a5b37d",
+ github: "329735",
+ twitter: "btopro"
+ },
bill_heaton: {
name: "Bill Heaton",
bio: "Bill is a Senior UI Engineer at CrowdStrike who loves to build great applications with Ember.js.",
github: "17178",
twitter: "pixelhandler"
},
+ ben_lesh: {
+ name: "Ben Lesh",
+ bio: "Ben is a Software engineer at Google, a RxJS core team member, and moderndotweb podcast penelist.",
+ github: "1540597",
+ twitter: "BenLesh"
+ },
+ brian_holt: {
+ name: "Brian Holt",
+ bio: "Brian is a staff engineer at LinkedIn and a teacher for Frontend Masters",
+ github: "999523",
+ twitter: "holtbt"
+ },
bruce_lawson: {
name: "Bruce Lawson",
bio: "Bruce is co-author of Introducing HTML5 and Opera employee.",
@@ -293,6 +318,18 @@ module.exports = {
github: "189541",
twitter: "filipearaujo"
},
+ fred_schott: {
+ name: "Fred Schott",
+ bio: "Fred is an Engineer at Google",
+ github: "622227",
+ twitter: "FredKSchott"
+ },
+ gerwin_sturm: {
+ name: "Gerwin Sturm",
+ bio: "Gerwin is a Google Developer Expert from Vienna, Austria.",
+ github: "809528",
+ twitter: "scarygami"
+ },
gil_fink: {
name: "Gil Fink",
bio: "Gil is a web developer and the founder of sparXys",
@@ -311,6 +348,11 @@ module.exports = {
github: "598730",
twitter: "guybedford"
},
+ hector_zarco: {
+ name: "Hector Zarco",
+ github: "1194982",
+ twitter: "zzarcon"
+ },
hidde_de_vries: {
name: "Hidde de Vries",
bio: "Hidde is web designer and developer, experienced with things like responsive web design, front-end development and progressive enhancement.",
@@ -359,6 +401,12 @@ module.exports = {
github: "1749548",
twitter: "jeffposnick"
},
+ jem_young: {
+ name: "Jem Young",
+ bio: "Jem is a Senior Software Engineer at Netflix and a panelist on @FrontendHH",
+ github: "984983",
+ twitter: "JemYoung"
+ },
jen_simmons: {
name: "Jen Simmons",
bio: "Jen is a professional designer and developer in the New York City area. She is host of The Web Ahead Podcast.",
@@ -449,6 +497,12 @@ module.exports = {
github: "2549335",
twitter: "jcmmit"
},
+ justin_willis: {
+ name: "Justin Willis",
+ bio: "Justin is a developer at Ionic",
+ github: "8823093",
+ twitter: "justinwillis96"
+ },
kaelig: {
name: "Kaelig Deloumeau-Prigent",
bio: "Kaelig is a french blogger, author and front-end web developer working in London at FT Labs. Previously, he worked on the responsive sites of the BBC News and the Guardian.",
@@ -467,6 +521,12 @@ module.exports = {
github: "1500684",
twitter: "kentcdodds"
},
+ kenneth_christiansen: {
+ name: "Kenneth Christiansen",
+ bio: "Kenneth is a Web Platform hacker at Intel",
+ github: "1101339",
+ twitter: "kennethrohde"
+ },
kevin_gleason: {
name: "Kevin Gleason",
bio: "Kevin is an Embedded Systems and Internet of Things Intern at Pubnub",
@@ -479,6 +539,18 @@ module.exports = {
github: "1354932",
twitter: "kevinpschaaf"
},
+ kito_mann: {
+ name: "Kito Mann",
+ bio: "Kito is a Principal Consultant at Virtua",
+ github: "3187538",
+ twitter: "kito99"
+ },
+ lars_knudsen: {
+ name: "Lars Knudsen",
+ bio: "Lars is the founder of IT Knows and a web platform and hardware connectivity evangelist",
+ github: "1014678",
+ twitter: "denladeside"
+ },
lea_alcantara: {
name: "Lea Alcantara",
bio: " Lea is a lead designer of Bright Umbrella, designs websites with sass, and hosts the Ctrl+Click Podcast",
@@ -569,6 +641,12 @@ module.exports = {
gravatar: "255122f396049d1c7fb264cfa6ec584c",
twitter: "ModusSchwartz"
},
+ mikeal_rogers: {
+ name: "Mikeal Rogers",
+ bio: "Mikeal is creator of NodeConf and request",
+ github: "579",
+ twitter: "Mikeal"
+ },
monica_dinculescu: {
name: "Monica Dinculescu",
bio: "Monica is a Software Engineer working on Polymer and Chrome for Google",
@@ -635,6 +713,12 @@ module.exports = {
github: "1043291",
twitter: "morewry"
},
+ rachel_white: {
+ name: "Rachel White",
+ bio: "Rachel is a tech evangelist at Microsoft",
+ github: "228230",
+ twitter: "ohhoe"
+ },
raphael_rougeron: {
name: "Raphaël Rougeron",
bio: "Raphael is creator of The Bosonic Project, entrepreneur, and software engineer.",
@@ -653,6 +737,12 @@ module.exports = {
github: "1779253",
twitter: "richcampbell"
},
+ rob_bearman: {
+ name: "Rob Bearman",
+ bio: "Rob is co-founder of Component Kitchen & Elix",
+ github: "1823198",
+ twitter: "robbearman"
+ },
rob_dodson: {
name: "Rob Dodson",
bio: "Rob is a Developer Advocate on the Google Chrome team. He is currently helping to educate developers about web components and Polymer. Though he's originally from the South, these days he divides his time between Mountain View and San Francisco.",
@@ -665,6 +755,18 @@ module.exports = {
gravatar:"e1709218ec4ecc612e5c9a6d5d59e68f",
twitter: "EisenbergEffect"
},
+ ryan_anklam:{
+ name: 'Ryan Anklam',
+ bio: 'Ryan is a Senior UI Engineer at Netflix.',
+ github: '392624',
+ twitter: 'bittersweetryan'
+ },
+ sam_li: {
+ name: "Sam Li",
+ bio: "Sam is a Software Engineer on the Google Chrome team",
+ github: "787668",
+ twitter: "samdotli"
+ },
scott_miles: {
name: "Scott Miles",
bio: "Scott is a Software engineer in the Polymer team. He currently lives in Napa, CA.",
@@ -689,6 +791,12 @@ module.exports = {
github: "36964",
twitter: "theefer"
},
+ stacy_london: {
+ name: "Stacy London",
+ bio: "Stacy is a front-end engineer at Atlassian Bitbucket and a panelist on Frontend Happy Hour podcast",
+ github: "1217129",
+ twitter: "stacylondoner"
+ },
steve_faulkner: {
name: "Steve Faulkner",
bio: "Steve is Principal Accessibility Engineer at Paciello Group and Web Components Accessibility Expert.",
diff --git a/client-secret.json.enc b/client-secret.json.enc
index d6e289c..f0ef137 100644
Binary files a/client-secret.json.enc and b/client-secret.json.enc differ
diff --git a/documents/articles/building-a-custom-tag-input-with-skate-js.html.md b/documents/articles/building-a-custom-tag-input-with-skate-js.html.md
new file mode 100644
index 0000000..aea8cdb
--- /dev/null
+++ b/documents/articles/building-a-custom-tag-input-with-skate-js.html.md
@@ -0,0 +1,13 @@
+---
+title: Building a custom tag input with Skate.js
+authors: [hector_zarco]
+date: 2017-1-4
+original_date: 2017-1-4
+image: building-a-custom-tag-input-with-skate-js.png
+link: https://hackernoon.com/building-a-custom-tag-input-with-skate-js-fbd4cdf744f#.ytkckk3gc
+category: articles
+---
+
+Are you lost trying to build and use Web Components? Skate.js uses the platform and sheds some light on it.
+
+
diff --git a/documents/articles/custom-elements-interop-angular.html.md b/documents/articles/custom-elements-interop-angular.html.md
new file mode 100644
index 0000000..df5daa2
--- /dev/null
+++ b/documents/articles/custom-elements-interop-angular.html.md
@@ -0,0 +1,13 @@
+---
+title: Custom Element Inter-op with Angular 2
+authors: [danny_blue]
+date: 2017-03-16
+original_date: 2016-06-30
+link: https://medium.com/@dee_bloo/custom-element-inter-op-with-angular-2-ed75f013a9ba
+category: articles
+image: custom-elements-interop-angular.png
+---
+
+Learn how to use custom elements in Angular 2
+
+
diff --git a/documents/articles/polymer-in-legacy-production.html.md b/documents/articles/polymer-in-legacy-production.html.md
new file mode 100644
index 0000000..2c3360a
--- /dev/null
+++ b/documents/articles/polymer-in-legacy-production.html.md
@@ -0,0 +1,12 @@
+---
+title: Polymer in Production
+authors: [gerwin_sturm]
+date: 2017-03-16
+original_date: 2017-03-13
+link: https://codingwithgerwin.blogspot.com.au/2017/03/polymer-in-production.html
+category: articles
+---
+
+Gerwin provides insight on how to bring web components & Polymer to a large legacy application.
+
+
diff --git a/documents/articles/universal-web-components.html.md b/documents/articles/universal-web-components.html.md
new file mode 100644
index 0000000..253bdce
--- /dev/null
+++ b/documents/articles/universal-web-components.html.md
@@ -0,0 +1,12 @@
+---
+title: Universal Web Components
+authors: [jordan_last]
+date: 2017-03-13
+original_date: 2017-03-06
+link: https://scotch.io/bar-talk/universal-web-components
+category: articles
+layout: single
+tags: ['Custom Elements']
+---
+
+Applications built from web components can be easy to understand, grow, and refactor, because they are easy to break up into modular and declarative pieces. They work well in the browser, but I believe there is far greater potential as they begin to spill out of the browser, into the desktop, server, and even embedded applications.
diff --git a/documents/articles/web-components-org-update.html.md b/documents/articles/web-components-org-update.html.md
new file mode 100644
index 0000000..5c524b6
--- /dev/null
+++ b/documents/articles/web-components-org-update.html.md
@@ -0,0 +1,54 @@
+---
+title: What's new on webcomponents.org
+authors: [sam_li]
+date: 2017-05-11
+original_date: 2017-05-11
+category: articles
+---
+
+A roundup of what's new in the web components world in the short few months since webcomponents.org has launched.
+
+
+In the short few months since webcomponents.org has launched, we have seen:
+ * almost 900 elements have been added
+ * reached an incredible milestone of 1 million page views each month
+ * a new web components library, [slim.js](https://github.com/eavichay/slim.js)
+ * [Safari 10.1 and iOS Safari 10.3](http://caniuse.com/#feat=custom-elementsv1) shipped Custom Elements v1
+ * stable v1.0.0 release of [webcomponents.js polyfills](https://github.com/webcomponents/webcomponentsjs)
+
+## webcomponents.org changes
+
+### Vanilla custom element support
+Vanilla custom elements using v1 class syntax now supported by documentation generation.
+
+### Polymer 2.0 support
+Polymer 2.0 elements now supported by documentation generation in the same fashion Polymer 1.0 was supported.
+
+### Custom pages
+In addition to your README & automatically generated documentation pages, you can now specify custom pages. You can use custom pages to provide usage guides, contribution guides or documentation. Specify custom pages under the `pages` attribute in your `bower.json`. These pages are markdown pages inside your repository and support inline demos like the README.md.
+
+Sample change:
+```json
+{
+ "pages": {
+ "Contributing guide": "contributing.md",
+ "Usage with Angular": "folder/page.md"
+ }
+}
+```
+
+### Specifying demo files
+Not using Polymer and want full-sized demos? You can now specify a list of demos in your `bower.json` file. Just ensure all necessary dependencies are specified in your `bower.json`.
+
+Sample change:
+```json
+{
+ "demos": {
+ "My simple demo": "path/simple-demo.html",
+ "A complex demo": "my-complex-demo.html"
+ }
+}
+```
+
+### ES2015 (ES6) automatic transpilation
+All demos, including inline demos are now automatically transpiled for browsers that don't support ES2015 syntax.
diff --git a/documents/podcasts/1-history-of-polymer.html.md b/documents/podcasts/1-history-of-polymer.html.md
index 1c52764..f3a7b03 100644
--- a/documents/podcasts/1-history-of-polymer.html.md
+++ b/documents/podcasts/1-history-of-polymer.html.md
@@ -6,7 +6,6 @@ date: 2015-05-28
original_date: 2015-05-28
link: "http://www.stitcher.com/podcast/polymer-podcasst/polymer-podcast/e/history-of-polymer-38325109"
category: podcasts
-layout: single
---
In this episode, we talk with Rob Dodson, developer evangelist for the Polymer Project, about the history of Polymer. We also get to to hear Rob's thoughts on the future of the web and the role Polymer will play in it.
diff --git a/documents/podcasts/110-the-amp-mobile-revolution.html.md b/documents/podcasts/110-the-amp-mobile-revolution.html.md
index 97e012d..4706df3 100644
--- a/documents/podcasts/110-the-amp-mobile-revolution.html.md
+++ b/documents/podcasts/110-the-amp-mobile-revolution.html.md
@@ -6,7 +6,6 @@ date: 2016-10-14
original_date: 2016-10-11
link: "http://thewebplatformpodcast.com/110-the-amp-mobile-revolution"
category: podcasts
-layout: single
---
Paul Bakaus, Google Engineer, has recently been leading the AMP Project which is an open source initiative to optimize content for mobile devices using the web.
\ No newline at end of file
diff --git a/documents/podcasts/111-extensible-web-components.html.md b/documents/podcasts/111-extensible-web-components.html.md
index cc70dcd..5ce0180 100644
--- a/documents/podcasts/111-extensible-web-components.html.md
+++ b/documents/podcasts/111-extensible-web-components.html.md
@@ -6,7 +6,6 @@ date: 2016-10-21
original_date: 2016-10-18
link: "http://thewebplatformpodcast.com/111-extensible-web-components"
category: podcasts
-layout: single
---
Jeremy Keith, web guru & co-founder of ClearLeft, talks with us about the potential pitfalls and hopes on Progressive Enhancement with Web Components.
\ No newline at end of file
diff --git a/documents/podcasts/115-aia-polymer-and-web-components-with-angular-2.html.md b/documents/podcasts/115-aia-polymer-and-web-components-with-angular-2.html.md
index 5890cda..3e854e6 100644
--- a/documents/podcasts/115-aia-polymer-and-web-components-with-angular-2.html.md
+++ b/documents/podcasts/115-aia-polymer-and-web-components-with-angular-2.html.md
@@ -6,7 +6,6 @@ date: 2016-10-20
original_date: 2016-10-20
link: "https://devchat.tv/adv-in-angular/115-aia-polymer-and-web-components-with-angular-2-with-rob-dodson"
category: podcasts
-layout: single
---
Rob Dodson talks with the Adventures in Angular Panel on Angular 2 integration with Web Components
\ No newline at end of file
diff --git a/documents/podcasts/121-the-webcomponentsorg-relaunch.html.md b/documents/podcasts/121-the-webcomponentsorg-relaunch.html.md
new file mode 100644
index 0000000..b67eccd
--- /dev/null
+++ b/documents/podcasts/121-the-webcomponentsorg-relaunch.html.md
@@ -0,0 +1,11 @@
+---
+title: "121 The WebComponents.org Relaunch"
+authors: [taylor_savage, sam_li, danny_blue, leon_revill]
+podcast: "The Web Platform Podcast"
+date: 2017-01-13
+original_date: 2017-01-13
+link: "http://thewebplatformpodcast.com/121-the-webcomponentsorg-relaunch"
+category: podcasts
+---
+
+WebComponents.org has long been a great resource for learning and understanding web components. Recently, Google & the Web Components community have worked hard to make the site a place not only to consume information on Web Components, but also to share your own components and consume others.
\ No newline at end of file
diff --git a/documents/podcasts/123-universal-web-components.html.md b/documents/podcasts/123-universal-web-components.html.md
new file mode 100644
index 0000000..9d77b7d
--- /dev/null
+++ b/documents/podcasts/123-universal-web-components.html.md
@@ -0,0 +1,11 @@
+---
+title: "123: Universal Web Components"
+authors: [jordan_last, justin_ribeiro, leon_revill, danny_blue]
+podcast: "The Web Platform Podcast"
+date: 2017-02-01
+original_date: 2017-02-01
+link: "http://thewebplatformpodcast.com/123-universal-web-components"
+category: podcasts
+---
+
+Web Components Remote Conference is a two day conference all about Web Components. Jordan Last (@lastmjs) will be delivering a very interesting talk “Universal Web Components” which takes the idea of Web Components for GUIs, throws it out the window and then uses Web Components to control a drone instead! With the Custom Elements and Shadow DOM specifications settled on V1 and greater browser support than ever now is the perfect time to be investing in Web Components. This episode covers why Web Components are important, what challenges people face and some very interesting use cases for Web Components you probably never thought of.
\ No newline at end of file
diff --git a/documents/podcasts/124-web-components-typescript-and-bears-oh-my.html.md b/documents/podcasts/124-web-components-typescript-and-bears-oh-my.html.md
new file mode 100644
index 0000000..97953bf
--- /dev/null
+++ b/documents/podcasts/124-web-components-typescript-and-bears-oh-my.html.md
@@ -0,0 +1,11 @@
+---
+title: "124: Web Components, TypeScript, and Bears Oh My"
+authors: [kito_mann, justin_ribeiro, amal_hussein, danny_blue]
+podcast: "The Web Platform Podcast"
+date: 2017-03-01
+original_date: 2017-03-01
+link: "http://thewebplatformpodcast.com/124-web-components-typescript-and-bears-oh-my"
+category: podcasts
+---
+
+Web Components Remote Conference is a two day conference all about Web Components. Kito Mann (@kito99) will be delivering a very interesting talk “Beautiful Web Apps with Polymer and TypeScript”. This episode covers why Web Components are important, what challenges people face and some very interesting use cases for Web Components you probably never thought of.
\ No newline at end of file
diff --git a/documents/podcasts/126-gold-standard-checklist-for-web-components.html.md b/documents/podcasts/126-gold-standard-checklist-for-web-components.html.md
new file mode 100644
index 0000000..2720198
--- /dev/null
+++ b/documents/podcasts/126-gold-standard-checklist-for-web-components.html.md
@@ -0,0 +1,11 @@
+---
+title: "126: Gold Standard Checklist for Web Components"
+authors: [rob_bearman, jan_miksovsky, justin_ribeiro, leon_revill, danny_blue]
+podcast: "The Web Platform Podcast"
+date: 2017-03-29
+original_date: 2017-03-29
+link: "http://thewebplatformpodcast.com/126-gold-standard-checklist-for-web-components"
+category: podcasts
+---
+
+This week we are joined with special guests Jan Miksovsky and Rob Bearman from Component Kitchen to talk about their work on the Web Component Gold Standard. The Gold Standard is an open source project which outlines best practices for creating Web Components. The Gold Standard presents developers with a checklist they can use to ensure their Web Components are of exceptional high quality matching that of native elements. The episode goes into where the requirement for the Gold Standard came from and why it is such an invaluable resource for Web Component developers. This includes discussion on why code reuse on the web is so difficult and how Web Components and the Gold Standard can help. We also talk about the future of the Gold Standard and how the community can help make it even better.
\ No newline at end of file
diff --git a/documents/podcasts/129-elix-project.html.md b/documents/podcasts/129-elix-project.html.md
new file mode 100644
index 0000000..f24b02d
--- /dev/null
+++ b/documents/podcasts/129-elix-project.html.md
@@ -0,0 +1,11 @@
+---
+title: "129: Elix Project"
+authors: [rob_bearman, jan_miksovsky, justin_ribeiro, leon_revill]
+podcast: "The Web Platform Podcast"
+date: 2017-04-24
+original_date: 2017-04-24
+link: "http://thewebplatformpodcast.com/129-elix-project"
+category: podcasts
+---
+
+In this episode, Leon and Justin sit down with Jan Miksovsky and Rob Bearman of of the recently released Elix Project. Elix is a community-driven collection of high-quality web components for common user interface patterns such as lists, menus, dialogs, carousels, and so on. The modular nature of web components let you easily incorporate them into your web apps, and their standard definition ensures good results across all mainstream browsers.
\ No newline at end of file
diff --git a/documents/podcasts/133-ionic-and-web-components.html.md b/documents/podcasts/133-ionic-and-web-components.html.md
new file mode 100644
index 0000000..fb22eb2
--- /dev/null
+++ b/documents/podcasts/133-ionic-and-web-components.html.md
@@ -0,0 +1,11 @@
+---
+title: "133: Ionic & Web Components"
+authors: [justin_willis, leon_revill, justin_ribeiro, danny_blue]
+podcast: "The Web Platform Podcast"
+date: 2017-08-03
+original_date: 2017-08-03
+link: "http://thewebplatformpodcast.com/133-ionic-web-components"
+category: podcasts
+---
+
+Justin Willis from Ionic joins us this week to talk about hybrid app development with Ionic and some amazing work they have been doing with Web Components. Justin gives us an overview of the Ionic project, its background and how it makes building hybrid apps super easy. We then move on to talk about why Ionic have chosen to rebuild their components as Web Components and the benefits they are seeing from making this move.
\ No newline at end of file
diff --git a/documents/podcasts/136-polymer-summit-recap.html.md b/documents/podcasts/136-polymer-summit-recap.html.md
new file mode 100644
index 0000000..79bc9d1
--- /dev/null
+++ b/documents/podcasts/136-polymer-summit-recap.html.md
@@ -0,0 +1,11 @@
+---
+title: "136: Polymer Summit Recap"
+authors: [kenneth_christiansen, lars_knudsen, danny_blue, leon_revill, amal_hussein]
+podcast: "The Web Platform Podcast"
+date: 2017-08-31
+original_date: 2017-08-31
+link: "http://thewebplatformpodcast.com/136-polymer-summit-recap"
+category: podcasts
+---
+
+This week the crew is joined by Lars Knudsen (@denladeside) and Kenneth Christiansen (@kennethrohde) to talk about the recent Polymer Summit and all of the awesome stuff revealed there. Are web components really ready? Who is using web components? Answers to these questions and more on this week’s episode of the Web Platform Podcast.
\ No newline at end of file
diff --git a/documents/podcasts/2-polymer-io.html.md b/documents/podcasts/2-polymer-io.html.md
index 09adaa5..e67d1fd 100644
--- a/documents/podcasts/2-polymer-io.html.md
+++ b/documents/podcasts/2-polymer-io.html.md
@@ -6,7 +6,6 @@ date: 2015-05-29
original_date: 2015-05-29
link: "http://www.stitcher.com/podcast/polymer-podcast/e/38325099"
category: podcasts
-layout: single
---
In this episode, the Polymer Podcast panel talks with Taylor Savage, product manager for the Polymer Project, about the announcements at Google I/O and Polymer 1.0. We learn about the Polymer starter kit, the new web component catalogs, and how the polymer team gets things done!
diff --git a/documents/podcasts/21-building-component-based-systems-with-josh-crowther.html.md b/documents/podcasts/21-building-component-based-systems-with-josh-crowther.html.md
index 90fa4ab..50b7444 100644
--- a/documents/podcasts/21-building-component-based-systems-with-josh-crowther.html.md
+++ b/documents/podcasts/21-building-component-based-systems-with-josh-crowther.html.md
@@ -6,7 +6,6 @@ date: 2016-10-20
original_date: 2016-10-20
link: "https://soundcloud.com/techpeople/tp-021-building-component-based-systems-with-josh-crowther-from-family-search"
category: podcasts
-layout: single
---
In this episode Carlos Taborda chats about the evolution of how web applications are built, and how Family Search is leveraging a component-based architecture with Web Components.
\ No newline at end of file
diff --git a/documents/podcasts/3-testing-polymer.html.md b/documents/podcasts/3-testing-polymer.html.md
index 6ae8115..d57f6e5 100644
--- a/documents/podcasts/3-testing-polymer.html.md
+++ b/documents/podcasts/3-testing-polymer.html.md
@@ -6,7 +6,6 @@ date: 2015-06-23
original_date: 2015-06-23
link: "http://www.stitcher.com/podcast/polymer-podcast/e/39470555"
category: podcasts
-layout: single
---
The Polymer Podcast panel talks with to Ian MacLeod, core architect behind web-component-tester about testing with Polymer. They also delve into WCT's rich history and tackle some of the harder aspects of testing.
diff --git a/documents/podcasts/4-polymer-1-review.html.md b/documents/podcasts/4-polymer-1-review.html.md
index f599313..f5a7f1e 100644
--- a/documents/podcasts/4-polymer-1-review.html.md
+++ b/documents/podcasts/4-polymer-1-review.html.md
@@ -6,7 +6,6 @@ date: 2015-07-28
original_date: 2015-07-28
link: "http://www.stitcher.com/podcast/polymer-podcast/e/39972949"
category: podcasts
-layout: single
---
After one month of some intense rewrites and migration, The Polymer Podcast team sits down and discusses the road to Polymer 1.0
diff --git a/documents/podcasts/42-web-components-with-rob-dodson-tushar-mathur-and-monica-dinculescu.html.md b/documents/podcasts/42-web-components-with-rob-dodson-tushar-mathur-and-monica-dinculescu.html.md
index 703fd1a..1c291e8 100644
--- a/documents/podcasts/42-web-components-with-rob-dodson-tushar-mathur-and-monica-dinculescu.html.md
+++ b/documents/podcasts/42-web-components-with-rob-dodson-tushar-mathur-and-monica-dinculescu.html.md
@@ -6,7 +6,6 @@ date: 2016-09-29
original_date: 2016-09-29
link: "http://audio.javascriptair.com/e/042-jsair-web-components-with-rob-dodson-tushar-mathur-and-monica-dinculescu/"
category: podcasts
-layout: single
---
There's been quite a bit of talk about the Web Components spec lately. As with anything new, there's been a lot of fear, uncertainty, and doubt (FUD) about Web Components. We're going to chat about some of their use cases, strengths, and weaknesses to give us all a better idea of this tech.
diff --git a/documents/podcasts/44-web-components-with-john-rogerson.html.md b/documents/podcasts/44-web-components-with-john-rogerson.html.md
index d4f9044..e70c105 100644
--- a/documents/podcasts/44-web-components-with-john-rogerson.html.md
+++ b/documents/podcasts/44-web-components-with-john-rogerson.html.md
@@ -6,7 +6,6 @@ date: 2015-05-21
original_date: 2015-05-21
link: "http://ctrlclickcast.com/episodes/web-components"
category: podcasts
-layout: single
---
Front-end expert John Rogerson offers some practical use cases and draws analogies to web dev approaches we are all already familiar with. John further discusses the pros of web components (modularity, extensibility), the cons (new technology, undefined standards, accessibility) and how they may reflect the future of web development.
diff --git a/documents/podcasts/5-polymer-summit.html.md b/documents/podcasts/5-polymer-summit.html.md
index 11c0ecf..02ef29e 100644
--- a/documents/podcasts/5-polymer-summit.html.md
+++ b/documents/podcasts/5-polymer-summit.html.md
@@ -6,7 +6,6 @@ date: 2015-10-05
original_date: 2015-10-05
link: "http://www.stitcher.com/podcast/polymer-podcast/e/40733300"
category: podcasts
-layout: single
---
Now that the Polymer Summit is over but not forgotten, we review our favorite moments from the conference.
diff --git a/documents/podcasts/6-component-show.html.md b/documents/podcasts/6-component-show.html.md
index 9947aa7..40593cf 100644
--- a/documents/podcasts/6-component-show.html.md
+++ b/documents/podcasts/6-component-show.html.md
@@ -6,7 +6,6 @@ date: 2015-11-12
original_date: 2015-11-12
link: "http://www.stitcher.com/podcast/polymer-podcast/e/41246109"
category: podcasts
-layout: single
---
Components, components, components! We join Charles Grugan and discuss our favorite components and their uses.
diff --git a/documents/podcasts/65-strand-web-components.html.md b/documents/podcasts/65-strand-web-components.html.md
index 2aae613..36e1471 100644
--- a/documents/podcasts/65-strand-web-components.html.md
+++ b/documents/podcasts/65-strand-web-components.html.md
@@ -6,7 +6,6 @@ date: 2015-10-13
original_date: 2015-10-13
link: "http://thewebplatformpodcast.com/65-strand-web-components"
category: podcasts
-layout: single
---
MediaMath has created an open source project built on top of Web Components & Polymer called Strand. It was created for their internal web product Terminal One but is available and easy to get on Github. Daniel Lasky, Justin Moore, & Anthony Koerber chat with us about the pains of migrating from Polymer 0.5 to 1.0 as well as what it has been like to drive an open source Web Components library with Polymer Elements ranging from basic buttons to complex grids. Check out Strand’s documentation for further detail
diff --git a/documents/podcasts/66-custom-elements-and-skatejs.html.md b/documents/podcasts/66-custom-elements-and-skatejs.html.md
index eedbb71..41b247f 100644
--- a/documents/podcasts/66-custom-elements-and-skatejs.html.md
+++ b/documents/podcasts/66-custom-elements-and-skatejs.html.md
@@ -6,7 +6,6 @@ date: 2015-10-20
original_date: 2015-10-19
link: "http://thewebplatformpodcast.com/66-custom-elements-skatejs"
category: podcasts
-layout: single
---
Atlassian leaders Trey Shugart and Jonathon Creenaune chat with us about how and why they created Skate.js. Skate is a lightweight Web Components wrapper created to help the needs of a large and diverse technology stack while providing simplicity and almost no-barrier-to-entry. Only focusing on Custom Elements, Skate has made its code base easy for companies to buy into.
diff --git a/documents/podcasts/7-chrome-dev-summit.html.md b/documents/podcasts/7-chrome-dev-summit.html.md
index 7b9f8cc..37163bd 100644
--- a/documents/podcasts/7-chrome-dev-summit.html.md
+++ b/documents/podcasts/7-chrome-dev-summit.html.md
@@ -6,7 +6,6 @@ date: 2015-11-18
original_date: 2015-11-18
link: "http://www.stitcher.com/podcast/polymer-podcast/e/41349286"
category: podcasts
-layout: single
---
Live from the Chrome Dev Summit, our special guests Taylor Savage and Jeff Posnick talk to us about service workers and the Polymer State of the Union.
diff --git a/documents/podcasts/70-web-components-at-microsoft.html.md b/documents/podcasts/70-web-components-at-microsoft.html.md
index 09f6aa2..559768f 100644
--- a/documents/podcasts/70-web-components-at-microsoft.html.md
+++ b/documents/podcasts/70-web-components-at-microsoft.html.md
@@ -6,7 +6,6 @@ date: 2015-11-24
original_date: 2015-11-24
link: "http://thewebplatformpodcast.com/70-web-components-at-microsoft"
category: podcasts
-layout: single
---
Daniel Buchner, former Mozillian & Program Manager at Microsoft takes us through the plans for Web Components at Microsoft. Daniel is the creator of the Web Components free open source library, X-Tag which Microsoft is now officially supporting and using as of release 1.5. How are the teams at Microsoft using Web Components now and what is the plan for the future?
diff --git a/documents/podcasts/71-vaadin-elements.html.md b/documents/podcasts/71-vaadin-elements.html.md
index 263093c..1925e8b 100644
--- a/documents/podcasts/71-vaadin-elements.html.md
+++ b/documents/podcasts/71-vaadin-elements.html.md
@@ -6,7 +6,6 @@ date: 2015-12-07
original_date: 2015-12-07
link: "http://thewebplatformpodcast.com/71-vaadin-elements"
category: podcasts
-layout: single
---
Danny Blue and Justin Ribeiro chat with Manolo Carrasco and Moñino Jouni Koivuviita from Vaadin about their work with Web Components in the enterprise world. Vaadin has begun to create enterprise ready web components ‘ready for production’ usage. Built on top of Polymer, Vaadin Elements are helping to push new web technologies to larger companies.
diff --git a/documents/podcasts/79-basic-web-components-and-best-practices.html.md b/documents/podcasts/79-basic-web-components-and-best-practices.html.md
index 004f498..2f2e24b 100644
--- a/documents/podcasts/79-basic-web-components-and-best-practices.html.md
+++ b/documents/podcasts/79-basic-web-components-and-best-practices.html.md
@@ -6,7 +6,6 @@ date: 2016-03-09
original_date: 2016-03-09
link: "http://thewebplatformpodcast.com/79-basic-web-components-and-best-practices"
category: podcasts
-layout: single
---
There is more than one set of custom elements out there. In this episode, we speak with Jan Miksovsky about basic web components, a comprehensive set of high-quality web components for common user interface patterns.
diff --git a/documents/podcasts/82-are-web-components-ready-now.html.md b/documents/podcasts/82-are-web-components-ready-now.html.md
index ef326b9..4471815 100644
--- a/documents/podcasts/82-are-web-components-ready-now.html.md
+++ b/documents/podcasts/82-are-web-components-ready-now.html.md
@@ -6,7 +6,6 @@ date: 2016-05-02
original_date: 2016-03-29
link: "http://thewebplatformpodcast.com/82-are-web-components-ready-now"
category: podcasts
-layout: single
---
This episode is a follow up on episode 59 'Are Web Components Ready Yet?'. Leon, Justin & Erik chat about where we are in Web Component development today and what's happened over the past 6 months.
diff --git a/documents/podcasts/97-predix-ui-and-polymer.html.md b/documents/podcasts/97-predix-ui-and-polymer.html.md
index b607aa0..e56d80b 100644
--- a/documents/podcasts/97-predix-ui-and-polymer.html.md
+++ b/documents/podcasts/97-predix-ui-and-polymer.html.md
@@ -6,7 +6,6 @@ date: 2016-07-12
original_date: 2016-07-12
link: "http://thewebplatformpodcast.com/97-predix-ui-polymer"
category: podcasts
-layout: single
---
Eric Knudtson from GE Digital walks us through their Predix UI Web Components library built on top of Google’s Polymer Project.
diff --git a/documents/podcasts/98-server-side-web-components.html.md b/documents/podcasts/98-server-side-web-components.html.md
index 450bf86..c9ca0cb 100644
--- a/documents/podcasts/98-server-side-web-components.html.md
+++ b/documents/podcasts/98-server-side-web-components.html.md
@@ -6,7 +6,6 @@ date: 2016-07-19
original_date: 2016-07-19
link: "http://thewebplatformpodcast.com/98-server-side-web-components-0"
category: podcasts
-layout: single
---
Software developer at Softwire, Tim Perry, has created a set of “Server Components”. These are simple, lightweight tools for “composable HTML rendering in Node.js, broadly following the Web Components browser specification, but on the server side”.
diff --git a/documents/podcasts/99-polymer-native.html.md b/documents/podcasts/99-polymer-native.html.md
index 36c8604..a4a3d22 100644
--- a/documents/podcasts/99-polymer-native.html.md
+++ b/documents/podcasts/99-polymer-native.html.md
@@ -6,7 +6,6 @@ date: 2016-07-28
original_date: 2016-07-28
link: "http://thewebplatformpodcast.com/99-polymer-native"
category: podcasts
-layout: single
---
Denis Radin, Web Component advocate, has started work on a project called Polymer Native to enable developers to create part-hybrid, part-native applications using Web Components.
diff --git a/documents/podcasts/S04E02-polymer-and-webcomponents-vs-frameworks.md b/documents/podcasts/S04E02-polymer-and-webcomponents-vs-frameworks.md
new file mode 100644
index 0000000..3002cea
--- /dev/null
+++ b/documents/podcasts/S04E02-polymer-and-webcomponents-vs-frameworks.md
@@ -0,0 +1,11 @@
+---
+title: "121 The WebComponents.org Relaunch"
+authors: [ben_lesh, fred_schott, monica_dinculescu]
+podcast: "The Modern Web Podcast"
+date: 2016-12-22
+original_date: 2016-12-22
+link: "S04E02 - Polymer and Web Components vs Frameworks (Jerry Springer Edition)"
+category: podcasts
+---
+
+In this episode of the Modern Web podcast - Ben Lesh stars as the Jerry Springer of JavaScript stirs things up with the Polymer team Monica Dinculescu and Fred Schott with hard questions about louder voices representing Polymer on twitter and the reasoning behind perceived abrasiveness.
\ No newline at end of file
diff --git a/documents/podcasts/are-web-components-ready-yet.html.md b/documents/podcasts/are-web-components-ready-yet.html.md
index 35befd0..07e647c 100644
--- a/documents/podcasts/are-web-components-ready-yet.html.md
+++ b/documents/podcasts/are-web-components-ready-yet.html.md
@@ -6,7 +6,6 @@ date: 2015-07-28
original_date: 2015-07-28
link: http://thewebplatform.libsyn.com/54-are-web-components-ready-yet
category: podcasts
-layout: single
---
An honest & candid talk about what we learned since the beginning of Web Components; a hard look at the good, the bad, and the ugly. Christian Heilmann (@codepo8), Wilson Page (@wilsonpage), & Rob Eisenberg (@eisenbergeffect) talks with the panel on development with Web Components in today's production environments.
diff --git a/documents/podcasts/customizing-the-web-with-rob-dodson-on-the-web-ahead.html.md b/documents/podcasts/customizing-the-web-with-rob-dodson-on-the-web-ahead.html.md
index 14a96ba..36f8f80 100644
--- a/documents/podcasts/customizing-the-web-with-rob-dodson-on-the-web-ahead.html.md
+++ b/documents/podcasts/customizing-the-web-with-rob-dodson-on-the-web-ahead.html.md
@@ -6,7 +6,6 @@ date: 2014-10-08
original_date: 2014-10-08
link: "http://5by5.tv/webahead/86"
category: podcasts
-layout: single
---
Web Components are all the rage these days — a way to create the web using chunks of code that are reusable across projects. Polymer, a library on top of web components, is using Web Components today. Rob Dodson joins Jen Simmons in explaining the current landscape.
diff --git a/documents/podcasts/google-polymer-with-rob-dodson-and-eric-bidelman-on-javascript-jabber.html.md b/documents/podcasts/google-polymer-with-rob-dodson-and-eric-bidelman-on-javascript-jabber.html.md
index e0c1789..f5fe1e8 100644
--- a/documents/podcasts/google-polymer-with-rob-dodson-and-eric-bidelman-on-javascript-jabber.html.md
+++ b/documents/podcasts/google-polymer-with-rob-dodson-and-eric-bidelman-on-javascript-jabber.html.md
@@ -6,7 +6,6 @@ date: 2014-08-06
original_date: 2014-08-06
link: "http://devchat.tv/js-jabber/120-jsj-google-polymer-with-rob-dodson-and-eric-bidelman"
category: podcasts
-layout: single
---
The JavaScript Jabber Panel discusses the Polymer Project with guests Rob Dodson & Eric Bidelman who work on the project at Google. They discuss the components, frameworks, & libraries available to developers as well the strengths and weaknesses of web components.
diff --git a/documents/podcasts/hax-floss-weekly.md b/documents/podcasts/hax-floss-weekly.md
new file mode 100644
index 0000000..8aa30fd
--- /dev/null
+++ b/documents/podcasts/hax-floss-weekly.md
@@ -0,0 +1,11 @@
+---
+title: "HAX - FLOSS Weekly 495"
+authors: [btopro]
+podcast: "FLOSS Weekly"
+date: 2018-11-06
+original_date: 2018-08-29
+link: "https://twit.tv/shows/floss-weekly/episodes/495"
+category: podcasts
+---
+
+Bryan Ollendyke is the lead of the HAX the web, web component authoring system as well as lead of the ELMS: Learning Network project. He's been a 100% effort FOSS developer for over 10 years at Penn State, meaning every line he's written the last 10 years has been an open contribution!
diff --git a/documents/podcasts/marcy-sutton-on-shop-talk-show.html.md b/documents/podcasts/marcy-sutton-on-shop-talk-show.html.md
index 78b3623..a828038 100644
--- a/documents/podcasts/marcy-sutton-on-shop-talk-show.html.md
+++ b/documents/podcasts/marcy-sutton-on-shop-talk-show.html.md
@@ -6,7 +6,6 @@ date: 2014-11-10
original_date: 2014-11-10
link: "http://shoptalkshow.com/episodes/141-marcy-sutton/"
category: podcasts
-layout: single
---
Shop Talk Show is joined by Marcy Sutton. Marcy is an web accessibility expert & interactive developer at Substantial in Seattle. Chris & Dave take a deep dive into web components, accessibility, Angular JS, AJAX, ARIA, and more!
diff --git a/documents/podcasts/mozilla-brick-uikit-for-the-web-on-the-web-platform-podcast.html.md b/documents/podcasts/mozilla-brick-uikit-for-the-web-on-the-web-platform-podcast.html.md
index 72e183a..169ef3f 100644
--- a/documents/podcasts/mozilla-brick-uikit-for-the-web-on-the-web-platform-podcast.html.md
+++ b/documents/podcasts/mozilla-brick-uikit-for-the-web-on-the-web-platform-podcast.html.md
@@ -6,7 +6,6 @@ date: 2014-11-30
original_date: 2014-11-30
link: "http://thewebplatform.libsyn.com/mozilla-brick-a-uikit-for-mobile-first"
category: podcasts
-layout: single
---
Mozilla Brick contributors Matt Claypotch and Soledad Penades join The Web Platform Podcast to talk about building UI focused Web Components for 'Mobile First' Web Development.
diff --git a/documents/podcasts/one-part-beer-three-parts-web-components.html.md b/documents/podcasts/one-part-beer-three-parts-web-components.html.md
new file mode 100644
index 0000000..83d2ff6
--- /dev/null
+++ b/documents/podcasts/one-part-beer-three-parts-web-components.html.md
@@ -0,0 +1,11 @@
+---
+title: "One part beer, three parts web components. Add lemon to taste"
+authors: [trey_shugart, jem_young, ryan_anklam, brian_holt, stacy_london]
+podcast: "Front End Happy Hour"
+date: 2017-05-07
+original_date: 2017-05-07
+link: "http://frontendhappyhour.com/episodes/one-part-beer-three-parts-web-components-add-lemon-to-taste/"
+category: podcasts
+---
+
+In this episode, we are joined by Trey Shugart who is a front-end developer (Principal Developer) at Atlassian, proponent of web components, and author of SkateJS to talk about Web Components.
diff --git a/documents/podcasts/polymer-10.html.md b/documents/podcasts/polymer-10.html.md
index 406039a..2c62fd6 100644
--- a/documents/podcasts/polymer-10.html.md
+++ b/documents/podcasts/polymer-10.html.md
@@ -6,7 +6,6 @@ date: 2015-06-02
original_date: 2015-06-02
link: "http://thewebplatform.libsyn.com/46-polymer-10"
category: podcasts
-layout: single
---
Polymer 1.0 is here! Lean mean and production ready. On episode 46 The Web Platform Podcast talks to a Proverbial Packed Panel of Professional Polymer People. Polymer has grown a ton since its developer preview and has been streamlined for performance. It's a a big show with a panel of both GDE’s and members of the Polymer team to get a better idea of just how this project has grown and why Polymer and web components as a whole are important for the modern and future web platform.
diff --git a/documents/podcasts/react-and-reactive-elements.html.md b/documents/podcasts/react-and-reactive-elements.html.md
index 2a12343..82aee70 100644
--- a/documents/podcasts/react-and-reactive-elements.html.md
+++ b/documents/podcasts/react-and-reactive-elements.html.md
@@ -6,7 +6,6 @@ date: 2015-03-16
original_date: 2015-03-16
link: "http://thewebplatform.libsyn.com/35-react-reactive-elements"
category: podcasts
-layout: single
---
Andrew Rota & Denis Radin talk about the ways you can leverage both Web Components & React.js together in a symbiotic fashion. Denis, creator of Reactive Elements, starts us off explaining how his library came to be and why he chose to marry these two technologies in his work. Andrew, who spoke at ReactConf 2015 talks about his experiences with Web Components & React as well.
diff --git a/documents/podcasts/rob-dodson-on-shop-talk-show.html.md b/documents/podcasts/rob-dodson-on-shop-talk-show.html.md
index 25e2a8f..85756c1 100644
--- a/documents/podcasts/rob-dodson-on-shop-talk-show.html.md
+++ b/documents/podcasts/rob-dodson-on-shop-talk-show.html.md
@@ -6,7 +6,6 @@ date: 2014-08-12
original_date: 2014-08-12
link: "http://shoptalkshow.com/episodes/124-rob-dodson/"
category: podcasts
-layout: single
---
Shop Talk Show is joined by Rob Dodson. Rob works on Polymer at Google. Chris & Dave take a deep dive with him into Polymer and Web Components.
diff --git a/documents/podcasts/the-bosonic-project-on-the-web-platform-podcast.html.md b/documents/podcasts/the-bosonic-project-on-the-web-platform-podcast.html.md
index a46509b..2f67947 100644
--- a/documents/podcasts/the-bosonic-project-on-the-web-platform-podcast.html.md
+++ b/documents/podcasts/the-bosonic-project-on-the-web-platform-podcast.html.md
@@ -6,7 +6,6 @@ date: 2014-09-15
original_date: 2014-09-15
link: http://thewebplatform.libsyn.com/the-bosonic-project
category: podcasts
-layout: single
---
Raphael Rougeron joins The Web Platform Podscast from Toulouse, France to talk about The Bosonic Project. Raphael and his team of developers mostly focus their development efforts working in the Financial Industry, building out secure and robust applications as well as intricate cross browser UI Components.
diff --git a/documents/podcasts/the-return-of-bosonic.html.md b/documents/podcasts/the-return-of-bosonic.html.md
index 0d45165..86ab804 100644
--- a/documents/podcasts/the-return-of-bosonic.html.md
+++ b/documents/podcasts/the-return-of-bosonic.html.md
@@ -6,7 +6,6 @@ date: 2015-09-18
original_date: 2015-09-18
link: http://thewebplatform.libsyn.com/61-the-return-of-bosonic
category: podcasts
-layout: single
---
Raphaël Rougeron, one of the Web Components pioneers, along with his team created the Bosonic Project some while back. It was a very different approach to working with Web Components than x-tag and Polymer and it involved a required build step to create Web Components as close to specs as possible with minimal abstractions at runtime.
diff --git a/documents/podcasts/the-web-components-community-on-the-web-platform-podcast.html.md b/documents/podcasts/the-web-components-community-on-the-web-platform-podcast.html.md
index 32f522b..e848736 100644
--- a/documents/podcasts/the-web-components-community-on-the-web-platform-podcast.html.md
+++ b/documents/podcasts/the-web-components-community-on-the-web-platform-podcast.html.md
@@ -6,7 +6,6 @@ date: 2014-08-04
original_date: 2014-08-04
link: "http://thewebplatform.libsyn.com/the-web-components-community-helpful-resources"
category: podcasts
-layout: single
---
Web Components are a set of emerging and rapidly changing technologies that are altering the way many developers are starting to build web applications. Zeno Rocha, a dominant force in the front end development community, talks with The Web Platform Podcast on how developers can get started building with these technologies today & how to build their very own components.
diff --git a/documents/podcasts/the-x-tag-project-on-the-web-platform-podcast.html.md b/documents/podcasts/the-x-tag-project-on-the-web-platform-podcast.html.md
index 3419cd5..942dfe8 100644
--- a/documents/podcasts/the-x-tag-project-on-the-web-platform-podcast.html.md
+++ b/documents/podcasts/the-x-tag-project-on-the-web-platform-podcast.html.md
@@ -6,7 +6,6 @@ date: 2014-12-12
original_date: 2014-12-12
link: "http://thewebplatform.libsyn.com/21-the-x-tag-project"
category: podcasts
-layout: single
---
Daniel Buchner talks with The Web Platform Podcast on x-tag, the Custom Elements library competitor to Polymer, that he created alongside former Mozillian & Kraken Developer, Arron Schaar.
diff --git a/documents/podcasts/understanding-web-components-and-polymer.html.md b/documents/podcasts/understanding-web-components-and-polymer.html.md
index 155c1d2..05bbacd 100644
--- a/documents/podcasts/understanding-web-components-and-polymer.html.md
+++ b/documents/podcasts/understanding-web-components-and-polymer.html.md
@@ -6,7 +6,6 @@ date: 2015-10-30
original_date: 2015-10-30
link: "http://hanselminutes.com/499/understanding-web-components-and-polymer-with-monica-dinculescu"
category: podcasts
-layout: single
---
Monica Dinculescu works on Polymer and Chrome for Google. In this episode she teaches Scott all about Web Components and the Polymer Project. Are Web Components the future of the web, and why? Where does Polymer fit in, and what should YOU use if you are starting a project today?
diff --git a/documents/podcasts/web-accessibility-for-javascript-components-and-custom-elements-on-the-web-platform-podcast.html.md b/documents/podcasts/web-accessibility-for-javascript-components-and-custom-elements-on-the-web-platform-podcast.html.md
index 831d01a..a54f67a 100644
--- a/documents/podcasts/web-accessibility-for-javascript-components-and-custom-elements-on-the-web-platform-podcast.html.md
+++ b/documents/podcasts/web-accessibility-for-javascript-components-and-custom-elements-on-the-web-platform-podcast.html.md
@@ -6,7 +6,6 @@ date: 2014-09-03
original_date: 2014-09-03
link: "http://thewebplatform.libsyn.com/web-accessibility-for-javascript-components-and-custom-elements"
category: podcasts
-layout: single
---
Steve Faulkner and Marcy Sutton discuss the lack of focus in development today with regards to building accessible applications & services. Many times web accessibility becomes an afterthought in creating a software product, having low prioritization from the business side until it is a real painful problem.
diff --git a/documents/podcasts/web-accessibility-in-polymer.html.md b/documents/podcasts/web-accessibility-in-polymer.html.md
index 34cb9ec..5a0dba9 100644
--- a/documents/podcasts/web-accessibility-in-polymer.html.md
+++ b/documents/podcasts/web-accessibility-in-polymer.html.md
@@ -6,7 +6,6 @@ date: 2015-06-18
original_date: 2015-06-18
link: "http://thewebplatform.libsyn.com/48-web-accessibility-in-polymer"
category: podcasts
-layout: single
---
The Web Platform Podcast talks with Chrome team member & Accessibility champion Alice Boxhall and Polymer members, Chris Joel & Daniel Freedman about the Polymer 1.0 and what is new as far as web accessibility of this release as well as what we should expect looking forward.
diff --git a/documents/podcasts/web-components-and-wtf-is-shadow-dom.html.md b/documents/podcasts/web-components-and-wtf-is-shadow-dom.html.md
new file mode 100644
index 0000000..054fd28
--- /dev/null
+++ b/documents/podcasts/web-components-and-wtf-is-shadow-dom.html.md
@@ -0,0 +1,11 @@
+---
+title: "Web Components and WTF is Shadow DOM?"
+authors: [mikeal_rogers, alex_sexton, rachel_white]
+podcast: "JS Party"
+date: 2017-04-11
+original_date: 2017-04-11
+link: "https://changelog.com/jsparty/6"
+category: podcasts
+---
+
+Mikeal Rogers, Alex Sexton, and Rachel White discuss Web Components and questions like — "WTF is Shadow DOM?" and "Are custom elements ready?" We also discuss the JavaScript conference scene as well as attending, speaking and organizing conferences. Plus, the project of the week — p5.js.
\ No newline at end of file
diff --git a/documents/podcasts/web-components-interop-and-polymer-on-the-web-platform-podcast.html.md b/documents/podcasts/web-components-interop-and-polymer-on-the-web-platform-podcast.html.md
index d81042a..c30829f 100644
--- a/documents/podcasts/web-components-interop-and-polymer-on-the-web-platform-podcast.html.md
+++ b/documents/podcasts/web-components-interop-and-polymer-on-the-web-platform-podcast.html.md
@@ -6,7 +6,6 @@ date: 2014-10-17
original_date: 2014-10-17
link: "http://thewebplatform.libsyn.com/web-components-interop-and-polymer"
category: podcasts
-layout: single
---
Rob Dodson, Google Engineer, goes through many of the recent changes made to Polymer, including accessibility and performance enhancements that help in making applications more integrated.
diff --git a/documents/podcasts/web-components-with-cory-house-on-dotnet-rocks.html.md b/documents/podcasts/web-components-with-cory-house-on-dotnet-rocks.html.md
index a199fd8..090b3a8 100644
--- a/documents/podcasts/web-components-with-cory-house-on-dotnet-rocks.html.md
+++ b/documents/podcasts/web-components-with-cory-house-on-dotnet-rocks.html.md
@@ -6,7 +6,6 @@ date: 2015-02-04
original_date: 2015-02-04
link: "http://www.dotnetrocks.com/default.aspx?showNum=1096"
category: podcasts
-layout: single
---
Carl and Richard talk to Cory House about the web component specification and what that will look like in your modern web development. As Cory explains, the key idea behind web components is to provide a framework for Javascript library extensibility that doesn't force you to own the library yourself.
diff --git a/documents/podcasts/web-components-with-peter-gasston-on-the-web-ahead.html.md b/documents/podcasts/web-components-with-peter-gasston-on-the-web-ahead.html.md
index 461833b..c042a16 100644
--- a/documents/podcasts/web-components-with-peter-gasston-on-the-web-ahead.html.md
+++ b/documents/podcasts/web-components-with-peter-gasston-on-the-web-ahead.html.md
@@ -6,7 +6,6 @@ date: 2014-04-09
original_date: 2014-04-09
link: "http://5by5.tv/webahead/66"
category: podcasts
-layout: single
---
Web Components seem to be taking the JavaScript community by storm. The parts of this technology give developers a chance to define their own HTML elements, adjust the defaults, and share with others. Learn about it all from Peter Gasston as he joins Jen Simmons to explain.
diff --git a/documents/podcasts/x-tag-the-x-generation-on-the-web-platform-podcast.html.md b/documents/podcasts/x-tag-the-x-generation-on-the-web-platform-podcast.html.md
index b12d95e..66a0710 100644
--- a/documents/podcasts/x-tag-the-x-generation-on-the-web-platform-podcast.html.md
+++ b/documents/podcasts/x-tag-the-x-generation-on-the-web-platform-podcast.html.md
@@ -6,7 +6,6 @@ date: 2015-06-09
original_date: 2015-06-09
link: "http://thewebplatform.libsyn.com/47-x-tag-the-x-generation"
category: podcasts
-layout: single
---
Daniel Buchner talks about the X-Tag project and some if its interesting features. The Web Platform Podcast discusses the Web Component specs and much more. Big companies like Google have thrown their full support behind the Web Components technology umbrella. Will others such as Microsoft follow suit? And what will it take for browser vendors to implement web components natively?
diff --git a/gen.js b/gen.js
index edb8958..bccda0f 100644
--- a/gen.js
+++ b/gen.js
@@ -1,15 +1,20 @@
+/**
+ * This script runs before deployment to generate necessary metadata for the
+ * running server. It parses docpad documents in the `documents/` directory and
+ * outputs a `content-gen.js` file. The generated file contains extracted
+ * metadata from all these documents. At runtime, the server loads the
+ * generated metadata to fulfill API requests.
+ */
+
'use strict';
let fs = require('fs');
-let docpad = require('docpad');
+const DocPad = require('docpad');
+const docpadInstance = new DocPad();
let authors = require('./authors.js');
let metadata = [];
-docpad.createInstance({}, function(err, docpadInstance) {
- if (err)
- return console.error(err.stack);
- docpadInstance.parseDocumentDirectory({path: 'documents'}, processFiles);
-});
+docpadInstance.parseDocumentDirectory({path: 'documents'}, processFiles);
/**
* Process all the files that have been read.
@@ -29,7 +34,7 @@ function processFiles(err, files) {
let expandedAuthors = [];
if (attributes.authors) {
- for (var id of attributes.authors) {
+ for (let id of attributes.authors) {
let author = authors[id];
if (!author)
continue;
diff --git a/mock-gen.js b/mock-gen.js
index fad5c87..2e55ee2 100644
--- a/mock-gen.js
+++ b/mock-gen.js
@@ -2,7 +2,7 @@ module.exports = [
{
'title': 'test-article',
'authors': [
- { id: 'an_author' },
+ {id: 'an_author'},
],
'category': 'articles',
'relativePath': 'articles/test-article',
@@ -10,8 +10,8 @@ module.exports = [
{
'title': 'excerpt-article',
'authors': [
- { id: 'first_author' },
- { id: 'second_author' },
+ {id: 'first_author'},
+ {id: 'second_author'},
],
'category': 'articles',
'relativePath': 'articles/has-excerpt',
@@ -19,7 +19,7 @@ module.exports = [
{
'title': 'valid-author',
'authors': [
- { id: 'aaron_frost' },
+ {id: 'aaron_frost'},
],
'category': 'articles',
'relativePath': 'articles/valid-author',
diff --git a/package.json b/package.json
index 3d3437d..244a131 100644
--- a/package.json
+++ b/package.json
@@ -4,7 +4,7 @@
"version": "0.0.1",
"private": true,
"engines": {
- "node": "~4.2"
+ "node": "8.x"
},
"scripts": {
"start": "node app.js",
diff --git a/static/about.md b/static/about.md
index 0a634d9..77000d3 100644
--- a/static/about.md
+++ b/static/about.md
@@ -1,3 +1,11 @@
-WebComponents.org aims to make it easy to share and discover reusable web UI components. As well as a place to publish, browse and search for components, WebComponents.org provides articles, presentations, podcasts, tools and more to help web professionals build first-class DOM objects in the browsers. All the content on this site is totally free, and contributions are welcome.
+WebComponents.org aims to make it easy to share, discover, and reuse web components. Web components is a standard created to empower developers to create new HTML tags such that `Hello Shadow DOM
'; // Could also use appendChil
// header.shadowRoot === shadowRoot
// shadowRoot.host === header
```
-
-Version 0 of the shadow DOM specification provided a slightly different method for creating shadow DOM:
-```js
-var root = host.createShadowRoot();
-```
-See this article on [shadow DOM v0](https://www.html5rocks.com/en/tutorials/webcomponents/shadowdom/) for more information. See also [Hayato Ito's comparison of v0 and v1 of the shadow DOM specification](http://hayato.io/2016/shadowdomv1/).
-
# Libraries for building web components
-Many libraries already exist that make it easier to build web components. To dive in and create your own components, here are some you can try out:
- * [Bosonic](https://bosonic.github.io/) is a collection of components designed to meet the everyday needs of web developers.
+Many libraries already exist that make it easier to build web components. [The libraries section](https://www.webcomponents.org/libraries) of the site has additional details but here are some you can try out:
+ * [Hybrids](https://github.com/hybridsjs/hybrids) is a UI library for creating Web Components with simple and functional API.
+ * [lit-element](https://github.com/lit/lit/tree/main/packages/lit-element) uses [lit-html](https://github.com/lit/lit/tree/main/packages/lit-html) to render into the element's Shadow DOM and adds API to help manage element properties and attributes.
* [Polymer](https://www.polymer-project.org) provides a set of features for creating custom elements.
- * [SkateJS](https://github.com/skatejs/skatejs) is a JavaScript library for writing web components with a small footprint.
- * [X-Tag](https://x-tag.github.io/) is an open source JavaScript library that provides an interface for component development.
\ No newline at end of file
+ * [Slim.js](http://slimjs.com) is an opensource lightweight web component library that provides data-binding and extended capabilities for components, using es6 native class inheritance.
+ * [Stencil](https://stenciljs.com/) is an opensource compiler that generates standards-compliant web components.
diff --git a/static/libraries.md b/static/libraries.md
index e2e3ee2..6f7fe21 100644
--- a/static/libraries.md
+++ b/static/libraries.md
@@ -9,13 +9,22 @@ However, if you’re writing lots and lots of custom elements, using a library c
# What should you look for in a web component library?
-When choosing a web component library, make sure it has a large enough featureset to cover all of your use cases. Interoperability is also important - does the library leak implementation details? A good web component library should produce a web component that “just works” like any other HTML element. You should also be aware of browser compatibility, and any polyfills that will be needed to support features you use or the library uses. Good libraries also have a high value-to-payload ratio - that is, they provide a lot of value for their download size.
+When choosing a web component library, make sure it has a large enough featureset to cover all of your use cases. Interoperability is also important - does the library leak implementation details? A good web component library should produce a web component that “just works” like any other HTML element. Good libraries also have a high value-to-payload ratio - that is, they provide a lot of value for their download size. Libraries which support ES modules, Custom Element, Shadow DOM and Template are listed below.
+# Some web component libraries
-# Existing web component libraries
+This list has been compiled by the community and can be modified [via pull request under the community repository](https://github.com/webcomponents/community/edit/master/static/libraries.md) for this website. Projects are listed alphabetically and are known to support all four aspects of the web components specification.
- * [Polymer](https://www.polymer-project.org/) is a web component library built by Google, with a simple element creation API. Polymer offers one- and two-way data binding into element templates, and provides shims for better cross-browser performance.
+* [FAST](https://fast.design) is a web component library built by Microsoft, which offers several packages to leverage depending on your project needs. [Fast Element](https://github.com/microsoft/fast/tree/master/packages/web-components/fast-element) is a lightweight means to easily build performant, memory-efficient, standards-compliant Web Components. [Fast Foundation](https://github.com/microsoft/fast/tree/master/packages/web-components/fast-foundation) is a library of Web Component classes, templates, and other utilities built on fast-element intended to be composed into registered Web Components.
+
+ * [Hybrids](https://github.com/hybridsjs/hybrids) is a UI library for creating web components with simple and functional API. The library uses plain objects and pure functions for defining custom elements, which allow very flexible composition. It provides built-in cache mechanism, template engine based on tagged template literals, and integration with developer tools.
- * [Skate.js](http://skate.js.org/) is a library built on top of the W3C web component specs that enables you to write functional and performant web components with a very small footprint. Skate is Inherently cross-framework compatible. For example, it works seamlessly with - and complements - React and other frameworks.
+ * [LitElement](https://github.com/Polymer/lit-element) uses [lit-html](https://github.com/Polymer/lit-html) to render into the element's Shadow DOM and adds API to help manage element properties and attributes. LitElement reacts to changes in properties and renders declaratively using lit-html.
+
+ * [Polymer](https://www.polymer-project.org/) is a web component library built by Google, with a simple element creation API. Polymer offers one- and two-way data binding into element templates, and provides shims for better cross-browser performance.
- * [X-Tag](http://x-tag.github.io/) is a Microsoft supported, open source, JavaScript library that wraps the W3C standard Web Components family of APIs to provide a compact, feature-rich interface for rapid component development. While X-Tag offers feature hooks for all Web Component APIs (Custom Elements, Shadow DOM, Templates, and HTML Imports), it only requires Custom Element support to operate. In the absence of native Custom Element support, X-Tag uses a set of polyfills shared with Google's Polymer framework.
+ * [Skate.js](https://skatejs.gitbooks.io/skatejs/content/) is a library built on top of the W3C web component specs that enables you to write functional and performant web components with a very small footprint. Skate is inherently cross-framework compatible. For example, it works seamlessly with - and complements - React and other frameworks.
+
+ * [Slim.js](http://slimjs.com) Slim.js is a lightweight web component library that provides extended capabilities for components, such as data binding, using es6 native class inheritance. This library is focused for providing the developer the ability to write robust and native web components without the hassle of dependencies and an overhead of a framework.
+
+ * [Stencil](https://stenciljs.com/) is an opensource compiler that generates standards-compliant web components.
diff --git a/static/polyfills.md b/static/polyfills.md
index cdae0b7..8a00760 100644
--- a/static/polyfills.md
+++ b/static/polyfills.md
@@ -6,32 +6,18 @@ The polyfills are available on GitHub: https://github.com/WebComponents/webcompo
To install the polyfills, run this command:
```
-bower install --save webcomponents/webcomponentsjs
+npm install @webcomponents/webcomponentsjs
```
+There are severeal different ways of applying the polyfill [which you can read about here](https://github.com/WebComponents/webcomponentsjs#how-to-use). The easiest way to utilize webcomponents across platform is the following:
+```html
+
+
-To feature detect:
-```js
-(function() {
- if ('registerElement' in document
- && 'import' in document.createElement('link')
- && 'content' in document.createElement('template')) {
- // platform is good!
- } else {
- // polyfill the platform!
- var e = document.createElement('script');
- e.src = '/bower_components/webcomponentsjs/webcomponents-lite.min.js';
- document.body.appendChild(e);
- }
-})();
-```
-
-# Shadow DOM polyfill
-The shadow DOM polyfill provides shadow DOM v0 functionality in browsers that don't support it natively. See the Compatibility table for more information.
-
-The shadow DOM polyfill, though very powerful, is also fairly intrusive and can add significant performance overhead. For this reason, many Web Components-based libraries like Polymer work around having to use this polyfill, and provide a lighter-weight alternative. These libraries don’t require loading the full Web Components polyfill, but instead use a “lite” version of the polyfill with shadow DOM removed:
+
+
-```
-webcomponents/webcomponents-lite.min.js
+
+Hello Shadow DOM
';
```
-In Shadow DOM v0, use the createShadowRoot() method to create shadow DOM:
-```js
-let e = document.createElement('div');
-let shadowRoot = e.createShadowRoot();
-```
-
## Composition and slots
-By default, if an element has shadow DOM, the shadow tree is rendered instead of the element's children. To allow children to render, you need to add placeholders for them in your shadow tree. To do this in shadow DOM v1:
+By default, if an element has shadow DOM, the shadow tree is rendered instead of the element's children. To allow children to render, you need to add placeholders for them in your shadow tree. To do this in shadow DOM:
Consider the following shadow tree for `