diff --git a/doc/about/index.html b/doc/about/index.html index f3a33554f4..549b8d6f03 100644 --- a/doc/about/index.html +++ b/doc/about/index.html @@ -18,27 +18,35 @@ href="http://feeds.feedburner.com/nodejs/123123123"> node.js - -
+ +
- +
+ +
-

About

+

Node's goal is to provide an easy way to build scalable + network programs

-
-var http = require('http');
-http.createServer(function (req, res) {
-  res.writeHead(200, {'Content-Type': 'text/plain'});
-  res.end('Hello World\n');
-}).listen(1337, "127.0.0.1");
-console.log('Server running at http://127.0.0.1:1337/');
-

Node's goal is to provide an easy way to build scalable - network programs. In the "hello world" web server example - above, many client connections can be handled concurrently. +

In the "hello world" web server example + below, many client connections can be handled concurrently. Node tells the operating system (through epoll, kqueue, /dev/poll, or select) that it should be notified when a new @@ -46,6 +54,13 @@ console.log('Server running at http://127.0.0.1:1337/'); connects, then it executes the callback. Each connection is only a small heap allocation.

+
+var http = require('http');
+http.createServer(function (req, res) {
+  res.writeHead(200, {'Content-Type': 'text/plain'});
+  res.end('Hello World\n');
+}).listen(1337, "127.0.0.1");
+console.log('Server running at http://127.0.0.1:1337/');

This is in contrast to today's more common concurrency model where OS threads are employed. Thread-based networking is relatively inefficient and very difficult to use. See:

  • Slides from JSConf 2010
  • Video from a talk at Yahoo in May 2010
  • -

    Go back to the home page

    -
    -
    + diff --git a/doc/api_assets/style.css b/doc/api_assets/style.css index c47f3812b8..b5665d53b7 100644 --- a/doc/api_assets/style.css +++ b/doc/api_assets/style.css @@ -1,18 +1,22 @@ /*--------------------- Layout and Typography ----------------------------*/ +html { + -webkit-font-smoothing: antialiased; +} + body { -// font-family: "Helvetica Neue", Helvetica, FreeSans, Arial, sans-serif; - font-family: Georgia, FreeSerif, Times, serif; - font-size: 0.9375em; - line-height: 1.4667em; - color: #222; - margin: 0; padding: 0; + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Verdana, Tahoma, sans-serif; + font-size: 14px; + line-height: 180%; + color: black; + margin: 0; padding: 40px 0 0 0; + border-top: 6px #8CC84B solid; } a { - color: #0050c0; + color: #669900; text-decoration: underline; } a:visited { - color: #b950b7; + color: #46483e; text-decoration: underline; } a:hover, a:focus { @@ -28,6 +32,18 @@ a { display: none; } +#gtoc a { + font-family: Georgia, FreeSerif, Times, serif; + font-size: 16px; + text-decoration: none; + color: #46483e; +} + +#gtoc a:hover { + color: #669900; + text-decoration: underline; +} + .notice { display: block; padding: 1em; @@ -89,15 +105,18 @@ dd + dt.pre { } h1, h2, h3, h4, h5, h6 { - font-family: Georgia, FreeSerif, Times, serif; + font-family: Helvetica, Arial, sans-serif color: #000; text-rendering: optimizeLegibility; position: relative; } h1 { - font-size: 2.55em; - line-height: 1.375em; + font-family: Georgia, FreeSerif, Times, serif; + font-size: 30px; + font-weight: normal; + line-height: 36px; + color: #669900; } h2 { @@ -159,12 +178,13 @@ h6 { } pre { - padding: 2em 1.6em 2em 1.2em; + padding: 1em 1.6em 1em 1.2em; vertical-align: top; background: #f8f8f8; border: 1px solid #e8e8e8; border-width: 1px 1px 1px 6px; margin: -0.5em 0 1.1em; + overflow-x:auto; } pre + h3 { @@ -175,28 +195,27 @@ code.pre { white-space: pre; } -#container { - position: relative; - padding: 6em; - max-width: 50em; - text-align: left; +#intro { + width: 775px; + margin: 0 auto; + text-align: center; + color: #d2d8ba; + + /* preload platform-icons.png */ + background-image: url(platform-icons.png); + background-repeat: no-repeat; + background-position: -1000px -1000px; } -#container header { - margin: 1.25em -0.5em 1.3em; - padding: 0 0.5em 0.225em; +#intro.interior #logo { + margin-left: -130px; } hr { background: none; border: medium none; border-bottom: 1px solid #ccc; - margin: 5em 0 2em; -} - -#container header hr { - margin: 0; - padding: 0; + margin: 2em 0 2em; } #toc { @@ -242,3 +261,174 @@ a.octothorpe { h6:hover > a.octothorpe { opacity: 1; } +#content { + width: 800px; + margin: 0 auto; + overflow: visible; + clear: both; + display: block; +} + +#column1.interior { + width: 590px; + float: right; + padding-top: 20px; +} + +#column2.interior { + width: 160px; + float: left; + margin-top: -50px; + overflow: visible; +} + +#column2.interior ul { + margin-left: 0; +} + +#column2.interior li { + list-style-type: none; +} + +#column2.interior li a { + display: block; + padding: 0 0 0 40px; + color: #878b78; + text-transform: uppercase; + text-decoration: none; + font-size: 12px; + line-height: 23px; +} + +#column2.interior li a.home { background: url(icons-interior.png) no-repeat -158px 3px; } +#column2.interior li a.download { background: url(icons-interior.png) no-repeat -158px -21px; } +#column2.interior li a.about { background: url(icons-interior.png) no-repeat -158px -44px; } +#column2.interior li a.npm { background: url(icons-interior.png) no-repeat -158px -70px; } +#column2.interior li a.docs { background: url(icons-interior.png) no-repeat -158px -93px; } +#column2.interior li a.blog { background: url(icons-interior.png) no-repeat -158px -117px; } +#column2.interior li a.community { background: url(icons-interior.png) no-repeat -158px -140px; } +#column2.interior li a.logos { background: url(icons-interior.png) no-repeat -158px -164px; } +#column2.interior li a.jobs { background: url(icons-interior.png) no-repeat -158px -189px; } + +#column2.interior li a.home.current { background-position: left 3px; } +#column2.interior li a.download.current { background-position: left -21px; } +#column2.interior li a.about.current { background-position: left -44px; } +#column2.interior li a.npm.current { background-position: left -70px; } +#column2.interior li a.docs.current { background-position: left -93px; } +#column2.interior li a.blog.current { background-position: left -117px; } +#column2.interior li a.community.current { background-position: left -140px; } +#column2.interior li a.logos.current { background-position: left -164px; } +#column2.interior li a.jobs.current { background-position: left -189px; } +#column2.interior li a.current { color: #8cc84b; font-weight: bold; } + +#column2.interior li a.home:hover { background-position: -333px 3px; } +#column2.interior li a.download:hover { background-position: -333px -21px; } +#column2.interior li a.about:hover { background-position: -333px -44px; } +#column2.interior li a.npm:hover { background-position: -333px -70px; } +#column2.interior li a.docs:hover { background-position: -333px -93px; } +#column2.interior li a.blog:hover { background-position: -333px -117px; } +#column2.interior li a.community:hover { background-position: -333px -140px; } +#column2.interior li a.logos:hover { background-position: -333px -164px; } +#column2.interior li a.jobs:hover { background-position: -333px -189px; } +#column2.interior li a:hover { color: #000000; text-decoration: none; } + +#column2.interior li + li { + border-top: 1px solid #c1c7ac; +} +#column2.interior p.twitter { + padding-top: 20px; +} + +#column2.interior p.twitter a { + background: url(twitter-bird.png) no-repeat 0 4px; + padding-left: 37px; + text-decoration: none; +} + +#column2.interior p.twitter a:hover { + text-decoration: underline; +} + +a.totop { + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Verdana, Tahoma, sans-serif; + font-weight: bold; + text-indent: -9999999px; + background: url(anchor.png) no-repeat top left; + margin-right: 7px; + display: block; + width: 13px; + border-bottom: 1px solid #cccccc; +} + +a.anchor { + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Verdana, Tahoma, sans-serif; + font-weight: bold; + text-indent: -9999999px; + background: url(anchor.png) no-repeat top right; + display: block; + width: 13px; + border-bottom: 1px solid #cccccc; +} +#footer { + width: 775px; + border-top: 1px solid #626557; + margin: 50px auto 30px auto; + padding-top: 15px; +} + +#footer p { + color: #8BC84B; + font-size: 10px; + padding-left: 195px; + color: #878b78; +} + +#footer p a { + text-decoration: underline; + color: #878b78; +} + +#footer ul { + background: url(footer-logo-alt.png) left top no-repeat; + padding-left: 195px; + height: 26px; + padding-top: 6px; + margin-left: 0; +} + +#footer ul li { + list-style-type: none; + display: block; + float: left; + font-size: 12px; +} + +#footer ul li a { + margin: 0; + padding: 0; +} + +#footer ul li + li { + height: 12px; + margin-left: 3px; +} + +#footer ul li + li a { + padding: 0 0 0 4px; + border-left: 1px solid #878b78; +} + +#footer ul li a.twitter { + background: url(twitter-bird.png) no-repeat 0 2px; + padding-left: 19px; +} + +/* simpler clearfix */ +.clearfix:after { + content: "."; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + diff --git a/doc/community/index.html b/doc/community/index.html index 3219f7bf84..13387987f4 100644 --- a/doc/community/index.html +++ b/doc/community/index.html @@ -21,134 +21,166 @@ node.js -
    +
    -
    -

    Node's most valuable feature is the friendly and colorful - community of developers. There are many places where - this group congregates on the internet. This page attempts - to highlight the best forums.

    - -

    Periodicals

    - -

    Planet Node is an - aggregator of Node developer blogs. NodeUp - is a podcast covering the latest Node news in the - community.

    - -

    Docs

    - -

    - Besides the official API - docs there are a number of sites new users should be - aware of. docs.nodejitsu.com - answers many of the common problems people come across. - How To Node has a - growing number of useful tutorials. - The Stack - Overflow node.js tag is collecting new information - every day. +

    +
    +

    Node's most valuable feature is the friendly and colorful community of developers. There are many places where this group congregates on the internet. This page attempts to highlight the best forums.

    -

    GitHub

    -

    All development takes place at http://github.com/joyent/node. - The comments on commit messages are often source of heated - discussion regarding core development. The GitHub Node - wiki is full of useful links for newcomers. Don't - miss Projects, - Applications, and Companies Using Node or the very - long list of Node modules, many of which are - published in the npm - registry.

    +
    +
    +

    Documentation

    + +

    official API docs

    +

    docs.nodejitsu.com answers many of the common problems people come across.

    +

    How To Node has a growing number of useful tutorials.

    +

    Stack Overflow node.js tag collects new information every day.

    +
    + + +
    +

    GitHub

    +

    All development takes place at http://github.com/joyent/node. + The comments on commit messages are often source of heated + discussion regarding core development.

    The GitHub Node + wiki is full of useful links for newcomers. Don't + miss Projects, + Applications, and Companies Using Node or the very + long list of Node modules, many of which are + published in the npm + registry.

    +
    +
    -

    Bugs - should be reported to https://github.com/joyent/node/issues. - Fixes to the code are welcome! Please see our contributing - guidelines for information on how to submit a - patch.

    - -

    Mailing Lists

    - -

    The user - mailing list is used for announcements, discussion, - and flame wars about Node. The internal - development mailing list is used for discussion of - internal design and feature proposals.

    - -

    IRC

    - -

    For real-time chat about Node development go to - irc.freenode.net in the #node.js - channel with an IRC client or connect in - your web browser to the channel using freenode's - WebChat. Felix Geisendörfer keeps logs of the - channel for those who miss a day.

    -

    Conferences

    - -

    NodeConf - conferences are the main event in the United States; they - are organized by Mikeal Rogers. - NodeFest (東京Node学園祭) - is organized by the Node.js - Japan user group. NodeCamp.de in Cologne, - Germany is organized by Rails - Love. An Italian - Node.js Conference exists as well. Node Summit is a - conference in San Francisco focusing on the adoption of - Node in larger companies. JSConf organizes the main - JavaScript conferences.

    +
    +
    +

    Mailing Lists

    + +

    The user + mailing list is used for announcements, discussion, + and flame wars about Node. The internal + development mailing list is used for discussion of + internal design and feature proposals.

    +
    + +
    +

    Periodicals

    + +

    Planet Node is an + aggregator of Node developer blogs.

    NodeUp + is a podcast covering the latest Node news in the + community.

    +
    +
    + +
    +
    +

    Conferences

    + +

    NodeConf + conferences are the main event in the United States; they + are organized by Mikeal Rogers.

    +

    NodeFest (東京Node学園祭) + is organized by the Node.js + Japan user group.

    +

    NodeCamp.de in Cologne, + Germany is organized by Rails Love.

    +

    An Italian + Node.js Conference exists as well.

    +

    Node Summit is a + conference in San Francisco focusing on the adoption of + Node in larger companies.

    +

    JSConf organizes the main + JavaScript conferences.

    +
    + +
    +

    Localized Sites

    + +

    nodejs.org does not maintain any + translations into other languages. However there are + community websites in various languages with mailing lists + and translations of the website.

    + +

    nodejs.ru Russian blog. +
    + nodejs.ir Iran group in Persian +
    + nodejs.jp Japan user group +
    + CNodeJS.org Chinese community +
    + nodejs.co.il Israeli wiki +
    + HKNoJ Hong Kong community +
    + nodejs.tw Taiwan community

    +
    +
    + +
    +
    +

    IRC

    + +

    For real-time chat about Node development go to + irc.freenode.net in the #node.js + channel with an IRC client or connect in + your web browser to the channel using freenode's + WebChat. Felix Geisendörfer keeps logs of the + channel for those who miss a day.

    +
    +
    -

    Localized Sites

    - -

    nodejs.org does not maintain any - translations into other languages. However there are - community websites in various languages with mailing lists - and translations of the website.

    - -

    nodejs.ru Russian blog. -
    - nodejs.ir Iran group in Persian -
    - nodejs.jp Japan user group -
    - CNodeJS.org Chinese community -
    - nodejs.co.il Israeli wiki -
    - HKNoJ Hong Kong community -
    - nodejs.tw Taiwan community

    -

    Go back to the home page

    +

    -
    -
    diff --git a/doc/logos/index.html b/doc/logos/index.html index 35c575cb55..dab67fce59 100644 --- a/doc/logos/index.html +++ b/doc/logos/index.html @@ -22,14 +22,29 @@ node.js -
    +
    + +
    -

    To echo the evolutionary nature of Node, we've added some punch and playfulness to its identity. All it needs now is a good home with you, download and have fun!

    Logo Downloads

    @@ -54,17 +69,28 @@

    Select your screen resolution:
    1024 x 768
    | 1280 x 1024 | 1440 x 900 | 1920 x 1200 | 2560 x 1440

    -

    Go back to the home page

    -
    -
    +