kishtarn555 / ReKarel

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rework of omegaup's Karel.js.

It's main reason is so it works in mobile, currently it doesn't because

  • CodeMirror 5 isn't mobile compatible
  • WorldRenderer scroll doesn't work on all devices
  • It is not responsive, toolbar is gone in mobile

This new version includes:

  • Now with bootstrap 5
  • Now with CodeMirror 6

Features from Karel.js

Migrations

  • Migrated to Bootstrap 5.0.2
  • Migrated to JQuery 3.6.1
  • Migrated to CodeMirror 6
  • Migrated Split.js

Deprecated

  • Removed Karel Ruby as it didn't worked and it seemed to be in route of deprecation.

Mobile

  • Supports touch control on both views.
  • UI changes to one better suited for small screens, similar to "Karel blue", aka Karel.exe
  • CodeEditor maybe edited without writing.

Quality of live

  • Settings that allow to set:
    • Prefered programming language (default is auto as Karel.js)
      • If set, syntax higlighting and compile will always try that language.
    • The view (force one view independent of screen size)
    • Code Font size
  • Hotkeys
    • Ctrl+K Decreases editor's font.
    • Ctrl+L Increases editor's font.
  • Added the ability to zoom in and out of the world.
  • Native scrolling with scrollbars for the world renderer.
    • The previous scroll was hard to use imo.
  • Added the ability to specify the name of the file to be downloaded
  • Added clean button to remove old messages.
  • "Are you sure?" before reseting code
  • "Are you sure?" before reseting world
  • Added icons to Karel position.

World Editor

Reworked world editor.

Now it is more similar to Google's spreadsheet

  • World edition is based on cell selection and a toolbar.

About

License:MIT License


Languages

Language:JavaScript 73.6%Language:HTML 15.7%Language:TypeScript 8.6%Language:Yacc 1.7%Language:CSS 0.3%