AssemblyScript's website and documentation.
The site is built with VuePress and reuses its default theme to ease upgrading to newer versions.
The more important files are:
Markdown files can make use of a custom editor component using the editor
language tag, like so:
```editor
#!optimize=size&runtime=none&noAssert&explicitStart&enable=simd,reference-types
export function add(a: i32, b: i32): i32 {
return a + b
}
#!html
<script type="module">
const exports = await instantiate(await compile(), { /* imports */ })
console.log(exports.add(1, 2))
</script>
```
The first line is an optional shebang indicating selected compiler options. Available options are:
string
speed
, size
and none
string
full
, half
, stub
and none
.integer
integer
string
Math=JSMath
string
sign-extension
, bulk-memory
, simd
, threads
and reference-types
.The current source and associated compiler options can be serialized into a base64 blob this way. For example, when the 🔗 button is clicked, document.location.hash
is updated with that blob and the then-sharable link is copied to clipboard.
To work on the site locally, install the dependencies and start a development server serving at localhost:8080:
npm install
npm start
To build the site to dist
, i.e. to verify that it works as expected:
npm run build
Distribution files can also be served instead of using the development server with:
npm run serve
The page is automatically deployed on pushes to the repository, plus at least once a day to sync contributors and sponsors.