[libvirt] [PATCH 2/3] docs: autogenerate search.php

Martin Kletzander mkletzan at redhat.com
Thu Aug 9 14:17:59 UTC 2012


This patch makes search.php autogenerated from search.php.in, thus
removing hardcoded menus, footer etc. and the search.php is added to
.gitignore.

There is new rule added for *.php files (to make it bit less
hardcoded) that takes *.php.code.in and injects it inside the
generated *.php (xslt was not happy about php code in the source xml).
---
 .gitignore                              |    1 +
 docs/Makefile.am                        |   24 +++++++-
 docs/{search.php => search.php.code.in} |   90 ++-----------------------------
 docs/search.php.in                      |   17 ++++++
 4 files changed, 44 insertions(+), 88 deletions(-)
 rename docs/{search.php => search.php.code.in} (66%)
 create mode 100644 docs/search.php.in

diff --git a/.gitignore b/.gitignore
index cd8a85c..17dcae4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -61,6 +61,7 @@
 /docs/libvirt-api.xml
 /docs/libvirt-qemu-*.xml
 /docs/libvirt-refs.xml
+/docs/search.php
 /docs/todo.html.in
 /examples/domain-events/events-c/event-test
 /examples/dominfo/info1
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 88407b1..83747e4 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -75,6 +75,10 @@ dot_html_in = $(notdir $(wildcard $(srcdir)/*.html.in)) todo.html.in hvsupport.h
       $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/internals/*.html.in))
 dot_html = $(dot_html_in:%.html.in=%.html)

+dot_php_in = $(notdir $(wildcard $(srcdir)/*.php.in))
+dot_php_code_in = $(dot_php_in:%.php.in=%.php.code.in)
+dot_php = $(dot_php_in:%.php.in=%.php)
+
 patches = $(patsubst $(srcdir)/%,%,$(wildcard $(srcdir)/api_extension/*.patch))

 xml = \
@@ -107,21 +111,22 @@ EXTRA_DIST=					\
   $(dot_html) $(dot_html_in) $(gif) $(apihtml) $(apipng) \
   $(devhelphtml) $(devhelppng) $(devhelpcss) $(devhelpxsl) \
   $(xml) $(qemu_xml) $(fig) $(png) $(css) \
-  $(patches) \
+  $(patches) $(dot_php_in) $(dot_php_code_in) $(dot_php)\
   sitemap.html.in \
   todo.pl hvsupport.pl todo.cfg-example

 MAINTAINERCLEANFILES = \
   $(addprefix $(srcdir)/,$(dot_html)) \
   $(addprefix $(srcdir)/,$(apihtml)) \
-  $(addprefix $(srcdir)/,$(devhelphtml))
+  $(addprefix $(srcdir)/,$(devhelphtml)) \
+  $(addprefix $(srcdir)/,$(dot_php))

 all-am: web

 api: $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml
 qemu_api: $(srcdir)/libvirt-qemu-api.xml $(srcdir)/libvirt-qemu-refs.xml

-web: $(dot_html) html/index.html devhelp/index.html
+web: $(dot_html) html/index.html devhelp/index.html $(dot_php)

 todo.html.in: todo.pl
 	if [ -f  todo.cfg ]; then \
@@ -173,6 +178,19 @@ internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in
 	  || { rm $(srcdir)/$@ && exit 1; }; \
 	  else echo "missing XHTML1 DTD" ; fi ; fi

+%.php.tmp: %.php.in site.xsl page.xsl sitemap.html.in
+	@if [ -x $(XSLTPROC) ] ; then \
+	  echo "Generating $@"; \
+	  name=`echo $@ | sed -e 's/.tmp//'`; \
+	  $(XSLTPROC) --stringparam pagename $$name --nonet --html \
+	    $(top_srcdir)/docs/site.xsl $< > $@ \
+	    || { rm $@ && exit 1; }; fi
+
+%.php: %.php.tmp %.php.code.in
+	@echo "Scripting $@"; \
+	  sed -e '/<a id="php_placeholder"><\/a>/r '"$(srcdir)/$@.code.in"\
+	  -e /php_placeholder/d < $@.tmp > $(srcdir)/$@ \
+	  || { rm $(srcdir)/$@ && exit 1; }

 html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
 	$(AM_V_GEN)if [ -x $(XSLTPROC) ] ; then \
diff --git a/docs/search.php b/docs/search.php.code.in
similarity index 66%
rename from docs/search.php
rename to docs/search.php.code.in
index 768e06f..df25cd6 100644
--- a/docs/search.php
+++ b/docs/search.php.code.in
@@ -1,49 +1,28 @@
-<!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">
-<!--
-        This file is autogenerated from the PHP output
-        Do not edit this file. Changes will be lost.
-      -->
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-    <link rel="stylesheet" type="text/css" href="main.css" />
-    <link rel="SHORTCUT ICON" href="32favicon.png" />
-    <title>Search the documentation on Libvir.org</title>
-    <meta name="description" content="libvirt, virtualization, virtualization API" />
-  </head>
-  <body>
-    <div id="header">
-      <div id="headerLogo"></div>
-    </div>
-    <div id="body">
-      <div id="content">
 <?php
     $query = $_GET['query'];
     // We handle only the first argument so far
     $query = ltrim ($query);
-    if (! $query) {
-        echo "<h1 align='center'>Search the documentation on Libvir.org</h1>";
-    }
+
     $scope = $_GET['scope'];
     if ($scope == NULL)
         $scope = "any";
     $scope = ltrim ($scope);
     if ($scope == "")
         $scope = "any";
-
 ?>
-<p> The search service indexes the libvirt APIs and documentation as well as the libvir-list at redhat.com mailing-list archives. To use it simply provide a set of keywords:</p>
+
 <form action="<?php echo $_SERVER['PHP_SELF'], "?query=", rawurlencode($query) ?>"
       enctype="application/x-www-form-urlencoded" method="get">
   <input name="query" type="text" size="50" value="<?php echo $query?>"/>
   <select name="scope">
     <option value="any">Search All</option>
     <option value="API" <?php if ($scope == 'API') print "selected='selected'"?>>Only the APIs</option>
-    <option value="DOCS" <?php if ($scope == 'DOCS') print "selected"?>>Only the Documentation</option>
-    <option value="LISTS" <?php if ($scope == 'LISTS') print "selected"?>>Only the lists archives</option>
+    <option value="DOCS" <?php if ($scope == 'DOCS') print "selected='selected'"?>>Only the Documentation</option>
+    <option value="LISTS" <?php if ($scope == 'LISTS') print "selected='selected'"?>>Only the lists archives</option>
   </select>
   <input name="submit" type="submit" value="Search ..."/>
 </form>
+
 <?php
     function logQueryWord($word) {
         $result = mysql_query ("SELECT ID,Count FROM Queries WHERE Value='$word'");
@@ -243,62 +222,3 @@
 	}
     }
 ?>
-      <img src="libvirtLogo.png" alt="libvirt Logo" />
-      </div>
-      <div id="menu">
-        <ul class="l0"><li>
-            <span class="active">Home</span>
-          </li><li>
-            <a title="Details of new features and bugs fixed in each release" class="inactive" href="news.html">News</a>
-          </li><li>
-            <a title="Get the latest source releases, binary builds and get access to the source repository" class="inactive" href="downloads.html">Downloads</a>
-          </li><li>
-            <a title="Information for users, administrators and developers" class="inactive" href="docs.html">Documentation</a>
-          </li><li>
-            <a title="User contributed content" class="inactive" href="http://wiki.libvirt.org">Wiki</a>
-          </li><li>
-            <a title="Frequently asked questions" class="inactive" href="http://wiki.libvirt.org/page/FAQ">FAQ</a>
-          </li><li>
-            <a title="How and where to report bugs and request features" class="inactive" href="bugs.html">Bug reports</a>
-          </li><li>
-            <a title="How to contact the developers via email and IRC" class="inactive" href="contact.html">Contact</a>
-          </li><li>
-            <a title="Miscellaneous links of interest related to libvirt" class="inactive" href="relatedlinks.html">Related Links</a>
-          </li><li>
-            <a title="Overview of all content on the website" class="inactive" href="sitemap.html">Sitemap</a>
-          </li></ul>
-      </div>
-    </div>
-    <div id="footer">
-      <div id="projects">
-        <dl id="p1"><dt>
-            <a href="http://augeas.net/">Augeas</a>
-          </dt><dd>
-            <span>A configuration editing tool and API</span>
-          </dd><dt>
-            <a href="http://libvirt.org/">libvirt</a>
-          </dt><dd>
-            <span>The open source virtualization API</span>
-          </dd></dl>
-        <dl id="p2"><dt>
-            <a href="http://cobbler.et.redhat.com/">Cobbler</a>
-          </dt><dd>
-            <span>OS provisioning and profile management</span>
-          </dd><dt>
-            <a href="http://ovirt.org/">oVirt</a>
-          </dt><dd>
-            <span>Virtualization management across the data center</span>
-          </dd></dl>
-        <dl id="p3"><dt>
-            <a href="http://freeipa.org/">FreeIPA</a>
-          </dt><dd>
-            <span>Identity, policy and audit management</span>
-          </dd><dt>
-            <a href="http://virt-manager.org/">Virtual Machine Manager</a>
-          </dt><dd>
-            <span>Virtualization management from the desktop</span>
-          </dd></dl>
-      </div>
-    </div>
-  </body>
-</html>
diff --git a/docs/search.php.in b/docs/search.php.in
new file mode 100644
index 0000000..ee8f4a3
--- /dev/null
+++ b/docs/search.php.in
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<html>
+  <body>
+    <h1>Search the documentation on Libvirt.org</h1>
+
+    <p>
+      The search service indexes the libvirt APIs and documentation as
+    well as the libvir-list at redhat.com mailing-list archives. To use
+    it simply provide a set of keywords:
+    </p>
+
+<a id="php_placeholder"/>
+
+    <img src="libvirtLogo.png" alt="libvirt Logo" />
+
+  </body>
+</html>
-- 
1.7.8.6




More information about the libvir-list mailing list