diff --git a/src/pacemaker/doc/index.php b/src/pacemaker/doc/index.php index f100efe..9470d84 100644 --- a/src/pacemaker/doc/index.php +++ b/src/pacemaker/doc/index.php @@ -1,139 +1,143 @@ --- layout: pacemaker title: Pacemaker Documentation ---

Most of the documentation listed here was generated from the Pacemaker sources.

Where to Start

If you're new to Pacemaker or clustering in general, the best place to start is Clusters from Scratch, which walks you step-by-step through the installation and configuration of a high-availability cluster with Pacemaker. It even makes common configuration mistakes so that it can demonstrate how to fix them.

On the other hand, if you're looking for an exhaustive reference of all of Pacemaker's options and features, try Pacemaker Explained. It's dry, but should have the answers you're looking for.

There is also a project wiki with examples, how-to guides, and other information that doesn't make it into the manuals.

Unversioned documentation (somewhat outdated)

General Concepts

Ordering Explained [pdf]
Colocation Explained [pdf]
Configuring Fencing with crmsh [html]
"; - echo "

"; - foreach (glob("$base/title-$version.txt") as $filename) { - readfile($filename); + function doc_version_heading($base, $version) { + $title = file_get_contents("$base/title-$version.txt"); + if (empty($title)) { + $title = $version; } - echo "

"; - foreach (glob("$base/desc-$version.txt") as $filename) { - readfile($filename); + echo "

$title

\n"; + $desc = file_get_contents("$base/desc-$version.txt"); + if (!empty($desc)) { + echo "

$desc

\n"; } - echo "
"; - foreach (glob("$base/build-$version.txt") as $filename) { - readfile($filename); + $build = file_get_contents("$base/build-$version.txt"); + if (!empty($build)) { + echo "

$build

\n"; } - echo "
"; + } + + function publican_docs_for_version($base, $version, $langs) { + echo "
\n"; + doc_version_heading($base, $version); $books = array(); foreach (glob("$base/en-US/Pacemaker/$version/pdf/*") as $filename) { $books[] = basename($filename); } echo ''; foreach ($books as $b) { foreach ($langs as $lang) { if (glob("$base/$lang/Pacemaker/$version/pdf/$b/*-$lang.pdf")) { echo '"; echo '"; } } } echo "
'.str_replace("_", " ", $b)." ($lang)'; foreach (glob("$base/$lang/Pacemaker/$version/epub/$b/*.epub") as $filename) { echo " [epub]"; } foreach (glob("$base/$lang/Pacemaker/$version/pdf/$b/*.pdf") as $filename) { echo " [pdf]"; } foreach (glob("$base/$lang/Pacemaker/$version/html/$b/index.html") as $filename) { echo " [html]"; } foreach (glob("$base/$lang/Pacemaker/$version/html-single/$b/index.html") as $filename) { echo " [html-single]"; } foreach (glob("$base/$lang/Pacemaker/$version/txt/$b/*.txt") as $filename) { echo " [txt]"; } echo "
"; echo "
"; } echo "
\n

Versioned documentation

\n
"; $langs = array(); // for now, show only US English; other translations haven't been maintained $langs[] = "en-US"; foreach(get_versions(".") as $v) { - docs_for_version(".", $v, $langs); + publican_docs_for_version(".", $v, $langs); } echo "
\n

Deprecated documentation

\n
"; foreach(get_versions("deprecated") as $v) { $langs = array(); foreach (glob("deprecated/*/Pacemaker/$v") as $item) { $langs[] = basename(dirname(dirname($item))); } - docs_for_version("deprecated", $v, $langs); + publican_docs_for_version("deprecated", $v, $langs); } ?>