Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Started new docs
  • Loading branch information
tj committed Jul 6, 2010
1 parent 02e32a7 commit 29641ae
Show file tree
Hide file tree
Showing 9 changed files with 197 additions and 65 deletions.
7 changes: 4 additions & 3 deletions Makefile
Expand Up @@ -17,13 +17,14 @@ docs/api.html: lib/express/*.js

%.1: %.md
@echo "... $< -> $@"
@ronn -r --pipe $< > $@
@ronn -r --pipe $< > $@ &

%.html: %.md
@echo "... $< -> $@"
@ronn -5 --pipe --fragment $< \
| sed 's/NAME/Express/g' \
> $@
| cat docs/layout/head.html - docs/layout/foot.html \
| sed 's/NAME/Express/g' \
> $@ &

docclean:
rm -f docs/*.{1,html}
Expand Down
61 changes: 41 additions & 20 deletions docs/api.html
Expand Up @@ -304,7 +304,7 @@ <h2></h2>
</tr>
<tr class="code">
<td class="docs">
<p>Inherit from <code>connect.Server</code>.</p>
<p>Inherit from <code>connect.Server</code>.</p>
</td>
<td class="code">
<pre><code><span class="variable">sys</span>.<span class="variable">inherits</span>(<span class="class">Server</span>, <span class="variable">connect</span>.<span class="class">Server</span>);</code></pre>
Expand Down Expand Up @@ -514,13 +514,13 @@ <h2></h2>
<span class="keyword">if</span> (<span class="variable">collection</span>) {
<span class="keyword">var</span> <span class="variable">name</span> = <span class="variable">options</span>.<span class="variable">as</span> || <span class="variable">view</span>.<span class="variable">split</span>(<span class="string">'.'</span>)[<span class="number integer">0</span>],
<span class="variable">len</span> = <span class="variable">collection</span>.<span class="variable">length</span>;
<span class="variable">options</span>.<span class="variable">locals</span> = <span class="variable">options</span>.<span class="variable">locals</span> || {};
<span class="variable">options</span>.<span class="variable">locals</span>.<span class="variable">collectionLength</span> = <span class="variable">len</span>;
<span class="keyword">var</span> <span class="variable">locals</span> = <span class="variable">options</span>.<span class="variable">locals</span> = <span class="variable">options</span>.<span class="variable">locals</span> || {};
<span class="variable">locals</span>.<span class="variable">collectionLength</span> = <span class="variable">len</span>;
<span class="keyword">return</span> <span class="variable">collection</span>.<span class="variable">map</span>(<span class="keyword">function</span>(<span class="variable">val</span>, <span class="variable">i</span>){
<span class="variable">options</span>[<span class="variable">name</span>] = <span class="variable">val</span>;
<span class="variable">options</span>.<span class="variable">locals</span>.<span class="variable">firstInCollection</span> = <span class="variable">i</span> === <span class="number integer">0</span>;
<span class="variable">options</span>.<span class="variable">locals</span>.<span class="variable">indexInCollection</span> = <span class="variable">i</span>;
<span class="variable">options</span>.<span class="variable">locals</span>.<span class="variable">lastInCollection</span> = <span class="variable">i</span> === <span class="variable">len</span> - <span class="number integer">1</span>;
<span class="variable">locals</span>[<span class="variable">name</span>] = <span class="variable">val</span>;
<span class="variable">locals</span>.<span class="variable">firstInCollection</span> = <span class="variable">i</span> === <span class="number integer">0</span>;
<span class="variable">locals</span>.<span class="variable">indexInCollection</span> = <span class="variable">i</span>;
<span class="variable">locals</span>.<span class="variable">lastInCollection</span> = <span class="variable">i</span> === <span class="variable">len</span> - <span class="number integer">1</span>;
<span class="keyword">return</span> <span class="this">this</span>.<span class="variable">render</span>(<span class="variable">view</span>, <span class="variable">options</span>);
}, <span class="this">this</span>).<span class="variable">join</span>(<span class="string">''</span>);
} <span class="keyword">else</span> {
Expand All @@ -543,17 +543,19 @@ <h2></h2>
<li><p><strong>param</strong>: <em>Function</em> fn</p></li>
<li><p><strong>api</strong>: <em>public</em></p></li>
</ul>
/p>

"
</td>
<td class="code">
<pre><code><span class="variable">http</span>.<span class="class">ServerResponse</span>.<span class="variable">prototype</span>.<span class="variable">render</span> = <span class="keyword">function</span>(<span class="variable">view</span>, <span class="variable">options</span>, <span class="variable">fn</span>){
<span class="variable">options</span> = <span class="variable">options</span> || {};

<span class="comment">// Defaults</span>
<span class="keyword">var</span> <span class="variable">self</span> = <span class="this">this</span>,
<span class="variable">root</span> = <span class="variable">options</span>.<span class="variable">root</span> || <span class="this">this</span>.<span class="variable">app</span>.<span class="variable">set</span>(<span class="string">'views'</span>) || <span class="variable">process</span>.<span class="variable">cwd</span>() + <span class="string">'/views'</span>,
<span class="variable">path</span> = <span class="variable">root</span> + <span class="string">'/'</span> + <span class="variable">view</span>,
<span class="variable">ext</span> = <span class="variable">extname</span>(<span class="variable">view</span>),
<span class="variable">partial</span> = <span class="variable">options</span>.<span class="variable">partial</span>,
<span class="variable">root</span> = <span class="variable">options</span>.<span class="variable">root</span> || <span class="this">this</span>.<span class="variable">app</span>.<span class="variable">set</span>(<span class="string">'views'</span>) || <span class="variable">process</span>.<span class="variable">cwd</span>() + <span class="string">'/views'</span>,
<span class="variable">layout</span> = <span class="variable">options</span>.<span class="variable">layout</span> === <span class="variable">undefined</span> ? <span class="variable">true</span> : <span class="variable">options</span>.<span class="variable">layout</span>,
<span class="variable">layout</span> = <span class="variable">layout</span> === <span class="variable">true</span>
? <span class="string">'layout'</span> + <span class="variable">ext</span>
Expand All @@ -570,6 +572,9 @@ <h2></h2>
<span class="variable">root</span> += <span class="string">'/partials'</span>;
}

<span class="comment">// View path</span>
<span class="keyword">var</span> <span class="variable">path</span> = <span class="variable">root</span> + <span class="string">'/'</span> + <span class="variable">view</span>;

<span class="comment">// Send response</span>
<span class="keyword">function</span> <span class="variable">send</span>(<span class="variable">str</span>) {
<span class="variable">self</span>.<span class="variable">writeHead</span>(<span class="number integer">200</span>, {
Expand All @@ -582,20 +587,36 @@ <h2></h2>
<span class="comment">// Pass filename to the engine</span>
<span class="variable">options</span>.<span class="variable">filename</span> = <span class="variable">path</span>;

<span class="keyword">function</span> <span class="variable">error</span>(<span class="variable">err</span>) {
<span class="keyword">if</span> (<span class="variable">fn</span>) {
<span class="variable">fn</span>(<span class="variable">err</span>);
} <span class="keyword">else</span> {
<span class="keyword">throw</span> <span class="variable">err</span>;
}
}

<span class="comment">// Render</span>
<span class="variable">fs</span>.<span class="variable">readFile</span>(<span class="variable">path</span>, <span class="string">'utf8'</span>, <span class="keyword">function</span>(<span class="variable">err</span>, <span class="variable">str</span>){
<span class="comment">// TODO: error handling</span>
<span class="keyword">var</span> <span class="variable">engine</span> = <span class="variable">cache</span>[<span class="variable">ext</span>] || (<span class="variable">cache</span>[<span class="variable">ext</span>] = <span class="variable">require</span>(<span class="variable">ext</span>.<span class="variable">substr</span>(<span class="number integer">1</span>)));
<span class="variable">str</span> = <span class="variable">engine</span>.<span class="variable">render</span>(<span class="variable">str</span>, <span class="variable">options</span>);
<span class="keyword">if</span> (<span class="variable">layout</span>) {
<span class="variable">options</span>.<span class="variable">locals</span> = <span class="variable">options</span>.<span class="variable">locals</span> || {};
<span class="variable">options</span>.<span class="variable">layout</span> = <span class="variable">false</span>;
<span class="variable">options</span>.<span class="variable">locals</span>.<span class="variable">body</span> = <span class="variable">str</span>;
<span class="variable">self</span>.<span class="variable">render</span>(<span class="variable">layout</span>, <span class="variable">options</span>);
} <span class="keyword">else</span> <span class="keyword">if</span> (<span class="variable">fn</span>) {
<span class="variable">fn</span>(<span class="keyword">null</span>, <span class="variable">str</span>);
<span class="keyword">if</span> (<span class="variable">err</span>) {
<span class="variable">error</span>(<span class="variable">err</span>);
} <span class="keyword">else</span> {
<span class="variable">send</span>(<span class="variable">str</span>);
<span class="keyword">var</span> <span class="variable">engine</span> = <span class="variable">cache</span>[<span class="variable">ext</span>] || (<span class="variable">cache</span>[<span class="variable">ext</span>] = <span class="variable">require</span>(<span class="variable">ext</span>.<span class="variable">substr</span>(<span class="number integer">1</span>)));
<span class="keyword">try</span> {
<span class="variable">str</span> = <span class="variable">engine</span>.<span class="variable">render</span>(<span class="variable">str</span>, <span class="variable">options</span>);
} <span class="keyword">catch</span> (<span class="variable">err</span>) {
<span class="variable">error</span>(<span class="variable">err</span>);
}
<span class="keyword">if</span> (<span class="variable">layout</span>) {
<span class="variable">options</span>.<span class="variable">layout</span> = <span class="variable">false</span>;
<span class="variable">options</span>.<span class="variable">locals</span>.<span class="variable">body</span> = <span class="variable">str</span>;
<span class="variable">self</span>.<span class="variable">render</span>(<span class="variable">layout</span>, <span class="variable">options</span>);
} <span class="keyword">else</span> <span class="keyword">if</span> (<span class="variable">partial</span>) {
<span class="keyword">return</span> <span class="variable">str</span>;
} <span class="keyword">else</span> <span class="keyword">if</span> (<span class="variable">fn</span>) {
<span class="variable">fn</span>(<span class="keyword">null</span>, <span class="variable">str</span>);
} <span class="keyword">else</span> {
<span class="variable">send</span>(<span class="variable">str</span>);
}
}
});
};
Expand Down
15 changes: 15 additions & 0 deletions docs/executable.md
@@ -0,0 +1,15 @@
express(1) -- node web framework
========================================

## Synopsis

express [-h|--help] [PATH]

## Description

Express is a high performance Sinatra-inspired web framework.

## Executable Options

-h, --help Display help information

25 changes: 10 additions & 15 deletions docs/index.1
@@ -1,27 +1,22 @@
.\" generated with Ronn/v0.6.6
.\" http://github.com/rtomayko/ronn/
.
.TH "EXPRESS" "1" "July 2010" "" ""
.TH "INDEX" "" "July 2010" "" ""
.
.SH "NAME"
\fBexpress\fR \- node web framework
.SH "Express"
Express is a \fIhigh performance\fR Sinatra \fIhttp://sinatrarb\.com\fR inspired web framework for nodejs \fIhttp://nodejs\.org\fR\.
.
.SH "Synopsis"
.IP "" 4
.
.nf

express [\-h|\-\-help] [PATH]
.
.fi
.
.SH "Description"
Express is a high performance Sinatra\-inspired web framework\.
.
.SH "Executable Options"
.
.nf
var app = express\.createServer();

\-h, \-\-help Display help information
app\.get(\'/\', function(req, res){
res\.send(\'Hello World\');
});
.
.fi
.
.IP "" 0

57 changes: 44 additions & 13 deletions docs/index.html
@@ -1,19 +1,50 @@
<div class='mp'>
<h2 id='Express'>Express</h2>
<p><code>express</code> - node web framework</p>
<html>
<head>
<title>Express - node web framework</title>
<style>
body {
margin: 0;
font: 14px/1.2 "Lucida Grande", "Helvetica Nueue", Arial, sans-serif;
text-align: center;
}
#header {
padding: 15px 40px;
border-bottom: 1px solid #EDEBC9;
background: #FFFAE5 url(http://www.sencha.com/favicon.ico) no-repeat 15px 50%;
text-align: left;
}
#container {
margin: 0 auto;
padding: 15px 40px;
width: 900px;
text-align: left;
}
h2 {
font-size: 30px;
}
pre {
margin: 20px;
padding: 20px;
border: 1px solid #eee;
color: #222;
}
</style>
</head>
<body>
<div id="header"><strong>Sencha</strong> labs</div>
<div id="container"><div class='mp'>
<h2 id="Express">Express</h2>

<h2 id="Synopsis">Synopsis</h2>
<p>Express is a <em>high performance</em> <a href="http://sinatrarb.com">Sinatra</a> inspired web framework for <a href="http://nodejs.org">nodejs</a>.</p>

<pre><code>express [-h|--help] [PATH]
</code></pre>

<h2 id="Description">Description</h2>

<p>Express is a high performance Sinatra-inspired web framework.</p>

<h2 id="Executable-Options">Executable Options</h2>
<pre><code>var app = express.createServer();

<pre><code>-h, --help Display help information
app.get('/', function(req, res){
res.send('Hello World');
});
</code></pre>

</div>
</div>
</body>
</html>
20 changes: 7 additions & 13 deletions docs/index.md
@@ -1,15 +1,9 @@
express(1) -- node web framework
========================================
## Express

## Synopsis

express [-h|--help] [PATH]

## Description

Express is a high performance Sinatra-inspired web framework.

## Executable Options

-h, --help Display help information
Express is a _high performance_ [Sinatra](http://sinatrarb.com) inspired web framework for [nodejs](http://nodejs.org).

var app = express.createServer();

app.get('/', function(req, res){
res.send('Hello World');
});
3 changes: 3 additions & 0 deletions docs/layout/foot.html
@@ -0,0 +1,3 @@
</div>
</body>
</html>
35 changes: 35 additions & 0 deletions docs/layout/head.html
@@ -0,0 +1,35 @@
<html>
<head>
<title>Express - node web framework</title>
<style>
body {
margin: 0;
font: 14px/1.2 "Lucida Grande", "Helvetica Nueue", Arial, sans-serif;
text-align: center;
}
#header {
padding: 15px 40px;
border-bottom: 1px solid #EDEBC9;
background: #FFFAE5 url(http://www.sencha.com/favicon.ico) no-repeat 15px 50%;
text-align: left;
}
#container {
margin: 0 auto;
padding: 15px 40px;
width: 900px;
text-align: left;
}
h2 {
font-size: 30px;
}
pre {
margin: 20px;
padding: 20px;
border: 1px solid #eee;
color: #222;
}
</style>
</head>
<body>
<div id="header"><strong>Sencha</strong> labs</div>
<div id="container">
39 changes: 38 additions & 1 deletion docs/migrate.html
@@ -1,6 +1,43 @@
<div class='mp'>
<html>
<head>
<title>Express - node web framework</title>
<style>
body {
margin: 0;
font: 14px/1.2 "Lucida Grande", "Helvetica Nueue", Arial, sans-serif;
text-align: center;
}
#header {
padding: 15px 40px;
border-bottom: 1px solid #EDEBC9;
background: #FFFAE5 url(http://www.sencha.com/favicon.ico) no-repeat 15px 50%;
text-align: left;
}
#container {
margin: 0 auto;
padding: 15px 40px;
width: 900px;
text-align: left;
}
h2 {
font-size: 30px;
}
pre {
margin: 20px;
padding: 20px;
border: 1px solid #eee;
color: #222;
}
</style>
</head>
<body>
<div id="header"><strong>Sencha</strong> labs</div>
<div id="container"><div class='mp'>
<h2 id="Migration-Guide">Migration Guide</h2>

<p>todo</p>

</div>
</div>
</body>
</html>

0 comments on commit 29641ae

Please sign in to comment.