โ [DEPRECATED] Please use https://github.com/imba/imba.io
This is a quick guide to the Imba language and web development platform.
Imba is a general purpose programming language that compiles to JavaScript and is optimized for writing performant front end web applications.
System packages:
Install the dependencies for the Sphinx documentation generator:
- Go into the repository directory
- Run
pip install -r requirements.txt
Install the dependencies for the playground:
- Go into the repository directory
- Run
npm install
To build the documentation, go to the project directory and run
npm run build:docs
.
The compiled documentation should be present in site/index.html
. Open
that file in your browser.
You can also read the source Markdown files directly.
The playground is a simple Imba module that is set up to compile using Webpack. The idea is to open the compiled code and the source side-by-side and compare the source to the output.
To start the automatic compilation, run npm run watch
. The compiled
JavaScript will appear in dist/client.js
.
To start the development web server, run: npm run start
.
NOTE: The development server will not compile your playground code into
dist/client.js
, so if you wish to keep track of the compiler output, you
should run both watch
and start
scripts
docs/
- documentation source (index.md
is the starting point)build/
- generated HTML for the documentation (appears after runningnpm run build:docs
)code/
- playground codedist/
- compiled JavaScript for the playground
If you wish to contribute to this project, you may find it helpful to know
that the project uses MkDocs. The
npm run watch:docs
command will spin up a local server on port 8000
that
will update as you edit.
The documentation is published to GitHub Pages with npm run gh-publish
.