diff --git a/_includes/navigation.html b/_includes/navigation.html
index 657a92d..67e8dbe 100644
--- a/_includes/navigation.html
+++ b/_includes/navigation.html
@@ -8,7 +8,9 @@
     {% endif %}
     <li><a href="{{ domain }}{{ link.url }}" {% if link.url contains 'http' %}target="_blank"{% endif %}>{{ link.title }}
 			{% if link.url contains 'http' %}
-			<i class="fa fa-external-link" aria-hidden="true"></i></a></li> 
+			<i class="fa fa-external-link" aria-hidden="true"></i>
 			{% endif %}
+				</a>
+		</li> 
   {% endfor %}
 </ul>
diff --git a/_site/about/index.html b/_site/about/index.html
deleted file mode 100644
index e0cf4f9..0000000
--- a/_site/about/index.html
+++ /dev/null
@@ -1,254 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-
-  <title>About ARIA TOSCA • Apache ARIA TOSCA</title>
-
-  
-  
-  
-
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-
-  <!-- CSS -->
-  <link rel="stylesheet" href="http://localhost:4000/css/owl.carousel.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/bootstrap.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/font-awesome.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/style.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/ionicons.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/animate.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/responsive.css">
-
-  <!-- Js -->
-  <script src="http://localhost:4000/js/vendor/modernizr-2.6.2.min.js"></script>
-  <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
-  <script>window.jQuery || document.write('<script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
-  <script src="http://localhost:4000/js/bootstrap.min.js"></script>
-  <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
-  <script src="http://localhost:4000/js/plugins.js"></script>
-
-  <script src="http://localhost:4000/js/min/waypoints.min.js"></script>
-  <script src="http://localhost:4000/js/jquery.counterup.js"></script>
-
-
-
-
-
-
-  <script src="http://localhost:4000/js/main.js"></script>
-  <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script>
-
-</head>
-
-  <body id="js-body">
-
-    <!--[if lt IE 9]><div class="upgrade notice-warning"><strong>Your browser is quite old!</strong> Why not <a href="http://whatbrowser.org/">upgrade to a newer one</a> to better enjoy this site?</div><![endif]-->
-
-    <!-- Header Start -->
-<header>
-<div class="container">
-  <div class="row">
-    <div class="col-md-12">
-      <!-- header Nav Start -->
-      <nav class="navbar navbar-default">
-        <div class="container-fluid">
-          <!-- Brand and toggle get grouped for better mobile display -->
-          <div class="navbar-header">
-            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="sr-only">Toggle navigation</span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            </button>
-            <a class="navbar-brand" href="http://localhost:4000/">
-              <img src="http://localhost:4000/images/aria-logo.png" alt="Apache ARIA TOSCA">
-            </a>
-          </div>
-            <!-- Collect the nav links, forms, and other content for toggling -->
-            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-
-              <nav role="navigation" class="menu top-menu">
-                  <ul class="nav navbar-nav navbar-right">
-	<li class="home"><a href="/">Apache ARIA TOSCA</a></li>
-	
-    
-    <li><a href="http://localhost:4000/about/" >About
-			
-  
-    
-    <li><a href="http://localhost:4000/community/" >Community
-			
-  
-    
-    <li><a href="http://localhost:4000/getting-started/" >Getting Started
-			
-  
-    
-    <li><a href="http://ariatosca.incubator.apache.org/docs/html/index.html" target="_blank">Docs
-			
-			<i class="fa fa-external-link" aria-hidden="true"></i></a></li> 
-			
-  
-    
-    <li><a href="http://localhost:4000/roadmap/" >Roadmap
-			
-  
-</ul>
-
-              </nav>
-            </div><!-- /.navbar-collapse -->
-          </div><!-- /.container-fluid -->
-        </nav>
-      </div>
-    </div>
-  </div>
-</header><!-- header close -->
-
-
-
-    <div id="page-wrapper">
-      <div id="main" role="main">
-	<article class="wrap" itemscope itemtype="http://schema.org/Article">
-		
-		
-
-		<section id="global-header">
-			<div class="container">
-				<div class="row">
-					<div class="col-md-12">
-						<div class="block">
-							<h1>About ARIA TOSCA</h1>
-							<p></p>
-						</div>
-					</div>
-				</div>
-			</div>
-		</section>
-
-
-
-		<div class="inner-wrap">
-			<div id="content" class="page-content" itemprop="articleBody">
-				<section id="intro">
-		      <div class="container">
-		        <div class="row">
-								<p>ARIA is a vendor neutral and technology independent implementation of the OASIS TOSCA specification. ARIA offers a Command Line Interface(CLI) to develop and execute TOSCA templates, and an easily consumable Software Development Kit(SDK) for building TOSCA enabled software. ARIA is an open source, and open governance python project, Apache Software Foundation Incubation, offering an implementation library of the OASIS TOSCA specification.</p>
-
-<p>ARIA was formed to advance adoption of the TOSCA standard and accelerate the industry’s journey towards application orchestration in cloud environments.</p>
-
-<p>ARIA, and TOSCA alike, were born out of the market need for a completely vendor / cloud / technology neutral orchestration that allows for portability and interoperability. ARIA is expected to accelerate the development around the TOSCA specification, advance its adoption, demonstrate simplified portability of TOSCA orchestration, and increase agility through more rapid community contributed iterations.</p>
-
-<p>ARIA it is a framework for implementing orchestration software based on “Topology and Orchestration Specification for Cloud Applications(TOSCA)” a leading cloud-agnostic templating model formulated by the OASIS Foundation.</p>
-
-<p>ARIA offers a library with a programmable interface that allows embedding ARIA into collaborative projects, to enable organizations looking to incorporate TOSCA orchestration capabilities into their solutions.</p>
-
-<p><img src="http://localhost:4000/images/aria-architecture.png" alt="ARIA Architecture" class="center-image" /></p>
-
-<p>Through ARIA, application vendors will be able to test and run their applications easily, from blueprint to deployment, without the former hassle of developing the orchestration engine themselves, simplifying TOSCA certification and validation exponentially.</p>
-
-<p><img src="http://localhost:4000/images/aria-tosca-workflow.png" alt="ARIA Architecture" class="center-image" /></p>
-
-<h2 id="aria-tosca-parser">ARIA TOSCA Parser</h2>
-<p>ARIA includes a TOSCA DSL parser, the parser’s role is to interpret the TOSCA template, create an in-memory graph of the application and validate template correctness. TOSCA provides a typing system with normative node types to describe the possible building blocks for constructing a service template, as well as relationship types to describe possible kinds of relations. Both node and relationship types may define life-cycle operations to implement the behavior an orchestration engine can invoke when instantiating a service template. The template files are written in declarative YAML language using TOSCA normative types. Technology specific types can be introduced via ARIA Plugins without any modifications of the parser code. ARIA natively supports TOSCA Simple Profile 1.0, and TOSCA Simple Profile for Network Function Virtualization.</p>
-
-<h4 id="tosca-templates-include">TOSCA Templates include:</h4>
-<ul>
-  <li>YAML Topology Template</li>
-  <li>Plugins</li>
-  <li>Workflows</li>
-  <li>Resources such as scripts and others</li>
-</ul>
-
-<h2 id="aria-workflows">ARIA Workflows</h2>
-<p>ARIA Workflows are automated process algorithms that allow dynamic interaction with the graph described by the application topology template. ARIA Workflows describe the flow of the automation by determining when which tasks will be executed. A task may be an operation, optionally implemented by a plugin, or other actions, including arbitrary code or scripts. ARIA Workflows can be embedded within the TOSCA Template to be able to access the graph dynamically. Workflows are implemented as Python code using dedicated APIs and a framework to access the graph and the runtime context of the application, the context provide access to the object graph described in the TOSCA template.</p>
-
-<p>ARIA comes with a number of built-in workflows - these are the workflows for install, uninstall, scale and heal. Built-in workflows are not special in any way - ARIA supports creating custom workflows that use the same APIs build-in workflows are using.</p>
-
-<h2 id="aria-plugins">ARIA Plugins</h2>
-<p>ARIA Plugins allow extending the TOSCA normative types dynamically by adding new technology specific node types and relationship types, without changing the code of the ARIA TOSCA Parser. The plugins introduce new node types and the implementation that realizes the logic behind every new node type. The plugin based types are isolated, allowing to use different versions of the same plugin in a single blueprint - for example support OpenStack Kilo and OpenStack Juno in the same template. It also allows combining types of different technologies - for example OpenStack nodes with VMware, Amazon, or other types such as Router, Firewall, Kubernetes and others. The work of interacting with IaaS APIs, running scripts, Configuration Management tools, Monitoring tools and any other tools used when managing applications is done by the ARIA Plugins. Plugins can be included as part of the application template package and loaded dynamically. ARIA includes set of plugins that can be used as is or as reference for implementing for new plugins.</p>
-
-		        </div>
-		      </div>
-		    </section>
-				<hr />
-				<footer class="page-footer">
-					
-					
-					
-				</footer><!-- /.footer -->
-				<aside>
-					
-				</aside>
-			</div><!-- /.content -->
-		</div><!-- /.inner-wrap -->
-		
-	</article><!-- ./wrap -->
-</div><!-- /#main -->
-
-      
-
-<!-- Wrapper Start -->
-<section id="intro" style="padding-top:30px; padding-bottom:30px">
-	<div class="container">
-		<div class="row">
-			<div class="col-md-10 col-sm-12">
-				<div class="block">
-					<p>
-						Apache ARIA TOSCA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
-					</p>
-				</div>
-			</div><!-- .col-md-7 close -->
-			<div class="col-md-2 col-sm-12">
-				<div class="block" valign="middle" style="vertical-align: middle;">
-					<img src="http://localhost:4000/images/incubator_power_ring.png" alt="ARIA Podling"  >
-				</div>
-			</div><!-- .col-md-5 close -->
-		</div>
-	</div>
-</section>
-
-<footer>
-	<div class="container">
-		<div class="row">
-			<div class="col-md-12">
-				<div class="footer-manu">
-
-					<ul class="menu-item">
-					
-			      
-						<li><a href="http://localhost:4000/about/" >About</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/community/" >Community</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/getting-started/" >Getting Started</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/roadmap/" >Roadmap</a></li>
-					
-					</ul>
-				</div>
-
-				<p> Copyright © 2017 The Apache Software Foundation. Licensed under the Apache License, Version 2.0. <br />
-				    Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.</p>
-			</div>
-		</div>
-	</div>
-</footer>
-
-    </div>
-
-    <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
-    <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script>
-    <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
-    <script src="http://localhost:4000/js/jquery.counterup.js"></script>
-
-    <script src="http://localhost:4000/js/main.js"></script>
-
-  </body>
-
-</html>
diff --git a/_site/community/index.html b/_site/community/index.html
deleted file mode 100644
index 3d34c57..0000000
--- a/_site/community/index.html
+++ /dev/null
@@ -1,243 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-
-  <title>ARIA TOSCA Community • Apache ARIA TOSCA</title>
-
-  
-  
-  
-
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-
-  <!-- CSS -->
-  <link rel="stylesheet" href="http://localhost:4000/css/owl.carousel.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/bootstrap.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/font-awesome.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/style.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/ionicons.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/animate.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/responsive.css">
-
-  <!-- Js -->
-  <script src="http://localhost:4000/js/vendor/modernizr-2.6.2.min.js"></script>
-  <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
-  <script>window.jQuery || document.write('<script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
-  <script src="http://localhost:4000/js/bootstrap.min.js"></script>
-  <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
-  <script src="http://localhost:4000/js/plugins.js"></script>
-
-  <script src="http://localhost:4000/js/min/waypoints.min.js"></script>
-  <script src="http://localhost:4000/js/jquery.counterup.js"></script>
-
-
-
-
-
-
-  <script src="http://localhost:4000/js/main.js"></script>
-  <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script>
-
-</head>
-
-  <body id="js-body">
-
-    <!--[if lt IE 9]><div class="upgrade notice-warning"><strong>Your browser is quite old!</strong> Why not <a href="http://whatbrowser.org/">upgrade to a newer one</a> to better enjoy this site?</div><![endif]-->
-
-    <!-- Header Start -->
-<header>
-<div class="container">
-  <div class="row">
-    <div class="col-md-12">
-      <!-- header Nav Start -->
-      <nav class="navbar navbar-default">
-        <div class="container-fluid">
-          <!-- Brand and toggle get grouped for better mobile display -->
-          <div class="navbar-header">
-            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="sr-only">Toggle navigation</span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            </button>
-            <a class="navbar-brand" href="http://localhost:4000/">
-              <img src="http://localhost:4000/images/aria-logo.png" alt="Apache ARIA TOSCA">
-            </a>
-          </div>
-            <!-- Collect the nav links, forms, and other content for toggling -->
-            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-
-              <nav role="navigation" class="menu top-menu">
-                  <ul class="nav navbar-nav navbar-right">
-	<li class="home"><a href="/">Apache ARIA TOSCA</a></li>
-	
-    
-    <li><a href="http://localhost:4000/about/" >About
-			
-  
-    
-    <li><a href="http://localhost:4000/community/" >Community
-			
-  
-    
-    <li><a href="http://localhost:4000/getting-started/" >Getting Started
-			
-  
-    
-    <li><a href="http://ariatosca.incubator.apache.org/docs/html/index.html" target="_blank">Docs
-			
-			<i class="fa fa-external-link" aria-hidden="true"></i></a></li> 
-			
-  
-    
-    <li><a href="http://localhost:4000/roadmap/" >Roadmap
-			
-  
-</ul>
-
-              </nav>
-            </div><!-- /.navbar-collapse -->
-          </div><!-- /.container-fluid -->
-        </nav>
-      </div>
-    </div>
-  </div>
-</header><!-- header close -->
-
-
-
-    <div id="page-wrapper">
-      <div id="main" role="main">
-	<article class="wrap" itemscope itemtype="http://schema.org/Article">
-		
-		
-
-		<section id="global-header">
-			<div class="container">
-				<div class="row">
-					<div class="col-md-12">
-						<div class="block">
-							<h1>ARIA TOSCA Community</h1>
-							<p></p>
-						</div>
-					</div>
-				</div>
-			</div>
-		</section>
-
-
-
-		<div class="inner-wrap">
-			<div id="content" class="page-content" itemprop="articleBody">
-				<section id="intro">
-		      <div class="container">
-		        <div class="row">
-								<h2 id="contribution">Contribution</h2>
-
-<p>You are welcome and encouraged to participate and contribute to the ARIA project.</p>
-
-<p>Please see our guide to
-<a href="https://cwiki.apache.org/confluence/display/ARIATOSCA/Contributing+to+ARIA">Contributing to ARIA</a></p>
-
-<h2 id="resources">Resources</h2>
-
-<ul>
-  <li><a href="https://issues.apache.org/jira/browse/ARIA">Issue tracker</a></li>
-  <li>Dev mailing list: dev@ariatosca.incubator.apache.org</li>
-  <li>User mailing list: user@ariatosca.incubator.apache.org</li>
-</ul>
-
-<p>Subscribe by sending a mail to <code class="highlighter-rouge">&lt;group&gt;-subscribe@ariatosca.incubator.apache.org</code> (e.g.
-<code class="highlighter-rouge">dev-subscribe@ariatosca.incubator.apache.org</code>).
-See information on how to subscribe to mailing lists <a href="https://www.apache.org/foundation/mailinglists.html">here</a>.</p>
-
-<p>For past correspondence, see the
-<a href="http://mail-archives.apache.org/mod_mbox/incubator-ariatosca-dev/">dev mailing list archive</a></p>
-
-<p>If you have any questions or ideas regarding contribution, please let us know on the dev@ariatosca.apache.org mailing list.</p>
-
-		        </div>
-		      </div>
-		    </section>
-				<hr />
-				<footer class="page-footer">
-					
-					
-					
-				</footer><!-- /.footer -->
-				<aside>
-					
-				</aside>
-			</div><!-- /.content -->
-		</div><!-- /.inner-wrap -->
-		
-	</article><!-- ./wrap -->
-</div><!-- /#main -->
-
-      
-
-<!-- Wrapper Start -->
-<section id="intro" style="padding-top:30px; padding-bottom:30px">
-	<div class="container">
-		<div class="row">
-			<div class="col-md-10 col-sm-12">
-				<div class="block">
-					<p>
-						Apache ARIA TOSCA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
-					</p>
-				</div>
-			</div><!-- .col-md-7 close -->
-			<div class="col-md-2 col-sm-12">
-				<div class="block" valign="middle" style="vertical-align: middle;">
-					<img src="http://localhost:4000/images/incubator_power_ring.png" alt="ARIA Podling"  >
-				</div>
-			</div><!-- .col-md-5 close -->
-		</div>
-	</div>
-</section>
-
-<footer>
-	<div class="container">
-		<div class="row">
-			<div class="col-md-12">
-				<div class="footer-manu">
-
-					<ul class="menu-item">
-					
-			      
-						<li><a href="http://localhost:4000/about/" >About</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/community/" >Community</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/getting-started/" >Getting Started</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/roadmap/" >Roadmap</a></li>
-					
-					</ul>
-				</div>
-
-				<p> Copyright © 2017 The Apache Software Foundation. Licensed under the Apache License, Version 2.0. <br />
-				    Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.</p>
-			</div>
-		</div>
-	</div>
-</footer>
-
-    </div>
-
-    <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
-    <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script>
-    <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
-    <script src="http://localhost:4000/js/jquery.counterup.js"></script>
-
-    <script src="http://localhost:4000/js/main.js"></script>
-
-  </body>
-
-</html>
diff --git a/_site/index.html b/_site/index.html
deleted file mode 100644
index ac59511..0000000
--- a/_site/index.html
+++ /dev/null
@@ -1,253 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-
-  <title>Apache ARIA TOSCA</title>
-
-  
-  
-  
-
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-
-  <!-- CSS -->
-  <link rel="stylesheet" href="http://localhost:4000/css/owl.carousel.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/bootstrap.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/font-awesome.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/style.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/ionicons.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/animate.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/responsive.css">
-
-  <!-- Js -->
-  <script src="http://localhost:4000/js/vendor/modernizr-2.6.2.min.js"></script>
-  <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
-  <script>window.jQuery || document.write('<script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
-  <script src="http://localhost:4000/js/bootstrap.min.js"></script>
-  <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
-  <script src="http://localhost:4000/js/plugins.js"></script>
-
-  <script src="http://localhost:4000/js/min/waypoints.min.js"></script>
-  <script src="http://localhost:4000/js/jquery.counterup.js"></script>
-
-
-
-
-
-
-  <script src="http://localhost:4000/js/main.js"></script>
-  <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script>
-
-</head>
-
-  <body id="js-body">
-
-    <!--[if lt IE 9]><div class="upgrade notice-warning"><strong>Your browser is quite old!</strong> Why not <a href="http://whatbrowser.org/">upgrade to a newer one</a> to better enjoy this site?</div><![endif]-->
-
-    <!-- Header Start -->
-<header>
-<div class="container">
-  <div class="row">
-    <div class="col-md-12">
-      <!-- header Nav Start -->
-      <nav class="navbar navbar-default">
-        <div class="container-fluid">
-          <!-- Brand and toggle get grouped for better mobile display -->
-          <div class="navbar-header">
-            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="sr-only">Toggle navigation</span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            </button>
-            <a class="navbar-brand" href="http://localhost:4000/">
-              <img src="http://localhost:4000/images/aria-logo.png" alt="Apache ARIA TOSCA">
-            </a>
-          </div>
-            <!-- Collect the nav links, forms, and other content for toggling -->
-            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-
-              <nav role="navigation" class="menu top-menu">
-                  <ul class="nav navbar-nav navbar-right">
-	<li class="home"><a href="/">Apache ARIA TOSCA</a></li>
-	
-    
-    <li><a href="http://localhost:4000/about/" >About
-			
-  
-    
-    <li><a href="http://localhost:4000/community/" >Community
-			
-  
-    
-    <li><a href="http://localhost:4000/getting-started/" >Getting Started
-			
-  
-    
-    <li><a href="http://ariatosca.incubator.apache.org/docs/html/index.html" target="_blank">Docs
-			
-			<i class="fa fa-external-link" aria-hidden="true"></i></a></li> 
-			
-  
-    
-    <li><a href="http://localhost:4000/roadmap/" >Roadmap
-			
-  
-</ul>
-
-              </nav>
-            </div><!-- /.navbar-collapse -->
-          </div><!-- /.container-fluid -->
-        </nav>
-      </div>
-    </div>
-  </div>
-</header><!-- header close -->
-
-
-
-    <div id="page-wrapper">
-      <div id="main" role="main">			
-	<div class="wrap">
-		
-		<div class="page-title">
-			<h1></h1>
-			
-		</div>
-		<div class="archive-wrap">
-			<div class="page-content">
-				<!-- Slider Start -->
-<section id="slider">
-	<div class="container">
-		<div class="row">
-			<div class="col-md-10 col-md-offset-2">
-				<div class="block">
-					<h1 class="animated fadeInUp">Apache ARIA TOSCA <br /> ORCHESTRATION ENGINE</h1>
-					<p class="animated fadeInUp"> Embeddable lightweight library and command line tool<br />
-					For NFV and Hybrid Cloud Orchestration</p>
-				</div>
-			</div>
-		</div>
-	</div>
-</section>
-
-<!-- Wrapper Start -->
-<section id="intro">
-	<div class="container">
-		<div class="row">
-			<div class="col-md-7 col-sm-12">
-				<div class="block">
-					<div class="section-title">
-						<h2>About Apache ARIA TOSCA</h2>
-						<p></p>
-					</div>
-					<p>ARIA TOSCA is an open, light, CLI-driven library of orchestration tools that other open projects can consume to easily build TOSCA-based orchestration solutions. ARIA is now an incubation project at the Apache Software Foundation.</p>
-				</div>
-			</div><!-- .col-md-7 close -->
-			<div class="col-md-5 col-sm-12">
-				<div class="block">
-					<img src="images/aria-logo-large.png" alt="Img" />
-				</div>
-			</div><!-- .col-md-5 close -->
-		</div>
-	</div>
-</section>
-
-<section id="feature">
-	<div class="container">
-		<div class="row">
-			<div class="col-md-6 col-md-offset-6">
-				<h2>Open Source, Open Governance</h2>
-				<p>OASIS TOSCA offers a vendor neutral standard for modeling cloud based applications, ARIA is an open implementation of the TOSCA specification, allowing complete visibility and free use of all it’s source code https://github.com/apache/incubator-ariatosca</p>
-				<p>AIRA is an Apache Software Foundation project in incubation process, aiming to become an independent project governed by it’s active contributors following a meritocratic model. Committers of project will be leading the project’s direction and influencing thought contribution.</p>
-				<a href="https://www.apache.org/foundation/how-it-works.html" class="btn btn-view-works">Learn More</a>
-			</div>
-		</div>
-	</div>
-</section>
-<!-- Call to action Start -->
-<section id="call-to-action">
-	<div class="container">
-		<div class="row">
-			<div class="col-md-12">
-				<div class="block">
-					<h2>Get Started with Apache ARIA TOSCA</h2>
-					<p></p>
-					<a class="btn btn-default btn-call-to-action" href="/getting-started">Get Started Now</a>
-				</div>
-			</div>
-		</div>
-	</div>
-</section>
-
-			</div><!-- /.page-content -->
-		</div class="archive-wrap"><!-- /.archive-wrap -->
-	</div><!-- /.wrap -->
-</div><!-- /#main -->
-      
-
-<!-- Wrapper Start -->
-<section id="intro" style="padding-top:30px; padding-bottom:30px">
-	<div class="container">
-		<div class="row">
-			<div class="col-md-10 col-sm-12">
-				<div class="block">
-					<p>
-						Apache ARIA TOSCA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
-					</p>
-				</div>
-			</div><!-- .col-md-7 close -->
-			<div class="col-md-2 col-sm-12">
-				<div class="block" valign="middle" style="vertical-align: middle;">
-					<img src="http://localhost:4000/images/incubator_power_ring.png" alt="ARIA Podling"  >
-				</div>
-			</div><!-- .col-md-5 close -->
-		</div>
-	</div>
-</section>
-
-<footer>
-	<div class="container">
-		<div class="row">
-			<div class="col-md-12">
-				<div class="footer-manu">
-
-					<ul class="menu-item">
-					
-			      
-						<li><a href="http://localhost:4000/about/" >About</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/community/" >Community</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/getting-started/" >Getting Started</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/roadmap/" >Roadmap</a></li>
-					
-					</ul>
-				</div>
-
-				<p> Copyright © 2017 The Apache Software Foundation. Licensed under the Apache License, Version 2.0. <br />
-				    Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.</p>
-			</div>
-		</div>
-	</div>
-</footer>
-
-    </div>
-
-    <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
-    <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script>
-    <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
-    <script src="http://localhost:4000/js/jquery.counterup.js"></script>
-
-    <script src="http://localhost:4000/js/main.js"></script>
-
-  </body>
-
-</html>
diff --git a/_site/roadmap/index.html b/_site/roadmap/index.html
deleted file mode 100644
index 67d5737..0000000
--- a/_site/roadmap/index.html
+++ /dev/null
@@ -1,259 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-
-  <title>ARIA 0.1.0 Roadmap • Apache ARIA TOSCA</title>
-
-  
-  
-  
-
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-
-  <!-- CSS -->
-  <link rel="stylesheet" href="http://localhost:4000/css/owl.carousel.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/bootstrap.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/font-awesome.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/style.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/ionicons.min.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/animate.css">
-  <link rel="stylesheet" href="http://localhost:4000/css/responsive.css">
-
-  <!-- Js -->
-  <script src="http://localhost:4000/js/vendor/modernizr-2.6.2.min.js"></script>
-  <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
-  <script>window.jQuery || document.write('<script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"><\/script>')</script>
-  <script src="http://localhost:4000/js/bootstrap.min.js"></script>
-  <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
-  <script src="http://localhost:4000/js/plugins.js"></script>
-
-  <script src="http://localhost:4000/js/min/waypoints.min.js"></script>
-  <script src="http://localhost:4000/js/jquery.counterup.js"></script>
-
-
-
-
-
-
-  <script src="http://localhost:4000/js/main.js"></script>
-  <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script>
-
-</head>
-
-  <body id="js-body">
-
-    <!--[if lt IE 9]><div class="upgrade notice-warning"><strong>Your browser is quite old!</strong> Why not <a href="http://whatbrowser.org/">upgrade to a newer one</a> to better enjoy this site?</div><![endif]-->
-
-    <!-- Header Start -->
-<header>
-<div class="container">
-  <div class="row">
-    <div class="col-md-12">
-      <!-- header Nav Start -->
-      <nav class="navbar navbar-default">
-        <div class="container-fluid">
-          <!-- Brand and toggle get grouped for better mobile display -->
-          <div class="navbar-header">
-            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
-            <span class="sr-only">Toggle navigation</span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            <span class="icon-bar"></span>
-            </button>
-            <a class="navbar-brand" href="http://localhost:4000/">
-              <img src="http://localhost:4000/images/aria-logo.png" alt="Apache ARIA TOSCA">
-            </a>
-          </div>
-            <!-- Collect the nav links, forms, and other content for toggling -->
-            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-
-              <nav role="navigation" class="menu top-menu">
-                  <ul class="nav navbar-nav navbar-right">
-	<li class="home"><a href="/">Apache ARIA TOSCA</a></li>
-	
-    
-    <li><a href="http://localhost:4000/about/" >About
-			
-  
-    
-    <li><a href="http://localhost:4000/community/" >Community
-			
-  
-    
-    <li><a href="http://localhost:4000/getting-started/" >Getting Started
-			
-  
-    
-    <li><a href="http://ariatosca.incubator.apache.org/docs/html/index.html" target="_blank">Docs
-			
-			<i class="fa fa-external-link" aria-hidden="true"></i></a></li> 
-			
-  
-    
-    <li><a href="http://localhost:4000/roadmap/" >Roadmap
-			
-  
-</ul>
-
-              </nav>
-            </div><!-- /.navbar-collapse -->
-          </div><!-- /.container-fluid -->
-        </nav>
-      </div>
-    </div>
-  </div>
-</header><!-- header close -->
-
-
-
-    <div id="page-wrapper">
-      <div id="main" role="main">
-	<article class="wrap" itemscope itemtype="http://schema.org/Article">
-		
-		
-
-		<section id="global-header">
-			<div class="container">
-				<div class="row">
-					<div class="col-md-12">
-						<div class="block">
-							<h1>ARIA 0.1.0 Roadmap</h1>
-							<p></p>
-						</div>
-					</div>
-				</div>
-			</div>
-		</section>
-
-
-
-		<div class="inner-wrap">
-			<div id="content" class="page-content" itemprop="articleBody">
-				<section id="intro">
-		      <div class="container">
-		        <div class="row">
-								<p>ARIA’s backlod is found <a href="https://issues.apache.org/jira/secure/RapidBoard.jspa?projectKey=ARIA&amp;rapidView=150&amp;view=planning">HERE</a></p>
-
-<ul>
-  <li>
-    <p>OASIS TOSCA Simple Profile 1.0 - Support “OASIS TOSCA Simple Profile 1.0” YAML DSL specification.</p>
-  </li>
-  <li>
-    <p>OASIS TOSCA Simple Profile 1.0 test suite - Comprehensive coverage of the YAML DSL specification.</p>
-  </li>
-  <li>
-    <p>OASIS TOSCA Simple Profile 1.0 for NFV - Implement latest reversion of “TOSCA Simple Profile for NFV” draft03 specification.</p>
-  </li>
-  <li>
-    <p>Modular DSL Parser - Modular DSL Parser capable of supporting multiple DSLs and profiles.</p>
-  </li>
-  <li>
-    <p>TOSCA Cloud Service Archive(CSAR) Support the standard TOSCA CSAR template archiving format.</p>
-  </li>
-  <li>
-    <p>Template Validation - Enabled template validation based on the profile used on application or VNF template</p>
-  </li>
-  <li>
-    <p>Deployment Plans Dynamic Generation - Dynamic generation of deployment plans from on the TOSCA template and plugins used in the TOSCA templates.</p>
-  </li>
-  <li>Pluggable node Types Plugins mechanism that allows extending the TOSCA normative node types with custom and technology specific node types, allowing TOSCA to natively support the following:
-    <ul>
-      <li>Extend TOSCA Normative types and support introduction of new technology specific node types with their corresponding relationship node types, and lifecycle operation implementations.</li>
-      <li>Native TOSCA support for Multi-VIM, combination of multiple and mixed environments.</li>
-      <li>Native TOSCA support for any sVNFM/gVNFM</li>
-    </ul>
-  </li>
-  <li>
-    <p>Live Attribute Injection - Plugins can set node attributes and fill in TOSCA functions allowing for live requirements-and-capabilities processing</p>
-  </li>
-  <li>
-    <p>TOSCA Workflow Execution Engine TOSCA native workflow execution engine that can run over the deployment graph, execute dynamically generated deployment plans from the TOSCA topology temple, support custom workflows addition to graph based workflow execution.</p>
-  </li>
-  <li>Model Storage Mechanism Storage mechanism that allows storing the generated objects model and template related resources into filesystem, database and memory.</li>
-</ul>
-
-		        </div>
-		      </div>
-		    </section>
-				<hr />
-				<footer class="page-footer">
-					
-					
-					
-				</footer><!-- /.footer -->
-				<aside>
-					
-				</aside>
-			</div><!-- /.content -->
-		</div><!-- /.inner-wrap -->
-		
-	</article><!-- ./wrap -->
-</div><!-- /#main -->
-
-      
-
-<!-- Wrapper Start -->
-<section id="intro" style="padding-top:30px; padding-bottom:30px">
-	<div class="container">
-		<div class="row">
-			<div class="col-md-10 col-sm-12">
-				<div class="block">
-					<p>
-						Apache ARIA TOSCA is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
-					</p>
-				</div>
-			</div><!-- .col-md-7 close -->
-			<div class="col-md-2 col-sm-12">
-				<div class="block" valign="middle" style="vertical-align: middle;">
-					<img src="http://localhost:4000/images/incubator_power_ring.png" alt="ARIA Podling"  >
-				</div>
-			</div><!-- .col-md-5 close -->
-		</div>
-	</div>
-</section>
-
-<footer>
-	<div class="container">
-		<div class="row">
-			<div class="col-md-12">
-				<div class="footer-manu">
-
-					<ul class="menu-item">
-					
-			      
-						<li><a href="http://localhost:4000/about/" >About</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/community/" >Community</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/getting-started/" >Getting Started</a></li>
-					
-			      
-						<li><a href="http://localhost:4000/roadmap/" >Roadmap</a></li>
-					
-					</ul>
-				</div>
-
-				<p> Copyright © 2017 The Apache Software Foundation. Licensed under the Apache License, Version 2.0. <br />
-				    Apache, the Apache Feather logo, and the Apache Incubator project logo are trademarks of The Apache Software Foundation.</p>
-			</div>
-		</div>
-	</div>
-</footer>
-
-    </div>
-
-    <script src="http://localhost:4000/js/vendor/jquery-1.10.2.min.js"></script>
-    <script src="http://localhost:4000/js/plugins/jquery.mixitup.min.js"></script>
-    <script src="http://localhost:4000/js/owl.carousel.min.js"></script>
-    <script src="http://localhost:4000/js/jquery.counterup.js"></script>
-
-    <script src="http://localhost:4000/js/main.js"></script>
-
-  </body>
-
-</html>
diff --git a/_site/sitemap.xml b/_site/sitemap.xml
deleted file mode 100644
index 815b99d..0000000
--- a/_site/sitemap.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
-<url>
-<loc>http://localhost:4000/about/</loc>
-</url>
-<url>
-<loc>http://localhost:4000/community/</loc>
-</url>
-<url>
-<loc>http://localhost:4000/getting-started/</loc>
-</url>
-<url>
-<loc>http://localhost:4000/</loc>
-</url>
-<url>
-<loc>http://localhost:4000/roadmap/</loc>
-</url>
-<url>
-<loc>http://localhost:4000/about/index.html</loc>
-<lastmod>2017-09-06T20:38:12+03:00</lastmod>
-</url>
-<url>
-<loc>http://localhost:4000/community/index.html</loc>
-<lastmod>2017-09-06T20:38:12+03:00</lastmod>
-</url>
-<url>
-<loc>http://localhost:4000/getting-started/index.html</loc>
-<lastmod>2017-09-06T20:38:12+03:00</lastmod>
-</url>
-<url>
-<loc>http://localhost:4000/index.html</loc>
-<lastmod>2017-09-06T20:38:12+03:00</lastmod>
-</url>
-<url>
-<loc>http://localhost:4000/roadmap/index.html</loc>
-<lastmod>2017-09-06T20:38:12+03:00</lastmod>
-</url>
-</urlset>
diff --git a/roadmap.md b/roadmap.md
index 8e06372..3b154c4 100644
--- a/roadmap.md
+++ b/roadmap.md
@@ -5,29 +5,4 @@
 share: false
 ---
 
-ARIA's backlod is found [HERE](https://issues.apache.org/jira/secure/RapidBoard.jspa?projectKey=ARIA&rapidView=150&view=planning)
-
-- OASIS TOSCA Simple Profile 1.0 - Support “OASIS TOSCA Simple Profile 1.0” YAML DSL specification.
-
-- OASIS TOSCA Simple Profile 1.0 test suite - Comprehensive coverage of the YAML DSL specification.
-
-- OASIS TOSCA Simple Profile 1.0 for NFV - Implement latest reversion of “TOSCA Simple Profile for NFV” draft03 specification.
-
-- Modular DSL Parser - Modular DSL Parser capable of supporting multiple DSLs and profiles.
-
-- TOSCA Cloud Service Archive(CSAR) Support the standard TOSCA CSAR template archiving format.
-
-- Template Validation - Enabled template validation based on the profile used on application or VNF template
-
-- Deployment Plans Dynamic Generation - Dynamic generation of deployment plans from on the TOSCA template and plugins used in the TOSCA templates.
-
-- Pluggable node Types Plugins mechanism that allows extending the TOSCA normative node types with custom and technology specific node types, allowing TOSCA to natively support the following:
-    -  Extend TOSCA Normative types and support introduction of new technology specific node types with their corresponding relationship node types, and lifecycle operation implementations.
-    - Native TOSCA support for Multi-VIM, combination of multiple and mixed environments.
-    - Native TOSCA support for any sVNFM/gVNFM
-
-- Live Attribute Injection - Plugins can set node attributes and fill in TOSCA functions allowing for live requirements-and-capabilities processing
-
-- TOSCA Workflow Execution Engine TOSCA native workflow execution engine that can run over the deployment graph, execute dynamically generated deployment plans from the TOSCA topology temple, support custom workflows addition to graph based workflow execution.
-
-- Model Storage Mechanism Storage mechanism that allows storing the generated objects model and template related resources into filesystem, database and memory.
+ARIA's backlog is found [HERE](https://issues.apache.org/jira/secure/RapidBoard.jspa?projectKey=ARIA&rapidView=150&view=planning)
