diff --git a/articles/articles.php b/articles/articles.php
deleted file mode 100644
index f5cf3eb..0000000
--- a/articles/articles.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
-
-	#*****************************************************************************
-	#
-	# committers.php
-	#
-	# Author: 		Roy Ganor
-	# Date:			2007-07-18
-	#
-	# Description: ASTView page 
-	#
-	#
-	#****************************************************************************
-
-	#
-	# Begin: page-specific settings.  Change these.
-	$pageTitle 		= "PDT Articles";
-	$pageKeywords	= "PHP, articles";
-	$pageAuthor		= "PDT Development";
-
-	# Add page-specific Nav bars here
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
-	$Nav->addCustomNav("Find Bugs", "http://download.eclipse.org/tools/pdt/downloads/drops/results/FINDBUGS-php.html", "_self", 3);
-	$Nav->addCustomNav("Best Practices", "http://download.eclipse.org/tools/pdt/downloads/drops/results/ANALYSIS-php.html", "_self", 3);
-	$Nav->addCustomNav("Unit Tests", "http://download.eclipse.org/tools/pdt/downloads/drops/N". date("Ymd", mktime(0, 0, 0, date("m")  , date("d")-1, date("Y"))) . "/results/TEST-php.html", "_self", 3);
-	$Nav->addCustomNav("Contributors", "http://www.eclipse.org/pdt/people/contributors.php", "_self", 3);
-	$Nav->addCustomNav("Articles", "http://www.eclipse.org/pdt/articles/articles.php", "_self", 3);
-
-	# End: page-specific settings
-	#
-
-	# Paste your HTML content here!
-	ob_start();
-
-	require_once($_SERVER['DOCUMENT_ROOT'] . "/projects/common/project-info.class.php");
-	$projectInfo = new ProjectInfo("tools.php");
-
-?>
-
-<div id="maincontent">
-	<div id="midcolumn">
-
-		<div class="homeitem3col">
-			<h3>Articles</h3>
-			<ul>
-				<li><a href="/pdt/articles/ast/PHP_AST.html">Abstract Syntax Tree</a>.
-				</li>
-			</ul>
-			<ul>
-				<li><a href="/pdt/articles/astview/astview.php">AST View</a>.
-				</li>
-			</ul>
-			<ul>
-				<li><a href="/pdt/documents/contributing.html">Contributing to the eclipse pdt project</a>.
-				</li>
-			</ul>
-			<ul>
-				<li><a href="/pdt/articles/debugger/os-php-eclipse-pdt-debug-pdf.pdf">Debugging PHP using Eclipse and PDT</a>.
-				</li>
-			</ul>
-		</div>
-		
-
-	</div>
-</div>
-
-
-<?
-	$html = ob_get_contents();
-	ob_end_clean();
-
-	# Generate the web page
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
diff --git a/articles/ast/PHP_AST.html b/articles/ast/PHP_AST.html
index cd83cdc..bd04477 100644
--- a/articles/ast/PHP_AST.html
+++ b/articles/ast/PHP_AST.html
@@ -2,7 +2,7 @@
 <html><head>
 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Abstract Syntax Tree</title>
 
-<link href="../article.css" rel="stylesheet" type="text/css">
+<link href="article.css" rel="stylesheet" type="text/css">
 <meta content="DocBook XSL Stylesheets V1.71.1" name="generator">
 <meta name="description" content="The Abstract Syntax Tree is the base framework for many powerful tools of the Eclipse IDE, including refactoring, Quick Fix and Quick Assist. The Abstract Syntax Tree maps plain PHP source code in a tree form. This tree is more convenient and reliable to analyse and modify programmatically than text-based source. This article shows how you can use the Abstract Syntax Tree for your own applications.">
 </head>
diff --git a/articles/article.css b/articles/ast/article.css
similarity index 100%
rename from articles/article.css
rename to articles/ast/article.css
