diff --git a/2019-06/content/en_documentation.php b/2019-06/content/en_documentation.php
new file mode 100644
index 0000000..ff45004
--- /dev/null
+++ b/2019-06/content/en_documentation.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) 2019 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Eric Poirier (Eclipse Foundation) - Initial implementation
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+?>
+<div class="container">
+<h1><?php print $pageTitle; ?></h1>
+<p>The Documentation page will only be accessible on June 26, 2019.</p>
+</div>
\ No newline at end of file
diff --git a/2019-06/content/en_index.html b/2019-06/content/en_index.html
index e69de29..6c69a40 100644
--- a/2019-06/content/en_index.html
+++ b/2019-06/content/en_index.html
@@ -0,0 +1,199 @@
+<div class="container text-center padding-top-30 padding-bottom-50">
+  <h2 class="fw-600">Better Than Ever</h2>
+  <p class="margin-bottom-30">The Eclipse IDE delivers what you need to rapidly innovate.</p>
+  <div class="row">
+
+    <div class="col-sm-8 featured-new-items margin-bottom-60">
+      <span class="featured-circle-outline" style="padding-top:15px;">
+        <i class="fa fa-code icon"></i>
+      </span>
+      <h3 class="fw-600">Polyglot language support</h3>
+      <p class="big">First class support for Java, JavaScript/TypeScript, C/C++, PHP, Rust, and others</p>
+    </div>
+
+    <div class="col-sm-8 featured-new-items margin-bottom-60">
+      <span class="featured-circle-outline" style="padding-top:17px;">
+        <i class="fa fa-archive icon"></i>
+      </span>
+      <h3 class="fw-600">Latest Java&trade; versions</h3>
+      <p class="big">Support for building Java&trade;&nbsp;12 and Java&nbsp;EE&trade;&nbsp;8 based applications</p>
+    </div>
+
+    <div class="col-sm-8 featured-new-items margin-bottom-60">
+      <span class="featured-circle-outline" style="padding-top:18px;">
+        <i class="fa fa-rocket icon"></i>
+      </span>
+      <h3 class="fw-600">Improved Java code assistance</h3>
+      <p class="big">We improved code assistance by adding additional code minings and other features</p>
+    </div>
+
+  </div>
+  <div class="row">
+
+    <div class="col-sm-8 featured-new-items margin-bottom-60">
+      <span class="featured-circle-outline" style="padding-top:16px;">
+        <i class="fa fa-server icon"></i>
+      </span>
+      <h3 class="fw-600">Language Server support</h3>
+      <p class="big">A new package with LSP-based JavaScript support is here</p>
+    </div>
+
+    <div class="col-sm-8 featured-new-items margin-bottom-60">
+      <span class="featured-circle-outline" style="padding-top:17px;">
+        <i class="fa fa-cogs icon"></i>
+      </span>
+      <h3 class="fw-600">Proven extensibility</h3>
+      <p class="big">A huge variety of platform plug-ins</p>
+    </div>
+
+    <div class="col-sm-8 featured-new-items margin-bottom-60">
+      <span class="featured-circle-outline" style="padding-top:17px;">
+        <i class="fa fa-thumbs-up icon"></i>
+      </span>
+      <h3 class="fw-600">Free and open source</h3>
+      <p class="big">Free and open source released under the terms of the Eclipse Public License&nbsp;2.0</p>
+    </div>
+  </div>
+
+  <ul class="list-inline featured-new-links">
+    <li><a style="width:245px;" class="btn btn-purple btn-lg" href="/eclipseide/2019-06/noteworthy">New and Noteworthy</a></li>
+    <li><a style="width:245px;" class="btn btn-primary btn-lg" href="/eclipseide/2019-06/documentation.php">Documentation</a></li>
+    <li><a style="width:245px;" class="btn btn-primary btn-lg" href="/eclipseide/2019-06/other_packages.php">Other Packages</a></li>
+  </ul>
+</div>
+
+<div class="featured-stats">
+  <div class="container">
+    <h2 class="fw-600 white">Code Meets Community</h2>
+
+    <div class="row padding-top-30">
+      <div class="col-sm-6">
+        <div class="row">
+          <div class="col-xs-12 featured-stats-icon-container">
+            <span class="featured-circle featured-circle-stats"><i data-feather="share-2" stroke-width="1"></i></span>
+          </div>
+          <div class="col-xs-12 featured-stats-text-container">
+            <a class="white" href="https://projects.eclipse.org/releases/2019-03">
+              <span class="featured-stats-number">77</span><br>
+              <span class="featured-stats-title">Projects</span>
+            </a>
+
+          </div>
+        </div>
+      </div>
+
+      <div class="col-sm-6">
+        <div class="row">
+          <div class="col-xs-12 featured-stats-icon-container">
+            <span class="featured-circle featured-circle-stats"><i data-feather="users" stroke-width="1"></i></span>
+          </div>
+          <div class="col-xs-12 featured-stats-text-container">
+            <span class="featured-stats-number">156</span><br>
+            <span class="featured-stats-title">Committers</span>
+          </div>
+        </div>
+      </div>
+
+      <div class="col-sm-6">
+        <div class="row">
+          <div class="col-xs-12 featured-stats-icon-container">
+            <span class="featured-circle featured-circle-stats"><i data-feather="code" stroke-width="1"></i></span>
+          </div>
+          <div class="col-xs-12 featured-stats-text-container">
+            <span class="featured-stats-number">68.7</span><br>
+            <span class="featured-stats-title">million lines of code</span>
+          </div>
+        </div>
+      </div>
+
+      <div class="col-sm-6">
+        <div class="row">
+          <div class="col-xs-12 featured-stats-icon-container">
+            <span class="featured-circle featured-circle-stats"><i data-feather="thumbs-up" stroke-width="1"></i></span>
+          </div>
+          <div class="col-xs-12 featured-stats-text-container">
+            <span class="featured-stats-number">272</span><br>
+            <span class="featured-stats-title">Contributors</span>
+          </div>
+        </div>
+      </div>
+    </div>
+<!-- 
+    <div class="row">
+      <div class="col-sm-8">
+        <p><a class="eclipsefdn-video" href="https://www.youtube.com/watch?v=McUQcvAPR2U"></a></p>
+        <p>Eclipse IDE 2019-03 is coming on March 20, 2019 </p>
+      </div>
+      <div class="col-sm-8">
+        <p><a class="eclipsefdn-video" href="https://www.youtube.com/watch?v=2LZ6rxiLp-I"></a></p>
+        <p>Eclipse IDE 2019-03 Improvements: General and Git</p>
+      </div>
+      <div class="col-sm-8">
+        <p><a class="eclipsefdn-video" href="https://www.youtube.com/watch?v=TPtXIal9APw"></a></p>
+        <p>Eclipse IDE 2019-03 Improvements: Java</p>
+      </div>
+    </div>
+ -->
+  </div>
+</div>
+
+<div class="container text-center padding-top-20 padding-bottom-30">
+  <h2 class="margin-bottom-20 fw-600">Next Release</h2>
+  <p class="margin-bottom-30 big">The next Eclipse IDE release is coming in 2019-09</p>
+  <p><a style="width:250px;" class="btn btn-primary btn-lg" href="https://wiki.eclipse.org/Simultaneous_Release">Learn More</a></p>
+</div>
+
+<div class="featured-community text-center padding-top-30 padding-bottom-50">
+  <div class="container">
+    <h2 class="margin-bottom-20 fw-600 white">Powered by Participation</h2>
+    <div class="row">
+      <div class="col-lg-12 col-lg-offset-6">
+        <p class="big">With a vast ecosystem of plug-ins from an active community, do everything you want to do, without limitation.</p>
+        <p class="big">The best part? It’s still 100% free and open source.</p>
+        <ul class="list-inline margin-top-30 featured-community-links">
+          <li><a style="width:245px;border:none;" class="btn btn-simple btn-lg" href="/contribute">Get Involved</a></li>
+          <li><a style="width:245px;border:none;" class="btn btn-white btn-lg" href="/donate"><i class="fa fa-star"></i> Donate</a></li>
+        </ul>
+      </div>
+    </div>
+  </div>
+</div>
+
+<div class="container text-center padding-top-30 padding-bottom-50">
+  <h2 class="fw-600">Stay Connected with Eclipse Projects</h2>
+  <div class="row">
+    <div class="col-md-24">
+      <!-- <h3 class="orange"><strong>#EclipseTips</strong></h3>
+      <p class="big margin-bottom-20">Get daily tips about the Eclipse IDE by following our #EclipseTips thread!</p>
+
+      <div class="text-center">
+        <blockquote class="twitter-tweet" data-align="center" data-lang="en"><p lang="en" dir="ltr">Eclipse 2018-12 is coming soon! We&#39;ll go through some new stuff coming up every day. Let&#39;s go! <a href="https://twitter.com/hashtag/EclipseTips?src=hash&amp;ref_src=twsrc%5Etfw">#EclipseTips</a></p>&mdash; Eclipse Java IDE (@EclipseJavaIDE) <a href="https://twitter.com/EclipseJavaIDE/status/1067360232526020610?ref_src=twsrc%5Etfw">November 27, 2018</a></blockquote>
+        <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
+      </div> -->
+
+      <h3 class="orange"><strong>Get Social</strong></h3>
+      <p class="big margin-bottom-20">Stay up-to-date with the Eclipse IDE by following us on social media!</p>
+      <ul class="list-inline featured-social-links margin-bottom-30">
+        <li>
+          <a class="fa-stack fa-xl" href="https://twitter.com/EclipseJavaIDE">
+            <i class="fa fa-circle fa-stack-2x"></i>
+            <i class="fa fa-twitter fa-stack-1x white"></i>
+          </a>
+        </li>
+        <li>
+          <a class="fa-stack fa-xl" href="https://www.facebook.com/eclipse.org/">
+            <i class="fa fa-circle fa-stack-2x"></i>
+            <i class="fa fa-facebook fa-stack-1x white"></i>
+          </a>
+        </li>
+        <li>
+          <a class="fa-stack fa-xl" href="https://www.youtube.com/playlist?list=PLy7t4z5SYNaSNjL60ofpwVhfA7mOF3Pgk">
+            <i class="fa fa-circle fa-stack-2x"></i>
+            <i class="fa fa-youtube fa-stack-1x white"></i>
+          </a>
+        </li>
+      </ul>
+    </div>
+  </div>
+
+</div>
\ No newline at end of file
diff --git a/2019-06/content/en_other_packages.php b/2019-06/content/en_other_packages.php
new file mode 100644
index 0000000..41a23ba
--- /dev/null
+++ b/2019-06/content/en_other_packages.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Copyright (c) 2019 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Eric Poirier (Eclipse Foundation) - Initial implementation
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+?>
+<div class="container">
+<h1><?php print $pageTitle; ?></h1>
+<p>The Other Packages page will only be accessible on June 26, 2019.</p>
+</div>
\ No newline at end of file
diff --git a/2019-06/documentation.php b/2019-06/documentation.php
new file mode 100644
index 0000000..5b57009
--- /dev/null
+++ b/2019-06/documentation.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Copyright (c) 2019 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Eric Poirier (Eclipse Foundation) - Initial implementation
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+require_once (realpath(dirname(__FILE__) . "/../../eclipse.org-common/system/app.class.php"));
+$App = new App();
+
+$pageTitle = 'Documentation';
+
+include ($App->getProjectCommon());
+
+$Theme->setPageKeywords("eclipse 2019-03, release, simultaneous, release train, 2019-03");
+$Theme->setPageTitle($pageTitle);
+
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+$Theme->setHtml($html);
+
+$Theme->setAttributes('header-wrapper', 'header-eclipseide');
+$Theme->generatePage();
\ No newline at end of file
diff --git a/2019-06/images/community_participation.jpg b/2019-06/images/community_participation.jpg
new file mode 100644
index 0000000..7cf994d
--- /dev/null
+++ b/2019-06/images/community_participation.jpg
Binary files differ
diff --git a/2019-06/images/header.jpg b/2019-06/images/header.jpg
new file mode 100644
index 0000000..531aa73
--- /dev/null
+++ b/2019-06/images/header.jpg
Binary files differ
diff --git a/2019-06/images/videosection.jpg b/2019-06/images/videosection.jpg
new file mode 100644
index 0000000..1ab5fdf
--- /dev/null
+++ b/2019-06/images/videosection.jpg
Binary files differ
diff --git a/2019-06/index.php b/2019-06/index.php
index e77b791..df22e9d 100644
--- a/2019-06/index.php
+++ b/2019-06/index.php
@@ -13,5 +13,45 @@
  * SPDX-License-Identifier: EPL-2.0
  */
 
-header('Location: /eclipseide/', TRUE, 307);
-exit;
\ No newline at end of file
+require_once (realpath(dirname(__FILE__) . "/../../eclipse.org-common/system/app.class.php"));
+$App = new App();
+include ($App->getProjectCommon());
+
+$pageTitle = 'Eclipse IDE 2019-06';
+$Theme->setPageKeywords("eclipse 2019-06, release, simultaneous, release train, 2019-06");
+$Theme->setPageTitle($pageTitle);
+
+ob_start();
+?>
+<div class="jumbotron featured-jumbotron margin-bottom-0">
+  <div class="container">
+    <div class="row">
+      <div class="col-md-20 col-md-offset-2 col-sm-18 col-sm-offset-3">
+        <h1 class="jumbotron-title">Eclipse IDE</h1>
+        <h2 class="h3 fw-600">The Leading Open Platform for Professional Developers</h2>
+        <hr>
+        <?php if(time() >= strtotime("26 June 2019")): ?>
+          <a style="width:245px;" class="btn btn-white btn-lg margin-bottom-20" href="/downloads/packages/installer"><i class="fa fa-download"></i> Download 2019-06</a>
+          <p><small><a class="white" href="/downloads/packages">Other Packages</a></small></p>
+        <?php else: ?>
+          <p>June 26, 2019</p>
+        <?php endif; ?>
+      </div>
+    </div>
+  </div>
+</div>
+<?php
+$extra_header_html = ob_get_clean();
+$Theme->setExtraHeaderHtml($extra_header_html);
+
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include ("content/en_index.html");
+$html = ob_get_clean();
+
+$Theme->setHtml($html);
+
+$Theme->setExtraHeaders('<link href="/eclipseide/2019-06/style.css" media="screen" rel="stylesheet" type="text/css"/>');
+$Theme->setAttributes('header-wrapper', 'header-eclipseide');
+$Theme->setThemeVariables(array('hide_breadcrumbs' => TRUE, 'main_container_classes' => 'container-full footer-offset'));
+$Theme->generatePage();
\ No newline at end of file
diff --git a/2019-06/other_packages.php b/2019-06/other_packages.php
new file mode 100644
index 0000000..15eca10
--- /dev/null
+++ b/2019-06/other_packages.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Copyright (c) 2019 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Eric Poirier (Eclipse Foundation) - Initial implementation
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+require_once (realpath(dirname(__FILE__) . "/../../eclipse.org-common/system/app.class.php"));
+$App = new App();
+
+$pageTitle = 'Other Packages';
+
+include ($App->getProjectCommon());
+
+$Theme->setPageKeywords("eclipse 2019-06, release, simultaneous, release train, 2019-06");
+$Theme->setPageTitle($pageTitle);
+
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+$Theme->setHtml($html);
+
+$Theme->setAttributes('header-wrapper', 'header-eclipseide');
+$Theme->generatePage();
\ No newline at end of file
diff --git a/2019-06/style.css b/2019-06/style.css
new file mode 100644
index 0000000..e783f43
--- /dev/null
+++ b/2019-06/style.css
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2019 Eclipse Foundation, Inc.
+ * 
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ * 
+ * Contributors:
+ *   Eric Poirier <eric@eclipse.org>
+ * 
+ * SPDX-License-Identifier: EPL-2.0
+*/
+.header-eclipseide {
+  background-image:url("/eclipseide/2019-06/images/header.jpg");
+  background-position:center;
+  background-size:cover;
+}
+
+.featured-jumbotron a:not(.btn):not(.jumbotron-icon),
+.featured-jumbotron a:not(.btn):not(.jumbotron-icon):visited,
+.featured-jumbotron a:not(.btn):not(.jumbotron-icon):hover {
+  color:#fff;
+}
+
+.header-eclipseide h1 {
+  font-size:92px;
+}
+.header-eclipseide h1:after {
+  display:none;
+}
+.header-eclipseide hr {
+  width:60%;
+  border-top:4px solid #f7941e;
+  margin-bottom:24px;
+}
+.header-eclipseide .btn-white:hover {
+  background-color:#e2e2e2;
+  color:#333;
+}
+.featured-circle-outline {
+  width:80px;
+  height:80px;
+  border-radius:80px;
+}
+.featured-circle-outline .icon{
+  font-size:42px;
+  color:#f7941e;
+}
+.featured-stats {
+  background-image:url("/eclipseide/2019-06/images/videosection.jpg");
+  background-position:center;
+  background-size:cover;
+}
+.featured-community {
+  background-image:url("/eclipseide/2019-06/images/community_participation.jpg");
+  background-position:bottom center;
+  background-size:cover;
+  color:#fff;
+}
+.featured-community p {
+  font-size:18px;
+}
+
+.featured-social-links a, .featured-social-links a:visited {
+  color:#2d2252;
+}
+
+.featured-social-links a:hover {
+  color:#110c23;
+}
+
+@media (min-width: 768px) {
+  .featured-new-links li:not(:last-child){
+    margin-right:30px;
+  }
+}
+
+.featured-stats-text-container a,
+.featured-stats-text-container a:hover,
+.featured-stats-text-container a:visited {
+  color:#fff;
+}
+
+
+@media (max-width: 768px) {
+  .header-eclipseide h1 {
+    font-size:72px;
+  }
+  .featured-new-links li:not(:last-child){
+    margin-bottom:20px;
+  }
+  
+  .featured-community-links li:not(:last-child) {
+    margin-bottom:20px;
+  }
+}
\ No newline at end of file
