jsteuer
2019-07-05 aa512b362ac0f52f17527ba0c2181bd6446c1ad9
add images
3 files modified
2 files added
37 ■■■■■ changed files
CHANGELOG.md 7 ●●●●● patch | view | raw | blame | history
README.md 28 ●●●● patch | view | raw | blame | history
media/usage_author.gif patch | view | raw | blame | history
media/usage_tool_developer.gif patch | view | raw | blame | history
package.json 2 ●●● patch | view | raw | blame | history
CHANGELOG.md
@@ -1,23 +1,30 @@
# Changelog
Änderungen der API werden hier dokumentiert.
## [Unreleased]
### Added
### Changed
### Fixed
### Removed
## [1.1.0] - 2019-06-05
### Added
-   Beispiele, siehe `./examples/` 
-   `MC.ide.navigator.navigateToExercise(file,forceOpen)` um zu einer MathCoach-Aufgabe 
    zu navigieren. Somit muss das Werkzeug keine Exercise-Links erzeugen können.
-   `MC.isReady()` um zu prüfen, ob die Verbindung zur IDE besteht
### Fixed
-   Bessere Dokumentation der API
-   Beispiele in der API Dokumentation hinzugefügt
## [1.0.0] - 2019-06-04 
### Added
-   Erste Version der API
README.md
@@ -1,19 +1,15 @@
 
# MathCoach IDE API
In diesem Paket ist die öffentliche Schnittstelle zur MathCoach Entwicklungsumgebung (IDE)
definiert. Sowohl die IDE selbst, als auch alle externen Werkzeuge, die
mit der IDE interagieren sollen, müssen diese Schnittstelle verwenden:
definiert. Mithilfe dieser Schnittstelle können externe Werkzeuge (z.B. Editoren) erstellt werden.
Für den Anwender stehen diese Werkzeuge dann komfortabel - in die IDE integriert - zur Verfügung.
- Die IDE implementiert die API Schnittstellen und stellt eine Bibliothek (`ide-lib.js`) bereit
- Externe Werkzeuge können diese Bibliothek einbinden und so auf Features der IDE zugreifen
![Demo](media/usage_author.gif)
## Entwicklung externer Werkzeuge
-   Externe Werkzeuge müssen unter der Domain von MathCoach erreichbar sein. Zur Entwicklungszeit legt
    man das Werkzeug dazu im www-Verzeichnis ab.
-   Die von der IDE bereitgestellte Bibliothek muss eingebunden werden 
@@ -29,12 +25,17 @@
Für kleiner Werkzeuge bietet es sich an im WWW-Verzeichnis zu entwickeln  (z.B. 
`myTool/tool.html` und `myTool/tool.js`). Die MathCoach-IDE stellt Autovervollständigung beim
Editieren der `tool.js`-Datei zur Verfügung. Da es sich um eine JavaScript-Datei handelt, 
ist keine Typsicherheit gegeben.
ist keine Typsicherheit gegeben. Das Werkzeug muss lokal in die IDE integriert werden, siehe
weiter unten.
![Demo](media/usage_tool_developer.gif)
#### Größere Werkzeuge
Für größere Werkzeuge sollte ein Build-System wie [webpack](https://webpack.js.org/) 
oder [PARCEL](https://parceljs.org/) in Kombination mit 
[TypeScript](https://www.typescriptlang.org/) verwendet werden.
[TypeScript](https://www.typescriptlang.org/) verwendet werden. Das Werkzeug muss nach dem
Build-Prozess in das WWW-Verzeichnis kopiert und ebenfalls lokal in die IDE integriert werden, siehe
weiter unten.
Die MathCoach-API kann auch als npm-Package eingebunden werden, sodass eine typsichere 
@@ -44,7 +45,7 @@
    {
        ...
        "devDependencies": {
            "@mathcoach/ide-api": "git+https://newton.htwsaar.de/gitblit/r/mathcoach/mathcoach-ide-api.git#1.0.0"
            "@mathcoach/ide-api": "git+https://newton.htwsaar.de/gitblit/r/mathcoach/mathcoach-ide-api.git#1.1.0"
        },
        ...
    }
@@ -52,7 +53,8 @@
Wie man der Git-Repo URL ansieht, werden Git-Tags verwendet um eine 
Versionierung [(Semantic Versioning)](https://semver.org/lang/de/)
der API zu erreichen. Lässt man die Versionierung weg, wird die 
aktuellste Version verwendet.
aktuellste Version verwendet. (Siehe Gitblit um verfügbare Versionen
einzusehen)
Zertifikat von Newton hinzufügen, damit npm auf das Repository zugreifen kann.
media/usage_author.gif
media/usage_tool_developer.gif
package.json
@@ -13,7 +13,7 @@
  "scripts": {
    "clean": "rimraf dist/ && rimraf docs/",
    "build": "npm run clean  && npm run build-docs",
    "build-docs": "typedoc mathcoach-api.d.ts --out docs/ --mode file --theme minimal --includeDeclarations --excludeExternals"
    "build-docs": "typedoc mathcoach-api.d.ts --out docs/ --mode file --theme minimal --includeDeclarations --excludeExternals --media ./media"
  },
  "author": "jsteuer",
  "license": ""