robvandenbogaard / karmamake Goto Github PK
View Code? Open in Web Editor NEWRuby script to create a HTML5 Karma lesson from a human-readable text file specification and a lesson template
Ruby script to create a HTML5 Karma lesson from a human-readable text file specification and a lesson template
Inspired by the Karma project at http://karma.sugarlabs.org/ Karma lessons should be easy to make. Especially the ones that are very similar to others. Let's have a templating system, and very readable lesson specifications. Share your thoughts! Everything to create lessons is in the 'source' directory. The created lessons will end up in the 'lessons' directory. For every lesson content directory in 'source/content' the make.rb tool reads in the script file (script.yaml). In the script you specify the lesson format and style to use. Those are read from 'source/formats' and 'source/styles' respectively. Executing the Ruby script source/make.rb in the source directory generates the lessons. You can view a lesson by clicking the index.html file in any of the generated lesson directories. Rob van den Bogaard, 2011-01-18 ==== REDESIGN THOUGHTS ==== /lessons --> output for complete lessons /source/storyboards --> text scripts for lesson outlines /source/content --> text scripts for learning content /source/interaction --> javascript interaction library, html entry point(s) /source/style --> svg/html/css designs example: /source/style/daddy duck/ contains: markup for entry point storyboard: start: interaction: explanation when: next: find the gem find the gem: interaction: rpg seek when: found: make sums make sums: interaction: fill blanks when: ready: show score show score: interaction: score board when: next: start content: title: Multiplication style: Daddy duck start: text: In this lesson we will explore the wonders of multiplication. lesson specification text script learning content text script storyboard text script: creates an interactive story by defining a flow of interactions lesson constructor ruby script: generates lessons by reading templates and filling in blanks interaction component javascript: defines an interaction between the player and the lesson audio-visual design svg/html/css/image/font/sound files: provides template or scene to put the interaction in and style them use placeholders everywhere: - values from content get inserted in interaction script by element id - interaction components get inserted into style templates by interaction name and element id
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.