This is a template project for making an Elixir Kino Smart Cell module for use in Livebook. Uses the following stack:
kino_bundler
packageFor an example of a project built using this template, you can refer to Merquery, which uses the Vite Vue Plugin
.
├── README.md
├── assets -------------------------> Includes JS development files (can be excluded in release)
│ ├── package.json
│ ├── postcss.config.js
│ ├── src
│ │ ├── main.css
│ │ └── main.js
│ ├── tailwind.config.js ---------> Tailwind Config including the Livebook color palette
│ └── vite.config.js -------------> Vite config specific to building for a Kino.SmartCell
├── lib ----------------------------> Contains Elixir files (/build folder will be generated in this dir)
│ ├── application.ex -------------> Registers smart cell(s) to be exposed
│ └── kino_smartcell_template.ex -> Contains smart cell implementation
└── mix.exs
kino_smartcell_template
and KinoSmartCellTemplate
to your application's namelib/assets
directory run npm i
to install dependencies.lib/assets
run npm run dev
to start a watchful Vite build. Now when you make changes they will
automatically be rebuilt by Vite. Note that you will still need to reload the smart cell from Livebook to register the changes to the buildFrom within the assets folder run npm build
and the minified/bundled releases will be put into
/lib/build/
and be built for production.