Skip to content
Browse files

qnx port + docs overhaul by cschatz@networkadvantage.biz

git-svn-id: https://erlyaws.svn.sourceforge.net/svnroot/erlyaws/trunk/yaws@601 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
  • Loading branch information...
1 parent 8928842 commit d02b9655c8ea03a42aaa0a3dc7b6c85198cb6f7b @klacke committed Feb 13, 2004
View
11 config.guess
@@ -150,6 +150,17 @@ EOF
*Macintosh:Darwin:*:*)
echo powerpc-apple-darwin
exit 0 ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit 0 ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit 0 ;;
NILE:*:*:dcosx)
echo pyramid-pyramid-svr4
exit 0 ;;
View
16 config.sub
@@ -68,7 +68,7 @@ esac
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
- linux-gnu*)
+ nto-qnx* | linux-gnu*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
@@ -717,6 +717,20 @@ case $os in
| -mingw32* | -linux-gnu* | -uxpv* | *darwin*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
View
10 configure
@@ -1237,6 +1237,16 @@ EOF
;;
+ *qnx*)
+ cat >> condefs.h <<\EOF
+#define QNX 1
+EOF
+ LD_SHARED="qcc -shared"
+
+ LIBS="$LIBS -lsocket"
+
+ ;;
+
*solaris*)
cat >> confdefs.h <<\EOF
#define SOLARIS 1
View
2 man/yaws.conf.5
@@ -11,7 +11,7 @@ where options for each virtual host is supplied.
.SH GLOBAL PART
.TP
-\fB\logdir = Directory\fR
+\fBlogdir = Directory\fR
All yaws logs will be written to files in this directory. There are several
different log files written by yaws.
View
2 man/yaws_api.5
@@ -163,7 +163,7 @@ out(Arg) ->
.TP
\fBget_line(String)\fR
-This function is convenient when getting \r\n terminated lines
+This function is convenient when getting \\r\\n terminated lines
from a stream of data. It returns:
\fB{line, Line, Tail}\fR or \fB{lastline, Line, Tail}\fR
View
4 www/EXHEAD
@@ -18,9 +18,9 @@
<td> <A HREF="/arg.yaws">Arg</a> </td>
<td> <A HREF="/upload0.yaws">File upload</a> </td>
<td> <A HREF="/cookies.yaws">Cookies</a> </td>
- <td> <A HREF="/pcookie.yaws">Persistant Cookies</a> </td>
+ <td> <A HREF="/pcookie.yaws">Persistent Cookies</a> </td>
<td> <A HREF="/session.yaws">Cookie sessions</a> </td>
- <td> <A HREF="/shopingcart/index.yaws">Tiny shoping cart</a> </td>
+ <td> <A HREF="/shopingcart/index.yaws">Tiny shopping cart</a> </td>
<td> <A HREF="/embed.yaws">Embedding Yaws</a> </td>
</tr>
View
10 www/bindings.yaws
@@ -6,12 +6,12 @@ out(A) ->
<p>
-Bindings is the opposite of <a href="ssi.yaws"> SSI, Server Side Includes</a>,
-SSI is primarily used when basicaly the entire pages are written in EHTML and
-snippets of HTML, or more typical, javascript code is inserted into the EHTML
+Bindings are the opposite of <a href="ssi.yaws"> Server Side Includes (SSI)</a>.
+SSI is used when entire pages are written largely in EHTML and
+snippets of HTML, or more typically javascript code is inserted into the EHTML
code.
-<p> Bindings are used the other way around, basically the entire
+<p> Bindings are used the other way around. Essentially entire
pages are written in regular HTML but parts of the HTML needs to be
dynamically generated.
@@ -28,7 +28,7 @@ dynamically generated.
within erl tags). In HTML source %%Key%% is expanded to Value and
within erl tags yaws_api:get_binding(Key) can be used to extract Value.
-<p>With the binding feature it is easier to write transparant yaws code making
+<p>With the binding feature it is easier to write transparent yaws code making
it easier to to work together with Web people knowing little or
nothing about Erlang.
View
12 www/configuration.yaws
@@ -18,7 +18,7 @@ out(A) ->
{height,"31"},
{border,"0"},
{alt,"SourceForge.net Logo"}]}},
- "The Yaws SourceForge www page is ",
+ " The Yaws SourceForge www page is ",
{a ,[{href,"http://sourceforge.net/projects/erlyaws/"}],
"http://sourceforge.net/projects/erlyaws"}
]},
@@ -35,14 +35,14 @@ out(A) ->
{p,[], "The above commands will "
"checkout the bleeding edge source, build it and install it at "
- "127.0.0.1:80 with the docroot set to the local documentation"},
+ "127.0.0.1:80 with the docroot set to the local documentation."},
{p,[], "Give return as password."},
{p,[], "Run ./configure"},
{p, [], [{tt, [], "make"} ,
"(without install) will build the yaws system and ",
{tt, [], "make local_install"},
- "does a local install at http://127.0.0.1:8000. This is the typical mode of operation"
+ " does a local install at http://127.0.0.1:8000. This is the typical mode of operation"
" while either just trying out yaws, or hacking yaws. This will install "
" a template configuration file yaws.conf in $HOME. "
"If $HOME/yaws.conf exists, the old file will not be overwritten. "]},
@@ -100,10 +100,10 @@ out(A) ->
{p,[], ["The function ",
{tt, [], "yaws_api:setconf(Gconf, Groups)"},
- "can be used by an other erlang process to explicitly set a yaws configuration at runtime.."
- "To execute Yaws in embedded mode, it must be started with the environment ",
+ "can be used by an other erlang process to explicitly set a yaws configuration at runtime."
+ " To execute Yaws in embedded mode, it must be started with the environment ",
{tt, [], "{embedded, true}"},
- "The embedded mode is fully described at ",
+ " The embedded mode is fully described at ",
{a, [{url, "embed.yaws"}], "embed.yaws"}]}
]},
{ssi, "END",[],[]}
View
2 www/contact.yaws
@@ -10,7 +10,7 @@ out(A) ->
<H2>Contact</H2>
-<p>There is a mailinglist wich is used to discuss yaws.
+<p>There is a mailinglist which is used to discuss yaws.
The list is called <a href="https://lists.sourceforge.net/lists/listinfo/erlyaws-list">erlyaws-list</a> and it is run by Sourceforge.
The URL to the list is: <a href="https://lists.sourceforge.net/lists/listinfo/erlyaws-list">https://lists.sourceforge.net/lists/listinfo/erlyaws-list</a>
View
15 www/contribs.yaws
@@ -16,28 +16,29 @@ Yaws applications.
<ul>
<li> <h4>The Yaws wiki </h4>
-<p>This applictaion is part of the Yaws source code distribution. It's
-a fullblown wiki web.
+<p>This application is part of the Yaws source code distribution. It's
+a fullblown wiki web.
+<p>
<li><h4> cvstat </h4>
<p> CVS realtime statistics through Web interface at
<a href=http://downloads.erlang-fr.org> http://downloads.erlang-fr.org </a>
-
+<p>
<li><h4> The ticket tracker </h4>
<p>An error reporting system at
<a href=http://btt.sourceforge.net> http://btt.sourceforge.net/ </a>
-
+<p>
<li><h4>Nortel SSL-VPN </h4>
-<p>An SSL based VPN appliance at: <a href=http://www.nortelnetworks.com/products/01/alteon/sslvpn/> http://www.nortelnetworks.com/products/01/alteon/sslvpn/ </a>
-
-
+<p>An SSL based VPN appliance at: <a href=http://www.nortelnetworks.com/products/01/alteon/sslvpn/> http://www.nortelnetworks.com/products/01/alteon/sslvpn/ </a>
+<p>
<li><h4>Yaws webmail </h4>
+
<p>An excellent little stateless webmail server. No db, no nothing is needed except the address
of a popserver and the address of an smtp server. Part of the Yaws source code distro. Extremely
easy to configure and run.
View
8 www/dynamic.yaws
@@ -106,7 +106,7 @@ out(A) ->
[{tt,[], "{allheaders, Header}"},
" If an ",
{tt, [], "allheaders"},
- " structure is returned, all previously headers that have been generated, including those "
+ " structure is returned, all previous headers that have been generated, including those "
"default hedaers generated by yaws itself are erased, and replaced by "
"the headers in ",
{tt, [], "Headers"},
@@ -116,7 +116,7 @@ out(A) ->
{tt, [], "{header, Str}"},
" tuples. The ",
{tt, [], "Str"},
- "must not be newline terminated. "]}},
+ " must not be newline terminated. "]}},
{li,[],
@@ -137,7 +137,7 @@ out(A) ->
[{tt, [], "{content, MimeType, Content} "},
"Sets the mime type, that is "
"the Content-Type: header to be ", {tt, [], "MimeType"},
- " The default value is ofcource \"text/html\", but applications that "
+ " The default value is of course \"text/html\", but applications that "
"generate i.e wml or pdf, must set the Content-Type. "
" A pdf generating application can for example return the "
"tuple ", {tt, [], " {content, \"application/pdf\", PdfContentData} "}]}},
@@ -186,7 +186,7 @@ out(A) ->
{p,[],["All possible return values from the out/1 function are documented in "
"the man page for ",
{a, [{href, "man.yaws?page=yaws_api"}],
- [" man page for ",
+ ["",
{tt, [], "yaws_api (5)"}]}]},
{p,[],"It can also be instructive to look at the actual source "
View
4 www/examples.yaws
@@ -13,12 +13,12 @@ be used to do much more which is shown by the examples.
<p>
It can be used to generate any dynamic content,
and also, combining Yaws with
-the Erlang DBMS Mnesia, we can easily connect persitant data to a Cookie.
+the Erlang DBMS Mnesia, we can easily connect persistent data to a Cookie.
<p>
In all of the examples we will utilize the yaws api functions defined in the
module <tt>yaws_api</tt>. The documentation for the API module is
-<a href="api.yaws">here</a>
+<a href="/api.yaws">here</a>.
<erl>
View
8 www/index.yaws
@@ -10,10 +10,10 @@ out(A) ->
"Two separate modes of operations are supported."},
{ul,[],
[{li,[],
- {p,[],"Standalone mode where yaws runs as a regular webserver "
+ {p,[],"Standalone mode where Yaws runs as a regular webserver "
"daemon. This is the default mode."}},
{li,[],
- {p,[], "Embedded mode where Yaws runs as an embedded webserver in an"
+ {p,[], "Embedded mode where Yaws runs as an embedded webserver in "
"another erlang application."}}
]},
{p,[], ["Yaws is entirely written in ",
@@ -31,9 +31,9 @@ out(A) ->
{p,[], ["The www page for Yaws is ",
{a ,[{href,"http://yaws.hyber.org"}], "yaws.hyber.org"},
" The documentation, examples as well as releases can be "
- "found there, and of cource, ",
+ "found there, and of course, ",
{a ,[{href,"http://yaws.hyber.org"}],"yaws.hyber.org"},
- " is itself powered by Yaws"]},
+ " is itself powered by Yaws."]},
{p,[], ["A mailing list exists at: ",
{a,[{href,"https://lists.sourceforge.net/lists/listinfo/""erlyaws-list"}],
View
2 www/man.yaws
@@ -22,7 +22,7 @@ out(A) ->
end
end, Page) of
true ->
- os:cmd("man " ++ Page ++ " | col -b -p -x");
+ os:cmd("man -Thtml " ++ Page ++ " | lynx -stdin -dump -hiddenlinks=ignore -nolist");
false ->
"illegal character detected in query arg"
end;
View
2 www/news
@@ -117,7 +117,7 @@ Multiple users by uid can now run yaws simultaneously.
Support for streamed large content from yaws code
Never cache yaws files that disn't compile properly.
Much more documentation, man page for yaws_api
-added a cookie_session-server for persistant cookie sessions
+added a cookie_session-server for persistent cookie sessions
full argument chunking support in Wiki
Install properly on FreeBSD.
Support for embedded mode (finally)
View
2 www/pcookie.yaws
@@ -4,7 +4,7 @@ out(A) -> yaws_api:ssi(A#arg.docroot, ["/HEAD", "/EXHEAD"]).
-<h1>Persistant Cookies</h1>
+<h1>Persistent Cookies</h1>
<p>
We saw in the first <a href="cookies.yaws">cookie</a> example, how we
assigned a special erlang process to handle each session.
View
4 www/readpcookie.yaws
@@ -1,6 +1,6 @@
<html>
-<h2> Read persistant cookie </h2>
+<h2> Read persistent cookie </h2>
<erl>
@@ -20,7 +20,7 @@ out(A) ->
case ets:lookup(pcookies, {cookie,Num}) of
[{{cookie, Num}, Data}] ->
f("<p> Yes, I read your cookie:it is ~p~n "
- "Your persistant info is ~n"
+ "Your persistent info is ~n"
"<pre>~n~p~n</pre>~n", [NumStr, Data]);
[] ->
f("<p> You had a cookie,but the data is gone",[])
View
2 www/redirect.yaws
@@ -21,7 +21,7 @@
<erl>
-out(_) -> 1 yaws_api:pre_ssi_string(
+out(_) -> yaws_api:pre_ssi_string(
"
out(_) ->
yaws_api:redirect(
View
2 www/setcookie.yaws
@@ -46,7 +46,7 @@ out(A) ->
<p>This is the page that set the cookie in the browser.
<a href="readcookie.yaws">readcookie.yaws</a> will
-read the cookie and report persitant information as
+read the cookie and report persistent information as
long as the browser session exists.
<p> it will set the cookie
View
6 www/setpcookie.yaws
@@ -70,12 +70,12 @@ out(A) -> yaws_api:ssi(A#arg.docroot, ["/HEAD", "/EXHEAD"]).
-<h2> Set persistant cookie </h2>
+<h2> Set persistent cookie </h2>
-<p>This is the page that set a persistant cookie in
+<p>This is the page that set a persistent cookie in
the browser.
<a href="readpcookie.yaws">readpcookie.yaws</a> will
-read the cookie and report persitant information.
+read the cookie and report persistent information.
</html>
View
39 www/shopingcart/source.html
@@ -12,18 +12,18 @@
<h2> The source for the shopping cart </h2>
-<p class=pp>The shoppingcart contains a number of tricks and "prefered" ways to
-a code different typical solutions to servers side state applications.
+<p class=pp>The shoppingcart contains a number of tricks and "preferred" ways to
+ code different typical solutions to servers side state applications.
-The source itself resides in the www/shopingcart direcory in the
-source code tree. A <a href="shopcart.erl">link to the source it self</a> to view from
+The source itself resides in the www/shopingcart directory in the
+source code tree. A <a href="shopcart.erl">link to the source itself</a> to view from
the browser.
<h3> The first trick, the <tt>break</tt> statement </h3>
<p class="pp">
-The source of all yaws pages including for example index.yaws
-look very similar in this application: They look like:
+The source of all yaws pages (including example index.yaws)
+look very similar in this application, specifically
<div style="background: rgb(211, 211, 211)">
<pre>
@@ -54,39 +54,38 @@
<p class=pp>Since the <tt>login(A)</tt> function is supplied with the
Arg of the requested page, the login function
-will set the path of the requestd page in a hidden field in the login form.
-The code that processes the login form, will then issue a redirect to the
+will set the path of the requested page in a hidden field in the login form.
+The code that processes the login form will then issue a redirect to the
value of this hidden field if the login in successful.
<h3>Ehtml</h3>
-<p class=pp>The use of the ehtml output syntax make it more convenient to dynamically
-generate structured content.
+<p class=pp>The use of the ehtml output syntax makes it more convenient to dynamically
+generate structured content:
<ul>
<li><p class=pp>
-It makes it easier to get the structure right
-<li><p class=pp>It makes
-it easier to inject the dynamically generated parts in the structure.
+It is easier to get the structure right,
+<li><p class=pp>It
+is easier to inject the dynamically generated parts in the structure,
<li><p class=pp>It is <em>much </em> more beautiful.
</ul>
<p class=pp>See the <a href="shopcart.erl">source</a> for a number of "proofs" for this.
<h3>The use of the <b>yaws_session_server </h3>
<p class=pp>The yaws_session_server is designed to facilitate server side
-state applications. It supplies the yaws application writer
-with the following capabilities.
+state applications. The yaws application writer is supplied
+with the following capabilities and services:
<ol>
-<li><p class=pp>It generates a truly random cookie which can subsequently be
-used to uniquely identify a session.
+<li><p class=pp>Truly random cookie generation. Each cookie can
+subsequently be used to uniquely identify a session.
-<li><p class=pp>It keeps an opaque application state in a ets table.
+<li><p class=pp>Maintenance of an opaque application state in an ets table.
This state is readily available to the yaws page by means of the cookie.
-
-<li><p class=pp>It garbage collects old idle sessions.
+<li><p class=pp>Old idle sessions are garbage collected.
</li>
</ol>
View
8 www/ssi.yaws
@@ -31,9 +31,9 @@ out(A) ->
{p, [], "In particular the case with dynamically generated javascript "
"can get syntactically ugly. So instead of generating strings in "
"the erlang code for the javascripts and returning them as "
- "{pre_html, Data} tuples, it is more beautifult to keep the "
- "javascript functions in separate files and include them whith "
- "the {ssi ... return value."},
+ "{pre_html, Data} tuples, it is more beautiful to keep the "
+ "javascript functions in separate files and include them with "
+ "the {ssi ...} return value."},
{p, [], "The format of the ssi statement is:"},
{br},
@@ -64,7 +64,7 @@ out(A) ->
{p,[], "So this is the way to do when we want to embed dynamic content"
" deep inside an ehtml structure, but the content isn't representable"
" as ehtml. This is typically the case for dynamically generated "
- " javascript as well as dynamically generated java applets "}
+ " javascript as well as dynamically generated java applets."}
]}].

0 comments on commit d02b965

Please sign in to comment.
Something went wrong with that request. Please try again.