diff --git a/.gitignore b/.gitignore
index 1cc2fe8..8a6c0d2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,35 +1,36 @@
# generated by jekyll
/html/*.html
/html/*.txt
/html/assets/
/html/doc/
+/html/feed.xml
/html/pacemaker/index.html
/html/pacemaker/*/index.php
/html/polls/index.html
/src/.*-cache/
/src/.jekyll-metadata
# generated by pacemaker make targets
/html/pacemaker/abi/*/
/html/pacemaker/doc/*/
/html/pacemaker/doc/acls.*
/html/pacemaker/doc/build-[0-9].[0-9].txt
/html/pacemaker/doc/crm_fencing.*
/html/pacemaker/doxygen/*/
/html/pacemaker/global/*/
/html/pacemaker/man/*.[78].html
# bugzilla and mediawiki source
/bugzilla
/bugzilla*/
/mediawiki
/mediawiki*/
# not version-controlled
*~
*.swp
/build.clusterlabs.org
/ci.kronosnet.org/
/html/doc/Two-Stacks.pdf
/html/images/
/include/wiki.clusterlabs.org/secrets.php
diff --git a/README.md b/README.md
index 6ebf129..f7a8053 100644
--- a/README.md
+++ b/README.md
@@ -1,98 +1,101 @@
# ClusterLabs.org website
## Installing Jekyll
ClusterLabs,org is partially generated by jekyll. Installing jekyll requires
the following dependencies:
* nodejs
* npm
* ruby
* ruby-devel
* rubygems
* rubygem-bundler
* rubygem-rdiscount
Once you have those, change to the `src` directory and run `bundle install`.
## Using Jekyll
ClusterLabs.org's jekyll source is under the `src` directory. Jekyll will
generate static content to the html directory.
To generate content in a checkout for development and testing, change to the
`src` directory and run `bundle exec jekyll build` (to merely generate content)
or `bundle exec jekyll serve` (to generate and test via a local server).
To generate content on the production site, run
`JEKYLL_ENV=production jekyll build` (which will enable such things as site
analytics and asset digests).
If `src/Gemfile` changes, re-run `bundle install` afterward.
## Images, stylesheets and JavaScripts
We use the jekyll-assets plugin to manage "assets" such as images, stylesheets,
and JavaScript. One advantage is that digest hashes are automatically added to
the generated filenames when in production mode. This allows "cache busting"
when an asset changes, so we can use long cache times on the server end.
Another advantage is that sources are minified when in production mode.
How CSS is managed:
-* `src/_assets/css/main.scss` is just a list of imports
-* `src/_assets/css/_*.scss` contain the CSS to be imported by `main.scss`
+* CSS is generated from SASS sources
+* `src/_assets/stylesheets/main.scss` is just a list of imports
+* all other *.scss files beneath `src/_assets/stylesheets` contain the SASS to
+ be imported by `main.scss`
* jekyll will generate `html/assets/main.css` (or `main-_HASH_.css`) as the
combination of all imports
-* web pages can reference the stylesheet via `{% css main %}`
+* web pages can reference the stylesheet via `{% stylesheet main %}`
JavaScript is managed similarly:
-* `src/_assets/js/main.js` is just a list of requires
-* `src/_assets/js/*.js` contain the JavaScript to be required by `main.js`
+* `src/_assets/javascripts/main.js` is just a list of requires
+* `src/_assets/javascripts/*.js` contain the JavaScript to be required by
+ `main.js`
* jekyll will copy these to `html/assets`
* jekyll will generate `html/assets/main.js` (or `main-_HASH_.js`) as the
combination of all JavaScript
-* web pages can reference the script via `{% js main %}`
+* web pages can reference the script via `{% javascript main %}`
How images are managed:
* `src/_assets/images/*` are our images
-* web pages can add an img tag using `{% img _NAME_._EXT_ %}`
+* web pages can add an img tag using `{% image _NAME_._EXT_ %}`
* web pages can reference a path to an image (e.g. in a link's href)
using `{% asset_path _NAME_._EXT_ %}`
* CSS can reference a path to an image using
`url(asset_path("_NAME_._EXT_"))`
* only images that are referenced in one of these ways will be deployed
to the website, so `_assets` may contain image sources such as SVGs
that do not need to be deployed
* Tip: http://compresspng.com/ can often compress PNGs extremely well
## Site icons
Site icons used to be easy, right? `favicon.ico` seems downright traditional.
Unfortunately, site icons have become an ugly mess of incompatible proprietary
extensions. Even `favicon.ico` is just a proprietary extension (and obsolete, as
well). Now, there are also `apple-touch-icon[-NxN][-precomposed].png` (with at
least _12_ different sizes!), `browserconfig.xml`, `manifest.json`,
link tags with `rel=(icon|shortcut icon|apple-touch-icon-*)`, and Windows Phone
tile overlay divs.
If you want to be discouraged and confused, see:
* http://stackoverflow.com/questions/23849377/html-5-favicon-support
* https://mathiasbynens.be/notes/touch-icons
* https://css-tricks.com/favicon-quiz/
There is no way to handle the mess universally. In particular, some devices do
much better when different icon sizes are provided and listed in the HTML as
link tags, and will pick the size needed, whereas other devices will download
every single icon listed in those link tags, crippling page performance -- not
to mention the overhead that listing two dozen icon sizes adds to the HTML.
We've chosen a simple approach: provide two site icons, a 16x16 `favicon.ico`,
and a 180x180 `apple-touch-icon.png`, both listed in link tags in the HTML.
Most browsers/devices will choose one of these and scale it as needed.
## Web server configuration
The clusterlabs.org web server is configured to redirect certain old URLs to
their new locations, so be careful about renaming files.
diff --git a/src/404.html b/src/404.html
index f083aea..77170db 100644
--- a/src/404.html
+++ b/src/404.html
@@ -1,25 +1,25 @@
---
layout: default
title: Not Found
---
Not found :(
Sorry, but the page you were trying to view does not exist.
It looks like this was the result of either:
a mistyped address
an out-of-date link
- {% img mainframe-fire.png %}
+ {% image mainframe-fire.png %}
diff --git a/src/Gemfile b/src/Gemfile
index 9734b71..afc5081 100644
--- a/src/Gemfile
+++ b/src/Gemfile
@@ -1,36 +1,35 @@
source "https://rubygems.org"
ruby RUBY_VERSION
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
-gem "jekyll", "3.3.0"
+gem "jekyll"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.0"
# Needed by jekyll-assets
-# (Force versions compatible with ruby 2.0)
group :jekyll_assets_deps do
- gem "public_suffix", "< 3.0"
- gem "ruby_dep", "< 1.4"
- gem "rb-inotify", "< 0.10"
- gem "listen", "< 3.1"
- gem "jekyll-watch", "< 1.5.1"
+ gem "public_suffix"
+ gem "ruby_dep"
+ gem "rb-inotify"
+ gem "listen"
+ gem "jekyll-watch"
gem "json"
end
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-assets"
gem "font-awesome-sass"
end
diff --git a/src/Gemfile.lock b/src/Gemfile.lock
index 1a9a85e..c455eed 100644
--- a/src/Gemfile.lock
+++ b/src/Gemfile.lock
@@ -1,78 +1,119 @@
GEM
remote: https://rubygems.org/
specs:
- addressable (2.6.0)
- public_suffix (>= 2.0.2, < 4.0)
+ addressable (2.7.0)
+ public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
- concurrent-ruby (1.1.5)
- extras (0.3.0)
- forwardable-extended (~> 2.5)
- fastimage (2.1.5)
- ffi (1.11.1)
- font-awesome-sass (4.7.0)
- sass (>= 3.2)
+ concurrent-ruby (1.1.6)
+ em-websocket (0.5.1)
+ eventmachine (>= 0.12.9)
+ http_parser.rb (~> 0.6.0)
+ eventmachine (1.2.7)
+ fastimage (1.8.1)
+ addressable (~> 2.3, >= 2.3.5)
+ ffi (1.12.2)
+ font-awesome-sass (5.12.0)
+ sassc (>= 1.11)
forwardable-extended (2.6.0)
- jekyll (3.3.0)
+ hike (1.2.3)
+ http_parser.rb (0.6.0)
+ i18n (1.8.2)
+ concurrent-ruby (~> 1.0)
+ jekyll (4.0.0)
addressable (~> 2.4)
colorator (~> 1.0)
- jekyll-sass-converter (~> 1.0)
- jekyll-watch (~> 1.1)
- kramdown (~> 1.3)
- liquid (~> 3.0)
+ em-websocket (~> 0.5)
+ i18n (>= 0.9.5, < 2)
+ jekyll-sass-converter (~> 2.0)
+ jekyll-watch (~> 2.0)
+ kramdown (~> 2.1)
+ kramdown-parser-gfm (~> 1.0)
+ liquid (~> 4.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
- rouge (~> 1.7)
+ rouge (~> 3.0)
safe_yaml (~> 1.0)
- jekyll-assets (2.4.0)
- concurrent-ruby (~> 1.0)
- extras (~> 0.2)
- fastimage (~> 2.0, >= 1.8)
- jekyll (~> 3.1, >= 3.0)
- pathutil (>= 0.8)
- rack (~> 1.6)
- sprockets (~> 3.3, < 3.8)
- jekyll-sass-converter (1.5.2)
- sass (~> 3.4)
- jekyll-watch (1.5.0)
- listen (~> 3.0, < 3.1)
- json (2.2.0)
- kramdown (1.17.0)
- liquid (3.0.6)
- listen (3.0.8)
- rb-fsevent (~> 0.9, >= 0.9.4)
- rb-inotify (~> 0.9, >= 0.9.7)
+ terminal-table (~> 1.8)
+ jekyll-assets (1.0.0)
+ fastimage (~> 1.6)
+ jekyll (>= 2)
+ mini_magick (~> 4.1)
+ sass (~> 3.2)
+ sprockets (~> 2.10)
+ sprockets-helpers
+ sprockets-sass
+ jekyll-feed (0.13.0)
+ jekyll (>= 3.7, < 5.0)
+ jekyll-sass-converter (2.1.0)
+ sassc (> 2.0.1, < 3.0)
+ jekyll-seo-tag (2.6.1)
+ jekyll (>= 3.3, < 5.0)
+ jekyll-watch (2.2.1)
+ listen (~> 3.0)
+ json (2.3.0)
+ kramdown (2.1.0)
+ kramdown-parser-gfm (1.1.0)
+ kramdown (~> 2.0)
+ liquid (4.0.3)
+ listen (3.2.1)
+ rb-fsevent (~> 0.10, >= 0.10.3)
+ rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
- minima (2.0.0)
+ mini_magick (4.10.1)
+ minima (2.5.1)
+ jekyll (>= 3.5, < 5.0)
+ jekyll-feed (~> 0.9)
+ jekyll-seo-tag (~> 2.1)
+ multi_json (1.14.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
- public_suffix (2.0.5)
+ public_suffix (4.0.4)
rack (1.6.13)
rb-fsevent (0.10.3)
- rb-inotify (0.9.10)
- ffi (>= 0.5.0, < 2)
- rouge (1.11.1)
- ruby_dep (1.3.1)
+ rb-inotify (0.10.1)
+ ffi (~> 1.0)
+ rouge (3.18.0)
+ ruby_dep (1.5.0)
safe_yaml (1.0.5)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
- sprockets (3.7.2)
- concurrent-ruby (~> 1.0)
- rack (> 1, < 3)
+ sassc (2.2.1)
+ ffi (~> 1.9)
+ sprockets (2.12.5)
+ hike (~> 1.2)
+ multi_json (~> 1.0)
+ rack (~> 1.0)
+ tilt (~> 1.1, != 1.3.0)
+ sprockets-helpers (1.2.3)
+ sprockets (>= 2.2)
+ sprockets-sass (1.3.1)
+ sprockets (~> 2.0)
+ tilt (~> 1.1)
+ terminal-table (1.8.0)
+ unicode-display_width (~> 1.1, >= 1.1.1)
+ tilt (1.4.1)
+ unicode-display_width (1.7.0)
PLATFORMS
ruby
DEPENDENCIES
font-awesome-sass
- jekyll (= 3.3.0)
+ jekyll
jekyll-assets
- jekyll-watch (< 1.5.1)
+ jekyll-watch
json
- listen (< 3.1)
+ listen
minima (~> 2.0)
- public_suffix (< 3.0)
- rb-inotify (< 0.10)
- ruby_dep (< 1.4)
+ public_suffix
+ rb-inotify
+ ruby_dep
+
+RUBY VERSION
+ ruby 2.5.5p157
+
+BUNDLED WITH
+ 1.16.1
diff --git a/src/_assets/js/html5up.js b/src/_assets/javascripts/html5up.js
similarity index 100%
rename from src/_assets/js/html5up.js
rename to src/_assets/javascripts/html5up.js
diff --git a/src/_assets/js/ie/html5shiv.js b/src/_assets/javascripts/ie/html5shiv.js
similarity index 100%
rename from src/_assets/js/ie/html5shiv.js
rename to src/_assets/javascripts/ie/html5shiv.js
diff --git a/src/_assets/js/ie/respond.min.js b/src/_assets/javascripts/ie/respond.min.js
similarity index 100%
rename from src/_assets/js/ie/respond.min.js
rename to src/_assets/javascripts/ie/respond.min.js
diff --git a/src/_assets/js/jquery.min.js b/src/_assets/javascripts/jquery.min.js
similarity index 100%
rename from src/_assets/js/jquery.min.js
rename to src/_assets/javascripts/jquery.min.js
diff --git a/src/_assets/js/lib.js b/src/_assets/javascripts/lib.js
similarity index 100%
rename from src/_assets/js/lib.js
rename to src/_assets/javascripts/lib.js
diff --git a/src/_assets/js/main.js b/src/_assets/javascripts/main.js
similarity index 100%
rename from src/_assets/js/main.js
rename to src/_assets/javascripts/main.js
diff --git a/src/_assets/js/pcmk_versions.js b/src/_assets/javascripts/pcmk_versions.js
similarity index 100%
rename from src/_assets/js/pcmk_versions.js
rename to src/_assets/javascripts/pcmk_versions.js
diff --git a/src/_assets/js/plugins.js b/src/_assets/javascripts/plugins.js
similarity index 100%
rename from src/_assets/js/plugins.js
rename to src/_assets/javascripts/plugins.js
diff --git a/src/_assets/js/retina.min.js b/src/_assets/javascripts/retina.min.js
similarity index 100%
rename from src/_assets/js/retina.min.js
rename to src/_assets/javascripts/retina.min.js
diff --git a/src/_assets/js/skel.min.js b/src/_assets/javascripts/skel.min.js
similarity index 100%
rename from src/_assets/js/skel.min.js
rename to src/_assets/javascripts/skel.min.js
diff --git a/src/_assets/js/util.js b/src/_assets/javascripts/util.js
similarity index 100%
rename from src/_assets/js/util.js
rename to src/_assets/javascripts/util.js
diff --git a/src/_assets/js/vendor/jquery-1.8.2.min.js b/src/_assets/javascripts/vendor/jquery-1.8.2.min.js
similarity index 100%
rename from src/_assets/js/vendor/jquery-1.8.2.min.js
rename to src/_assets/javascripts/vendor/jquery-1.8.2.min.js
diff --git a/src/_assets/js/vendor/modernizr-2.6.2.min.js b/src/_assets/javascripts/vendor/modernizr-2.6.2.min.js
similarity index 100%
rename from src/_assets/js/vendor/modernizr-2.6.2.min.js
rename to src/_assets/javascripts/vendor/modernizr-2.6.2.min.js
diff --git a/src/_assets/js/versions.js b/src/_assets/javascripts/versions.js
similarity index 100%
rename from src/_assets/js/versions.js
rename to src/_assets/javascripts/versions.js
diff --git a/src/_assets/css/_h5bp-after.scss b/src/_assets/stylesheets/_h5bp-after.scss
similarity index 100%
rename from src/_assets/css/_h5bp-after.scss
rename to src/_assets/stylesheets/_h5bp-after.scss
diff --git a/src/_assets/css/_h5bp-before.scss b/src/_assets/stylesheets/_h5bp-before.scss
similarity index 100%
rename from src/_assets/css/_h5bp-before.scss
rename to src/_assets/stylesheets/_h5bp-before.scss
diff --git a/src/_assets/css/_layout.scss b/src/_assets/stylesheets/_layout.scss
similarity index 100%
rename from src/_assets/css/_layout.scss
rename to src/_assets/stylesheets/_layout.scss
diff --git a/src/_assets/css/_normalize.scss b/src/_assets/stylesheets/_normalize.scss
similarity index 100%
rename from src/_assets/css/_normalize.scss
rename to src/_assets/stylesheets/_normalize.scss
diff --git a/src/_assets/css/base/_page.scss b/src/_assets/stylesheets/base/_page.scss
similarity index 100%
rename from src/_assets/css/base/_page.scss
rename to src/_assets/stylesheets/base/_page.scss
diff --git a/src/_assets/css/base/_typography.scss b/src/_assets/stylesheets/base/_typography.scss
similarity index 100%
rename from src/_assets/css/base/_typography.scss
rename to src/_assets/stylesheets/base/_typography.scss
diff --git a/src/_assets/css/components/_box.scss b/src/_assets/stylesheets/components/_box.scss
similarity index 100%
rename from src/_assets/css/components/_box.scss
rename to src/_assets/stylesheets/components/_box.scss
diff --git a/src/_assets/css/components/_boxes.scss b/src/_assets/stylesheets/components/_boxes.scss
similarity index 100%
rename from src/_assets/css/components/_boxes.scss
rename to src/_assets/stylesheets/components/_boxes.scss
diff --git a/src/_assets/css/components/_button.scss b/src/_assets/stylesheets/components/_button.scss
similarity index 100%
rename from src/_assets/css/components/_button.scss
rename to src/_assets/stylesheets/components/_button.scss
diff --git a/src/_assets/css/components/_features.scss b/src/_assets/stylesheets/components/_features.scss
similarity index 100%
rename from src/_assets/css/components/_features.scss
rename to src/_assets/stylesheets/components/_features.scss
diff --git a/src/_assets/css/components/_form.scss b/src/_assets/stylesheets/components/_form.scss
similarity index 100%
rename from src/_assets/css/components/_form.scss
rename to src/_assets/stylesheets/components/_form.scss
diff --git a/src/_assets/css/components/_icon.scss b/src/_assets/stylesheets/components/_icon.scss
similarity index 100%
rename from src/_assets/css/components/_icon.scss
rename to src/_assets/stylesheets/components/_icon.scss
diff --git a/src/_assets/css/components/_image.scss b/src/_assets/stylesheets/components/_image.scss
similarity index 100%
rename from src/_assets/css/components/_image.scss
rename to src/_assets/stylesheets/components/_image.scss
diff --git a/src/_assets/css/components/_list.scss b/src/_assets/stylesheets/components/_list.scss
similarity index 100%
rename from src/_assets/css/components/_list.scss
rename to src/_assets/stylesheets/components/_list.scss
diff --git a/src/_assets/css/components/_mini-posts.scss b/src/_assets/stylesheets/components/_mini-posts.scss
similarity index 100%
rename from src/_assets/css/components/_mini-posts.scss
rename to src/_assets/stylesheets/components/_mini-posts.scss
diff --git a/src/_assets/css/components/_posts.scss b/src/_assets/stylesheets/components/_posts.scss
similarity index 100%
rename from src/_assets/css/components/_posts.scss
rename to src/_assets/stylesheets/components/_posts.scss
diff --git a/src/_assets/css/components/_section.scss b/src/_assets/stylesheets/components/_section.scss
similarity index 100%
rename from src/_assets/css/components/_section.scss
rename to src/_assets/stylesheets/components/_section.scss
diff --git a/src/_assets/css/components/_table.scss b/src/_assets/stylesheets/components/_table.scss
similarity index 100%
rename from src/_assets/css/components/_table.scss
rename to src/_assets/stylesheets/components/_table.scss
diff --git a/src/_assets/css/font-awesome.min.css b/src/_assets/stylesheets/font-awesome.min.css
similarity index 100%
rename from src/_assets/css/font-awesome.min.css
rename to src/_assets/stylesheets/font-awesome.min.css
diff --git a/src/_assets/css/ie8.scss b/src/_assets/stylesheets/ie8.scss
similarity index 100%
rename from src/_assets/css/ie8.scss
rename to src/_assets/stylesheets/ie8.scss
diff --git a/src/_assets/css/ie9.scss b/src/_assets/stylesheets/ie9.scss
similarity index 100%
rename from src/_assets/css/ie9.scss
rename to src/_assets/stylesheets/ie9.scss
diff --git a/src/_assets/css/layout/_banner.scss b/src/_assets/stylesheets/layout/_banner.scss
similarity index 100%
rename from src/_assets/css/layout/_banner.scss
rename to src/_assets/stylesheets/layout/_banner.scss
diff --git a/src/_assets/css/layout/_footer.scss b/src/_assets/stylesheets/layout/_footer.scss
similarity index 100%
rename from src/_assets/css/layout/_footer.scss
rename to src/_assets/stylesheets/layout/_footer.scss
diff --git a/src/_assets/css/layout/_header.scss b/src/_assets/stylesheets/layout/_header.scss
similarity index 100%
rename from src/_assets/css/layout/_header.scss
rename to src/_assets/stylesheets/layout/_header.scss
diff --git a/src/_assets/css/layout/_main.scss b/src/_assets/stylesheets/layout/_main.scss
similarity index 100%
rename from src/_assets/css/layout/_main.scss
rename to src/_assets/stylesheets/layout/_main.scss
diff --git a/src/_assets/css/layout/_menu.scss b/src/_assets/stylesheets/layout/_menu.scss
similarity index 100%
rename from src/_assets/css/layout/_menu.scss
rename to src/_assets/stylesheets/layout/_menu.scss
diff --git a/src/_assets/css/layout/_sidebar.scss b/src/_assets/stylesheets/layout/_sidebar.scss
similarity index 100%
rename from src/_assets/css/layout/_sidebar.scss
rename to src/_assets/stylesheets/layout/_sidebar.scss
diff --git a/src/_assets/css/layout/_wrapper.scss b/src/_assets/stylesheets/layout/_wrapper.scss
similarity index 100%
rename from src/_assets/css/layout/_wrapper.scss
rename to src/_assets/stylesheets/layout/_wrapper.scss
diff --git a/src/_assets/css/libs/_functions.scss b/src/_assets/stylesheets/libs/_functions.scss
similarity index 100%
rename from src/_assets/css/libs/_functions.scss
rename to src/_assets/stylesheets/libs/_functions.scss
diff --git a/src/_assets/css/libs/_mixins.scss b/src/_assets/stylesheets/libs/_mixins.scss
similarity index 100%
rename from src/_assets/css/libs/_mixins.scss
rename to src/_assets/stylesheets/libs/_mixins.scss
diff --git a/src/_assets/css/libs/_skel.scss b/src/_assets/stylesheets/libs/_skel.scss
similarity index 100%
rename from src/_assets/css/libs/_skel.scss
rename to src/_assets/stylesheets/libs/_skel.scss
diff --git a/src/_assets/css/libs/_util.scss b/src/_assets/stylesheets/libs/_util.scss
similarity index 100%
rename from src/_assets/css/libs/_util.scss
rename to src/_assets/stylesheets/libs/_util.scss
diff --git a/src/_assets/css/libs/_vars.scss b/src/_assets/stylesheets/libs/_vars.scss
similarity index 100%
rename from src/_assets/css/libs/_vars.scss
rename to src/_assets/stylesheets/libs/_vars.scss
diff --git a/src/_assets/css/main.scss b/src/_assets/stylesheets/main.scss
similarity index 100%
rename from src/_assets/css/main.scss
rename to src/_assets/stylesheets/main.scss
diff --git a/src/_assets/css/oldmain.scss b/src/_assets/stylesheets/oldmain.scss
similarity index 100%
rename from src/_assets/css/oldmain.scss
rename to src/_assets/stylesheets/oldmain.scss
diff --git a/src/_includes/head.html b/src/_includes/head.html
index 7916112..6612f63 100644
--- a/src/_includes/head.html
+++ b/src/_includes/head.html
@@ -1,18 +1,18 @@
{{ site.title | escape }}{% if page.title %} > {{ page.title | escape }}{% endif %}
- {% css main %}
+ {% stylesheet main %}
{% if jekyll.environment == "production" and site.google_analytics %}
{% include google-analytics.html %}
{% endif %}
diff --git a/src/_includes/sidebar.html b/src/_includes/sidebar.html
index 2a561f1..3485f89 100644
--- a/src/_includes/sidebar.html
+++ b/src/_includes/sidebar.html
@@ -1,49 +1,49 @@
The ClusterLabs stack unifies a large group of Open Source projects related to
High Availability into a cluster offering suitable
for both small and large deployments. Together,
Corosync,
Pacemaker,
DRBD,
ScanCore,
and many other projects have been enabling detection and recovery of
machine and application-level failures in production clusters since
1999. The ClusterLabs stack supports practically any redundancy
configuration imaginable.
We support many deployment scenarios, from the simplest
2-node standby cluster to a 32-node active/active
configuration.
We can also dramatically reduce hardware costs by allowing
several active/passive clusters to be combined and share a common
backup node.
We monitor the system for both hardware and software failures.
In the event of a failure, we will automatically recover
your application and make sure it is available from one
of the remaning machines in the cluster.
After a failure, we use advanced algorithms to quickly
determine the optimum locations for services based on
relative node preferences and/or requirements to run with
other cluster services (we call these "constraints").
Why clusters
At its core, a cluster is a distributed finite state
machine capable of co-ordinating the startup and recovery
of inter-related services across a set of machines.
System HA is possible without a cluster manager, but you save many headaches using one anyway
Even a distributed and/or replicated application that is
able to survive the failure of one or more components can
benefit from a higher level cluster:
data integrity through fencing (a non-responsive process does not imply it is not doing anything)
automated recovery of instances to ensure capacity
While SYS-V init replacements like systemd can provide
deterministic recovery of a complex stack of services, the
recovery is limited to one machine and lacks the context
of what is happening on other machines - context that is
crucial to determine the difference between a local
failure, clean startup or recovery after a total site
failure.
A Pacemaker stack is built on five core components:
libQB - core services (logging, IPC, etc)
Corosync - Membership, messaging and quorum
Resource agents - A collection of scripts that interact with the underlying services managed by the cluster
Fencing agents - A collection of scripts that interact with network power switches and SAN devices to isolate cluster members
Pacemaker itself
We describe each of these in more detail as well as other optional components such as CLIs and GUIs.
Background
Pacemaker has been around
since 2004
and is primarily a collaborative effort
between Red Hat
and SUSE, however we also
receive considerable help and support from the folks
at LinBit and the community in
general.
Corosync also began life in 2004
but was then part of the OpenAIS project.
It is primarily a Red Hat initiative,
with considerable help and support from the folks in the community.
The core ClusterLabs team is made up of full-time
developers from Australia, Austria, Canada, China, Czech
Repulic, England, Germany, Sweden and the USA. Contributions to
the code or documentation are always welcome.
The ClusterLabs stack ships with most modern enterprise
distributions and has been deployed in many critical
environments including Deutsche Flugsicherung GmbH
(DFS)
which uses Pacemaker to ensure
its air
traffic control systems are always available.
Recent versions of all major Linux distributions provide Pacemaker as
part of their usual repositories, so you can usually just launch your
favorite package manager.
Supports applications with multiple modes (such as master/slave)
Provably correct response to any failure or cluster state. The
cluster's response to any stimuli can be tested offline
before the condition exists
Background
Pacemaker has been around
since 2004
and is primarily a collaborative effort
between Red Hat
and SuSE. However, we also
receive considerable help and support from the folks
at LinBit and the community in
general.
The core Pacemaker team is made up of full-time developers from
Australia, the Czech Republic, the USA, and Germany. Contributions to the code or
documentation are always welcome.
Pacemaker ships with most modern Linux distributions and has been
deployed in many critical environments including Deutsche
Flugsicherung GmbH
(DFS)
which uses Pacemaker to ensure
its air traffic
control systems are always available.
Currently Andrew Beekhof is
the project lead for Pacemaker.