Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fengari-lua/fengari-web
Provides everything you need to run Fengari in the browser.
https://github.com/fengari-lua/fengari-web
fengari html lua
Last synced: 43 minutes ago
JSON representation
Provides everything you need to run Fengari in the browser.
- Host: GitHub
- URL: https://github.com/fengari-lua/fengari-web
- Owner: fengari-lua
- License: mit
- Created: 2017-05-14T10:15:18.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-06-23T16:13:02.000Z (over 3 years ago)
- Last Synced: 2024-11-09T00:56:25.525Z (2 days ago)
- Topics: fengari, html, lua
- Language: JavaScript
- Homepage:
- Size: 423 KB
- Stars: 252
- Watchers: 17
- Forks: 18
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/fengari-lua/fengari-web.svg?branch=master)](https://travis-ci.org/fengari-lua/fengari-web)
[![npm](https://img.shields.io/npm/v/fengari-web.svg)](https://npmjs.com/package/fengari-web)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![#fengari on libera.chat](https://img.shields.io/badge/chat-%23fengari-brightgreen)](https://web.libera.chat/?channels=#fengari)# fengari-web
Provides anything you need to run [Fengari](https://fengari.io) in the browser.
## Getting started
### Download
Visit the [GitHub releases page](https://github.com/fengari-lua/fengari-web/releases) and get the latest version.
Alternatively you can [Build](#Building) fengari-web yourself.
### Directly
Load fengari-web in your web page:
```html
```
Now any script of type `application/lua` will be run by fengari:
```html
print("Hello World!")
```
Note that if you use a `src` attribute, it is strongly recommended for it to be [`async`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#attr-async).
### With build process
See [fengari-loader](https://github.com/fengari-lua/fengari-loader/)
## Compatibility
fengari-web should work in all modern browsers.
Verified to work in:
- Chrome >= 38
- Firefox >= 19
- Safari >= 8
- Microsoft IE 11
- Microsoft Edge## API
As well as running `` tags, fengari-web creates a `fengari` global that contains the [core `fengari` API](https://github.com/fengari-lua/fengari#the-js-api) supplemented with:
- `L`: the main `lua_State` (in which script tags are run)
- `interop`: containing the [fengari-interop](https://github.com/fengari-lua/fengari-interop) library
- `load(source, chunkname)`: a function that loads the lua code in `source` with the optional chunk name `chunkname` and returns it as a function.
This function can be used to programmatically run lua code in the main `lua_State` from JavaScript. e.g.
```js
console.log(fengari.load('return 1+1')())
```## Building
```bash
git clone https://github.com/fengari-lua/fengari-web.git
npm install
```This should automatically kick off the build process.
The built files can then be found in the `dist/` directory.If you need to rebuild, run
```bash
npm run build
```Or [use `webpack` directly](https://webpack.js.org/api/cli/).