{"id":13776443,"url":"https://github.com/liascript/liascript","last_synced_at":"2026-04-02T13:30:07.031Z","repository":{"id":39877995,"uuid":"220053126","full_name":"LiaScript/LiaScript","owner":"LiaScript","description":"Interpreter for interactive educational content, written in an extended Markdown format...   ","archived":false,"fork":false,"pushed_at":"2025-05-14T22:08:29.000Z","size":33312,"stargazers_count":231,"open_issues_count":34,"forks_count":32,"subscribers_count":9,"default_branch":"development","last_synced_at":"2025-05-15T22:04:39.211Z","etag":null,"topics":["education","elm","liascript","markdown","oer"],"latest_commit_sha":null,"homepage":"https://LiaScript.github.io","language":"Elm","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LiaScript.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.paypal.me/LiaScript"]}},"created_at":"2019-11-06T17:30:11.000Z","updated_at":"2025-05-14T22:07:19.000Z","dependencies_parsed_at":"2024-11-07T10:23:47.662Z","dependency_job_id":"39fd2b0c-802a-4a83-8772-7a114d2b47c0","html_url":"https://github.com/LiaScript/LiaScript","commit_stats":{"total_commits":3025,"total_committers":14,"mean_commits":"216.07142857142858","dds":0.4634710743801653,"last_synced_commit":"f0a322271e3d35cd5d7606ab39d12f01399c70fd"},"previous_names":[],"tags_count":186,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiaScript%2FLiaScript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiaScript%2FLiaScript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiaScript%2FLiaScript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LiaScript%2FLiaScript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LiaScript","download_url":"https://codeload.github.com/LiaScript/LiaScript/tar.gz/refs/heads/development","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254430326,"owners_count":22069907,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["education","elm","liascript","markdown","oer"],"created_at":"2024-08-03T18:00:25.945Z","updated_at":"2026-01-06T12:16:20.605Z","avatar_url":"https://github.com/LiaScript.png","language":"Elm","readme":"\u003c!--\n\nauthor:   André Dietrich\nemail:    LiaScript@web.de\nversion:  0.16.3\nlanguage: en\nnarrator: UK English Male\n\ncomment:  Main LiaScript Parser project, written in elm.\n\n--\u003e\n\n[![LiaScript](https://raw.githubusercontent.com/LiaScript/LiaScript/master/badges/course.svg)](https://LiaScript.github.io/course/?https://github.com/LiaScript/docs) [![Gitter](https://badges.gitter.im/LiaScript/community.svg)](https://gitter.im/LiaScript/community?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge)\n\n![GitHub contributors](https://img.shields.io/github/contributors/liascript/liascript)\n![GitHub commit activity](https://img.shields.io/github/commit-activity/m/liascript/liascript)\n![GitHub repo size](https://img.shields.io/github/repo-size/liascript/liascript)\n\n# LiaScript📝🚀\n\n**Create fully interactive, offline-capable online courses using Markdown – perfect for educators, NGOs, and developers.**\n\n[![Try Live](https://img.shields.io/badge/Try%20Live-Demo%20in%20Browser-brightgreen)](https://liascript.github.io/LiveEditor/?/show/file/https://raw.githubusercontent.com/LiaScript/Hello-LiaScript/refs/heads/main/README.md)\n[![License: BSD3](https://img.shields.io/badge/license-BSD3-blue.svg)](LICENSE)\n[![Made with Markdown](https://img.shields.io/badge/Made%20with-Markdown-blueviolet)](https://github.com/LiaScript)\n[![GitHub issues](https://img.shields.io/github/issues/LiaScript/LiaScript)](https://github.com/LiaScript/LiaScript/issues)\n[![Twitter Follow](https://img.shields.io/twitter/follow/LiaScript)](https://twitter.com/LiaScript)\n\n\n## 🚀 What is LiaScript?\n\n**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:\n\n- 🎓 **Educators**: Craft structured lessons with quizzes, animations, TTS, and live code.\n- 🌍 **NGOs**: Distribute multilingual, low-bandwidth-friendly content, globally and for free.\n- 💻 **Developers**: Document APIs or teach programming with executable code and narration.\n\nhttps://github.com/user-attachments/assets/7cab2d61-5858-4b62-87bf-0598e44af2e7\n\n\n## ✨ Features\n\n- ✅ **Plain Markdown-compatible** with educational extensions\n- ❓ **Quizzes, cloze tests, and surveys**\n- 🗣️ **Text-to-Speech (TTS)** in multiple languages\n- 💻 **Live Code execution** (JavaScript, Python via Pyodide, MicroPython, etc.)\n- 📊 **ASCII diagrams, charts, and tables**\n- 📲 **PWA support** – works completely offline\n- 📤 **Export to PDF, SCORM, IMS**\n- 🔌 **Plugin system and macros**\n- 👥 **Peer-to-Peer mode** for offline-first collaboration\n- much more ...\n\n## 🧪 Get Started in 60 Seconds\n\n1. Create a Markdown file:\n\n   ```markdown\n   # Hello LiaScript\n\n   {{|\u003e}}\n   Welcome to this interactive course.\n\n   What is 2 + 2?\n\n   - [( )] 3\n   - [(X)] 4\n   - [( )] 5\n   ```\n\n2. Host it (e.g., on GitHub)\n\n   📦 Example: https://github.com/yourname/my-course/README.md\n\n3. Open it in your browser:\n\n   `https://liascript.github.io/course/?https://github.com/yourname/my-course/README.md`\n\n### Alternatively\n\n1. Open the [LiveEditor](https://liascript.github.io/LiveEditor/?/show/code/H4sIAAAAAAAAA1NW8EjNyclX8MlMDE4uyiwo4eKqrq6xq63lCk/NSc7PTVUoyVcoycgsVsjMK0ktSkwuySxLVUjOLy0qTtXj4grPSCxRAEoaKWgrGNlzcekqRGsoaMYqGINZEUCWCVzMFADtbaoFbAAAAA==)\n\n2. Change the example and click on parsing\n\n3. Export it to GitHub gist, Nostr, or share it directly as a data-URI (only within the URL).\n\n## 📚 Resources \u0026 Showcase\n\n| Resource                                                                                            | Description                                             |\n| --------------------------------------------------------------------------------------------------- | ------------------------------------------------------- |\n| [Blog](https://LiaScript.github.io)                                                                 | News, features, tutorials, examples and more            |\n| [LiveEditor](https://liascript.github.io/LiveEditor/examples.html)                                  | Online \u0026 browser only editor for LiaScript              |\n| [Docs](https://liascript.github.io/course/?https://github.com/LiaScript/docs)                       | Full documentation, syntax, tutorials                   |\n| [YouTube Channel](https://www.youtube.com/@liascript4180)                                           | Video guides \u0026 examples                                 |\n| [Exporter-CLI](https://github.com/LiaScript/LiaScript-Exporter)                                     | PDF/SCORM/IMS/WEP/Project exporter                      |\n| [Markdownify JSON -\u003e LiaScript](https://github.com/LiaScript/markdownify)                           | AI-compatible JSON course generator                     |\n| [VSCode Preview Plugin](https://liascript.github.io/blog/install-visual-studio-code-with-liascript) | Live Preview courses in VSCode                          |\n| [VSCode Web-Preview Plugin](https://liascript.github.io/vscode-web)                                 | Live Preview courses in VSCode-Web (https://github.dev) |\n| [Atom Preview Plugin](https://liascript.github.io/blog/install-atom-with-liascript)                 | Live Preview courses in Atom                            |\n| [Development Server](https://liascript.github.io/development-server)                                | Lvve Preview courses with any editor                    |\n\n---\n\n## 👩‍💻 Join the Community\n\n### 💬 Engage\n\n* Ask questions in [GitHub Discussions](https://github.com/LiaScript/LiaScript/discussions)\n* See what others are building in [LiaScript Courses](https://github.com/topics/liascript-course)\n* Create your own extensions and share them [LiaScript Templates](https://github.com/topics/liascript-template)\n* Found a bug or have an idea? → [Open an issue](https://github.com/LiaScript/LiaScript/issues)\n* Extend the internationalization: [Create or correct a Translation](https://github.com/liaScript/lia-localization/locale)\n\n## 🌍 For NGOs \u0026 OER Projects\n\nWe welcome collaborations with:\n\n* 📚 Open Education Initiatives\n* 🌱 Non-profit training programs\n* 🏫 Teachers \u0026 universities worldwide\n\n\u003e Let’s build a global library of interactive knowledge.\n\n## ⚙️ Dev Tools \u0026 Automation\n\n* Use our [Exporter-CLI](https://liascript.github.io/exporter/) to export courses to PDF/SCORM/IMS/Index/Web\n* Automate deployment with GitHub Actions [(Examples)](https://liascript.github.io/categories/automation)\n* Convert AI-generated JSON to Markdown using [Markdownify](https://github.com/LiaScript/markdownify)\n\n## 📜 License\n\nLicensed under the BSD3 License – 100% free and open.\n\n## 📣 Stay in Touch\n\n\n* ✉️ Newsletter: [Typeform](https://liascript.github.io/newsletter)\n* 💬 Twitter: [@LiaScript](https://twitter.com/LiaScript)\n* 📫 Email: [LiaScript@web.de](mailto:liascript@web.de)\n\n---\n\n*“Markdown is just text – LiaScript turns it into learning.”*\n\n\n## Build\n\nUse the following commands to download the LiaScript source-code and to build it locally.\n\n```bash\ngit clone https://github.com/liascript/liascript\n\ncd liascript\n\nnpm i\n\nnpm run watch  # develop in watch-mode\n\nnpm run build  # build to dist\n```\n\nAfter your first build, you can run the following commands, this will download additional\nelm-patches and apply them:\n\n```bash\ngit submodule update --init --recursive\n\ncd patches\n\nmake\n\ncd .. # go back\n\nrm -rf elm-stuff .parcel-cache # remove all cached stuff\n\nnpm run build # force an entire rebuild of the project\n```\n\nThis will apply the following four patches:\n\n- elm-break-dom: allows browser extensions such as screen-readers to change the\n  nodes of the app, without crashing the app\n\n- elm-patch/url: enables the file-protocol, which is only required when building\n  Desktop-apps\n\n- elm-patch/dom: enable onclick events as well as innerHTML\n\n- Dexie: this will allow only LiaScript to access indexedDB, which increases the\n  security, by restricting the access. This way information about user states,\n  visited courses, etc. cannot be leaked or spied by other JavaScript modules.\n\n## Preview\n\nIf you want to add a preview-link for the course to your site, simply add the\nfollowing script to the head of your website and place the custom webcomponent\n`preview-lia` anyone in your document, with `src` pointing to your LiaScript\ncourse.\n\n```html\n\u003chtml\u003e\n  \u003chead\u003e\n    ...\n    \u003c!-- add preview-lia tag support to display all course related information --\u003e\n    \u003cscript\n      type=\"text/javascript\"\n      src=\"https://liascript.github.io/course/preview-lia.js\"\n    \u003e\u003c/script\u003e\n    ...\n  \u003c/head\u003e\n  \u003cbody\u003e\n    ...\n    \u003cpreview-lia\n      src=\"https://raw.githubusercontent.com/liaScript/docs/master/README.md\"\n    \u003e\u003c/preview-lia\u003e\n    ...\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n\n## Badges\n\nSimply replace `URL` at the end of the snippet below with your desired GitHub\nrepository (and the main README.md of your master-branch will be used) or\ndirectly point to any Markdown-file anywhere within the web.\n\n**Badges:**\n\n- course:\n\n  [![LiaScript](https://raw.githubusercontent.com/LiaScript/LiaScript/master/badges/course.svg)](https://LiaScript.github.io/course/?https://github.com/LiaScript/docs)\n\n  `[![LiaScript](https://raw.githubusercontent.com/LiaScript/LiaScript/master/badges/course.svg)](https://LiaScript.github.io/course/?URL)`\n\n- learn more:\n\n  [![LiaScript](https://raw.githubusercontent.com/LiaScript/LiaScript/master/badges/learn_more.svg)](https://LiaScript.github.io/course/?https://raw.githubusercontent.com/LiaScript/docs/master/README.md)\n\n  `[![LiaScript](https://raw.githubusercontent.com/LiaScript/LiaScript/master/badges/learn_more.svg)](https://LiaScript.github.io/course/?URL)`\n","funding_links":["https://www.paypal.me/LiaScript"],"categories":["Languages"],"sub_categories":["Markup Languages"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliascript%2Fliascript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliascript%2Fliascript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliascript%2Fliascript/lists"}