diff --git a/css/default.css b/css/default.css
new file mode 100644
index 0000000..801c0b0
--- /dev/null
+++ b/css/default.css
@@ -0,0 +1,449 @@
+/* general settings */
+* {
+ font-family: sans-serif;
+ font-weight: 100;
+ opacity: 1;
+ /* remove gaps between sections causes by header elements, without
+messing up the centered "I Love" */
+ margin-top: 0px;
+}
+
+body, div {
+ /* remove gaps between sections */
+ margin: 0;
+ padding: 0;
+}
+
+body {
+ width: 1080px;
+ margin-left: auto; /*center content*/
+ margin-right: auto;
+}
+
+a {
+ text-decoration: none;
+ opacity: 1;
+}
+
+/* this style of column formatting has the advantage of not requiring
+extra html markup, as opposed to using CSS tables */
+/* 3-column formatting */
+div.three-by {
+ width: 100%;
+}
+
+div.three-by > div {
+ width: 32%;
+ display: inline-block;
+ padding: 0;
+ margin: 0;
+ border-width: 0;
+}
+
+div.three-by > div:first-child {
+ left: 0px;
+}
+
+div.three-by div:nth-child(2) {
+ left: 32%;
+}
+
+div.three-by div:last-child {
+ right: 0px;
+}
+
+/* 4-column formatting */
+div.four-by {
+ width: 100%;
+}
+
+div.four-by > div {
+ width: 24%;
+ display: inline-block;
+ padding: 0;
+ margin: 0;
+ border-width: 0;
+}
+
+div.four-by > div:first-child {
+ left: 0px;
+}
+
+div.four-by > div:nth-child(2) {
+ left: 24%;
+}
+
+div.four-by > div:nth-child(3) {
+ right: 24%;
+}
+
+div.four-by > div:last-child {
+ right: 0px;
+}
+
+/* general colors */
+div#i_love_front, div#i_love_footer {
+ background-color: #2196f3;
+ color: white;
+}
+
+div#i_love_front a, div#i_love_footer a {
+ color: inherit;
+}
+
+div#why_i_love {
+ background-color: white;
+ color: grey;
+}
+
+div#i_love_work > div {
+ text-align: center;
+}
+
+div#i_love_work, div#i_love_team {
+ background-color: #f7f7f7;
+ color: grey;
+ padding-top: 50px;
+ padding-bottom: 25px;
+}
+
+div#why_i_love, div#i_love_work, div#i_love_team {
+ width: 90%;
+ padding-left: 5%;
+ padding-right: 5%;
+}
+
+div#i_love_work h1, div#i_love_team h1 {
+ color: #2196f3;
+ font-weight: 400;
+}
+
+div#why_i_love a, div#i_love_work a, div#i_love_team a {
+ color: #2196f3;
+}
+
+/* i_love_front section formatting */
+div#i_love_front {
+ height: 600px;
+ position: relative; /* necessary to get h1 centered */
+}
+
+div#i_love_front h1 {
+ position: absolute;
+ clear: both;
+ bottom: 50%;
+ height: 1px; /* advice from http://www.werockyourweb.com/css-vertically-horizontally-center/ */
+ width: 100%;
+ text-align:center;
+ font-size: 400%;
+}
+
+div#i_love_masthead {
+ position: absolute;
+ width: 70%;
+ margin-left: 15%;
+ margin-top: 10px;
+}
+
+div#md_template {
+ float: left;
+ font-size: 150%;
+}
+
+div#navigation {
+ float: right;
+ display: block;
+}
+
+
+div#navigation a {
+ text-align: center;
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+div#navigation a:first-of-type {
+ margin-left: 0;
+}
+
+div#navigation a:last-of-type {
+ margin-right: 0;
+}
+
+
+/* why_i_love section formatting */
+div#why_i_love {
+ /* keep everything on a single line */
+ white-space: nowrap;
+}
+
+div#why_i_love > div {
+ padding-top: 20px;
+ padding-bottom: 20px;
+ white-space: normal;
+}
+
+div#why_i_love div.text {
+}
+
+div#why_i_love div.text {
+ text-align: center;
+ font-size: 250%;
+}
+
+div#reason-blocks > div {
+ text-align: center;
+}
+
+div#reason-blocks > div:first-of-type {
+ margin-right: 5px;
+}
+
+div#reason-blocks > div:nth-of-type(2) {
+ margin-right: 5px;
+ margin-left: 5px;
+}
+
+div#reason-blocks > div:last-of-type {
+ margin-left: 5px;
+}
+
+/* i_love_work section formatting */
+div#i_love_work {
+}
+
+div#i_love_work > div {
+ padding: 0px 0px 20px 0px;
+ margin: 5px;
+ background-color: white;
+ width: 298px;
+ box-shadow: 0px 1px 5px #888888, 0px -1px 5px #ffffff;
+ text-align: left;
+}
+
+/* img, h2, and a elements */
+div#i_love_work div > * {
+ padding: 0px;
+ margin-left: 0px;
+ margin-right: 0px;
+}
+
+div#i_love_work > div:first-of-type {
+ margin-right: 5px;
+}
+
+div#i_love_work > div:nth-of-type(2) {
+ margin-right: 5px;
+ margin-left: 5px;
+}
+
+div#i_love_work > div:last-of-type {
+ margin-left: 5px;
+}
+
+div#i_love_work > div a {
+ font-weight: 400;
+ padding: 5px 5px 10px 5px;
+ margin: 5px 0px 5px 10px;
+}
+
+div#i_love_work > div h2 {
+ padding: 10px 5px 5px 5px;
+ margin: 5px 0px 5px 10px;
+}
+
+
+/* i_love_slideshow section formatting */
+div#i_love_slideshow {
+ height: 400px;
+ overflow: hidden;
+}
+
+/* i_love_team section formatting */
+
+div#i_love_team {
+ white-space: nowrap;
+}
+
+div#i_love_team > div {
+ background-color: white;
+ box-shadow: 0px 1px 5px #888888, 0px -1px 5px #ffffff;
+ padding-top: 20px;
+ padding-bottom: 20px;
+ text-align: center;
+}
+
+div#i_love_team > div h3 {
+ color: red;
+}
+
+div#i_love_team > div:first-of-type {
+ margin-right: 5px;
+}
+
+div#i_love_team > div:nth-of-type(2) {
+ margin-right: 5px;
+ margin-left: 5px;
+}
+
+div#i_love_team > div:nth-of-type(3) {
+ margin-right: 5px;
+ margin-left: 5px;
+}
+
+div#i_love_team > div:last-of-type {
+ margin-left: 5px;
+}
+
+/* i_love_footer section formatting */
+div#i_love_footer {
+ padding-bottom: 10px;
+ padding-top: 20px;
+}
+
+div#contact-us, div#links {
+ width: 39%;
+ display: inline-block;
+}
+
+div#contact-us {
+ float: left;
+}
+
+div#links {
+ float: right;
+}
+
+div#made-by {
+ clear: both;
+ padding-top: 2.5em;
+ padding-bottom: 0;
+ margin-bottom: 0;
+}
+
+div#contact-us, div#links, div#made-by {
+ padding-left: 10%;
+}
+
+div#contact-us input, div#contact-us textarea {
+ background-color: #2196f3;
+ color: white;
+ text-align:left;
+ font-style: bold;
+ font-weight: 800;
+ border-top: none;
+ border-left: none;
+ border-right: none;
+ border-bottom: 1px solid #a9a9a9;
+}
+
+div#contact-us form p {
+ margin: 10px 0px;
+ padding: 0;
+ width: 100%;
+}
+
+div#contact-us form p:first-child, div#contact-us form p:nth-child(2) {
+ display: inline-block;
+ width: 45%;
+ white-space: nowrap;
+ }
+div#contact-us form p:first-child {
+ float: left;
+}
+
+div#contact-us form p:nth-child(2) {
+ float: right;
+}
+
+div#contact-us form p:nth-child(3) {
+ clear: both;
+ display: inline;
+ white-space: nowrap;
+}
+
+div#contact-us form p:nth-child(3) img {
+ vertical-align: top;
+}
+
+div#contact-us textarea {
+ width: 100%;
+ text-align: left;
+ vertical-align: top;
+}
+
+/* from: https://css-tricks.com/snippets/css/style-placeholder-text/ */
+::-webkit-input-placeholder {
+ color: white;
+ opacity: 1; /*global setting does not reach this element for some reason*/
+}
+
+:-moz-placeholder { /* Firefox 18- */
+ color: white;
+ opacity: 1;
+}
+
+::-moz-placeholder { /* Firefox 19+ */
+ color: white;
+ opacity: 1;
+}
+
+:-ms-input-placeholder {
+ color: white;
+ opacity: 1;
+}
+
+div#contact-us button {
+ position: relative;
+ float: right;
+ right: 0px;
+ margin-right: 0px;
+ color: white;
+ background-color: red;
+ padding: 5px 5px 5px 5px;
+}
+
+div#contact-us button span {
+ display: inline-block;
+ text-align: center;
+ padding: 0;
+ margin: 0;
+ font-style: bold;
+ font-weight: 800;
+}
+
+div#contact-us button img {
+ vertical-align: middle;
+ padding: 0 0 2px 10px;
+ margin: 0;
+}
+
+div#internal-links, div#external-links {
+ width: 40%;
+ display: inline-block;
+ vertical-align: top;
+ padding-right: 20px;
+}
+
+div#internal-links h1, div#internal-links a, div#external-links h1, div#external-links a {
+ display: table-row;
+}
+
+div#internal-links h1, div#external-links h1 {
+ font-size: 100%;
+ font-weight: 700;
+ height: 2em;
+}
+
+div#internal-links a, div#external-links a {
+ height: 1.3em;
+}
+
+div#external-links img {
+ padding-right: 3px;
+}
+
+/* other settings */
+a:hover, a:active {
+ color: yellow;
+}
\ No newline at end of file
diff --git a/css/print.css b/css/print.css
new file mode 100644
index 0000000..fddaf34
--- /dev/null
+++ b/css/print.css
@@ -0,0 +1,19 @@
+/* Firefox needs to scale the page to 60% to print correctly, but
+doing it in CSS is problematic. */
+/* body { */
+/* transform: scale(0.6); */
+/* transform-origin: 10% 20%; */
+/* } */
+
+div#i_love_slideshow, div#i_love_footer, div#navigation {
+ display: none;
+}
+
+div#i_love_work, div#i_love_team {
+ /* does not work in Chrome */
+ page-break-before: always;
+}
+
+div#i_love_front h1, div#md_template {
+ color: #2196f3;
+}
\ No newline at end of file
diff --git a/data.xml b/data.xml
new file mode 100644
index 0000000..88ba081
--- /dev/null
+++ b/data.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/img_content/bison.jpg b/img_content/bison.jpg
new file mode 100644
index 0000000..1c07410
Binary files /dev/null and b/img_content/bison.jpg differ
diff --git a/img_content/bison.xcf b/img_content/bison.xcf
new file mode 100644
index 0000000..ef2d6d9
Binary files /dev/null and b/img_content/bison.xcf differ
diff --git a/img_content/captain_america.jpg b/img_content/captain_america.jpg
new file mode 100644
index 0000000..d828f9d
Binary files /dev/null and b/img_content/captain_america.jpg differ
diff --git a/img_content/captain_america.xcf b/img_content/captain_america.xcf
new file mode 100644
index 0000000..0fc2012
Binary files /dev/null and b/img_content/captain_america.xcf differ
diff --git a/img_content/catwoman.jpg b/img_content/catwoman.jpg
new file mode 100644
index 0000000..b04939b
Binary files /dev/null and b/img_content/catwoman.jpg differ
diff --git a/img_content/catwoman.xcf b/img_content/catwoman.xcf
new file mode 100644
index 0000000..f33fd25
Binary files /dev/null and b/img_content/catwoman.xcf differ
diff --git a/img_content/dog.jpg b/img_content/dog.jpg
new file mode 100644
index 0000000..ccff1cd
Binary files /dev/null and b/img_content/dog.jpg differ
diff --git a/img_content/dog.xcf b/img_content/dog.xcf
new file mode 100644
index 0000000..c7c4b87
Binary files /dev/null and b/img_content/dog.xcf differ
diff --git a/img_content/eagle.jpg b/img_content/eagle.jpg
new file mode 100644
index 0000000..ab540ac
Binary files /dev/null and b/img_content/eagle.jpg differ
diff --git a/img_content/eagle.xcf b/img_content/eagle.xcf
new file mode 100644
index 0000000..a21f85c
Binary files /dev/null and b/img_content/eagle.xcf differ
diff --git a/img_content/flash.jpg b/img_content/flash.jpg
new file mode 100644
index 0000000..4bdeb6e
Binary files /dev/null and b/img_content/flash.jpg differ
diff --git a/img_content/flash.xcf b/img_content/flash.xcf
new file mode 100644
index 0000000..80d5bf0
Binary files /dev/null and b/img_content/flash.xcf differ
diff --git a/img_content/lynx.jpg b/img_content/lynx.jpg
new file mode 100644
index 0000000..21ca47b
Binary files /dev/null and b/img_content/lynx.jpg differ
diff --git a/img_content/musk-ox.jpg b/img_content/musk-ox.jpg
new file mode 100644
index 0000000..dcdb27f
Binary files /dev/null and b/img_content/musk-ox.jpg differ
diff --git a/img_content/musk-ox.xcf b/img_content/musk-ox.xcf
new file mode 100644
index 0000000..b704b93
Binary files /dev/null and b/img_content/musk-ox.xcf differ
diff --git a/img_content/porcupine.jpg b/img_content/porcupine.jpg
new file mode 100644
index 0000000..e0f1722
Binary files /dev/null and b/img_content/porcupine.jpg differ
diff --git a/img_content/porcupine.xcf b/img_content/porcupine.xcf
new file mode 100644
index 0000000..c06a2e1
Binary files /dev/null and b/img_content/porcupine.xcf differ
diff --git a/img_content/robin.jpg b/img_content/robin.jpg
new file mode 100644
index 0000000..e048f75
Binary files /dev/null and b/img_content/robin.jpg differ
diff --git a/img_content/robin.xcf b/img_content/robin.xcf
new file mode 100644
index 0000000..e8928af
Binary files /dev/null and b/img_content/robin.xcf differ
diff --git a/img_link/behance.png b/img_link/behance.png
new file mode 100644
index 0000000..04ce890
Binary files /dev/null and b/img_link/behance.png differ
diff --git a/img_link/behance.svg b/img_link/behance.svg
new file mode 100644
index 0000000..7334544
--- /dev/null
+++ b/img_link/behance.svg
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+ Be
+
+
+
diff --git a/img_link/computer.png b/img_link/computer.png
new file mode 100644
index 0000000..1474a99
Binary files /dev/null and b/img_link/computer.png differ
diff --git a/img_link/computer.svg b/img_link/computer.svg
new file mode 100644
index 0000000..1815eab
--- /dev/null
+++ b/img_link/computer.svg
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/img_link/facebook1.png b/img_link/facebook1.png
new file mode 100644
index 0000000..ff2bdad
Binary files /dev/null and b/img_link/facebook1.png differ
diff --git a/img_link/facebook2.png b/img_link/facebook2.png
new file mode 100644
index 0000000..f0faf29
Binary files /dev/null and b/img_link/facebook2.png differ
diff --git a/img_link/github.png b/img_link/github.png
new file mode 100644
index 0000000..9b2920e
Binary files /dev/null and b/img_link/github.png differ
diff --git a/img_link/gplus.png b/img_link/gplus.png
new file mode 100644
index 0000000..2f9e563
Binary files /dev/null and b/img_link/gplus.png differ
diff --git a/img_link/gplus.svg b/img_link/gplus.svg
new file mode 100644
index 0000000..584ab07
--- /dev/null
+++ b/img_link/gplus.svg
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+ g
+ +
+
+
+
diff --git a/img_link/lightning.png b/img_link/lightning.png
new file mode 100644
index 0000000..6963d72
Binary files /dev/null and b/img_link/lightning.png differ
diff --git a/img_link/lightning.svg b/img_link/lightning.svg
new file mode 100644
index 0000000..f7e6b5e
--- /dev/null
+++ b/img_link/lightning.svg
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
diff --git a/img_link/linkedin.png b/img_link/linkedin.png
new file mode 100644
index 0000000..20353ba
Binary files /dev/null and b/img_link/linkedin.png differ
diff --git a/img_link/linkedin1.png b/img_link/linkedin1.png
new file mode 100644
index 0000000..3bbd049
Binary files /dev/null and b/img_link/linkedin1.png differ
diff --git a/img_link/mail-letter.png b/img_link/mail-letter.png
new file mode 100644
index 0000000..7b77e29
Binary files /dev/null and b/img_link/mail-letter.png differ
diff --git a/img_link/mail-letter.svg b/img_link/mail-letter.svg
new file mode 100644
index 0000000..537296b
--- /dev/null
+++ b/img_link/mail-letter.svg
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
diff --git a/img_link/pencil.png b/img_link/pencil.png
new file mode 100644
index 0000000..6ef015a
Binary files /dev/null and b/img_link/pencil.png differ
diff --git a/img_link/pencil.svg b/img_link/pencil.svg
new file mode 100644
index 0000000..c5bb926
--- /dev/null
+++ b/img_link/pencil.svg
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/img_link/people.png b/img_link/people.png
new file mode 100644
index 0000000..19d1680
Binary files /dev/null and b/img_link/people.png differ
diff --git a/img_link/people.svg b/img_link/people.svg
new file mode 100644
index 0000000..8f4c829
--- /dev/null
+++ b/img_link/people.svg
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/img_link/person.png b/img_link/person.png
new file mode 100644
index 0000000..498c183
Binary files /dev/null and b/img_link/person.png differ
diff --git a/img_link/person.svg b/img_link/person.svg
new file mode 100644
index 0000000..f1714ec
--- /dev/null
+++ b/img_link/person.svg
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
diff --git a/img_link/submit.png b/img_link/submit.png
new file mode 100644
index 0000000..bfb6611
Binary files /dev/null and b/img_link/submit.png differ
diff --git a/img_link/submit.svg b/img_link/submit.svg
new file mode 100644
index 0000000..4e1d7c6
--- /dev/null
+++ b/img_link/submit.svg
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
diff --git a/img_link/twitter.png b/img_link/twitter.png
new file mode 100644
index 0000000..0983337
Binary files /dev/null and b/img_link/twitter.png differ
diff --git a/img_link/twitter.svg b/img_link/twitter.svg
new file mode 100644
index 0000000..39dedc3
--- /dev/null
+++ b/img_link/twitter.svg
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
diff --git a/img_link/twitter_2.svg b/img_link/twitter_2.svg
new file mode 100644
index 0000000..0a60f5b
--- /dev/null
+++ b/img_link/twitter_2.svg
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/img_slider/beaver.jpg b/img_slider/beaver.jpg
new file mode 100644
index 0000000..e6b549b
Binary files /dev/null and b/img_slider/beaver.jpg differ
diff --git a/img_slider/bison.jpg b/img_slider/bison.jpg
new file mode 100755
index 0000000..991ac94
Binary files /dev/null and b/img_slider/bison.jpg differ
diff --git a/img_slider/bison.xcf b/img_slider/bison.xcf
new file mode 100644
index 0000000..c0f71e3
Binary files /dev/null and b/img_slider/bison.xcf differ
diff --git a/img_slider/dog.jpg b/img_slider/dog.jpg
new file mode 100755
index 0000000..a25a6cb
Binary files /dev/null and b/img_slider/dog.jpg differ
diff --git a/img_slider/dog.xcf b/img_slider/dog.xcf
new file mode 100644
index 0000000..5d4330a
Binary files /dev/null and b/img_slider/dog.xcf differ
diff --git a/img_slider/eagle.jpg b/img_slider/eagle.jpg
new file mode 100755
index 0000000..65ccd4f
Binary files /dev/null and b/img_slider/eagle.jpg differ
diff --git a/img_slider/eagle.xcf b/img_slider/eagle.xcf
new file mode 100644
index 0000000..2911efc
Binary files /dev/null and b/img_slider/eagle.xcf differ
diff --git a/img_slider/lynx.jpg b/img_slider/lynx.jpg
new file mode 100755
index 0000000..87ef92c
Binary files /dev/null and b/img_slider/lynx.jpg differ
diff --git a/img_slider/lynx.xcf b/img_slider/lynx.xcf
new file mode 100644
index 0000000..2080fbb
Binary files /dev/null and b/img_slider/lynx.xcf differ
diff --git a/img_slider/musk-ox.jpg b/img_slider/musk-ox.jpg
new file mode 100755
index 0000000..e7465a0
Binary files /dev/null and b/img_slider/musk-ox.jpg differ
diff --git a/img_slider/musk-ox.xcf b/img_slider/musk-ox.xcf
new file mode 100644
index 0000000..496ee9a
Binary files /dev/null and b/img_slider/musk-ox.xcf differ
diff --git a/img_slider/porcupine.jpg b/img_slider/porcupine.jpg
new file mode 100755
index 0000000..03b688c
Binary files /dev/null and b/img_slider/porcupine.jpg differ
diff --git a/img_slider/porcupine.xcf b/img_slider/porcupine.xcf
new file mode 100644
index 0000000..7af9c18
Binary files /dev/null and b/img_slider/porcupine.xcf differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..0766ea8
--- /dev/null
+++ b/index.html
@@ -0,0 +1,300 @@
+
+
+
+
+ MD Template
+
+
+
+
+
+
+
+
+
+
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
+
sed
+
do eiusmod tempor incididunt ut labore et dolore
+
magna aliqua
+
.
+
+
+
+
+
+ Speeds up development
+
+
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
+ dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur.
+
+
+
+
+
+ User Experience Focused
+
+
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
+ dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur.
+
+
+
+
+
+ Fully responsive
+
+
+ Ut enim ad minim veniam, quis nostrud exercitation ullamco
+ laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure
+ dolor in reprehenderit in voluptate velit esse cillum dolore eu
+ fugiat nulla pariatur.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/js/slideshow.js b/js/slideshow.js
new file mode 100644
index 0000000..2a184fb
--- /dev/null
+++ b/js/slideshow.js
@@ -0,0 +1,75 @@
+// animation
+var change_slide = function() {
+
+ var status = {
+ // setInterval return value
+ interval_id : null,
+ //distance in pixels from the start of the first image to the start of the last image
+ position_reset : 6480,
+ // current slide position in pixels
+ position : 0,
+ // wait for 3 seconds at images, 33 msec * 91 cycles = 3.003 seconds
+ loop_wait_reset : 91,
+ loop_wait : 91,
+
+ //state:
+ // 1: keep current image
+ // 0: moving in a new image
+ state : 1,
+ // move image 6 pixels per cycle when in state 0.
+ // An image is 1080 pixels wide, and we want to move between images at 1080pixels / 6 seconds.
+ // 1080/6 = 180 cycles to move an image, 180 * 33 msec = 5.94 seconds
+ jump: 6,
+ svg_group: document.getElementById("i_love_slideshow_svg_g")
+ };
+
+ status.svg_group.setAttribute("transform", "translate(0,0)");
+
+ var slide_animate = function(that) {
+ if(that.state === 1) {
+ if(that.loop_wait > 0) {
+ that.loop_wait--;
+ } else {
+ that.state = 0;
+ that.loop_wait = that.loop_wait_reset;
+ that.position += that.jump;
+ that.svg_group.setAttribute("transform", "translate(-" + that.position + ",0)");
+ }
+ } else { //currently moving image
+ if(that.position < that.position_reset && that.position % 1080 === 0) {
+ // at an intermediate image
+ that.state = 1;
+ } else if(that.position < that.position_reset) { //between images
+ that.position += that.jump;
+ that.svg_group.setAttribute("transform", "translate(-" + that.position + ",0)");
+ } else { // at last image
+ that.svg_group.setAttribute("transform", "translate(0,0)");
+ that.position = 0;
+ that.state = 1;
+ }
+ }
+ };
+
+ status.interval_id = window.setInterval(slide_animate, 33, status);
+};
+
+window.onload = function() {
+ // remove SMIL animations and use JS for non-Mozilla browsers
+
+ // SMIL is detected by modernizr for Chrome, but SMIL doesn't work correctly in Chrome
+ var not_firefox = typeof(InstallTrigger) === 'undefined';
+
+ if(not_firefox) {
+ var animation_group = document.getElementById("i_love_slideshow_svg_g");
+ // turn the object returned by getElementsByTagName into a
+ // true array from an array-like object, then animations will be an array of nodes
+ var animations = Array.prototype.slice.call(animation_group.getElementsByTagName("animateMotion"));
+
+ var animations_len = animations.length;
+ for(var i = 0; i < animations_len; ++i) {
+ animation_group.removeChild(animations[i]);
+ }
+
+ change_slide();
+ }
+};
diff --git a/svg_slideshow.php b/svg_slideshow.php
new file mode 100644
index 0000000..2aea4bf
--- /dev/null
+++ b/svg_slideshow.php
@@ -0,0 +1,14 @@
+load('data.xml');
+
+$xsl = new DOMDocument;
+$xsl->load('svg_slideshow.xsl');
+
+// Configure the transformer
+$proc = new XSLTProcessor;
+$proc->importStyleSheet($xsl); // attach the xsl rules
+
+echo $proc->transformToXML($xml);
+?>
\ No newline at end of file
diff --git a/svg_slideshow.xsl b/svg_slideshow.xsl
new file mode 100644
index 0000000..efe2c6a
--- /dev/null
+++ b/svg_slideshow.xsl
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+