diff --git a/_includes/appinstall.html b/_includes/appinstall.html
new file mode 100644
index 0000000..cce8a76
--- /dev/null
+++ b/_includes/appinstall.html
@@ -0,0 +1,8 @@
+<div class='page-heading'>App Install Method (Requires Root):</div>
+<hr />
+<p class="text">Download the TWRP&nbsp;Manager app:</p>
+<ul class="text">
+    <li><a href="http://play.google.com/store/apps/details?id=com.jmz.soft.twrpmanager">Play Store</a></li>
+    <li><a href="http://jmz.so/1n6IJDL">No Play Store?&nbsp;Find a direct download link at the bottom of this page.</a></li>
+</ul>
+<p class="text">Install the app and open it.&nbsp; Tap on Install&nbsp;TWRP. Select your device from the device list ({{ page.codename }}) and then tap on Install Recovery. The file will download and be installed automatically.</p>
diff --git a/_includes/ddinstall.html b/_includes/ddinstall.html
new file mode 100644
index 0000000..74967df
--- /dev/null
+++ b/_includes/ddinstall.html
@@ -0,0 +1,7 @@
+{% if page.ddof %}
+<div class='page-heading'>dd Install Method (Requires Root):</div>
+<hr />
+<p class="text">Download the latest image file (.img) from the download link above. Place it in the root of your /sdcard folder and rename it to twrp.img. Run the following commands via adb shell or a terminal emulator app:</p>
+<p class="text">su</p>
+<p class="text">dd if=/sdcard/twrp.img of={{ page.ddof }}</p>
+{% endif %}
diff --git a/_includes/disclaimer.html b/_includes/disclaimer.html
new file mode 100644
index 0000000..5448700
--- /dev/null
+++ b/_includes/disclaimer.html
@@ -0,0 +1,3 @@
+<div class='page-heading'>Disclaimer:</div>
+<hr />
+<p class="text">Team Win strives to provide a quality product.&nbsp; However, it is your decision to install our software on your device.&nbsp; Team Win takes no responsibility for any damage that may occur from installing or using TWRP.</p>
diff --git a/_includes/download.html b/_includes/download.html
new file mode 100644
index 0000000..919f62f
--- /dev/null
+++ b/_includes/download.html
@@ -0,0 +1,12 @@
+<div class='page-heading'>Download Links:</div>
+<hr />
+<p class="text">Current and past versions of TWRP can be found at one of the mirrors below:</p>
+<ul>
+{% for mirror in site.data.mirrors %}
+  <li>
+    <a href="{{ mirror.baseurl }}{{ page.downloadfolder }}">
+      {{ mirror.description }}
+    </a>
+  </li>
+{% endfor %}
+</ul>
diff --git a/_includes/fastbootinstall.html b/_includes/fastbootinstall.html
new file mode 100644
index 0000000..67fddc5
--- /dev/null
+++ b/_includes/fastbootinstall.html
@@ -0,0 +1,9 @@
+<div class='page-heading'>Fastboot Install Method (No Root Required):</div>
+<hr />
+<p class="text"><a href="http://developer.android.com/sdk/index.html">You will need the platform-tools from the Android SDK on your computer.</a> Find the SDK Only section on the page linked and install the SDK and download only the platform-tools to get adb and fastboot binaries.</p>
+<p class="text">Windows users will need proper drivers installed on your computer. You can try the <a href="http://www.xda-developers.com/universal-naked-driver-solves-your-adb-driver-problems-on-windows/">Naked ADB drivers</a> or the <a href="http://www.koushikdutta.com/post/universal-adb-driver">Universal ADB drivers</a> if you don't already have a working driver installed</p>
+<p class="text">On your device, go into Settings -> About and find the Build Number and tap on it 7 times to enable developer settings. Press back and go into Developer Options and enable USB debugging. From your computer, open a command prompt and type:</p>
+<p class="text">adb reboot bootloader</p>
+<p class="text">You should now be in fastboot mode. Download the correct image file and copy the file into the same folder as your adb and fastboot binaries. Rename the image to twrp.img and type:</p>
+<p class="text">fastboot flash recovery twrp.img<p></p>fastboot reboot</p>
+<p class="text">Note many devices will replace your custom recovery automatically during first boot. To prevent this, use <a href="http://www.google.com">Google</a> to find the proper key combo to enter recovery. After typing fastboot reboot, hold the key combo and boot to TWRP. Once TWRP is booted, TWRP will patch the stock ROM to prevent the stock ROM from replacing TWRP. If you don't follow this step, you will have to repeat the install.</p>
diff --git a/_includes/flashimageinstall.html b/_includes/flashimageinstall.html
new file mode 100644
index 0000000..3b213eb
--- /dev/null
+++ b/_includes/flashimageinstall.html
@@ -0,0 +1,5 @@
+<div class='page-heading'>flash_image Install Method (Requires Root):</div>
+<hr />
+<p class="text">Download the latest image file (.img) from the download link above. Place it in the root of your /sdcard folder and rename it to twrp.img. Run the following commands via adb shell or a terminal emulator app:</p>
+<p class="text">su</p>
+<p class="text">flash_image recovery /sdcard/twrp.img</p>
diff --git a/_includes/footer.html b/_includes/footer.html
new file mode 100644
index 0000000..132fa21
--- /dev/null
+++ b/_includes/footer.html
@@ -0,0 +1,49 @@
+<footer class="site-footer">
+
+  <div class="wrapper">
+
+    <div class="footer-col-wrapper">
+
+      <div class="footer-col  footer-col-2">
+        <ul class="social-media-list">
+          {% if site.github_username %}
+          <li>
+            <a href="https://github.com/{{ site.github_username }}">
+              <span class="icon  icon--github">
+                <svg viewBox="0 0 16 16">
+                  <path fill="#828282" d="M7.999,0.431c-4.285,0-7.76,3.474-7.76,7.761 c0,3.428,2.223,6.337,5.307,7.363c0.388,0.071,0.53-0.168,0.53-0.374c0-0.184-0.007-0.672-0.01-1.32 c-2.159,0.469-2.614-1.04-2.614-1.04c-0.353-0.896-0.862-1.135-0.862-1.135c-0.705-0.481,0.053-0.472,0.053-0.472 c0.779,0.055,1.189,0.8,1.189,0.8c0.692,1.186,1.816,0.843,2.258,0.645c0.071-0.502,0.271-0.843,0.493-1.037 C4.86,11.425,3.049,10.76,3.049,7.786c0-0.847,0.302-1.54,0.799-2.082C3.768,5.507,3.501,4.718,3.924,3.65 c0,0,0.652-0.209,2.134,0.796C6.677,4.273,7.34,4.187,8,4.184c0.659,0.003,1.323,0.089,1.943,0.261 c1.482-1.004,2.132-0.796,2.132-0.796c0.423,1.068,0.157,1.857,0.077,2.054c0.497,0.542,0.798,1.235,0.798,2.082 c0,2.981-1.814,3.637-3.543,3.829c0.279,0.24,0.527,0.713,0.527,1.437c0,1.037-0.01,1.874-0.01,2.129 c0,0.208,0.14,0.449,0.534,0.373c3.081-1.028,5.302-3.935,5.302-7.362C15.76,3.906,12.285,0.431,7.999,0.431z"/>
+                </svg>
+              </span>
+
+              <span class="username">{{ site.github_username }}</span>
+            </a>
+          </li>
+          {% endif %}
+
+          <li>
+            <a href="https://plus.google.com/communities/106804207647688456928">
+
+              <span class="username">TWRP on G+</span>
+            </a>
+          </li>
+        </ul>
+      </div>
+
+      <div class="footer-col  footer-col-3">
+        <p class="text">{{ site.description }}</p>
+      </div>
+    </div>
+
+<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
+<!-- twrp.me 320x100 large mobile banner -->
+<ins class="adsbygoogle"
+     style="display:inline-block;width:320px;height:100px"
+     data-ad-client="ca-pub-3594204119287048"
+     data-ad-slot="1141077597"></ins>
+<script>
+(adsbygoogle = window.adsbygoogle || []).push({});
+</script>
+
+  </div>
+
+</footer>
diff --git a/_includes/fotakernelnote.html b/_includes/fotakernelnote.html
new file mode 100644
index 0000000..d900d65
--- /dev/null
+++ b/_includes/fotakernelnote.html
@@ -0,0 +1,6 @@
+<div class='page-heading'>Notes About Sony Devices:</div>
+<hr />
+<p class="text">The Xperia devices have a recovery-in-boot arrangement. This means that the recovery is booted using the regular kernel / boot image in the device. Team Win has worked with the FreeXperia device maintainers to come up with a way to extract the ramdisk from the FOTAKernel partition and use the ramdisk from that partition instead of the recovery that is included in the boot image of your device. This means that if you install current CM nightlies and flash TWRP to the FOTAKernel partition, you will be able to use TWRP instead of the CWM or CM recovery that normally comes in a CM boot image. Other boot images including stock kernels can be repacked to include this extraction utility to allow you to use TWRP from the FOTAKernel partition. This setup allows you to choose what recovery you want to have installed and allows you to update your recovery more easily. &nbsp;Unfortunately this setup requires that the boot image that you have installed include the ramdisk extraction utility. &nbsp;The source for this utility is here:</p>
+<p class="text"><a href="https://github.com/Dees-Troy/extract_elf_ramdisk">https://github.com/Dees-Troy/extract_elf_ramdisk</a></p>
+<p class="text">This utility is designed to work in conjunction with the current methods that most AOSP ROMs use for the ramdisk and can also be used on stock kernels. This setup means that you must have a kernel or boot image installed that will use the FOTAKernel method. Most AOSP based ROMs like OmniROM or CyanogenMod will support this method. Some stock kernels may also support the FOTAKernel method.</p>
+<p class="text">What does all this mean? It means that TWRP may not work on your device unless you install other custom software as well. Check with your ROM developer to see what they support.</p>
diff --git a/_includes/head.html b/_includes/head.html
new file mode 100644
index 0000000..47057b5
--- /dev/null
+++ b/_includes/head.html
@@ -0,0 +1,12 @@
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+
+  <title>{% if page.title %}{{ page.title }}{% else %}{{ site.title }}{% endif %}</title>
+  <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
+
+  <link rel="stylesheet" href="{{ "/css/main.css" | prepend: site.baseurl }}">
+  <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
+  <link rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ "/feed.xml" | prepend: site.baseurl | prepend: site.url }}" />
+</head>
diff --git a/_includes/header.html b/_includes/header.html
new file mode 100644
index 0000000..3ad432d
--- /dev/null
+++ b/_includes/header.html
@@ -0,0 +1,40 @@
+<header class="site-header">
+
+  <div class="wrapper">
+
+    <a class="site-title" href="{{ site.baseurl }}/">{{ site.title }}</a>
+
+    <nav class="site-nav">
+      <a href="#" class="menu-icon">
+        <svg viewBox="0 0 18 15">
+          <path fill="#424242" d="M18,1.484c0,0.82-0.665,1.484-1.484,1.484H1.484C0.665,2.969,0,2.304,0,1.484l0,0C0,0.665,0.665,0,1.484,0 h15.031C17.335,0,18,0.665,18,1.484L18,1.484z"/>
+          <path fill="#424242" d="M18,7.516C18,8.335,17.335,9,16.516,9H1.484C0.665,9,0,8.335,0,7.516l0,0c0-0.82,0.665-1.484,1.484-1.484 h15.031C17.335,6.031,18,6.696,18,7.516L18,7.516z"/>
+          <path fill="#424242" d="M18,13.516C18,14.335,17.335,15,16.516,15H1.484C0.665,15,0,14.335,0,13.516l0,0 c0-0.82,0.665-1.484,1.484-1.484h15.031C17.335,12.031,18,12.696,18,13.516L18,13.516z"/>
+        </svg>
+      </a>
+
+      <div class="trigger">
+        {% for page in site.pages %}
+          {% if page.title %}
+          <a class="page-link" href="{{ page.url | prepend: site.baseurl }}">{{ page.title }}</a>
+          {% endif %}
+        {% endfor %}
+      </div>
+    </nav>
+
+  </div>
+
+  <div class="wrapper">
+    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
+<!-- twrp.me 320x100 large mobile banner -->
+<ins class="adsbygoogle"
+     style="display:inline-block;width:320px;height:100px"
+     data-ad-client="ca-pub-3594204119287048"
+     data-ad-slot="1141077597"></ins>
+<script>
+(adsbygoogle = window.adsbygoogle || []).push({});
+</script>
+  </div>
+
+
+</header>
diff --git a/_includes/mtkinstall.html b/_includes/mtkinstall.html
new file mode 100644
index 0000000..c4c3874
--- /dev/null
+++ b/_includes/mtkinstall.html
@@ -0,0 +1,5 @@
+{% if page.mtkchipset %}
+<div class='page-heading'>MTK Flash Tool Install Method (No Root Required):</div>
+<hr />
+<p class="text">You will need a copy of the factory ROM for the device including the scatter file. You will also need to download a proper MTK Flash Tool version for the chipset of this device ({{ page.mtkchipset }}) and install the VCOM driver for MTK devices. Download the latest image file (.img) from the download link above and rename it to twrp.img and copy it into the same folder as the factory ROM. Open up the MTK flash tool and use the scatter loading button to select the scatter file for this device. Uncheck all of the boxes for all other partitions except for the RECOVERY partition. Click on the folder/filename path for RECOVERY and browse to and select the twrp.img file. Click on the Download button in the MTK Flash tool. Power off your device completely. Plug the device into the computer and wait for it to flash. If it fails to flash the first time you may have to unplug the phone and click Download again. Try this a few times. If it still doesn't work, try a different USB port and USB cable.</p>
+{% endif %}
diff --git a/_includes/odininstall.html b/_includes/odininstall.html
new file mode 100644
index 0000000..0e73c64
--- /dev/null
+++ b/_includes/odininstall.html
@@ -0,0 +1,4 @@
+<div class='page-heading'>Odin Install Method (No Root Required):</div>
+<hr />
+<p class="text">You will need to download and install Odin on your PC. Once you have Odin installed, download the proper .tar file for your device from the download link above. Power off your device. Turn on your device using the proper key combo to get into download mode and attach the device to your computer via a USB cable. Use the PDA tab or button to browse to and select the tar file that you downloaded and flash the device.</p>
+<p class="text">Note many devices will replace your custom recovery automatically during first boot. To prevent this, use <a href="http://www.google.com">Google</a> to find the proper key combo to enter recovery. After typing fastboot reboot, hold the key combo and boot to TWRP. Once TWRP is booted, TWRP will patch the stock ROM to prevent the stock ROM from replacing TWRP. If you don't follow this step, you will have to repeat the install.</p>
diff --git a/_includes/supportstatus.html b/_includes/supportstatus.html
new file mode 100644
index 0000000..66126ba
--- /dev/null
+++ b/_includes/supportstatus.html
@@ -0,0 +1,12 @@
+<div class='page-heading'>Status:</div>
+<hr />
+<p class="text">Support Status: {{ page.supportstatus }}</p>
+<p class="text">Maintainer: {{ page.maintainer }}</p>
+<p class="text">Code Name: {{ page.codename }}</p>
+{% if page.devicetree %}
+<p class="text"><a href="{{ page.devicetree }}">Device Tree / files</a></p>
+{% endif %}
+
+{% if page.xdathread %}
+<p class="text"><a href="{{ page.xdathread }}">Support thread on xda-developers</a></p>
+{% endif %}
diff --git a/_includes/twrpinstall.html b/_includes/twrpinstall.html
new file mode 100644
index 0000000..2ed3389
--- /dev/null
+++ b/_includes/twrpinstall.html
@@ -0,0 +1,3 @@
+<div class='page-heading'>TWRP Install (Requires TWRP 2.8.4 or higher already installed):</div>
+<hr />
+<p class="text">Download the latest TWRP image file (.img) from the download link and boot TWRP. Go to install and find and select the Images... button. Browse to the image that you downloaded and select it. Choose recovery and swipe to flash.</p>
