You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: document/README.md
+95Lines changed: 95 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,3 +21,98 @@ To build everything and update [webassembly.github.io/spec](https://webassembly.
21
21
make publish
22
22
```
23
23
Please make sure to only use that once a change has approval.
24
+
25
+
## Step by step guide to building the spec
26
+
27
+
### Prerequisites
28
+
29
+
You will need `python3.7`, and `pip`. `pip` should come with Python, if not follow [these installation instructions for `pip`](https://pip.pypa.io/en/stable/installing/), or check your system package manager for `pip3`.
30
+
31
+
> Important: you will need the version of pip that works with `python3.7`.
32
+
33
+
34
+
Use something like [`pipenv`](https://pipenv.pypa.io/) to keep your system installation of Python clean.
35
+
36
+
```
37
+
pip install pipenv
38
+
pipenv --python 3.7
39
+
pipenv shell
40
+
```
41
+
42
+
Install Python dependencies:
43
+
44
+
```
45
+
pip install Sphinx==2.4.4
46
+
```
47
+
48
+
### Checking out the repository
49
+
50
+
Make sure this repository was cloned with `--recursive`:
If you have already cloned but without `--recursive`, you can delete and re-clone, or `cd` into `spec` and run:
57
+
58
+
```
59
+
git submodule update --init --recursive
60
+
```
61
+
62
+
The rest of these instructions assume you are in the directory where is README is:
63
+
64
+
```
65
+
cd spec/document
66
+
```
67
+
68
+
### Building the multi-page HTML document
69
+
70
+
You can now build the [multi-page html document](https://webassembly.github.io/spec/core/):
71
+
72
+
```
73
+
make -C core html
74
+
```
75
+
76
+
### Building the single-page HTML document
77
+
78
+
To build the [single-page W3C version](https://webassembly.github.io/spec/core/bikeshed/), there are more dependencies to install. First, get [Bikeshed](https://github.com/tabatkins/bikeshed):
You will also need `npm` and `yarn` for all the LaTeX goodness. `npm` might already be available on your system, you can also use something like [`nvm`](https://github.com/nvm-sh/nvm) to prevent messing with system packages:
88
+
89
+
```
90
+
npm install -g yarn
91
+
cd document
92
+
make -C core bikeshed
93
+
```
94
+
95
+
### Building the PDF
96
+
97
+
To build the [PDF](https://webassembly.github.io/spec/core/_download/WebAssembly.pdf), you will need `texlive-full`, install it using your system package manager:
98
+
99
+
```
100
+
apt install texlive-full
101
+
make -C core pdf
102
+
```
103
+
104
+
### Building the JavaScript Embedding API
105
+
106
+
To build the [JavaScript Embedding API](https://webassembly.github.io/spec/js-api/index.html), you will need `bikeshed` as describe in the section [Building the single-page HTML document](#building-the-single-page-html-document):
107
+
108
+
```
109
+
make -C js-api
110
+
```
111
+
112
+
### Building the Web Embedding API
113
+
114
+
To build the [Web Embedding API](https://webassembly.github.io/spec/web-api/index.html), you will need `bikeshed` as describe in the section [Building the single-page HTML document](#building-the-single-page-html-document):
0 commit comments