From ab2d6d0ac0cf95ef8cae240605710945f0073f0a Mon Sep 17 00:00:00 2001 From: Tom Preston-Werner Date: Sun, 17 Jun 2007 02:00:05 -0700 Subject: [PATCH] started on documentation site --- site/images/banner.jpg | Bin 0 -> 23587 bytes site/images/bg.gif | Bin 0 -> 59 bytes site/images/bg_grey.gif | Bin 0 -> 59 bytes site/images/bullet.jpg | Bin 0 -> 12942 bytes site/images/corner_green.gif | Bin 0 -> 47 bytes site/images/corner_green.psd | Bin 0 -> 12822 bytes site/images/corner_pink.gif | Bin 0 -> 47 bytes site/images/god_logo1.gif | Bin 0 -> 1419 bytes site/images/header_bg.gif | Bin 0 -> 2943 bytes site/images/header_bg.jpg | Bin 0 -> 16112 bytes site/images/red_dot.gif | Bin 0 -> 43 bytes site/images/top_bg.gif | Bin 0 -> 453 bytes site/index.html | 252 +++++++++++++++++++++++++++++++++++ site/javascripts/code_highlighter.js | 188 ++++++++++++++++++++++++++ site/javascripts/ruby.js | 18 +++ 15 files changed, 458 insertions(+) create mode 100644 site/images/banner.jpg create mode 100644 site/images/bg.gif create mode 100644 site/images/bg_grey.gif create mode 100644 site/images/bullet.jpg create mode 100644 site/images/corner_green.gif create mode 100644 site/images/corner_green.psd create mode 100644 site/images/corner_pink.gif create mode 100644 site/images/god_logo1.gif create mode 100644 site/images/header_bg.gif create mode 100644 site/images/header_bg.jpg create mode 100644 site/images/red_dot.gif create mode 100644 site/images/top_bg.gif create mode 100644 site/index.html create mode 100755 site/javascripts/code_highlighter.js create mode 100755 site/javascripts/ruby.js diff --git a/site/images/banner.jpg b/site/images/banner.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1d5518b55abef38eaea3d1467642486e783c1851 GIT binary patch literal 23587 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 literal 0 HcwPel00001 diff --git a/site/images/corner_green.gif b/site/images/corner_green.gif new file mode 100644 index 0000000000000000000000000000000000000000..06090021ae69d5567bd999800b33342b05fb5cc3 GIT binary patch literal 47 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 literal 0 HcwPel00001 diff --git a/site/images/corner_pink.gif b/site/images/corner_pink.gif new file mode 100644 index 0000000000000000000000000000000000000000..e2b478717bbdfafc58f5b1542e8be79246ac3eba GIT binary patch literal 47 zcwTe&bhEHb literal 0 HcwPel00001 diff --git a/site/images/god_logo1.gif b/site/images/god_logo1.gif new file mode 100644 index 0000000000000000000000000000000000000000..edc569d64c3c76c6a0625d68bdfcd29d389c0af6 GIT binary patch literal 1419 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 literal 0 HcwPel00001 diff --git a/site/images/header_bg.jpg b/site/images/header_bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..75b67a5953dd13176513a0568899b5e86d7f5325 GIT binary patch literal 16112 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 UdBO74rb#o86@q^Y(DYaS0XT`xG5`Po literal 0 HcwPel00001 diff --git a/site/images/red_dot.gif b/site/images/red_dot.gif new file mode 100644 index 0000000000000000000000000000000000000000..c380e8d6d9b07b096d422556861aa9240f7b7a2e GIT binary patch literal 43 rcwTe&bhEHbWMW`qXkcJi4n~SUSr{1@7#VaJfB+=Jz{KPd$6yTrn6(A0 literal 0 HcwPel00001 diff --git a/site/images/top_bg.gif b/site/images/top_bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..993d58479effdaced1cde5bffb33c827ec1d20f1 GIT binary patch literal 453 zcwPa;0XqIiNk%w1VGIDt0HOc@rvLzb003lUWK>jCO-)TXIXM6T00000EC2ui01N=h z000C3NJ>&$Vy#x7s!oYLcb3H0fYvgAr!-y>NR?REG9GwMA1kG%`;{t8E2iNTS0o&1 zM&K!&j2}}Yyi{be+(Rh=Hc`IEG+G&6k6BxYE8c;FZC}|cGSZM;wyx)f?}Kw8XLo5f zB3fQhP)J@>fkcEyS~pZneSB<&S=`k^vvGXHsRRDwc56?8?|HLu0irtEDyYC=oqcL7s(w#Jn_;gllV`P z;i_C1DHY7v58=dH0(I%b2yvs7j_gu~6g9HtJdVOp; + + + +Project.Mothership + + + + + + + + + + +
+ +
+
+ + + + +
+

A Better Way to Monitor

+

God is an easy to configure, easy to extend monitoring library written in Ruby.

+

+

+ +
+

Features

+
    +
  • Config file is written in Ruby
  • +
  • Write your own conditions in Ruby
  • +
+
+ +

Simple is Better

+

Keeping your server processes and tasks running should be a simple part of your deployment process. God aims to be the simplest, most powerful monitoring application available.

+ +

Finally, a Config File that Makes Sense

+

The easiest way to understand how god will make your life better is by looking at a sample config file. The following configuration file is what I use at gravatar.com to keep the mongrels running:

+ +
# This is the actual config file used to keep the mongrels of
+# gravatar.com running.
+
+RAILS_ROOT = "/var/www/gravatar2/current"
+
+God.meddle do |god|
+  god.interval = 30 # seconds
+
+  %w{8200 8201 8202}.each do |port|
+    god.watch do |w|
+      w.name = "gravatar2-mongrel-#{port}"
+      w.cwd = RAILS_ROOT
+      w.start = "mongrel_rails cluster::start --only #{port}"
+      w.stop = "mongrel_rails cluster::stop --only #{port}"
+
+      w.start_if do |start|
+        start.condition(:process_not_running) do |c|
+          c.pid_file = File.join(RAILS_ROOT, "log/mongrel.#{port}.pid")
+        end
+      end
+    end
+  end
+end
+
+ +
+ + + + \ No newline at end of file diff --git a/site/javascripts/code_highlighter.js b/site/javascripts/code_highlighter.js new file mode 100755 index 0000000..4ed72e1 --- /dev/null +++ b/site/javascripts/code_highlighter.js @@ -0,0 +1,188 @@ +/* Unobtrustive Code Highlighter By Dan Webb 11/2005 + Version: 0.4 + + Usage: + Add a script tag for this script and any stylesets you need to use + to the page in question, add correct class names to CODE elements, + define CSS styles for elements. That's it! + + Known to work on: + IE 5.5+ PC + Firefox/Mozilla PC/Mac + Opera 7.23 + PC + Safari 2 + + Known to degrade gracefully on: + IE5.0 PC + + Note: IE5.0 fails due to the use of lookahead in some stylesets. To avoid script errors + in older browsers use expressions that use lookahead in string format when defining stylesets. + + This script is inspired by star-light by entirely cunning Dean Edwards + http://dean.edwards.name/star-light/. +*/ + +// replace callback support for safari. +if ("a".replace(/a/, function() {return "b"}) != "b") (function(){ + var default_replace = String.prototype.replace; + String.prototype.replace = function(search,replace){ + // replace is not function + if(typeof replace != "function"){ + return default_replace.apply(this,arguments) + } + var str = "" + this; + var callback = replace; + // search string is not RegExp + if(!(search instanceof RegExp)){ + var idx = str.indexOf(search); + return ( + idx == -1 ? str : + default_replace.apply(str,[search,callback(search, idx, str)]) + ) + } + var reg = search; + var result = []; + var lastidx = reg.lastIndex; + var re; + while((re = reg.exec(str)) != null){ + var idx = re.index; + var args = re.concat(idx, str); + result.push( + str.slice(lastidx,idx), + callback.apply(null,args).toString() + ); + if(!reg.global){ + lastidx += RegExp.lastMatch.length; + break + }else{ + lastidx = reg.lastIndex; + } + } + result.push(str.slice(lastidx)); + return result.join("") + } +})(); + +var CodeHighlighter = { styleSets : new Array }; + +CodeHighlighter.addStyle = function(name, rules) { + // using push test to disallow older browsers from adding styleSets + if ([].push) this.styleSets.push({ + name : name, + rules : rules, + ignoreCase : arguments[2] || false + }) + + function setEvent() { + // set highlighter to run on load (use LowPro if present) + if (typeof Event != 'undefined' && typeof Event.onReady == 'function') + return Event.onReady(CodeHighlighter.init.bind(CodeHighlighter)); + + var old = window.onload; + + if (typeof window.onload != 'function') { + window.onload = function() { CodeHighlighter.init() }; + } else { + window.onload = function() { + old(); + CodeHighlighter.init(); + } + } + } + + // only set the event when the first style is added + if (this.styleSets.length==1) setEvent(); +} + +CodeHighlighter.init = function() { + if (!document.getElementsByTagName) return; + if ("a".replace(/a/, function() {return "b"}) != "b") return; // throw out Safari versions that don't support replace function + // throw out older browsers + + var codeEls = document.getElementsByTagName("CODE"); + // collect array of all pre elements + codeEls.filter = function(f) { + var a = new Array; + for (var i = 0; i < this.length; i++) if (f(this[i])) a[a.length] = this[i]; + return a; + } + + var rules = new Array; + rules.toString = function() { + // joins regexes into one big parallel regex + var exps = new Array; + for (var i = 0; i < this.length; i++) exps.push(this[i].exp); + return exps.join("|"); + } + + function addRule(className, rule) { + // add a replace rule + var exp = (typeof rule.exp != "string")?String(rule.exp).substr(1, String(rule.exp).length-2):rule.exp; + // converts regex rules to strings and chops of the slashes + rules.push({ + className : className, + exp : "(" + exp + ")", + length : (exp.match(/(^|[^\\])\([^?]/g) || "").length + 1, // number of subexps in rule + replacement : rule.replacement || null + }); + } + + function parse(text, ignoreCase) { + // main text parsing and replacement + return text.replace(new RegExp(rules, (ignoreCase)?"gi":"g"), function() { + var i = 0, j = 1, rule; + while (rule = rules[i++]) { + if (arguments[j]) { + // if no custom replacement defined do the simple replacement + if (!rule.replacement) return "" + arguments[0] + ""; + else { + // replace $0 with the className then do normal replaces + var str = rule.replacement.replace("$0", rule.className); + for (var k = 1; k <= rule.length - 1; k++) str = str.replace("$" + k, arguments[j + k]); + return str; + } + } else j+= rule.length; + } + }); + } + + function highlightCode(styleSet) { + // clear rules array + var parsed, clsRx = new RegExp("(\\s|^)" + styleSet.name + "(\\s|$)"); + rules.length = 0; + + // get stylable elements by filtering out all code elements without the correct className + var stylableEls = codeEls.filter(function(item) { return clsRx.test(item.className) }); + + // add style rules to parser + for (var className in styleSet.rules) addRule(className, styleSet.rules[className]); + + + // replace for all elements + for (var i = 0; i < stylableEls.length; i++) { + // EVIL hack to fix IE whitespace badness if it's inside a
+			if (/MSIE/.test(navigator.appVersion) && stylableEls[i].parentNode.nodeName == 'PRE') {
+				stylableEls[i] = stylableEls[i].parentNode;
+				
+				parsed = stylableEls[i].innerHTML.replace(/(]*>)([^<]*)<\/code>/i, function() {
+					return arguments[1] + parse(arguments[2], styleSet.ignoreCase) + ""
+				});
+				parsed = parsed.replace(/\n( *)/g, function() { 
+					var spaces = "";
+					for (var i = 0; i < arguments[1].length; i++) spaces+= " ";
+					return "\n" + spaces;  
+				});
+				parsed = parsed.replace(/\t/g, "    ");
+				parsed = parsed.replace(/\n(<\/\w+>)?/g, "
$1").replace(/
[\n\r\s]*
/g, "


"); + + } else parsed = parse(stylableEls[i].innerHTML, styleSet.ignoreCase); + + stylableEls[i].innerHTML = parsed; + } + } + + // run highlighter on all stylesets + for (var i=0; i < this.styleSets.length; i++) { + highlightCode(this.styleSets[i]); + } +} \ No newline at end of file diff --git a/site/javascripts/ruby.js b/site/javascripts/ruby.js new file mode 100755 index 0000000..7ec2646 --- /dev/null +++ b/site/javascripts/ruby.js @@ -0,0 +1,18 @@ +CodeHighlighter.addStyle("ruby",{ + comment : { + exp : /#[^\n]+/ + }, + brackets : { + exp : /\(|\)/ + }, + string : { + exp : /'[^']*'|"[^"]*"/ + }, + keywords : { + exp : /\b(do|end|self|class|def|if|module|yield|then|else|for|until|unless|while|elsif|case|when|break|retry|redo|rescue|require|raise)\b/ + }, + /* Added by Shelly Fisher (shelly@agileevolved.com) */ + symbol : { + exp : /([^:])(:[A-Za-z0-9_!?]+)/ + } +}); \ No newline at end of file -- 2.11.4.GIT