changeset 2244:467aef18bf12

Renamed the "About njs" page.
author Yaroslav Zhuravlev <yar@nginx.com>
date Mon, 24 Sep 2018 19:10:17 +0300
parents 8cc7642ba82e
children 87a0e2c73a25
files xml/en/GNUmakefile xml/en/docs/http/ngx_http_js_module.xml xml/en/docs/index.xml xml/en/docs/njs/index.xml xml/en/docs/njs/njs_api.xml xml/en/docs/njs_about.xml xml/en/docs/stream/ngx_stream_js_module.xml xml/en/index.xml xml/index.xml xml/ru/GNUmakefile xml/ru/docs/http/ngx_http_js_module.xml xml/ru/docs/index.xml xml/ru/docs/njs/index.xml xml/ru/docs/njs/njs_api.xml xml/ru/docs/njs_about.xml xml/ru/docs/stream/ngx_stream_js_module.xml xml/ru/index.xml
diffstat 17 files changed, 780 insertions(+), 780 deletions(-) [+]
line wrap: on
line diff
--- a/xml/en/GNUmakefile	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/en/GNUmakefile	Mon Sep 24 19:10:17 2018 +0300
@@ -24,7 +24,6 @@
 		contributing_changes					\
 		beginners_guide						\
 		configure						\
-		njs_about						\
 
 FAQ =									\
 		welcome_nginx_facebook					\
@@ -123,6 +122,7 @@
 		stream/stream_processing				\
 		ngx_google_perftools_module				\
 		dev/development_guide					\
+		njs/index						\
 		njs/njs_changes						\
 		njs/njs_api						\
 
--- a/xml/en/docs/http/ngx_http_js_module.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/en/docs/http/ngx_http_js_module.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -9,21 +9,21 @@
 <module name="Module ngx_http_js_module"
         link="/en/docs/http/ngx_http_js_module.html"
         lang="en"
-        rev="15">
+        rev="16">
 
 <section id="summary">
 
 <para>
 The <literal>ngx_http_js_module</literal> module is used to implement
 location and variable handlers
-in <link doc="../njs_about.xml">njs</link> —
+in <link doc="../njs/">njs</link> —
 a subset of the JavaScript language.
 </para>
 
 <para>
 This module is not built by default.
 Download and install instructions are available
-<link doc="../njs_about.xml" id="install">here</link>.
+<link doc="../njs/index.xml" id="install">here</link>.
 </para>
 
 </section>
--- a/xml/en/docs/index.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/en/docs/index.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -8,7 +8,7 @@
 <article name="nginx documentation"
          link="/en/docs/"
          lang="en"
-         rev="45"
+         rev="46"
          toc="no">
 
 
@@ -98,7 +98,7 @@
 <list type="bullet">
 
 <listitem>
-<link doc="njs_about.xml"/>
+<link doc="njs/index.xml">Scripting with njs</link>
 </listitem>
 
 </list>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/en/docs/njs/index.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -0,0 +1,375 @@
+<?xml version="1.0"?>
+
+<!--
+  Copyright (C) Nginx, Inc.
+  -->
+
+<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
+
+<article name="njs scripting language"
+        link="/en/docs/njs/index.html"
+        lang="en"
+        rev="23">
+
+<section id="summary">
+
+<para>
+njs is a subset of the JavaScript language that allows
+implementing location and variable handlers in
+<link doc="../http/ngx_http_js_module.xml">http</link> and
+<link doc="../stream/ngx_stream_js_module.xml">stream</link>.
+njs is created in compliance with
+<link url="http://www.ecma-international.org/ecma-262/5.1/">ECMAScript 5.1</link>
+(strict mode) with some
+<link url="http://www.ecma-international.org/ecma-262/6.0/">ECMAScript 6</link>
+extensions.
+The compliance is still evolving.
+</para>
+
+</section>
+
+
+<section id="supported" name="What is currently supported">
+
+<para>
+<list type="bullet">
+
+<listitem>
+Boolean values, numbers, strings, objects, arrays,
+functions, and regular expressions
+</listitem>
+
+<listitem>
+ES5.1 operators, ES7 exponentiation operators
+</listitem>
+
+<listitem>
+ES5.1 statements: <literal>var</literal>, <literal>if</literal>,
+<literal>else</literal>, <literal>switch</literal>, <literal>for</literal>,
+<literal>for in</literal>, <literal>while</literal>,
+<literal>do while</literal>, <literal>break</literal>,
+<literal>continue</literal>, <literal>return</literal>, <literal>try</literal>,
+<literal>catch</literal>, <literal>throw</literal>, <literal>finally</literal>
+</listitem>
+
+<listitem>
+ES6 <literal>Number</literal> and
+<literal>Math</literal> properties and methods
+</listitem>
+
+<listitem>
+<literal>String</literal> methods:
+<list type="bullet">
+
+<listitem>
+ES5.1:
+<literal>fromCharCode</literal>, <literal>concat</literal>,
+<literal>slice</literal>, <literal>substring</literal>,
+<literal>substr</literal>, <literal>charAt</literal>,
+<literal>charCodeAt</literal>, <literal>indexOf</literal>,
+<literal>lastIndexOf</literal>, <literal>toLowerCase</literal>,
+<literal>toUpperCase</literal>, <literal>trim</literal>,
+<literal>search</literal>, <literal>match</literal>, <literal>split</literal>,
+<literal>replace</literal>
+</listitem>
+
+<listitem>
+ES6:
+<literal>fromCodePoint</literal>, <literal>codePointAt</literal>,
+<literal>includes</literal>, <literal>startsWith</literal>,
+<literal>endsWith</literal>, <literal>repeat</literal>
+</listitem>
+
+<listitem>
+non-standard:
+<literal>bytesFrom</literal> (0.2.3)
+<literal>fromUTF8</literal>, <literal>toUTF8</literal>,
+<literal>fromBytes</literal>, <literal>toBytes</literal>
+</listitem>
+</list>
+
+</listitem>
+
+<listitem>
+<literal>Object</literal> methods:
+<list type="bullet">
+<listitem>
+ES5.1:
+<literal>create</literal> (support without properties list),
+<literal>keys</literal>,
+<literal>defineProperty</literal>,
+<literal>defineProperties</literal>,
+<literal>getOwnPropertyDescriptor</literal>,
+<literal>getPrototypeOf</literal>,
+<literal>hasOwnProperty</literal>,
+<literal>isPrototypeOf</literal>,
+<literal>preventExtensions</literal>,
+<literal>isExtensible</literal>,
+<literal>freeze</literal>,
+<literal>isFrozen</literal>,
+<literal>seal</literal>,
+<literal>isSealed</literal>
+</listitem>
+</list>
+
+</listitem>
+
+<listitem>
+<literal>Array</literal> methods:
+<list type="bullet">
+<listitem>
+ES5.1:
+<literal>isArray</literal>, <literal>slice</literal>, <literal>splice</literal>,
+<literal>push</literal>, <literal>pop</literal>, <literal>unshift</literal>,
+<literal>shift</literal>, <literal>reverse</literal>, <literal>sort</literal>,
+<literal>join</literal>, <literal>concat</literal>, <literal>indexOf</literal>,
+<literal>lastIndexOf</literal>, <literal>forEach</literal>,
+<literal>some</literal>, <literal>every</literal>, <literal>filter</literal>,
+<literal>map</literal>, <literal>reduce</literal>,
+<literal>reduceRight</literal>
+</listitem>
+
+<listitem>
+ES6:
+<literal>of</literal>, <literal>fill</literal>, <literal>find</literal>,
+<literal>findIndex</literal>
+</listitem>
+
+<listitem>
+ES7: <literal>includes</literal>
+</listitem>
+</list>
+
+</listitem>
+
+<listitem>
+ES5.1 <literal>Function</literal> methods:
+<literal>call</literal>, <literal>apply</literal>, <literal>bind</literal>
+</listitem>
+
+<listitem>
+ES5.1 <literal>RegExp</literal> methods:
+<literal>test</literal>, <literal>exec</literal>
+</listitem>
+
+<listitem>
+ES5.1 <literal>Date</literal> methods
+</listitem>
+
+<listitem>
+ES5.1 <literal>JSON</literal> object
+</listitem>
+
+<listitem>
+ES5.1 global functions:
+<literal>isFinite</literal>, <literal>isNaN</literal>,
+<literal>parseFloat</literal>, <literal>parseInt</literal>,
+<literal>decodeURI</literal>, <literal>decodeURIComponent</literal>,
+<literal>encodeURI</literal>, <literal>encodeURIComponent</literal>
+</listitem>
+
+<listitem>
+<literal>Error</literal> objects:
+<literal>Error</literal>, <literal>EvalError</literal>,
+<literal>InternalError</literal>, <literal>RangeError</literal>,
+<literal>ReferenceError</literal>, <literal>SyntaxError</literal>,
+<literal>TypeError</literal>, <literal>URIError</literal>
+</listitem>
+
+<listitem>
+<literal>setTimeout()</literal> and <literal>clearTimeout()</literal> functions
+(0.2.0)
+</listitem>
+
+<listitem>
+<link url="https://nodejs.org/api/fs.html#fs_file_system">Node.js style</link>
+<literal>File system</literal> methods:
+<literal>fs.readFile</literal>, <literal>fs.readFileSync</literal>,
+<literal>fs.appendFile</literal>, <literal>fs.appendFileSync</literal>,
+<literal>fs.writeFile</literal>, <literal>fs.writeFileSync</literal>
+</listitem>
+
+<listitem>
+<link url="https://nodejs.org/api/crypto.html#crypto_class_hash">Node.js style</link>
+<literal>Crypto</literal> methods (0.2.0):
+<literal>crypto.createHash</literal>,
+<literal>crypto.createHmac</literal>
+
+</listitem>
+
+</list>
+</para>
+
+</section>
+
+
+<section id="not_supported" name="What is not supported yet">
+
+<para>
+<list type="bullet">
+
+<listitem>
+ES6 <literal>let</literal> and <literal>const</literal> declarations
+</listitem>
+
+<listitem>
+labels
+</listitem>
+
+<listitem>
+<literal>arguments</literal> array
+</listitem>
+
+<listitem>
+<literal>eval</literal> function
+</listitem>
+
+<listitem>
+<literal>new Function()</literal> constructor
+</listitem>
+
+<listitem>
+<literal>setInterval</literal>,
+<literal>setImmediate</literal> functions
+</listitem>
+
+<listitem>
+non-integer fractions (<literal>.235</literal>)
+</listitem>
+
+</list>
+</para>
+
+</section>
+
+
+<section id="changelog" name="Change Log">
+
+<para>
+The complete list of njs changes is available
+<link doc="njs_changes.xml">here</link>.
+</para>
+</section>
+
+
+<section id="njs_api" name="njs API Reference">
+
+<para>
+njs API reference is available
+<link doc="njs_api.xml">here</link>.
+</para>
+</section>
+
+
+<section id="install" name="Download and install">
+
+<para>
+njs is available in two modules:
+<list type="bullet">
+
+<listitem>
+<link doc="../http/ngx_http_js_module.xml">ngx_http_js_module</link>
+</listitem>
+
+<listitem>
+<link doc="../stream/ngx_stream_js_module.xml">ngx_stream_js_module</link>
+</listitem>
+
+</list>
+Both modules are not built by default,
+they should be either compiled from the sources
+or installed as a Linux package.
+In addition, the Linux package provides
+njs command-line <link id="cli">utility</link>.
+</para>
+
+
+<section id="install_package" name="Installing as a Linux package">
+<para>
+For Linux, njs modules
+<link doc="../../linux_packages.xml" id="dynmodules">packages</link> can be used:
+<list type="bullet">
+
+<listitem>
+<literal>nginx-module-njs</literal> — njs
+<link doc="../ngx_core_module.xml" id="load_module">dynamic</link> modules
+</listitem>
+
+<listitem>
+<literal>nginx-module-njs-dbg</literal> — debug symbols for the
+<literal>nginx-module-njs</literal> package
+</listitem>
+
+</list>
+</para>
+
+</section>
+
+
+<section id="install_sources" name="Building from the sources">
+
+<para>
+The <link url="http://hg.nginx.org/njs">repository</link>
+with njs sources can be cloned with the following command:
+(requires <link url="https://www.mercurial-scm.org">Mercurial</link> client):
+<example>
+hg clone http://hg.nginx.org/njs
+</example>
+Then the modules should be compiled using the
+<literal>--add-module</literal> configuration parameter:
+<example>
+./configure --add-module=<value>path-to-njs</value>/nginx
+</example>
+The modules can also be built as
+<link doc="../ngx_core_module.xml" id="load_module">dynamic</link>:
+<example>
+./configure --add-dynamic-module=<value>path-to-njs</value>/nginx
+</example>
+</para>
+
+<para>
+To build only njs command-line <link id="cli">utility</link>, run
+<literal>./configure</literal> and <literal>make njs</literal> commands
+from njs root directory.
+The utility is available as <literal>./build/njs</literal>.
+</para>
+
+</section>
+
+</section>
+
+
+<section id="cli" name="Command-line interface">
+
+<para>
+njs scripts development and debugging can be performed
+from the command-line.
+The command-line utility is available after the installation of
+the Linux <link id="install_package">package</link>
+or after building from the <link id="install_sources">sources</link>.
+Compared to njs running inside nginx,
+nginx objects
+(<link doc="njs_api.xml" id="http">HTTP</link> and
+<link doc="njs_api.xml" id="stream">Stream</link>)
+are not available in the utility.
+<example>
+$ echo "2**3" | njs -
+8
+
+$ njs
+>> var o = {a:[]}
+undefined
+
+>> JSON.stringify(o, undefined,1)
+{
+ "a": [
+
+ ]
+}
+>>
+</example>
+</para>
+
+</section>
+
+</article>
--- a/xml/en/docs/njs/njs_api.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/en/docs/njs/njs_api.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -14,7 +14,7 @@
 <section id="summary">
 
 <para>
-<link doc="../njs_about.xml">njs</link> provides objects, methods and properties
+<link doc="index.xml">njs</link> provides objects, methods and properties
 for extending nginx functionality.
 </para>
 
--- a/xml/en/docs/njs_about.xml	Tue Oct 02 18:23:39 2018 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,375 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="About njs"
-        link="/en/docs/njs_about.html"
-        lang="en"
-        rev="22">
-
-<section id="summary">
-
-<para>
-njs is a subset of the JavaScript language that allows
-implementing location and variable handlers in
-<link doc="http/ngx_http_js_module.xml">http</link> and
-<link doc="stream/ngx_stream_js_module.xml">stream</link>.
-njs is created in compliance with
-<link url="http://www.ecma-international.org/ecma-262/5.1/">ECMAScript 5.1</link>
-(strict mode) with some
-<link url="http://www.ecma-international.org/ecma-262/6.0/">ECMAScript 6</link>
-extensions.
-The compliance is still evolving.
-</para>
-
-</section>
-
-
-<section id="supported" name="What is currently supported">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Boolean values, numbers, strings, objects, arrays,
-functions, and regular expressions
-</listitem>
-
-<listitem>
-ES5.1 operators, ES7 exponentiation operators
-</listitem>
-
-<listitem>
-ES5.1 statements: <literal>var</literal>, <literal>if</literal>,
-<literal>else</literal>, <literal>switch</literal>, <literal>for</literal>,
-<literal>for in</literal>, <literal>while</literal>,
-<literal>do while</literal>, <literal>break</literal>,
-<literal>continue</literal>, <literal>return</literal>, <literal>try</literal>,
-<literal>catch</literal>, <literal>throw</literal>, <literal>finally</literal>
-</listitem>
-
-<listitem>
-ES6 <literal>Number</literal> and
-<literal>Math</literal> properties and methods
-</listitem>
-
-<listitem>
-<literal>String</literal> methods:
-<list type="bullet">
-
-<listitem>
-ES5.1:
-<literal>fromCharCode</literal>, <literal>concat</literal>,
-<literal>slice</literal>, <literal>substring</literal>,
-<literal>substr</literal>, <literal>charAt</literal>,
-<literal>charCodeAt</literal>, <literal>indexOf</literal>,
-<literal>lastIndexOf</literal>, <literal>toLowerCase</literal>,
-<literal>toUpperCase</literal>, <literal>trim</literal>,
-<literal>search</literal>, <literal>match</literal>, <literal>split</literal>,
-<literal>replace</literal>
-</listitem>
-
-<listitem>
-ES6:
-<literal>fromCodePoint</literal>, <literal>codePointAt</literal>,
-<literal>includes</literal>, <literal>startsWith</literal>,
-<literal>endsWith</literal>, <literal>repeat</literal>
-</listitem>
-
-<listitem>
-non-standard:
-<literal>bytesFrom</literal> (0.2.3)
-<literal>fromUTF8</literal>, <literal>toUTF8</literal>,
-<literal>fromBytes</literal>, <literal>toBytes</literal>
-</listitem>
-</list>
-
-</listitem>
-
-<listitem>
-<literal>Object</literal> methods:
-<list type="bullet">
-<listitem>
-ES5.1:
-<literal>create</literal> (support without properties list),
-<literal>keys</literal>,
-<literal>defineProperty</literal>,
-<literal>defineProperties</literal>,
-<literal>getOwnPropertyDescriptor</literal>,
-<literal>getPrototypeOf</literal>,
-<literal>hasOwnProperty</literal>,
-<literal>isPrototypeOf</literal>,
-<literal>preventExtensions</literal>,
-<literal>isExtensible</literal>,
-<literal>freeze</literal>,
-<literal>isFrozen</literal>,
-<literal>seal</literal>,
-<literal>isSealed</literal>
-</listitem>
-</list>
-
-</listitem>
-
-<listitem>
-<literal>Array</literal> methods:
-<list type="bullet">
-<listitem>
-ES5.1:
-<literal>isArray</literal>, <literal>slice</literal>, <literal>splice</literal>,
-<literal>push</literal>, <literal>pop</literal>, <literal>unshift</literal>,
-<literal>shift</literal>, <literal>reverse</literal>, <literal>sort</literal>,
-<literal>join</literal>, <literal>concat</literal>, <literal>indexOf</literal>,
-<literal>lastIndexOf</literal>, <literal>forEach</literal>,
-<literal>some</literal>, <literal>every</literal>, <literal>filter</literal>,
-<literal>map</literal>, <literal>reduce</literal>,
-<literal>reduceRight</literal>
-</listitem>
-
-<listitem>
-ES6:
-<literal>of</literal>, <literal>fill</literal>, <literal>find</literal>,
-<literal>findIndex</literal>
-</listitem>
-
-<listitem>
-ES7: <literal>includes</literal>
-</listitem>
-</list>
-
-</listitem>
-
-<listitem>
-ES5.1 <literal>Function</literal> methods:
-<literal>call</literal>, <literal>apply</literal>, <literal>bind</literal>
-</listitem>
-
-<listitem>
-ES5.1 <literal>RegExp</literal> methods:
-<literal>test</literal>, <literal>exec</literal>
-</listitem>
-
-<listitem>
-ES5.1 <literal>Date</literal> methods
-</listitem>
-
-<listitem>
-ES5.1 <literal>JSON</literal> object
-</listitem>
-
-<listitem>
-ES5.1 global functions:
-<literal>isFinite</literal>, <literal>isNaN</literal>,
-<literal>parseFloat</literal>, <literal>parseInt</literal>,
-<literal>decodeURI</literal>, <literal>decodeURIComponent</literal>,
-<literal>encodeURI</literal>, <literal>encodeURIComponent</literal>
-</listitem>
-
-<listitem>
-<literal>Error</literal> objects:
-<literal>Error</literal>, <literal>EvalError</literal>,
-<literal>InternalError</literal>, <literal>RangeError</literal>,
-<literal>ReferenceError</literal>, <literal>SyntaxError</literal>,
-<literal>TypeError</literal>, <literal>URIError</literal>
-</listitem>
-
-<listitem>
-<literal>setTimeout()</literal> and <literal>clearTimeout()</literal> functions
-(0.2.0)
-</listitem>
-
-<listitem>
-<link url="https://nodejs.org/api/fs.html#fs_file_system">Node.js style</link>
-<literal>File system</literal> methods:
-<literal>fs.readFile</literal>, <literal>fs.readFileSync</literal>,
-<literal>fs.appendFile</literal>, <literal>fs.appendFileSync</literal>,
-<literal>fs.writeFile</literal>, <literal>fs.writeFileSync</literal>
-</listitem>
-
-<listitem>
-<link url="https://nodejs.org/api/crypto.html#crypto_class_hash">Node.js style</link>
-<literal>Crypto</literal> methods (0.2.0):
-<literal>crypto.createHash</literal>,
-<literal>crypto.createHmac</literal>
-
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="not_supported" name="What is not supported yet">
-
-<para>
-<list type="bullet">
-
-<listitem>
-ES6 <literal>let</literal> and <literal>const</literal> declarations
-</listitem>
-
-<listitem>
-labels
-</listitem>
-
-<listitem>
-<literal>arguments</literal> array
-</listitem>
-
-<listitem>
-<literal>eval</literal> function
-</listitem>
-
-<listitem>
-<literal>new Function()</literal> constructor
-</listitem>
-
-<listitem>
-<literal>setInterval</literal>,
-<literal>setImmediate</literal> functions
-</listitem>
-
-<listitem>
-non-integer fractions (<literal>.235</literal>)
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="changelog" name="Change Log">
-
-<para>
-The complete list of njs changes is available
-<link doc="njs/njs_changes.xml">here</link>.
-</para>
-</section>
-
-
-<section id="njs_api" name="njs API Reference">
-
-<para>
-njs API reference is available
-<link doc="njs/njs_api.xml">here</link>.
-</para>
-</section>
-
-
-<section id="install" name="Download and install">
-
-<para>
-njs is available in two modules:
-<list type="bullet">
-
-<listitem>
-<link doc="http/ngx_http_js_module.xml">ngx_http_js_module</link>
-</listitem>
-
-<listitem>
-<link doc="stream/ngx_stream_js_module.xml">ngx_stream_js_module</link>
-</listitem>
-
-</list>
-Both modules are not built by default,
-they should be either compiled from the sources
-or installed as a Linux package.
-In addition, the Linux package provides
-njs command-line <link id="cli">utility</link>.
-</para>
-
-
-<section id="install_package" name="Installing as a Linux package">
-<para>
-For Linux, njs modules
-<link doc="../linux_packages.xml" id="dynmodules">packages</link> can be used:
-<list type="bullet">
-
-<listitem>
-<literal>nginx-module-njs</literal> — njs
-<link doc="ngx_core_module.xml" id="load_module">dynamic</link> modules
-</listitem>
-
-<listitem>
-<literal>nginx-module-njs-dbg</literal> — debug symbols for the
-<literal>nginx-module-njs</literal> package
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="install_sources" name="Building from the sources">
-
-<para>
-The <link url="http://hg.nginx.org/njs">repository</link>
-with njs sources can be cloned with the following command:
-(requires <link url="https://www.mercurial-scm.org">Mercurial</link> client):
-<example>
-hg clone http://hg.nginx.org/njs
-</example>
-Then the modules should be compiled using the
-<literal>--add-module</literal> configuration parameter:
-<example>
-./configure --add-module=<value>path-to-njs</value>/nginx
-</example>
-The modules can also be built as
-<link doc="ngx_core_module.xml" id="load_module">dynamic</link>:
-<example>
-./configure --add-dynamic-module=<value>path-to-njs</value>/nginx
-</example>
-</para>
-
-<para>
-To build only njs command-line <link id="cli">utility</link>, run
-<literal>./configure</literal> and <literal>make njs</literal> commands
-from njs root directory.
-The utility is available as <literal>./build/njs</literal>.
-</para>
-
-</section>
-
-</section>
-
-
-<section id="cli" name="Command-line interface">
-
-<para>
-njs scripts development and debugging can be performed
-from the command-line.
-The command-line utility is available after the installation of
-the Linux <link id="install_package">package</link>
-or after building from the <link id="install_sources">sources</link>.
-Compared to njs running inside nginx,
-nginx objects
-(<link doc="njs/njs_api.xml" id="http">HTTP</link> and
-<link doc="njs/njs_api.xml" id="stream">Stream</link>)
-are not available in the utility.
-<example>
-$ echo "2**3" | njs -
-8
-
-$ njs
->> var o = {a:[]}
-undefined
-
->> JSON.stringify(o, undefined,1)
-{
- "a": [
-
- ]
-}
->>
-</example>
-</para>
-
-</section>
-
-</article>
--- a/xml/en/docs/stream/ngx_stream_js_module.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/en/docs/stream/ngx_stream_js_module.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -9,20 +9,20 @@
 <module name="Module ngx_stream_js_module"
         link="/en/docs/stream/ngx_stream_js_module.html"
         lang="en"
-        rev="13">
+        rev="14">
 
 <section id="summary">
 
 <para>
 The <literal>ngx_stream_js_module</literal> module is used to implement
-handlers in <link doc="../njs_about.xml">njs</link> —
+handlers in <link doc="../njs/">njs</link> —
 a subset of the JavaScript language.
 </para>
 
 <para>
 This module is not built by default.
 Download and install instructions are available
-<link doc="../njs_about.xml" id="install">here</link>.
+<link doc="../njs/index.xml" id="install">here</link>.
 </para>
 
 </section>
--- a/xml/en/index.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/en/index.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -8,7 +8,7 @@
 <article name="nginx"
          link="/en/"
          lang="en"
-         rev="95">
+         rev="96">
 
 
 <section>
@@ -209,7 +209,7 @@
 </listitem>
 
 <listitem>
-<link doc="docs/njs_about.xml">njs</link>.
+<link doc="docs/njs/index.xml">njs</link> scripting language.
 </listitem>
 
 </list>
@@ -335,7 +335,7 @@
 </listitem>
 
 <listitem>
-<link doc="docs/stream/ngx_stream_js_module.xml">njs</link>.
+<link doc="docs/njs/index.xml">njs</link> scripting language.
 </listitem>
 
 </list>
--- a/xml/index.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/index.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -34,7 +34,7 @@
 
 <event date="2018-09-18">
 <para>
-<link doc="en/docs/njs_about.xml">njs-0.2.4</link>
+<link doc="en/docs/njs/">njs-0.2.4</link>
 version has been released, featuring
 <link doc="en/docs/njs/njs_api.xml" id="s_on">s.on()</link>,
 <link doc="en/docs/njs/njs_api.xml" id="s_off">s.off()</link>,
@@ -56,7 +56,7 @@
 
 <event date="2018-07-31">
 <para>
-<link doc="en/docs/njs_about.xml">njs-0.2.3</link>
+<link doc="en/docs/njs/">njs-0.2.3</link>
 version has been released, featuring
 <link doc="en/docs/njs/njs_api.xml" id="string_bytesfrom">String.bytesFrom()</link>,
 <link doc="en/docs/njs/njs_api.xml" id="string_padstart">String.padStart()</link>,
@@ -93,7 +93,7 @@
 
 <event date="2018-06-19">
 <para>
-<link doc="en/docs/njs_about.xml">njs-0.2.2</link>
+<link doc="en/docs/njs/">njs-0.2.2</link>
 version has been released, featuring HTTP
 <link doc="en/docs/njs/njs_api.xml" id="r_internal_redirect">internalRedirect()</link>
 method support
@@ -119,7 +119,7 @@
 
 <event date="2018-05-31">
 <para>
-<link doc="en/docs/njs_about.xml">njs-0.2.1</link>
+<link doc="en/docs/njs/">njs-0.2.1</link>
 version has been
 <link doc="en/docs/njs/njs_changes.xml" id="njs0.2.1">released</link>.
 </para>
@@ -178,7 +178,7 @@
 
 <event date="2018-04-03">
 <para>
-<link doc="en/docs/njs_about.xml">njs-0.2.0</link>
+<link doc="en/docs/njs/">njs-0.2.0</link>
 version has been released, featuring HTTP
 <link doc="en/docs/njs/njs_api.xml" id="subrequest">subrequest()</link>
 method support
--- a/xml/ru/GNUmakefile	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/ru/GNUmakefile	Mon Sep 24 19:10:17 2018 +0300
@@ -19,7 +19,6 @@
 		contributing_changes					\
 		beginners_guide						\
 		configure						\
-		njs_about						\
 
 FAQ =									\
 		sys_errlist						\
@@ -107,6 +106,7 @@
 		stream/ngx_stream_upstream_hc_module			\
 		stream/stream_processing				\
 		ngx_google_perftools_module				\
+		njs/index						\
 		njs/njs_api						\
 
 TOP =									\
--- a/xml/ru/docs/http/ngx_http_js_module.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/ru/docs/http/ngx_http_js_module.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -9,21 +9,21 @@
 <module name="Модуль ngx_http_js_module"
         link="/ru/docs/http/ngx_http_js_module.html"
         lang="ru"
-        rev="15">
+        rev="16">
 
 <section id="summary">
 
 <para>
 Модуль <literal>ngx_http_js_module</literal> позволяет задавать
 обработчики location и переменных
-на <link doc="../njs_about.xml">njs</link> —
+на <link doc="../njs/">njs</link> —
 подмножестве языка JavaScript.
 </para>
 
 <para>
 По умолчанию этот модуль не собирается.
 Инструкция по сборке и установке доступны
-<link doc="../njs_about.xml" id="install">здесь</link>.
+<link doc="../njs/index.xml" id="install">здесь</link>.
 </para>
 
 </section>
--- a/xml/ru/docs/index.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/ru/docs/index.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -8,7 +8,7 @@
 <article name="nginx: документация"
          link="/ru/docs/"
          lang="ru"
-         rev="45"
+         rev="46"
          toc="no">
 
 
@@ -99,7 +99,7 @@
 <list type="bullet">
 
 <listitem>
-<link doc="njs_about.xml"/>
+<link doc="njs/index.xml">Создание сценариев на njs</link>
 </listitem>
 
 </list>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/ru/docs/njs/index.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -0,0 +1,374 @@
+<?xml version="1.0"?>
+
+<!--
+  Copyright (C) Nginx, Inc.
+  -->
+
+<!DOCTYPE article SYSTEM "../../../../dtd/article.dtd">
+
+<article name="Сценарный язык njs"
+        link="/ru/docs/njs/index.html"
+        lang="ru"
+        rev="23">
+
+<section id="summary">
+
+<para>
+njs - это подмножество языка JavaScript, который позволяет
+задавать обработчики location и переменных в
+<link doc="../http/ngx_http_js_module.xml">http</link> и
+<link doc="../stream/ngx_stream_js_module.xml">stream</link>.
+njs совместим с
+<link url="http://www.ecma-international.org/ecma-262/5.1/">ECMAScript 5.1</link>
+(строгий режим) c некоторыми расширениями
+<link url="http://www.ecma-international.org/ecma-262/6.0/">ECMAScript 6</link>.
+Совместимость находится в стадии развития.
+</para>
+
+</section>
+
+
+<section id="supported" name="Готовая функциональность">
+
+<para>
+<list type="bullet">
+
+<listitem>
+Логические значения, числа, строки, объекты, массивы,
+функции и регулярные выражения
+</listitem>
+
+<listitem>
+ES5.1 операторы, ES7 операторы возведения в степень
+</listitem>
+
+<listitem>
+ES5.1 инструкции: <literal>var</literal>, <literal>if</literal>,
+<literal>else</literal>, <literal>switch</literal>, <literal>for</literal>,
+<literal>for in</literal>, <literal>while</literal>,
+<literal>do while</literal>, <literal>break</literal>,
+<literal>continue</literal>, <literal>return</literal>, <literal>try</literal>,
+<literal>catch</literal>, <literal>throw</literal>, <literal>finally</literal>
+</listitem>
+
+<listitem>
+ES6 методы и свойства <literal>Number</literal> и
+<literal>Math</literal>
+</listitem>
+
+<listitem>
+Методы <literal>String</literal>:
+<list type="bullet">
+
+<listitem>
+ES5.1:
+<literal>fromCharCode</literal>, <literal>concat</literal>,
+<literal>slice</literal>, <literal>substring</literal>,
+<literal>substr</literal>, <literal>charAt</literal>,
+<literal>charCodeAt</literal>, <literal>indexOf</literal>,
+<literal>lastIndexOf</literal>, <literal>toLowerCase</literal>,
+<literal>toUpperCase</literal>, <literal>trim</literal>,
+<literal>search</literal>, <literal>match</literal>, <literal>split</literal>,
+<literal>replace</literal>
+</listitem>
+
+<listitem>
+ES6:
+<literal>fromCodePoint</literal>, <literal>codePointAt</literal>,
+<literal>includes</literal>, <literal>startsWith</literal>,
+<literal>endsWith</literal>, <literal>repeat</literal>
+</listitem>
+
+<listitem>
+нестандартные:
+<literal>bytesFrom</literal> (0.2.3),
+<literal>fromUTF8</literal>, <literal>toUTF8</literal>,
+<literal>fromBytes</literal>, <literal>toBytes</literal>
+</listitem>
+</list>
+
+</listitem>
+
+<listitem>
+Методы <literal>Object</literal>:
+<list type="bullet">
+<listitem>
+ES5.1:
+<literal>create</literal> (поддержка без списка свойств),
+<literal>keys</literal>,
+<literal>defineProperty</literal>,
+<literal>defineProperties</literal>,
+<literal>getOwnPropertyDescriptor</literal>,
+<literal>getPrototypeOf</literal>,
+<literal>hasOwnProperty</literal>,
+<literal>isPrototypeOf</literal>,
+<literal>preventExtensions</literal>,
+<literal>isExtensible</literal>,
+<literal>freeze</literal>,
+<literal>isFrozen</literal>,
+<literal>seal</literal>,
+<literal>isSealed</literal>
+</listitem>
+</list>
+
+</listitem>
+
+<listitem>
+Методы <literal>Array</literal>:
+<list type="bullet">
+<listitem>
+ES5.1:
+<literal>isArray</literal>, <literal>slice</literal>, <literal>splice</literal>,
+<literal>push</literal>, <literal>pop</literal>, <literal>unshift</literal>,
+<literal>shift</literal>, <literal>reverse</literal>, <literal>sort</literal>,
+<literal>join</literal>, <literal>concat</literal>, <literal>indexOf</literal>,
+<literal>lastIndexOf</literal>, <literal>forEach</literal>,
+<literal>some</literal>, <literal>every</literal>, <literal>filter</literal>,
+<literal>map</literal>, <literal>reduce</literal>,
+<literal>reduceRight</literal>
+</listitem>
+
+<listitem>
+ES6:
+<literal>of</literal>, <literal>fill</literal>, <literal>find</literal>,
+<literal>findIndex</literal>
+</listitem>
+
+<listitem>
+ES7: <literal>includes</literal>
+</listitem>
+</list>
+
+</listitem>
+
+<listitem>
+ES5.1 методы <literal>Function</literal>:
+<literal>call</literal>, <literal>apply</literal>, <literal>bind</literal>
+</listitem>
+
+<listitem>
+ES5.1 методы <literal>RegExp</literal>:
+<literal>test</literal>, <literal>exec</literal>
+</listitem>
+
+<listitem>
+ES5.1 методы <literal>Date</literal>
+</listitem>
+
+<listitem>
+ES5.1 объект <literal>JSON</literal>
+</listitem>
+
+<listitem>
+ES5.1 глобальные функции:
+<literal>isFinite</literal>, <literal>isNaN</literal>,
+<literal>parseFloat</literal>, <literal>parseInt</literal>,
+<literal>decodeURI</literal>, <literal>decodeURIComponent</literal>,
+<literal>encodeURI</literal>, <literal>encodeURIComponent</literal>
+</listitem>
+
+<listitem>
+Объекты <literal>Error</literal>:
+<literal>Error</literal>, <literal>EvalError</literal>,
+<literal>InternalError</literal>, <literal>RangeError</literal>,
+<literal>ReferenceError</literal>, <literal>SyntaxError</literal>,
+<literal>TypeError</literal>, <literal>URIError</literal>
+</listitem>
+
+<listitem>
+Функции <literal>setTimeout()</literal> и <literal>clearTimeout()</literal>
+(0.2.0)
+</listitem>
+
+<listitem>
+Методы <literal>File system</literal>
+<link url="https://nodejs.org/api/fs.html#fs_file_system">стиль Node.js</link>:
+<literal>fs.readFile</literal>, <literal>fs.readFileSync</literal>,
+<literal>fs.appendFile</literal>, <literal>fs.appendFileSync</literal>,
+<literal>fs.writeFile</literal>, <literal>fs.writeFileSync</literal>
+</listitem>
+
+<listitem>
+Методы <literal>Crypto</literal>
+<link url="https://nodejs.org/api/crypto.html#crypto_class_hash">стиль Node.js</link>
+(0.2.0):
+<literal>crypto.createHash</literal>,
+<literal>crypto.createHmac</literal>
+</listitem>
+
+</list>
+</para>
+
+</section>
+
+
+<section id="not_supported" name="Функциональность в разработке">
+
+<para>
+<list type="bullet">
+
+<listitem>
+ES6 объявления <literal>let</literal> и <literal>const</literal>
+</listitem>
+
+<listitem>
+labels
+</listitem>
+
+<listitem>
+массив <literal>arguments</literal>
+</listitem>
+
+<listitem>
+функция <literal>eval</literal>
+</listitem>
+
+<listitem>
+конструктор <literal>new Function()</literal>
+</listitem>
+
+<listitem>
+функции <literal>setInterval</literal>,
+<literal>setImmediate</literal>
+</listitem>
+
+<listitem>
+дроби без целой части (<literal>.235</literal>)
+</listitem>
+
+</list>
+</para>
+
+</section>
+
+
+<section id="changelog" name="История изменений">
+
+<para>
+Полная история изменений njs доступна
+<link doc="njs_changes.xml">здесь</link>.
+</para>
+</section>
+
+<section id="njs_api" name="Справочник njs API">
+
+<para>
+Справочник njs API доступен
+<link doc="njs_api.xml">здесь</link>.
+</para>
+</section>
+
+
+<section id="install" name="Загрузка и установка">
+
+<para>
+njs доступен в двух модулях:
+<list type="bullet">
+
+<listitem>
+<link doc="../http/ngx_http_js_module.xml">ngx_http_js_module</link>
+</listitem>
+
+<listitem>
+<link doc="../stream/ngx_stream_js_module.xml">ngx_stream_js_module</link>
+</listitem>
+
+</list>
+По умолчанию модули не собираются
+их необходимо собрать из исходного кода
+или установить из отдельного пакета Linux.
+Кроме того, в пакете Linux предоставляется
+<link id="cli">утилита</link> командной строки njs.
+</para>
+
+
+<section id="install_package" name="Установка пакета Linux">
+<para>
+Для установки модулей njs на Linux могут быть использованы
+<link doc="../../linux_packages.xml" id="dynmodules">пакеты</link>:
+<list type="bullet">
+
+<listitem>
+<literal>nginx-module-njs</literal> —
+<link doc="../ngx_core_module.xml" id="load_module">динамические</link> модули
+njs
+</listitem>
+
+<listitem>
+<literal>nginx-module-njs-dbg</literal> — debug-символы для
+пакета <literal>nginx-module-njs</literal>
+</listitem>
+
+</list>
+</para>
+
+</section>
+
+
+<section id="install_sources" name="Установка из исходных файлов">
+
+<para>
+<link url="http://hg.nginx.org/njs">Репозиторий</link>
+с исходным кодом njs можно клонировать следующей командой:
+(необходим клиент <link url="https://www.mercurial-scm.org">Mercurial</link>):
+<example>
+hg clone http://hg.nginx.org/njs
+</example>
+Затем модули необходимо собрать с помощью
+конфигурационного параметра <literal>--add-module</literal>:
+<example>
+./configure --add-module=<value>path-to-njs</value>/nginx
+</example>
+Модули также можно собрать как
+<link doc="../ngx_core_module.xml" id="load_module">динамические</link>:
+<example>
+./configure --add-dynamic-module=<value>path-to-njs</value>/nginx
+</example>
+</para>
+
+<para>
+Чтобы собрать только <link id="cli">утилиту</link> командной строки njs
+необходимо запустить
+команды <literal>./configure</literal> и <literal>make njs</literal>
+из корневого каталога.
+Утилита доступна как <literal>./build/njs</literal>.
+</para>
+
+</section>
+
+
+<section id="cli" name="Интерфейс командной строки">
+
+<para>
+Создание и отладка njs-скриптов может осуществляться
+в командной строке.
+Утилита командной строки доступна после установки
+<link id="install_package">пакета</link> Linux
+или после сборки из <link id="install_sources">исходных файлов</link>.
+В отличие от njs, запущенном внутри nginx,
+в утилите недоступны объекты nginx
+(<link doc="njs_api.xml" id="http">HTTP</link> и
+<link doc="njs_api.xml" id="stream">Stream</link>).
+<example>
+$ echo "2**3" | njs -
+8
+
+$ njs
+>> var o = {a:[]}
+undefined
+
+>> JSON.stringify(o, undefined,1)
+{
+ "a": [
+
+ ]
+}
+>>
+</example>
+</para>
+
+</section>
+
+</section>
+
+</article>
--- a/xml/ru/docs/njs/njs_api.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/ru/docs/njs/njs_api.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -14,7 +14,7 @@
 <section id="summary">
 
 <para>
-<link doc="../njs_about.xml">njs</link> предоставляет объекты, методы и свойства 
+<link doc="index.xml">njs</link> предоставляет объекты, методы и свойства
 для расширения функциональности nginx.
 </para>
 
--- a/xml/ru/docs/njs_about.xml	Tue Oct 02 18:23:39 2018 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,374 +0,0 @@
-<?xml version="1.0"?>
-
-<!--
-  Copyright (C) Nginx, Inc.
-  -->
-
-<!DOCTYPE article SYSTEM "../../../dtd/article.dtd">
-
-<article name="Информация о njs"
-        link="/ru/docs/njs_about.html"
-        lang="ru"
-        rev="22">
-
-<section id="summary">
-
-<para>
-njs - это подмножество языка JavaScript, который позволяет
-задавать обработчики location и переменных в
-<link doc="http/ngx_http_js_module.xml">http</link> и
-<link doc="stream/ngx_stream_js_module.xml">stream</link>.
-njs совместим с
-<link url="http://www.ecma-international.org/ecma-262/5.1/">ECMAScript 5.1</link>
-(строгий режим) c некоторыми расширениями
-<link url="http://www.ecma-international.org/ecma-262/6.0/">ECMAScript 6</link>.
-Совместимость находится в стадии развития.
-</para>
-
-</section>
-
-
-<section id="supported" name="Готовая функциональность">
-
-<para>
-<list type="bullet">
-
-<listitem>
-Логические значения, числа, строки, объекты, массивы,
-функции и регулярные выражения
-</listitem>
-
-<listitem>
-ES5.1 операторы, ES7 операторы возведения в степень
-</listitem>
-
-<listitem>
-ES5.1 инструкции: <literal>var</literal>, <literal>if</literal>,
-<literal>else</literal>, <literal>switch</literal>, <literal>for</literal>,
-<literal>for in</literal>, <literal>while</literal>,
-<literal>do while</literal>, <literal>break</literal>,
-<literal>continue</literal>, <literal>return</literal>, <literal>try</literal>,
-<literal>catch</literal>, <literal>throw</literal>, <literal>finally</literal>
-</listitem>
-
-<listitem>
-ES6 методы и свойства <literal>Number</literal> и
-<literal>Math</literal>
-</listitem>
-
-<listitem>
-Методы <literal>String</literal>:
-<list type="bullet">
-
-<listitem>
-ES5.1:
-<literal>fromCharCode</literal>, <literal>concat</literal>,
-<literal>slice</literal>, <literal>substring</literal>,
-<literal>substr</literal>, <literal>charAt</literal>,
-<literal>charCodeAt</literal>, <literal>indexOf</literal>,
-<literal>lastIndexOf</literal>, <literal>toLowerCase</literal>,
-<literal>toUpperCase</literal>, <literal>trim</literal>,
-<literal>search</literal>, <literal>match</literal>, <literal>split</literal>,
-<literal>replace</literal>
-</listitem>
-
-<listitem>
-ES6:
-<literal>fromCodePoint</literal>, <literal>codePointAt</literal>,
-<literal>includes</literal>, <literal>startsWith</literal>,
-<literal>endsWith</literal>, <literal>repeat</literal>
-</listitem>
-
-<listitem>
-нестандартные:
-<literal>bytesFrom</literal> (0.2.3),
-<literal>fromUTF8</literal>, <literal>toUTF8</literal>,
-<literal>fromBytes</literal>, <literal>toBytes</literal>
-</listitem>
-</list>
-
-</listitem>
-
-<listitem>
-Методы <literal>Object</literal>:
-<list type="bullet">
-<listitem>
-ES5.1:
-<literal>create</literal> (поддержка без списка свойств),
-<literal>keys</literal>,
-<literal>defineProperty</literal>,
-<literal>defineProperties</literal>,
-<literal>getOwnPropertyDescriptor</literal>,
-<literal>getPrototypeOf</literal>,
-<literal>hasOwnProperty</literal>,
-<literal>isPrototypeOf</literal>,
-<literal>preventExtensions</literal>,
-<literal>isExtensible</literal>,
-<literal>freeze</literal>,
-<literal>isFrozen</literal>,
-<literal>seal</literal>,
-<literal>isSealed</literal>
-</listitem>
-</list>
-
-</listitem>
-
-<listitem>
-Методы <literal>Array</literal>:
-<list type="bullet">
-<listitem>
-ES5.1:
-<literal>isArray</literal>, <literal>slice</literal>, <literal>splice</literal>,
-<literal>push</literal>, <literal>pop</literal>, <literal>unshift</literal>,
-<literal>shift</literal>, <literal>reverse</literal>, <literal>sort</literal>,
-<literal>join</literal>, <literal>concat</literal>, <literal>indexOf</literal>,
-<literal>lastIndexOf</literal>, <literal>forEach</literal>,
-<literal>some</literal>, <literal>every</literal>, <literal>filter</literal>,
-<literal>map</literal>, <literal>reduce</literal>,
-<literal>reduceRight</literal>
-</listitem>
-
-<listitem>
-ES6:
-<literal>of</literal>, <literal>fill</literal>, <literal>find</literal>,
-<literal>findIndex</literal>
-</listitem>
-
-<listitem>
-ES7: <literal>includes</literal>
-</listitem>
-</list>
-
-</listitem>
-
-<listitem>
-ES5.1 методы <literal>Function</literal>:
-<literal>call</literal>, <literal>apply</literal>, <literal>bind</literal>
-</listitem>
-
-<listitem>
-ES5.1 методы <literal>RegExp</literal>:
-<literal>test</literal>, <literal>exec</literal>
-</listitem>
-
-<listitem>
-ES5.1 методы <literal>Date</literal>
-</listitem>
-
-<listitem>
-ES5.1 объект <literal>JSON</literal>
-</listitem>
-
-<listitem>
-ES5.1 глобальные функции:
-<literal>isFinite</literal>, <literal>isNaN</literal>,
-<literal>parseFloat</literal>, <literal>parseInt</literal>,
-<literal>decodeURI</literal>, <literal>decodeURIComponent</literal>,
-<literal>encodeURI</literal>, <literal>encodeURIComponent</literal>
-</listitem>
-
-<listitem>
-Объекты <literal>Error</literal>:
-<literal>Error</literal>, <literal>EvalError</literal>,
-<literal>InternalError</literal>, <literal>RangeError</literal>,
-<literal>ReferenceError</literal>, <literal>SyntaxError</literal>,
-<literal>TypeError</literal>, <literal>URIError</literal>
-</listitem>
-
-<listitem>
-Функции <literal>setTimeout()</literal> и <literal>clearTimeout()</literal>
-(0.2.0)
-</listitem>
-
-<listitem>
-Методы <literal>File system</literal>
-<link url="https://nodejs.org/api/fs.html#fs_file_system">стиль Node.js</link>:
-<literal>fs.readFile</literal>, <literal>fs.readFileSync</literal>,
-<literal>fs.appendFile</literal>, <literal>fs.appendFileSync</literal>,
-<literal>fs.writeFile</literal>, <literal>fs.writeFileSync</literal>
-</listitem>
-
-<listitem>
-Методы <literal>Crypto</literal>
-<link url="https://nodejs.org/api/crypto.html#crypto_class_hash">стиль Node.js</link>
-(0.2.0):
-<literal>crypto.createHash</literal>,
-<literal>crypto.createHmac</literal>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="not_supported" name="Функциональность в разработке">
-
-<para>
-<list type="bullet">
-
-<listitem>
-ES6 объявления <literal>let</literal> и <literal>const</literal>
-</listitem>
-
-<listitem>
-labels
-</listitem>
-
-<listitem>
-массив <literal>arguments</literal>
-</listitem>
-
-<listitem>
-функция <literal>eval</literal>
-</listitem>
-
-<listitem>
-конструктор <literal>new Function()</literal>
-</listitem>
-
-<listitem>
-функции <literal>setInterval</literal>,
-<literal>setImmediate</literal>
-</listitem>
-
-<listitem>
-дроби без целой части (<literal>.235</literal>)
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="changelog" name="История изменений">
-
-<para>
-Полная история изменений njs доступна
-<link doc="njs/njs_changes.xml">здесь</link>.
-</para>
-</section>
-
-<section id="njs_api" name="Справочник njs API">
-
-<para>
-Справочник njs API доступен
-<link doc="njs/njs_api.xml">здесь</link>.
-</para>
-</section>
-
-
-<section id="install" name="Загрузка и установка">
-
-<para>
-njs доступен в двух модулях:
-<list type="bullet">
-
-<listitem>
-<link doc="http/ngx_http_js_module.xml">ngx_http_js_module</link>
-</listitem>
-
-<listitem>
-<link doc="stream/ngx_stream_js_module.xml">ngx_stream_js_module</link>
-</listitem>
-
-</list>
-По умолчанию модули не собираются
-их необходимо собрать из исходного кода
-или установить из отдельного пакета Linux.
-Кроме того, в пакете Linux предоставляется
-<link id="cli">утилита</link> командной строки njs.
-</para>
-
-
-<section id="install_package" name="Установка пакета Linux">
-<para>
-Для установки модулей njs на Linux могут быть использованы
-<link doc="../linux_packages.xml" id="dynmodules">пакеты</link>:
-<list type="bullet">
-
-<listitem>
-<literal>nginx-module-njs</literal> —
-<link doc="ngx_core_module.xml" id="load_module">динамические</link> модули
-njs
-</listitem>
-
-<listitem>
-<literal>nginx-module-njs-dbg</literal> — debug-символы для
-пакета <literal>nginx-module-njs</literal>
-</listitem>
-
-</list>
-</para>
-
-</section>
-
-
-<section id="install_sources" name="Установка из исходных файлов">
-
-<para>
-<link url="http://hg.nginx.org/njs">Репозиторий</link>
-с исходным кодом njs можно клонировать следующей командой:
-(необходим клиент <link url="https://www.mercurial-scm.org">Mercurial</link>):
-<example>
-hg clone http://hg.nginx.org/njs
-</example>
-Затем модули необходимо собрать с помощью
-конфигурационного параметра <literal>--add-module</literal>:
-<example>
-./configure --add-module=<value>path-to-njs</value>/nginx
-</example>
-Модули также можно собрать как
-<link doc="ngx_core_module.xml" id="load_module">динамические</link>:
-<example>
-./configure --add-dynamic-module=<value>path-to-njs</value>/nginx
-</example>
-</para>
-
-<para>
-Чтобы собрать только <link id="cli">утилиту</link> командной строки njs
-необходимо запустить
-команды <literal>./configure</literal> и <literal>make njs</literal>
-из корневого каталога.
-Утилита доступна как <literal>./build/njs</literal>.
-</para>
-
-</section>
-
-
-<section id="cli" name="Интерфейс командной строки">
-
-<para>
-Создание и отладка njs-скриптов может осуществляться
-в командной строке.
-Утилита командной строки доступна после установки
-<link id="install_package">пакета</link> Linux
-или после сборки из <link id="install_sources">исходных файлов</link>.
-В отличие от njs, запущенном внутри nginx,
-в утилите недоступны объекты nginx
-(<link doc="njs/njs_api.xml" id="http">HTTP</link> и
-<link doc="njs/njs_api.xml" id="stream">Stream</link>).
-<example>
-$ echo "2**3" | njs -
-8
-
-$ njs
->> var o = {a:[]}
-undefined
-
->> JSON.stringify(o, undefined,1)
-{
- "a": [
-
- ]
-}
->>
-</example>
-</para>
-
-</section>
-
-</section>
-
-</article>
--- a/xml/ru/docs/stream/ngx_stream_js_module.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/ru/docs/stream/ngx_stream_js_module.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -9,20 +9,20 @@
 <module name="Модуль ngx_stream_js_module"
         link="/ru/docs/stream/ngx_stream_js_module.html"
         lang="ru"
-        rev="13">
+        rev="14">
 
 <section id="summary">
 
 <para>
 Модуль <literal>ngx_stream_js_module</literal> позволяет задавать
-обработчики на <link doc="../njs_about.xml">njs</link> —
+обработчики на <link doc="../njs/">njs</link> —
 подмножестве языка JavaScript.
 </para>
 
 <para>
 По умолчанию этот модуль не собирается.
 Инструкция по сборке и установке доступны
-<link doc="../njs_about.xml" id="install">здесь</link>.
+<link doc="../njs/index.xml" id="install">здесь</link>.
 </para>
 
 </section>
--- a/xml/ru/index.xml	Tue Oct 02 18:23:39 2018 +0300
+++ b/xml/ru/index.xml	Mon Sep 24 19:10:17 2018 +0300
@@ -8,7 +8,7 @@
 <article name="nginx"
          link="/ru/"
          lang="ru"
-         rev="95">
+         rev="96">
 
 
 <section>
@@ -208,7 +208,7 @@
 </listitem>
 
 <listitem>
-<link doc="docs/njs_about.xml">njs</link>.
+сценарный язык <link doc="docs/njs/index.xml">njs</link>.
 </listitem>
 
 </list>
@@ -335,7 +335,7 @@
 </listitem>
 
 <listitem>
-<link doc="docs/stream/ngx_stream_js_module.xml">njs</link>.
+сценарный язык <link doc="docs/njs/index.xml">njs</link>.
 </listitem>
 
 </list>