<website-header></website-header>
<!--
That is a custom HTML element which we can add to our pages.
It's just one simple tag! It represents the markup below...
-->
<dom-module id="website-header">
<template>
<header>
<img class="logo" src="../../public/images/logo.png" />
<nav>
<ul>
<li><a href="#">Page 1</a></li>
<li><a href="#">Page 2</a></li>
<li><a href="#">Page 3</a></li>
</ul>
</nav>
</header>
</template>
</dom-module>
<!--
FOR EXAMPLE,
-->
<html>
<body>
<website-header></website-header>
</body>
</html>
<!--
WOULD RENDER IN THE BROWSER AS:
-->
<html>
<body>
<header>
<img class="logo" src="../../public/images/logo.png" />
<nav>
<ul>
<li><a href="#">Page 1</a></li>
<li><a href="#">Page 2</a></li>
<li><a href="#">Page 3</a></li>
</ul>
</nav>
</header>
</body>
</html>
/pages/
/pages/eeplmr01/
/components/
/components/eeplmr01/
/public/
/public/images/
/styles/
/styles/eeplmr01/
index.html
style.css
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
<title>Hello World</title>
<link rel="stylesheet" href="style.css">
<script src="bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
<link rel="import" href="bower_components/app-router/app-router.html">
<link rel="import" href="components/eeplmr01/eeplmr01-components.html">
</head>
<body unresolved>
<eeplmr01-header></eeplmr01-header>
<div id="contentMain">
<main>
<eeplmr01-routes></eeplmr01-routes>
</main>
</div>
<eeplmr01-footer></eeplmr01-footer>
</body>
</html>
<link rel="import" href="../../bower_components/polymer/polymer.html">
<dom-module id="eeplmr01-header">
<template>
<style>
/*
THIS IS CSS RELATED TO THE HEADER COMPONENT.
POLYMER SCOPES ITS COMPONENTS.
*/
#headerMain {
color: green;
}
</style>
<div id="headerMain">
<header>
<nav>
<ul>
<li><a href="#!/">Home</a></li>
<li><a href="#!/about/">About</a></li>
<li><a href="#!/contact/">Contact</a></li>
</ul>
</nav>
</header>
</div>
</template>
<script>
Polymer({
is: "eeplmr01-header"
});
</script>
</dom-module>
<link rel="import" href="../../bower_components/polymer/polymer.html">
<dom-module id="eeplmr01-footer">
<template>
<style>
/*
THIS IS CSS RELATED TO THE FOOTER COMPONENT.
*/
#footerMain {
color: blue;
}
</style>
<div id="footerMain">
<footer>
© 2016 <a href="mailto:emailaddress@domain.tld">Username</a>
</footer>
</div>
</template>
<script>
Polymer({
is: "eeplmr01-footer"
});
</script>
</dom-module>
<!-- components/eeplmr01/index.html -->
<link rel="import" href="eeplmr01-routes.html">
<link rel="import" href="eeplmr01-header.html">
<link rel="import" href="eeplmr01-footer.html">
<link rel="import" href="../../bower_components/polymer/polymer.html">
<dom-module id="eeplmr01-homepage">
<template>
<style>
/*
THIS IS CSS RELATED TO THE HOMEPAGE.
*/
</style>
<div class="homepage">
<p>This is the homepage!</p>
</div>
</template>
<script>
Polymer({
is: "eeplmr01-homepage"
});
</script>
</dom-module>
<link rel="import" href="../../bower_components/polymer/polymer.html">
<dom-module id="eeplmr01-about">
<template>
<style>
/*
THIS IS CSS RELATED TO THE ABOUT PAGE.
*/
</style>
<div class="about">
<p>
This is the about page!
</p>
</div>
</template>
<script>
Polymer({
is: "eeplmr01-about"
});
</script>
</dom-module>
<link rel="import" href="../../bower_components/polymer/polymer.html">
<dom-module id="eeplmr01-routes">
<template>
<app-router>
<app-route path="/" import="pages/eeplmr01/eeplmr01-homepage.html"></app-route>
<app-route path="/about/" import="pages/eeplmr01/eeplmr01-about.html"></app-route>
</app-router>
</template>
<script>
Polymer({
is: "eeplmr01-routes"
});
</script>
</dom-module>
</template>
<script>
Polymer({
is: "eeplmr01-footer",
ready: function() {
// Do something on footer ready
// (That's like document ready, but just for the footer component)!
}
});
</script>
</dom-module>
Have a question about something in this article? You can receive help directly from the article author. Sign up for a free trial to get started.
Comments (0)