Powered by AppSignal & Oban Pro
Would you like to see your link here? Contact us

๐Ÿ”ฎ scriptorium

livebook/introduction.livemd

๐Ÿ”ฎ 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

![](files/scriptorium_intro.png)
`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})**
""")