https://github.com/assemblyscript/website
AssemblyScript's website and documentation.
https://github.com/assemblyscript/website
assemblyscript documentation website
Last synced: 3 months ago
JSON representation
AssemblyScript's website and documentation.
- Host: GitHub
- URL: https://github.com/assemblyscript/website
- Owner: AssemblyScript
- Created: 2020-06-04T14:01:05.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2025-09-28T02:19:05.000Z (3 months ago)
- Last Synced: 2025-09-28T04:12:52.919Z (3 months ago)
- Topics: assemblyscript, documentation, website
- Language: HTML
- Homepage: https://www.assemblyscript.org
- Size: 2.14 MB
- Stars: 62
- Watchers: 6
- Forks: 91
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
AssemblyScript's Website
========================
[](https://github.com/AssemblyScript/website/actions?query=workflow%3ADeploy)
The site is built with [VuePress](https://vuepress.vuejs.org/) and reuses its default theme to ease upgrading to newer versions.
The more important files are:
* [src/**/*.md](./src)
Documentation and site contents, i.e. what one would typically modify when extending the documentation.
* [src/.vuepress/sidebar.js](./src/.vuepress/sidebar.js)
Sidebar contents.
* [src/.vuepress/nav.js](./src/.vuepress/nav.js)
Top-navigation contents.
* [src/.vuepress/redirects](./src/.vuepress/redirects)
Redirect map of (re)moved pages to new locations.
* [src/.vuepress/public/](./src/.vuepress/public)
Assets folder for images etc.
* [src/.vuepress/public/sponsors](./src/.vuepress/public/sponsors)
Sponsor logo overrides (file name is collective name).
Editor component
----------------
Markdown files can make use of a custom [editor component](./src/.vuepress/public/editor.html) 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
const exports = await instantiate(await compile(), { /* imports */ })
console.log(exports.add(1, 2))
```
````
The first line is an optional shebang indicating selected compiler options. Available options are:
* **optimize** = `string`
Optimization preset to use. Valid presets are `speed`, `size` and `none`
* **noAssert**
Replaces assertions with just their value without trapping.
* **debug**
Enables debug information in emitted binaries.
* **runtime** = `string`
Specifies the runtime variant to include in the program. Valid variants are `full`, `half`, `stub` and `none`.
* **noExportMemory**
Does not export the memory to the host.
* **importMemory**
Imports the memory from the host.
* **exportTable**
Exports the function table to the host.
* **importTable**
Imports the function table from the host.
* **explicitStart**
Exports an explicit start function to call.
* **memoryBase** = `integer`
Sets the start offset of emitted memory segments.
* **tableBase** = `integer`
Sets the start offset of emitted table elements.
* **use** = `string`
Comma separated list of global aliases, e.g. to switch the default 'Math' implementation used: `Math=JSMath`
* **enable** = `string`
Comma-separated list of future WebAssembly features to enable. Valid features are `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.
Building
--------
To work on the site locally, install the dependencies and start a development server serving at [localhost:8080](http://localhost:8080/):
```sh
npm install
npm start
```
To build the site to `dist`, i.e. to verify that it works as expected:
```sh
npm run build
```
Distribution files can also be served instead of using the development server with:
```sh
npm run serve
```
The page is automatically deployed on pushes to the repository, plus at least once a day to sync contributors and sponsors.