Skip to content

Commit cef85f0

Browse files
committedApr 15, 2017
add an intro page
1 parent da60e54 commit cef85f0

File tree

4 files changed

+88
-154
lines changed

4 files changed

+88
-154
lines changed
 

‎docs/api/index.html

+46-150
Original file line numberDiff line numberDiff line change
@@ -14,156 +14,52 @@
1414
</head>
1515
<body class="index top">
1616
<h1></h1>
17-
<ul class="indexlist">
18-
<li><a href="index_types.html">Index of types</a></li>
19-
<li><a href="index_extensions.html">Index of extensions</a></li>
20-
<li><a href="index_values.html">Index of values</a></li>
21-
<li><a href="index_modules.html">Index of modules</a></li>
22-
<li><a href="index_module_types.html">Index of module types</a></li>
23-
</ul>
24-
<br/><br>
25-
<table class="indextable">
26-
<tr><td class="module"><a href="Bs.html">Bs</a></td><td><div class="info">
27-
place holder for node bindings
28-
</div>
29-
</td></tr>
30-
<tr><td class="module"><a href="Bs_dyn.html">Bs_dyn</a></td><td><div class="info">
31-
An experimentation of runtime types in OCaml,
32-
unstable API, only for internal use
33-
</div>
34-
</td></tr>
35-
<tr><td class="module"><a href="Bs_dyn_lib.html">Bs_dyn_lib</a></td><td><div class="info">
36-
experimental API
37-
</div>
38-
</td></tr>
39-
<tr><td class="module"><a href="Dom.html">Dom</a></td><td></td></tr>
40-
<tr><td class="module"><a href="Js.html">Js</a></td><td><div class="info">
41-
The Entry point to the JavaScript API
42-
</div>
43-
</td></tr>
44-
<tr><td class="module"><a href="Js_array.html">Js_array</a></td><td><div class="info">
45-
JavaScript Array API
46-
</div>
47-
</td></tr>
48-
<tr><td class="module"><a href="Js_boolean.html">Js_boolean</a></td><td><div class="info">
49-
Contains functions for dealing with JavaScript booleans
50-
</div>
51-
</td></tr>
52-
<tr><td class="module"><a href="Js_cast.html">Js_cast</a></td><td><div class="info">
53-
Safe cast between OCaml values which share the same
54-
runtime representation
55-
</div>
56-
</td></tr>
57-
<tr><td class="module"><a href="Js_date.html">Js_date</a></td><td><div class="info">
58-
JavaScript Date API
59-
</div>
60-
</td></tr>
61-
<tr><td class="module"><a href="Js_dict.html">Js_dict</a></td><td><div class="info">
62-
Dictionary type (ie an '{ }' JS object).
63-
</div>
64-
</td></tr>
65-
<tr><td class="module"><a href="Js_exn.html">Js_exn</a></td><td><div class="info">
66-
Used by the compiler internally
67-
</div>
68-
</td></tr>
69-
<tr><td class="module"><a href="Js_float.html">Js_float</a></td><td><div class="info">
70-
Provides functions for inspecting and manipulating <code class="code">float</code>s
71-
</div>
72-
</td></tr>
73-
<tr><td class="module"><a href="Js_global.html">Js_global</a></td><td><div class="info">
74-
Contains functions available in the global scope (<code class="code">window</code> in a browser context)
75-
</div>
76-
</td></tr>
77-
<tr><td class="module"><a href="Js_int.html">Js_int</a></td><td><div class="info">
78-
Provides functions for inspecting and manipulating <code class="code">int</code>s
79-
</div>
80-
</td></tr>
81-
<tr><td class="module"><a href="Js_int64.html">Js_int64</a></td><td><div class="info">
82-
</div>
83-
</td></tr>
84-
<tr><td class="module"><a href="Js_json.html">Js_json</a></td><td><div class="info">
85-
Efficient JSON encoding using JavaScript API
86-
</div>
87-
</td></tr>
88-
<tr><td class="module"><a href="Js_math.html">Js_math</a></td><td><div class="info">
89-
JavaScript Math API
90-
</div>
91-
</td></tr>
92-
<tr><td class="module"><a href="Js_nativeint.html">Js_nativeint</a></td><td><div class="info">
93-
</div>
94-
</td></tr>
95-
<tr><td class="module"><a href="Js_null.html">Js_null</a></td><td><div class="info">
96-
Provides functionality for dealing with the <code class="code">'a Js.null</code> type
97-
</div>
98-
</td></tr>
99-
<tr><td class="module"><a href="Js_null_undefined.html">Js_null_undefined</a></td><td><div class="info">
100-
Contains functionality for dealing with values that can be both <code class="code">null</code> and <code class="code">undefined</code>
101-
</div>
102-
</td></tr>
103-
<tr><td class="module"><a href="Js_obj.html">Js_obj</a></td><td><div class="info">
104-
Provides functions for inspecting and maniplating native JavaScript objects
105-
</div>
106-
</td></tr>
107-
<tr><td class="module"><a href="Js_primitive.html">Js_primitive</a></td><td><div class="info">
108-
</div>
109-
</td></tr>
110-
<tr><td class="module"><a href="Js_promise.html">Js_promise</a></td><td><div class="info">
111-
Specialized bindings to Promise, note for simplicity,
112-
this binding does not track the error type, it treat it as an opaque type
113-
<pre class="codepre"><code class="code"> </code></pre>
114-
</div>
115-
</td></tr>
116-
<tr><td class="module"><a href="Js_re.html">Js_re</a></td><td><div class="info">
117-
Provides bindings for JavaScript Regular Expressions
118-
</div>
119-
</td></tr>
120-
<tr><td class="module"><a href="Js_string.html">Js_string</a></td><td><div class="info">
121-
JavaScript String API
122-
</div>
123-
</td></tr>
124-
<tr><td class="module"><a href="Js_typed_array.html">Js_typed_array</a></td><td><div class="info">
125-
JavaScript Typed Array API
126-
</div>
127-
</td></tr>
128-
<tr><td class="module"><a href="Js_types.html">Js_types</a></td><td><div class="info">
129-
</div>
130-
</td></tr>
131-
<tr><td class="module"><a href="Js_undefined.html">Js_undefined</a></td><td><div class="info">
132-
Provides functionality for dealing with the <code class="code">'a Js.undefined</code> type
133-
</div>
134-
</td></tr>
135-
<tr><td class="module"><a href="Js_unsafe.html">Js_unsafe</a></td><td><div class="info">
136-
</div>
137-
</td></tr>
138-
<tr><td class="module"><a href="Node.html">Node</a></td><td><div class="info">
139-
place holder for node bindings
140-
</div>
141-
</td></tr>
142-
<tr><td class="module"><a href="Node_buffer.html">Node_buffer</a></td><td><div class="info">
143-
Node Buffer API
144-
</div>
145-
</td></tr>
146-
<tr><td class="module"><a href="Node_child_process.html">Node_child_process</a></td><td><div class="info">
147-
Node Child Process API
148-
</div>
149-
</td></tr>
150-
<tr><td class="module"><a href="Node_fs.html">Node_fs</a></td><td><div class="info">
151-
Node FS API
152-
</div>
153-
</td></tr>
154-
<tr><td class="module"><a href="Node_module.html">Node_module</a></td><td><div class="info">
155-
Node Module API
156-
</div>
157-
</td></tr>
158-
<tr><td class="module"><a href="Node_path.html">Node_path</a></td><td><div class="info">
159-
Node Path API
160-
</div>
161-
</td></tr>
162-
<tr><td class="module"><a href="Node_process.html">Node_process</a></td><td><div class="info">
163-
The process.uptime() method returns the number of seconds
164-
the current Node.js process has been running.)
17+
<div class="not-examples">
18+
<h1 id="1_LibrariesshippedwithBuckleScript">Libraries shipped with BuckleScript</h1>
19+
<p>
20+
21+
BuckleScript is mostly a compiler, but it does ship some libraries for users' convenience
22+
<p>
23+
24+
<h2 id="2_4libraries">4 libraries</h2>
25+
<p>
26+
27+
<a href="Js.html"><code class="code">Js</code></a>
28+
<p>
29+
30+
This library are mostly bindings to JS, it should work with both NodeJS and Browser.
31+
It is strongly recommended to use qualified name instead of flatten module name.
32+
For example
33+
<pre class="codepre"><code class="code"> [| 1; 2 ; 3 |]
34+
|&gt; Js.Array.map (fun x -&gt; x + 1 )
35+
|&gt; Js.log
36+
</code></pre>
37+
<p>
38+
39+
<a href="Node.html"><code class="code">Node</code></a>
40+
<p>
41+
42+
This library contains bindings to NodeJS, it is still work in progress, use it with care,
43+
and we may break API backward compatiblity in the future.
44+
<p>
45+
46+
<a href="Dom.html"><code class="code">Dom</code></a>
47+
<p>
48+
49+
This library are for DOM API, currently it only defines some
50+
types for diferent packages to talk to each other
51+
<p>
52+
53+
<a href="Bs.html"><code class="code">Bs</code></a>
54+
<p>
55+
56+
This namespace is reserved for providing some utilities in the future
57+
<p>
58+
59+
BuckleScript also shipped the vanilla OCaml standard library.<br>
60+
<div class="tag"><b>See also</b> <a href="https://caml.inria.fr/pub/docs/manual-ocaml-4.02/stdlib.html">OCaml standard library</a><br>
61+
</div></div>
62+
<div class="examples">
16563
</div>
166-
</td></tr>
167-
</table>
16864
</body>
16965
</html>

‎docs/api/intro.txt

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
{1 Libraries shipped with BuckleScript}
3+
4+
BuckleScript is mostly a compiler, but it does ship some libraries for users' convenience
5+
6+
{2 4 libraries}
7+
8+
{!Js}
9+
10+
This library are mostly bindings to JS, it should work with both NodeJS and Browser.
11+
It is strongly recommended to use qualified name instead of flatten module name.
12+
For example
13+
{[
14+
[| 1; 2 ; 3 |]
15+
|> Js.Array.map (fun x -> x + 1 )
16+
|> Js.log
17+
]}
18+
19+
{!Node}
20+
21+
This library contains bindings to NodeJS, it is still work in progress, use it with care,
22+
and we may break API backward compatiblity in the future.
23+
24+
{!Dom}
25+
26+
This library are for DOM API, currently it only defines some
27+
types for diferent packages to talk to each other
28+
29+
{!Bs}
30+
31+
This namespace is reserved for providing some utilities in the future
32+
33+
BuckleScript also shipped the vanilla OCaml standard library.
34+
@see <https://caml.inria.fr/pub/docs/manual-ocaml-4.02/stdlib.html> OCaml standard library
35+

‎jscomp/Makefile

+4-3
Original file line numberDiff line numberDiff line change
@@ -561,12 +561,13 @@ clean:
561561
DOCS_SOURCES+=$(shell ls runtime/*.ml*)
562562
DOCS_SOURCES+=$(shell ls others/*.ml*)
563563

564-
odoc_gen:
564+
../odoc_gen/generator.cmxs :../odoc_gen/generator.ml
565565
ocamlopt.opt -I +compiler-libs -I +ocamldoc -shared -o ../odoc_gen/generator.cmxs ../odoc_gen/generator.ml
566566

567-
docs: odoc_gen
567+
docs: ../odoc_gen/generator.cmxs
568568
make -C bin bsppx.exe
569-
ocamldoc.opt -nostdlib -I stdlib -g ../odoc_gen/generator.cmxs -charset utf-8 -css-style ../../odoc_gen/style.css -sort -ppx bin/bsppx.exe -I others -I runtime -d ../docs/api $(DOCS_SOURCES)
569+
node ../scripts/doc_gen.js
570+
# ocamldoc.opt -nostdlib -I stdlib -g ../odoc_gen/generator.cmxs -charset utf-8 -css-style ../../odoc_gen/style.css -sort -ppx bin/bsppx.exe -I others -I runtime -d ../docs/api $(DOCS_SOURCES)
570571

571572
top: bs_hash.cma ext.cma
572573
repl: top

‎scripts/doc_gen.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ var others_files =
3333
var odoc_gendir = path.join(__dirname,'..', 'odoc_gen')
3434
var bsppx = path.join(__dirname,'..','jscomp','bin','bsppx.exe')
3535
var api_doc_dir = path.join(__dirname,'..','docs','api')
36-
var prefix_flags = `ocamldoc.opt -w -40 -nostdlib -I ${stdlib_dir} -I ${others_dir} -I ${runtime_dir} -g ${odoc_gendir}/generator.cmxs -charset utf-8 -sort -ppx ${bsppx} -d ${api_doc_dir}`
36+
var intro = path.join(__dirname,'..','docs','api','intro.txt')
37+
38+
var prefix_flags = `ocamldoc.opt -w -40 -nostdlib -I ${stdlib_dir} -I ${others_dir} -I ${runtime_dir} -g ${odoc_gendir}/generator.cmxs -charset utf-8 -intro ${intro} -sort -ppx ${bsppx} -d ${api_doc_dir}`
3739

3840

3941
// It seems ocamldoc does need require all files for indexing modules, WTF ocamldoc !!

0 commit comments

Comments
 (0)
Please sign in to comment.