๐ฎ scriptorium
Mix.install([
{:kino, "~> 0.14.2"},
])
Application.put_env(:livebook, :deployment, [
title: "scriptorium",
public_access: true
])
port = System.get_env("LIVEBOOK_PORT", "8080")
hostname = System.get_env("LIVEBOOK_HOSTNAME", "localhost")
base_url = "http://#{hostname}:#{port}/apps"
โจWhat is scriptorium?โจ
Kino.Markdown.new("""
### ๐ Learn

`scriptorium` is a step-by-step self-paced academy for learning Chainbase Network's manuscripts.
It uses the power of [Elixir](https://elixir-lang.org/) and [Livebook](https://livebook.dev/) to provide an immersive experience.
#### YOU will learn the following:
* What is a Manuscript ๐
* How to Deploy / Publish Manuscripts ๐
* Mastery of the CLI / GUI ๐ก๏ธ
* How to Test / Debug Manuscripts ๐
* Common Manuscript Use Cases ๐ผ
* Advanced Techniques for Using Them ๐ง
### ๐คท๐ฟโโ๏ธ Why Create This ?
Because you asked for it! Literally. At each live coding session on our discord, community members asked where they could go to get started with manuscripts that would give them step-by-step knowledge. `scriptorium` is the answer you seek!
### ๐ง How Does It Work?
The `scriptorium` is the mystical workshop for training the next of manuscript scholars.
1. **Livebook Format** - each chapter is its own respective `.livemd` file and can be viewed on any hosted instance of livebook. a quick preview is possible with any `.md` reader, such as the one on github, but it will not render interactive components
2. **Chapter by Chapter** - each chapter walks you through a given concept area or focus. the first focuses are introductory and intended to give you the vocabulary and conceptual framework for later areas.
3. **Hands-on Learning** - livebook's interactive format will keep you engaged throughout. no more idle reading. you will be executing code and interacting with manuscripts directly from `scriptorium`
4. **Open Box Approach** - as opposed to a closed system or learning platform, all source code, all examples, everything is made transparent to you. you can even modify things on the fly and see how they execute differently!
### โ๏ธ Why Use Elixir?
Elixir's syntax is readable plus it has many positive features for data: immutable data structures, pattern matching, enum and stream modules, lightweight concurrency, data pipelines, pure functionalism, and easy data visualization.
Our `manuscript-core` makes the claim that you can do things in ANY language! So why not choose Elixir?
""")
Kino.Markdown.new("""
## ๐ Simple Definitions
๐ `manuscript` - refers to the hosted/published dataset definitions which point, using SQL, to specific data to be served regarding specific protocols
โพ `network` - refers to *Chainbase Network*, an omnichain data network serving raw, decoded, and abstracted data from over ~200 web3 protocols
ๅญฆ `scriptorium` - refers to this interactive livebook, a series of `.livemd` files that contain interactive tutorials designed to bring developers up to speed on using manuscripts to query the network
""")
next_link = "#{base_url}/scriptorium-network"
prev_link = "#{base_url}/scriptorium-index"
Kino.Markdown.new("""
## ๐งญ Navigation
โ๏ธ To view the source code for this project visit https://github.com/KagemniKarimu/scriptorium
**[โ Previous: Welcome Page / Index](#{prev_link}) | [Next: Understanding Chainbase Network โ](#{next_link})**
""")