summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2009-04-25 18:28:24 +0100
committerRichard Jones <rjones@redhat.com>2009-04-25 18:28:24 +0100
commitb6d5c9e646d0aa18699a88d02ed9205380553b65 (patch)
tree968f654f1efcfaf21d32b09ead0bfe570c050b66
parenta057a058e72d0949db4140e9a03b7a0e5b3c823c (diff)
downloadlibguestfs-b6d5c9e646d0aa18699a88d02ed9205380553b65.tar.gz
libguestfs-b6d5c9e646d0aa18699a88d02ed9205380553b65.tar.xz
libguestfs-b6d5c9e646d0aa18699a88d02ed9205380553b65.zip
Better generation of recipes page.
-rw-r--r--Makefile.am30
-rwxr-xr-xmake-recipes.sh73
-rw-r--r--recipes/clone.html2
-rw-r--r--recipes/clone.title1
-rw-r--r--recipes/editgrub.html2
-rw-r--r--recipes/editgrub.title1
-rw-r--r--recipes/export2tar.html2
-rw-r--r--recipes/export2tar.title1
-rw-r--r--recipes/show-devices.html2
-rw-r--r--recipes/show-devices.title1
-rw-r--r--recipes/tar2vm.html2
-rw-r--r--recipes/tar2vm.title1
12 files changed, 82 insertions, 36 deletions
diff --git a/Makefile.am b/Makefile.am
index 40e7980f..fb1d42ba 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -50,7 +50,8 @@ EXTRA_DIST = \
recipes/*.html \
recipes/*.sh \
recipes/*.example \
- html/recipes.css
+ html/recipes.css \
+ make-recipes.sh
# Build the root filesystem.
# Currently this is arch-dependent, so it seems like putting it in
@@ -142,32 +143,9 @@ html/guestfish.1.html: guestfish.pod guestfish-actions.pod
--outfile $@
# Recipes web page.
-html/recipes.html: $(wildcard recipes/*.sh) $(wildcard recipes/*.html) $(wildcard recipes/*.example) Makefile
+html/recipes.html: $(wildcard recipes/*.sh) $(wildcard recipes/*.html) $(wildcard recipes/*.example) Makefile make-recipes.sh
rm -f $@ $@-t
- echo '<html><head><title>guestfish recipes</title>' >> $@-t; \
- echo '<link rel="stylesheet" href="recipes.css" type="text/css" title="Standard"/>' >> $@-t; \
- echo '</head><body>' >> $@-t; \
- echo '<h1>guestfish recipes</h1>' >> $@-t; \
- echo '<p>You can also find these in the <code>recipes/</code> subdirectory of the source.</p>' >> $@-t; \
- for f in recipes/*.sh; do \
- b=`basename $$f .sh`; \
- echo -n '<a name="'$$b'"></a>' >> $@-t; \
- if [ -r recipes/$$b.html ]; then \
- cat recipes/$$b.html >> $@-t; \
- else \
- echo '<h2>$$b</h2>' >> $@-t; \
- fi; \
- echo '<pre class="example">' >> $@-t; \
- sed -e 's,&,\&amp;,g' -e 's,<,\&lt;,g' -e 's,>,\&gt;,g' < $$f >> $@-t; \
- echo '</pre>' >> $@-t; \
- if [ -r recipes/$$b.example ]; then \
- echo '<h3>Example output</h3>' >> $@-t; \
- echo '<pre>' >> $@-t; \
- sed -e 's,&,\&amp;,g' -e 's,<,\&lt;,g' -e 's,>,\&gt;,g' < recipes/$$b.example >> $@-t; \
- echo '</pre>' >> $@-t; \
- fi; \
- done; \
- echo '</body></html>' >> $@-t; \
+ sh make-recipes.sh recipes/*.sh > $@-t
mv $@-t $@
website: html/guestfs.3.html html/guestfish.1.html html/recipes.html
diff --git a/make-recipes.sh b/make-recipes.sh
new file mode 100755
index 00000000..2220beed
--- /dev/null
+++ b/make-recipes.sh
@@ -0,0 +1,73 @@
+#!/bin/sh -
+# libguestfs
+# Copyright (C) 2009 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+cat <<EOF
+<html>
+ <head>
+ <title>guestfish recipes</title>
+ <link rel="stylesheet" href="recipes.css" type="text/css" title="Standard"/>
+ </head>
+ <body>
+ <h1>guestfish recipes</h1>
+ <p>You can also find these in the
+ <a href="http://git.et.redhat.com/?p=libguestfs.git;a=tree;f=recipes;hb=HEAD"><code>recipes/</code>
+ subdirectory</a> of the source.
+
+ <h2>Table of recipes</h2>
+ <ul>
+EOF
+
+for f in recipes/*.sh; do
+ b=`basename $f .sh`
+ echo -n ' <li> <a href="#'$b'">'$b.sh
+ if [ -r recipes/$b.title ]; then
+ echo -n ': '
+ cat recipes/$b.title
+ fi
+ echo '</a> </li>'
+done
+echo ' </ul>'
+echo
+echo
+
+for f in recipes/*.sh; do
+ b=`basename $f .sh`
+ echo -n '<a name="'$b'"></a>'
+ echo -n '<h2>'$b'.sh'
+ if [ -r recipes/$b.title ]; then
+ echo -n ': '
+ cat recipes/$b.title
+ fi
+ echo -n '<small style="font-size: 8pt; margin-left: 2em;"><a href="#'$b'">permalink</a></small>'
+ echo '</h2>'
+ if [ -r recipes/$b.html ]; then
+ cat recipes/$b.html
+ fi
+ echo '<h3>'$b'.sh</h3>'
+ echo '<pre class="example">'
+ sed -e 's,&,\&amp;,g' -e 's,<,\&lt;,g' -e 's,>,\&gt;,g' < $f
+ echo '</pre>'
+ if [ -r recipes/$b.example ]; then
+ echo '<h3>Example output</h3>'
+ echo '<pre>'
+ sed -e 's,&,\&amp;,g' -e 's,<,\&lt;,g' -e 's,>,\&gt;,g' < recipes/$b.example
+ echo '</pre>'
+ fi
+done
+
+echo '</body></html>'
diff --git a/recipes/clone.html b/recipes/clone.html
index a9998e18..f87b4ad6 100644
--- a/recipes/clone.html
+++ b/recipes/clone.html
@@ -1,5 +1,3 @@
-<h2>Clone and edit a virtual machine</h2>
-
<p>
This script shows how you might have a library of premade
virtual machines ready for cloning, but as a final step you
diff --git a/recipes/clone.title b/recipes/clone.title
new file mode 100644
index 00000000..68ea79c6
--- /dev/null
+++ b/recipes/clone.title
@@ -0,0 +1 @@
+Clone and edit a virtual machine \ No newline at end of file
diff --git a/recipes/editgrub.html b/recipes/editgrub.html
index 7d7a43b7..a1b9babe 100644
--- a/recipes/editgrub.html
+++ b/recipes/editgrub.html
@@ -1,5 +1,3 @@
-<h2>Fix an unbootable VM by editing /boot/grub/grub.conf</h2>
-
<p>
If you messed up your VM and made it unbootable, it's
often useful to be able to go in and edit <code>/boot/grub/grub.conf</code>.
diff --git a/recipes/editgrub.title b/recipes/editgrub.title
new file mode 100644
index 00000000..2c93a0fe
--- /dev/null
+++ b/recipes/editgrub.title
@@ -0,0 +1 @@
+Fix an unbootable VM by editing /boot/grub/grub.conf \ No newline at end of file
diff --git a/recipes/export2tar.html b/recipes/export2tar.html
index 8dc07cac..f24be32e 100644
--- a/recipes/export2tar.html
+++ b/recipes/export2tar.html
@@ -1,5 +1,3 @@
-<h2>Export the /home directory from a virtual machine into a tarball</h2>
-
<p>
This script lets you export any directory you like from a virtual
machine as a tarball. For example, to export <code>/home</code>
diff --git a/recipes/export2tar.title b/recipes/export2tar.title
new file mode 100644
index 00000000..98a9e91a
--- /dev/null
+++ b/recipes/export2tar.title
@@ -0,0 +1 @@
+Export the /home directory from a virtual machine into a tarball \ No newline at end of file
diff --git a/recipes/show-devices.html b/recipes/show-devices.html
index f89a8ea8..7bed5c74 100644
--- a/recipes/show-devices.html
+++ b/recipes/show-devices.html
@@ -1,5 +1,3 @@
-<h2>Display the devices, partitions, LVs, VGs and PVs in a guest image</h2>
-
<p>
This very simple script shows how you can display an overview
of what devices, partitions and LVM data are found in a
diff --git a/recipes/show-devices.title b/recipes/show-devices.title
new file mode 100644
index 00000000..cadb8ba8
--- /dev/null
+++ b/recipes/show-devices.title
@@ -0,0 +1 @@
+Display the devices, partitions, LVs, VGs and PVs in a guest image \ No newline at end of file
diff --git a/recipes/tar2vm.html b/recipes/tar2vm.html
index 6a063c66..a0ad29cf 100644
--- a/recipes/tar2vm.html
+++ b/recipes/tar2vm.html
@@ -1,5 +1,3 @@
-<h2>Make a virtual machine out of a tarball</h2>
-
<p>
This script shows how you might generate a whole virtual
machine, or a disk image for a virtual machine, starting
diff --git a/recipes/tar2vm.title b/recipes/tar2vm.title
new file mode 100644
index 00000000..051f6014
--- /dev/null
+++ b/recipes/tar2vm.title
@@ -0,0 +1 @@
+Make a virtual machine out of a tarball \ No newline at end of file