Skip to content

General Information

Arne Westphal edited this page Dec 6, 2018 · 3 revisions

General Information

The elearn.js is an independent script meant to simplify the creation of digital papers. Except from jQuery there are no other scripts necessary.

Structure

elearn.js consists of several files. There is the main JavaScript, a style sheet, fonts, a few images and the localization files sorted as follows

  • assets - folder with all assets necessary
    • css - the style sheet (as .scss and .css)
    • font - all fonts
    • img - all images
      • template-media is not part of the base elearn.js
    • js - the elearn.js script and jQuery
    • lang - containing localization files

Testing

There are no automated tests for elearn.js. It was only tested via manual usage. If you want to implement automated tests, feel free to do so.

Changes

The goal is to create software with long term support. There should be no breaking changes at all. Because of that, there might be deprecated functions of multiple names for the same function.

Updating and Plug-Ins

Internal versioning is done manually. The scripts versions are contained in the top comments of elearn.js and elearn.scss (recompile after change to .css) as well as in the variables eLearnJS.VERSION_NR and eLearnJS.VERSION_DATE in elearn.js only.

Usual Workflow

  1. Make some changes to the elearn.js (on develop or feature branch)
  2. Merge changes into master
  3. Update CHANGELOG.md to contain changes with upcoming version number
  4. Update version number and date in described files
  5. Commit git commit -m Update to vX.Y.Z
  6. Tag git version git tag vX.Y.Z
  7. Publish with git push && git push --tags to master
  8. Update other branches with merge/rebase
  9. Update markdown-elearnjs. See the corresponding General Information Wiki page

Step 9 is important so users of the plugins get to use the new version. Since elearn.js is bundled statically, it will not be updated automatically. And this is explicitly wanted, since new versions might break something and should be tested in every step. How to test things in markdown-elearnjs or the actual editor plugins is described in their Wiki pages.

Clone this wiki locally