🖥️ Koala is a web-based, open source code editor for the Ideoxan Website.
This repository features the OSS version of the Koala editor that is used on the Ideoxan Website for lesson completion and course activities. Often times, the phrases "Ideoxan Editor" and "Koala" are used interchangeably. Koala is simply just a nickname/code word for the Ideoxan editor and is only used for this repository.
The editor has many features, yet its light and simple. It has a tabbed interface at the top for all of the files which are held virtually within the memory. It also contains a customizable viewport that can be used to display a terminal, a website, or anything else. The lesson guide is simply a markdown document that is loaded from the course that displays helpful information needed to complete lessons. At the bottom of this lesson guide is where the lesson tasks are located.
Every part of the editor is connected to one another. For example, the tasks section in the lesson guide is updated whenever both the viewport and the code are updated.
Internally, Koala uses the Ace Editor to power the code editor. From there, multiple other libraries are used for rendering the viewport, rendering the lesson guides, saving the data to your accounts, and completing a course.
The release schedule for Koala is simple. The main
branch is considered the bleeding edge of the release cycle and includes all changes to the codebase. These changes are then individually reviewed and pushed to the prod
branch every month which is then synced with the main repository.
In it's current state, the editor can not be run as a standalone program or website. It relies on input from the server, and therefore can not run without it. If you'd like to run the editor, visit the main repo.
However, if you'd like to try and port this to electron/nwjs, you are more than welcome to open a PR or contact us
If you would like to contribute to this project, please read the Contributing Guidelines!
While this repository as a whole is licensed under the MIT License, keep in mind that this does not mean that all content is under said license. Certain documents and media included or referenced to may be licensed differently, restricted/copyrighted, or may not be licensed at all.
This project is maintained and governed in accordance with the project's official Code of Conduct. Agreement to its terms and conditions, along with Ideoxan's Official Terms of Service, Ideoxan's Privacy Policy and the included license (MIT) is required to contribute to this organization's project.