8000 GitHub - LiaScript/LiaScript: Interpreter for interactive educational content, written in an extended Markdown format...
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

LiaScript/LiaScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LiaScript Gitter

GitHub contributors GitHub commit activity GitHub repo size

LiaScriptπŸ“πŸš€

Create fully interactive, offline-capable online courses using Markdown – perfect for educators, NGOs, and developers.

Try Live License: BSD3 Made with Markdown GitHub issues Twitter Follow

πŸš€ What is LiaScript?

LiaScript is an open-source interpreter that turns static Markdown files into fully interactive learning experiences – rendered directly in the browser, even offline. It’s built for:

  • πŸŽ“ Educators: Craft structured lessons with quizzes, animations, TTS, and live code.
  • 🌍 NGOs: Distribute multilingual, low-bandwidth-friendly content, globally and for free.
  • πŸ’» Developers: Document APIs or teach programming with executable code and narration.
Hello.LiaScript.mp4

✨ Features

  • βœ… Plain Markdown-compatible with educational extensions
  • ❓ Quizzes, cloze tests, and surveys
  • πŸ—£οΈ Text-to-Speech (TTS) in multiple languages
  • πŸ’» Live Code execution (JavaScript, Python via Pyodide, MicroPython, etc.)
  • πŸ“Š ASCII diagrams, charts, and tables
  • πŸ“² PWA support – works completely offline
  • πŸ“€ Export to PDF, SCORM, IMS
  • πŸ”Œ Plugin system and macros
  • πŸ‘₯ Peer-to-Peer mode for offline-first collaboration
  • much more ...

πŸ§ͺ Get Started in 60 Seconds

  1. Create a Markdown file:

    # Hello LiaScript
    
    {{|>}}
    Welcome to this interactive course.
    
    What is 2 + 2?
    
    - [( )] 3
    - [(X)] 4
    - [( )] 5
  2. Host it (e.g., on GitHub)

    πŸ“¦ Example: https://github.com/yourname/my-course/README.md

  3. Open it in your browser:

    https://liascript.github.io/course/?https://github.com/yourname/my-course/README.md

Alternatively

  1. Open the LiveEditor

  2. Change the example and click on parsing

  3. Export it to GitHub gist, Nostr, or share it directly as a data-URI (only within the URL).

πŸ“š Resources & Showcase

Resource Description
Blog News, features, tutorials, examples and more
LiveEditor Online & browser only editor for LiaScript
Docs Full documentation, syntax, tutorials
YouTube Channel Video guides & examples
Exporter-CLI PDF/SCORM/IMS/WEP/Project exporter
Markdownify JSON -> LiaScript AI-compatible JSON course generator
VSCode Preview Plugin Live Preview courses in VSCode
VSCode Web-Preview Plugin Live Preview courses in VSCode-Web (https://github.dev)
Atom Preview Plugin Live Preview courses in Atom
Development Server Lvve Preview courses with any editor

πŸ‘©β€πŸ’» Join the Community

πŸ’¬ Engage

🌍 For NGOs & OER Projects

We welcome collaborations with:

  • πŸ“š Open Education Initiatives
  • 🌱 Non-profit training programs
  • 🏫 Teachers & universities worldwide

Let’s build a global library of interactive knowledge.

βš™οΈ Dev Tools & Automation

  • Use our Exporter-CLI to export courses to PDF/SCORM/IMS/Index/Web
  • Automate deployment with GitHub Actions (Examples)
  • Convert AI-generated JSON to Markdown using Markdownify

πŸ“œ License

Licensed under the BSD3 License – 100% free and open.

πŸ“£ Stay in Touch


β€œMarkdown is just text – LiaScript turns it into learning.”

Build

Use the following commands to download the LiaScript source-code and to build it locally.

git clone https://github.com/liascript/liascript

cd liascript

npm i

npm run watch  # develop in watch-mode

npm run build  # build to dist

After your first build, you can run the following commands, this will download additional elm-patches and apply them:

git submodule update --init --recursive

cd patches

make

cd .. # go back

rm -rf elm-stuff .parcel-cache # remove all cached stuff

npm run build # force an entire rebuild of the project

This will apply the following four patches:

  • elm-break-dom: allows browser extensions such as screen-readers to change the nodes of the app, without crashing the app

  • elm-patch/url: enables the file-protocol, which is only required when building Desktop-apps

  • elm-patch/dom: enable onclick events as well as innerHTML

  • Dexie: this will allow only LiaScript to access indexedDB, which increases the security, by restricting the access. This way information about user states, visited courses, etc. cannot be leaked or spied by other JavaScript modules.

Preview

If you want to add a preview-link for the course to your site, simply add the following script to the head of your website and place the custom webcomponent preview-lia anyone in your document, with src pointing to your LiaScript course.

<html>
  <head>
    ...
    <!-- add preview-lia tag support to display all course related information -->
    <script
      type="text/javascript"
      src="https://liascript.github.io/course/preview-lia.js"
    ></script>
    ...
  </head>
  <body>
    ...
    <preview-lia
      src="https://raw.githubusercontent.com/liaScript/docs/master/README.md"
    ></preview-lia>
    ...
  </body>
</html>

Badges

Simply replace URL at the end of the snippet below with your desired GitHub repository (and the main README.md of your master-branch will be used) or directly point to any Markdown-file anywhere within the web.

Badges:

  • course:

    LiaScript

    [![LiaScript](https://raw.githubusercontent.com/LiaScript/LiaScript/master/badges/course.svg)](https://LiaScript.github.io/course/?URL)

  • learn more:

    LiaScript

    [![LiaScript](https://raw.githubusercontent.com/LiaScript/LiaScript/master/badges/learn_more.svg)](https://LiaScript.github.io/course/?URL)

About

Interpreter for interactive educational content, written in an extended Markdown format...

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 13

0