diff --git a/www/index.html b/www/index.html index 37a1e4705..c8ac9290d 100644 --- a/www/index.html +++ b/www/index.html @@ -1,298 +1,317 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <meta name="description" content="Minimal Linux Live" /> - <meta name="keywords" content="minimal linux live tutorial kernel busybox cd usb iso image" /> - <meta name="author" content="Ivan Davidov - davidov (dot) i [at] gmail {dot} com" /> - <title>Minimal Linux Live</title> - <link rel="stylesheet" type="text/css" href="style.css"/> - <link rel="icon" type="image/x-icon" href="/favicon.ico" /> - <script language="JavaScript" type="text/javascript"> - function menuSwap(itemIndex) { - for(var i = 1; i <= 5; i++) { - var strItem = "item" + i; - var objItem = document.getElementById(strItem); - objItem.style.display = (i == itemIndex) ? "block" : "none"; - } - } - - function logSwap(itemIndex, show) { - for(var i = 1; i <= 2; i++) { - var showObj = document.getElementById("show" + i); - var hideObj = document.getElementById("hide" + i); - var textObj = document.getElementById("text" + i); - - if(i == itemIndex) { - if(show == true) { - showObj.style.display = "none"; - hideObj.style.display = "block"; - textObj.style.display = "block"; - } else { - showObj.style.display = "block"; - hideObj.style.display = "none"; - textObj.style.display = "none"; - } - } else if(show == true) { - showObj.style.display = "block"; - hideObj.style.display = "none"; - textObj.style.display = "none"; - } - } - } - </script> - </head> - <body> - <div id="container"> - <div id="header"> - <a href="/">Minimal Linux Live</a> - </div> - <div id="menu"> - <a href="#" onclick="javascript:menuSwap(1); return false;">Home</a> - <a href="#" onclick="javascript:menuSwap(2); return false;">Changes</a> - <a href="#" onclick="javascript:menuSwap(3); return false;">About</a> - <a href="#" onclick="javascript:menuSwap(4); return false;">Tutorial</a> - <a href="#" onclick="javascript:menuSwap(5); return false;">Download</a> - </div> - <div id="main"> - <div id="item1" style="display:block;"> - <div id="text"> - <h2>Home Page</h2> - <p> - <b>Minimal Linux Live</b> is a set of Linux shell scripts which automatically build minimal Live - Linux OS based on <a target="_blank" href="http://kernel.org">Linux kernel</a> - and <a target="_blank" href="http://busybox.net">BusyBox</a>. All necessary source codes are automatically - downloaded and all build operations are fully encapsulated in the scripts. - </p> - <p> - If you want to build your own Minimal Linux Live ISO image file, all you need to do is the following: - </p> - <p> - <ul> - <li> - Get the latest scripts from the <a href="#" onclick="javascript:menuSwap(5); return false;">download</a> section. - </li> - <li> - Extract the scripts to some folder. - </li> - <li> - Just for convenience, make sure that all scripts are executable (chmod +x *.sh). If you decide to skip this step you - can still run the scripts like this (example): <i>sh build_minimal_linux_live.sh</i> - </li> - <li> - Depending on which Linux OS you are using, there might be one or more (or none, or even more) build dependencies that you - need to resolve before you start the build process. If you work with <a target="_blank" href="http://ubuntu.com">Ubuntu</a>, - the following commands should resolve all necessary build dependencies: - <ul> - <li> - sudo apt-get install wget - </li> - <li> - sudo apt-get install make - </li> - <li> - sudo apt-get install gcc - </li> - <li> - sudo apt-get install bc - </li> - <li> - sudo apt-get install syslinux - </li> - <li> - sudo apt-get install genisoimage - </li> - </ul> - <br /> - </li> - <li> - Execute the script <b>build_minimal_linux_live.sh</b> and wait. If you have resolved all build dependencies, the whole - process should take less than 30 minutes on a modern computer. If the build fails for some reason, most probably there - are unresolved build dependencies. Several users reported that the <i>build-essential</i> package resolves all unexpected - build dependencies for Ubuntu. If you are using <a target="_blank" href="http://linuxmint.com">Linux Mint</a> try to - install the package <i>g++</i> and if you still have troubles then try the <i>build-essential</i> package. On - <a target="_blank" href="http://fedoraproject.org">Fedora</a> you might need the static 'glibc' package <i>glibc-static</i>. - <p /> - Please have in mind that the build dependencies can vary a lot depending on the Linux OS which you use and the software - which you have already installed. - <p /> - If you still have troubles then examine the failure message and google it. If you are unable to find solution, then you - can ask someone more experienced Linux guru (if you know any) or as alternative you can contact me. Please, make sure that - you have researched your problem in advance before you send me your question. - </li> - <li> - When the scripts finish their job you will find newly created <b>minimal_linux_live.iso</b> in the same folder where you - executed the scripts. You can burn the ISO image file on CD/DVD, install it on USB flash drive via - <a target="_blank" href="http://www.pendrivelinux.com">Universal USB Installer</a>, - or run it directly via PC emulator like <a target="_blank" href="http://virtualbox.org">VirtualBox</a>. - </li> - </ul> - </p> - <p> - The produced ISO image file contains Linux kernel compiled with default options, BusyBox compiled with default options and very simple - initramfs. This means that you don't get Windows support out of the box, nor you get any fancy desktop environment. All you - get is a simple shell console which supports all BusyBox applets and... well, that's all. This is why it's called "minimal". - </p> - <p> - The good news is that even though the OS is small and simple, the build scripts are also very small and very simple. You can - quite easily learn from the scripts and later modify them to include more stuff (I encourage you to do so). After you learn - the basics you will have all the necessary tools and skills to create your own fully functional Linux based operating system! - Entirely from scratch! Isn't it great?! :) - </p> - <p> - The <a href="#" onclick="javascript:menuSwap(4); return false;">tutorial</a> provides more details about the inner structure - of the scripts and the overall build process. I encourage you to go through this document when you have the time. - </p> - <p> - Below you can find several screenshots which show what the environment looks like when you boot your newly generated - Minimal Linux Live OS. - </p> - <p> - <img alt="Minimal Linux Live" id="screenshot1" width="100%" height="100%" border="0" src="./images/screen1.png" /> - </p> - <p> - <img alt="Minimal Linux Live" id="screenshot2" width="100%" height="100%" border="0" src="./images/screen2.png" /> - </p> - <p> - <img alt="Minimal Linux Live" id="screenshot3" width="100%" height="100%" border="0" src="./images/screen3.png" /> - </p> - </div> - </div> - <div id="item2" style="display:none;"> - <div id="text"> - <h2>Change Log</h2> - <p> - <div id="show2" style="display:none;"> - <b>25-Aug-2014</b> - <a href="#" onclick="javascript:logSwap(2, true); return false;">show</a> - </div> - <div id="hide2" style="display:block;"> - <b>25-Aug-2014</b> - <a href="#" onclick="javascript:logSwap(2, false); return false;">hide</a> - </div> - <div id="text2" style="display:block;"> - <ul> - <li> - <b>Minimal Linux Live</b> is now based on <b>Linux kernel 3.16.1</b> and <b>BusyBox 1.22.1</b>. - </li> - <li> - The boot process is now based on <b>/sbin/init</b> and <b>/etc/inittab</b>. There are four - available consoles which can be switched with <b>Alt + F1</b> up to <b>Alt + F4</b>. - </li> - <li> - Shell scripts have been updated. Now the downloaded source bundles are stored in separate folder. - If the download process is interrupted, it will continue the next time the scripts are executed. - The most notable change is in <b>5_generate_rootfs.sh</b> which now generates root file system with - structure compatible with <b>/sbin/init</b> and <b>/etc/inittab</b>. - </li> - </ul> - </div> - </p> - <p> - <div id="show1" style="display:block;"> - <b>28-Jul-2014</b> - <a href="#" onclick="javascript:logSwap(1, true); return false;">show</a> - </div> - <div id="hide1" style="display:none;"> - <b>28-Jul-2014</b> - <a href="#" onclick="javascript:logSwap(1, false); return false;">hide</a> - </div> - <div id="text1" style="display:none;"> - <ul> - <li> - <b>Minimal Linux Live</b> is now based on <b>Linux kernel 3.15.6</b> and <b>BusyBox 1.22.1</b>. - </li> - <li> - The boot process is based on simple <b>/init</b> script. - </li> - </ul> - </div> - </p> - </div> - </div> - <div id="item3" style="display:none;"> - <div id="text"> - <h2>About This Project</h2> - <p> - My name is <a target="_blank" href="http://linkedin.com/in/ivandavidov">Ivan Davidov</a> and I currently - live and work in - <a target="_blank" href="http://en.wikipedia.org/wiki/Sofia">Sofia</a>, - <a target="_blank" href="http://en.wikipedia.org/wiki/Bulgaria">Bulgaria</a>. - </p> - <p> - I am professional Java software engineer (yes, Java developers tend to know some Linux stuff) and I've - been trying to create my own Linux OS for a very long time. There are some good tutorials which you - can find online but almost none of them are simple to follow and almost none of them explain in details - what has been done and why it's done in this particular way. In most cases the tutorials are incomplete and - there is high chance that you end up with something broken. - </p> - <p> - Don't get me wrong, you can learn a lot from these tutorials, as I did. In fact the scripts which I created - (did you take a look at them?) are based on the same information resources which you might have already found. - The difference is that this site provides you not only with detailed tutorial, but also with fully functional - set of shell scripts which automatically build fully functional live Linux OS. And the tutorial explains it - all for you! - </p> - <p> - If you'd like to contact me, my e-mail is: <b>davidov [dot] i (at) gmail {dot} com</b> - </p> - <p> - My LinkedIn profile is here: <a target="_blank" href="http://linkedin.com/in/ivandavidov">http://linkedin.com/in/ivandavidov</a> - </p> - </div> - </div> - <div id="item4" style="display:none;"> - <div id="text"> - <h2>Minimal Linux Live Tutorial</h2> - <p> - Would you like to learn how to build your own minimal live Linux OS? - </p> - <p> - <a target="_blank" href="./the_dao_of_minimal_linux_live.txt">The Dao of Minimal Linux Live</a> explains in details - what steps are involved in creating simple live Linux OS entirely from scratch, the inner structure of the - build scripts (I assume you have already downloaded them) and provides you with more information on how to - improve/upgrade the generated OS with other generic stuff (e.g. users & groups, /etc/inittab). - </p> - </div> - </div> - <div id="item5" style="display:none;"> - <div id="text"> - <h2>Download Section</h2> - <p> - The latest stable scripts (25-Aug-2014) can be downloaded as ZIP archive - <a href="./download/minimal_linux_live_25-Aug-2014_src.zip" title="Minimal Linux Live - shell scripts">here</a>. - </p> - <p> - Pre-built ISO image files generated with the latest stable scripts are available for - <a href="./download/minimal_linux_live_25-Aug-2014_32-bit.iso" title="Minimal Linux Live - ISO image file for 32-bit CPUs">32-bit</a> - and - <a href="./download/minimal_linux_live_25-Aug-2014_64-bit.iso" title="Minimal Linux Live - ISO image file for 64-bit CPUs">64-bit</a> - CPUs. - </p> - <p> - You can also <a target="_blank" href="./download">browse the download directory</a>. - </p> - <p> - You can take a look at the latest development sources in - <a target="_blank" href="http://github.com/ivandavidov/minimal">GitHub</a>. - </p> - </div> - </div> - <div class="clear"></div> - </div> - <div id="footer"> - Copyright ©2014 - <span class="separator">|</span> - <a href="/" title="Minimal Linux Live">Minimal Linux Live</a> - </div> - </div> - <script> - (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ - (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), - m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) - })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', 'UA-53254151-1', 'auto'); - ga('send', 'pageview'); - </script> - </body> -</html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta name="description" content="Minimal Linux Live" /> + <meta name="keywords" content="minimal minimalistic tiny linux live tutorial howto kernel busybox cd usb iso image" /> + <meta name="author" content="Ivan Davidov - davidov (dot) i [at] gmail {dot} com" /> + <title>Minimal Linux Live</title> + <link rel="stylesheet" type="text/css" href="style.css"/> + <link rel="icon" type="image/x-icon" href="/favicon.ico" /> + <script language="JavaScript" type="text/javascript"> + function menuSwap(itemIndex) { + for(var i = 1; i <= 5; i++) { + var strItem = "item" + i; + var objItem = document.getElementById(strItem); + objItem.style.display = (i == itemIndex) ? "block" : "none"; + } + } + + function logSwap(itemIndex, show) { + for(var i = 1; i <= 3; i++) { + var showObj = document.getElementById("show" + i); + var hideObj = document.getElementById("hide" + i); + var textObj = document.getElementById("text" + i); + + if(i == itemIndex) { + if(show == true) { + showObj.style.display = "none"; + hideObj.style.display = "block"; + textObj.style.display = "block"; + } else { + showObj.style.display = "block"; + hideObj.style.display = "none"; + textObj.style.display = "none"; + } + } else if(show == true) { + showObj.style.display = "block"; + hideObj.style.display = "none"; + textObj.style.display = "none"; + } + } + } + </script> + </head> + <body> + <div id="container"> + <div id="header"> + <a href="/">Minimal Linux Live</a> + </div> + <div id="menu"> + <a href="#" onclick="javascript:menuSwap(1); return false;">Home</a> + <a href="#" onclick="javascript:menuSwap(2); return false;">Changes</a> + <a href="#" onclick="javascript:menuSwap(3); return false;">About</a> + <a href="#" onclick="javascript:menuSwap(4); return false;">Tutorial</a> + <a href="#" onclick="javascript:menuSwap(5); return false;">Download</a> + </div> + <div id="main"> + <div id="item1" style="display:block;"> + <div id="text"> + <h2>Home Page</h2> + <p> + <b>Minimal Linux Live</b> is a set of Linux shell scripts which automatically build minimal Live + Linux OS based on <a target="_blank" href="http://kernel.org">Linux kernel</a> + and <a target="_blank" href="http://busybox.net">BusyBox</a>. All necessary source codes are automatically + downloaded and all build operations are fully encapsulated in the scripts. + </p> + <p> + If you want to build your own Minimal Linux Live ISO image file, all you need to do is the following: + </p> + <p> + <ul> + <li> + Get the latest scripts from the <a href="#" onclick="javascript:menuSwap(5); return false;">download</a> section. + </li> + <li> + Extract the scripts to some folder. + </li> + <li> + Just for convenience, make sure that all scripts are executable (chmod +x *.sh). If you decide to skip this step you + can still run the scripts like this (example): <i>sh build_minimal_linux_live.sh</i> + </li> + <li> + Depending on which Linux OS you are using, there might be one or more (or none, or even more) build dependencies that you + need to resolve before you start the build process. If you work with <a target="_blank" href="http://ubuntu.com">Ubuntu</a>, + the following commands should resolve all necessary build dependencies: + <ul> + <li> + sudo apt-get install wget + </li> + <li> + sudo apt-get install make + </li> + <li> + sudo apt-get install gcc + </li> + <li> + sudo apt-get install bc + </li> + <li> + sudo apt-get install syslinux + </li> + <li> + sudo apt-get install genisoimage + </li> + </ul> + <br /> + </li> + <li> + Execute the script <b>build_minimal_linux_live.sh</b> and wait. If you have resolved all build dependencies, the whole + process should take less than 30 minutes on a modern computer. If the build fails for some reason, most probably there + are unresolved build dependencies. Several users reported that the <i>build-essential</i> package resolves all unexpected + build dependencies for Ubuntu. If you are using <a target="_blank" href="http://linuxmint.com">Linux Mint</a> try to + install the package <i>g++</i> and if you still have troubles then try the <i>build-essential</i> package. On + <a target="_blank" href="http://fedoraproject.org">Fedora</a> you might need the static 'glibc' package <i>glibc-static</i>. + On <a target="_blank" href="http://www.archlinux.org/">Arch Linux</a> you might need to locate <i>isolinux.bin</i> and copy + it to <i>/usr/lib/syslinux/syslinux.bin</i>. + <p /> + Please have in mind that the build dependencies can vary a lot depending on the Linux OS which you use and the software + which you have already installed. + <p /> + If you still have troubles then examine the failure message and google it. If you are unable to find solution, then you + can ask someone more experienced Linux guru (if you know any) or as alternative you can contact me. Please, make sure that + you have researched your problem in advance before you send me your question. + </li> + <li> + When the scripts finish their job you will find newly created <b>minimal_linux_live.iso</b> in the same folder where you + executed the scripts. You can burn the ISO image file on CD/DVD, install it on USB flash drive via + <a target="_blank" href="http://www.pendrivelinux.com">Universal USB Installer</a>, + or run it directly via PC emulator like <a target="_blank" href="http://virtualbox.org">VirtualBox</a>. + </li> + </ul> + </p> + <p> + The produced ISO image file contains Linux kernel compiled with default options, BusyBox compiled with default options and very simple + initramfs. This means that you don't get Windows support out of the box, nor you get any fancy desktop environment. All you + get is a simple shell console which supports all BusyBox applets and... well, that's all. This is why it's called "minimal". + </p> + <p> + The good news is that even though the OS is small and simple, the build scripts are also very small and very simple. You can + quite easily learn from the scripts and later modify them to include more stuff (I encourage you to do so). After you learn + the basics you will have all the necessary tools and skills to create your own fully functional Linux based operating system! + Entirely from scratch! Isn't it great?! :) + </p> + <p> + The <a href="#" onclick="javascript:menuSwap(4); return false;">tutorial</a> provides more details about the inner structure + of the scripts and the overall build process. I encourage you to go through this document when you have the time. + </p> + <p> + Below you can find several screenshots which show what the environment looks like when you boot your newly generated + Minimal Linux Live OS. + </p> + <p> + <img alt="Minimal Linux Live" id="screenshot1" width="100%" height="100%" border="0" src="./images/screen1.png" /> + </p> + <p> + <img alt="Minimal Linux Live" id="screenshot2" width="100%" height="100%" border="0" src="./images/screen2.png" /> + </p> + <p> + <img alt="Minimal Linux Live" id="screenshot3" width="100%" height="100%" border="0" src="./images/screen3.png" /> + </p> + </div> + </div> + <div id="item2" style="display:none;"> + <div id="text"> + <h2>Change Log</h2> + <p> + <div id="show3" style="display:none;"> + <b>07-Feb-2015</b> + <a href="#" onclick="javascript:logSwap(3, true); return false;">show</a> + </div> + <div id="hide3" style="display:block;"> + <b>07-Feb-2015</b> + <a href="#" onclick="javascript:logSwap(3, false); return false;">hide</a> + </div> + <div id="text3" style="display:block;"> + <ul> + <li> + <b>Minimal Linux Live</b> is now based on <b>Linux kernel 3.18.6</b> and <b>BusyBox 1.23.1</b>. + </li> + </ul> + </div> + </p> + <p> + <div id="show2" style="display:block;"> + <b>25-Aug-2014</b> + <a href="#" onclick="javascript:logSwap(2, true); return false;">show</a> + </div> + <div id="hide2" style="display:none;"> + <b>25-Aug-2014</b> + <a href="#" onclick="javascript:logSwap(2, false); return false;">hide</a> + </div> + <div id="text2" style="display:none;"> + <ul> + <li> + <b>Minimal Linux Live</b> is now based on <b>Linux kernel 3.16.1</b> and <b>BusyBox 1.22.1</b>. + </li> + <li> + The boot process is now based on <b>/sbin/init</b> and <b>/etc/inittab</b>. There are four + available consoles which can be switched with <b>Alt + F1</b> up to <b>Alt + F4</b>. + </li> + <li> + Shell scripts have been updated. Now the downloaded source bundles are stored in separate folder. + If the download process is interrupted, it will continue the next time the scripts are executed. + The most notable change is in <b>5_generate_rootfs.sh</b> which now generates root file system with + structure compatible with <b>/sbin/init</b> and <b>/etc/inittab</b>. + </li> + </ul> + </div> + </p> + <p> + <div id="show1" style="display:block;"> + <b>28-Jul-2014</b> + <a href="#" onclick="javascript:logSwap(1, true); return false;">show</a> + </div> + <div id="hide1" style="display:none;"> + <b>28-Jul-2014</b> + <a href="#" onclick="javascript:logSwap(1, false); return false;">hide</a> + </div> + <div id="text1" style="display:none;"> + <ul> + <li> + <b>Minimal Linux Live</b> is now based on <b>Linux kernel 3.15.6</b> and <b>BusyBox 1.22.1</b>. + </li> + <li> + The boot process is based on simple <b>/init</b> script. + </li> + </ul> + </div> + </p> + </div> + </div> + <div id="item3" style="display:none;"> + <div id="text"> + <h2>About This Project</h2> + <p> + My name is <a target="_blank" href="http://linkedin.com/in/ivandavidov">Ivan Davidov</a> and I currently + live and work in + <a target="_blank" href="http://en.wikipedia.org/wiki/Sofia">Sofia</a>, + <a target="_blank" href="http://en.wikipedia.org/wiki/Bulgaria">Bulgaria</a>. + </p> + <p> + I am professional Java software engineer (yes, Java developers tend to know some Linux stuff) and I've + been trying to create my own Linux OS for a very long time. There are some good tutorials which you + can find online but almost none of them are simple to follow and almost none of them explain in details + what has been done and why it's done in this particular way. In most cases the tutorials are incomplete and + there is high chance that you end up with something broken. + </p> + <p> + Don't get me wrong, you can learn a lot from these tutorials, as I did. In fact the scripts which I created + (did you take a look at them?) are based on the same information resources which you might have already found. + The difference is that this site provides you not only with detailed tutorial, but also with fully functional + set of shell scripts which automatically build fully functional live Linux OS. And the tutorial explains it + all for you! + </p> + <p> + If you'd like to contact me, my e-mail is: <b>davidov [dot] i (at) gmail {dot} com</b> + </p> + <p> + My LinkedIn profile is here: <a target="_blank" href="http://linkedin.com/in/ivandavidov">http://linkedin.com/in/ivandavidov</a> + </p> + </div> + </div> + <div id="item4" style="display:none;"> + <div id="text"> + <h2>Minimal Linux Live Tutorial</h2> + <p> + Would you like to learn how to build your own minimal live Linux OS? + </p> + <p> + <a target="_blank" href="./the_dao_of_minimal_linux_live.txt">The Dao of Minimal Linux Live</a> explains in details + what steps are involved in creating simple live Linux OS entirely from scratch, the inner structure of the + build scripts (I assume you have already downloaded them) and provides you with more information on how to + improve/upgrade the generated OS with other generic stuff (e.g. users & groups, /etc/inittab). + </p> + </div> + </div> + <div id="item5" style="display:none;"> + <div id="text"> + <h2>Download Section</h2> + <p> + The latest stable scripts (07-Feb-2015) can be downloaded as ZIP archive + <a href="./download/minimal_linux_live_07-Feb-2015_src.zip" title="Minimal Linux Live - shell scripts">here</a>. + </p> + <p> + Pre-built ISO image files generated with the latest stable scripts are available for + <a href="./download/minimal_linux_live_07-Feb-2015_32-bit.iso" title="Minimal Linux Live - ISO image file for 32-bit CPUs">32-bit</a> + and + <a href="./download/minimal_linux_live_07-Feb-2015_64-bit.iso" title="Minimal Linux Live - ISO image file for 64-bit CPUs">64-bit</a> + CPUs. + </p> + <p> + You can also <a target="_blank" href="./download">browse the download directory</a>. + </p> + <p> + You can take a look at the latest development sources in + <a target="_blank" href="http://github.com/ivandavidov/minimal">GitHub</a>. + </p> + </div> + </div> + <div class="clear"></div> + </div> + <div id="footer"> + Copyright ©2015 + <span class="separator">|</span> + <a href="/" title="Minimal Linux Live">Minimal Linux Live</a> + </div> + </div> + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + ga('create', 'UA-53254151-1', 'auto'); + ga('send', 'pageview'); + </script> + </body> +</html>