Elm + Tauri

Introduction

What is Scripta Desktop?

MicroLaTeX document in Scripta Desktop

Setting things up

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
$ cargo tauri init
✔ What is your app name? · Counter
✔ What should the window title be? · Counter
✔ Where are your web assets (HTML/CSS/JS) located, relative to the "<current dir>/src-tauri/tauri.conf.json" file that will be created? · ../src
✔ What is the url of your dev server? · http://localhost:4000
✔ What is your frontend dev command? · sh dev.sh
✔ What is your frontend build command? · sh build.sh
elm make src/Main.elm --output=public/main.js
└── src-tauri
├── Cargo.toml
├── build.rs
├── icons
│ ├── 128x128.png
│ ...
│ └── icon.png
├── src
│ └── main.rs
└── tauri.conf.json
{ "build": {
"beforeBuildCommand": "sh build.sh",
"beforeDevCommand": "sh dev.sh",
"devPath": "http://localhost:4000",
"distDir": "../public",
"withGlobalTauri": true
},
...
# folder: public
index.html
main.js
<.js and .css files, font folders, etc>

Development

Tauri version of the counter app.
Scripta version of the Elm counter app

Distribution

# zip.sh
cp -r /Applications/scripta-desktop.app .
zip -r scripta-desktop.zip scripta-desktop.app
rm -r scripta-desktop.app

Next

Acknowledgements

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store