Skip to content
This repository has been archived by the owner on Aug 2, 2020. It is now read-only.
/ cargo-ruukh-ui Public archive

A cargo subcommand to build & run Ruukh projects

License

Notifications You must be signed in to change notification settings

pepsighan/cargo-ruukh-ui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cargo Ruukh

A cargo subcommand to build & run Ruukh projects.

!! THIS IS HIGHLY UNSTABLE !!

Requirement

wasm-bindgen-cli is required by this CLI, so install it first if you do not have it already.

$ rustup target add wasm32-unknown-unknown
$ cargo +nightly install wasm-bindgen-cli

Installation

$ cargo install cargo-ruukh

Updation

$ cargo install -f cargo-ruukh

Build

Build in debug mode.

$ cargo ruukh build 

Build in release mode.

$ cargo ruukh build --release 

Run

Run the project in browser.

$ cargo ruukh run

Run the project in browser with watch mode.

$ cargo ruukh run --watch

Help

To see other options available in this CLI.

$ cargo ruukh -h

Template

The CLI uses a predefined template of html to run the project in the browser. You may override this template by placing index.html within the project folder. The template looks like this internally. Override this if you need it.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Your name</title>
</head>
<body>
    <div id="app"></div>
    <script src="static/$PACKAGE_NAME_JS$"></script>
    <script>
        wasm_bindgen("static/$PACKAGE_NAME_WASM$").then(() => wasm_bindgen.run());
    </script>
</body>
</html>

As you can see there are two extrapolation variables provided $PACKAGE_NAME_JS$ & $PACKAGE_NAME_WASM$.