Skylar

A intelligent software assistant written in Java

logo

Projekt HTML Handbuch PDF Handbuch

     

Entwicklung

Entwicklungsumgebung skylar-client

PROJECT="$HOME/git/skylar"

# install nodejs and npm
apt install nodejs npm

# start nodejs server
    cd $PROJECT/project/skylar-client \
&&  npm start

# build js file
npm run build


Dokumentation HTML - entwicklung

Skylar hat eine mehrsprachige HTML Dokumentation in der Sprache Markdown die mit Jekyll generiert wird.

PROJECT="$HOME/git/skylar"

# open web browser
firefox --private-window http://localhost:4000/en/manual &

# start development ->  page-prefix: /
    cd $PROJECT/docs \
&&  sed -i 's|^page-prefix:.*|page-prefix: /|' _config.yml \
&&  docker-compose up && docker-compose down

# * reload webpage when jekyll finished booting up
# * hit STRG+C to stop jekyll

# deactivate development mode ->  page-prefix: /skylar-the-scholar/
    cd $PROJECT/docs \
&&  sed -i 's|^page-prefix:.*|page-prefix: /skylar-the-scholar/|' _config.yml

Artikel und Jekyll config.yml

PROJECT="$HOME/git/skylar"
# edit documentation
atom $PROJECT/docs/_includes

# changes to _config.yml require docker restart
cd $PROJECT/docs
atom _config.yml
docker-compose restart

Dokumentation PDF - entwicklung

Skylar verwendet die Markdown Dateien der HTML Dokumentation um mit livingfire-docbook ein PDF in Buchqualität zu erzeugen.

PROJECT="$HOME/git/skylar"

# rebuild pdf after Markdown change
    cd $PROJECT/book \
&&  ./buildSklarManual.sh

# edit book
atom $PROJECT/book/book/src/main/documentation

Mehr Informationen hierzu finden sich auf der livingfire-docbook Projekt Seite

Dokumentation API - entwicklung

Die Skylar API wird mit Spring REST Docs dokumentiert

PROJECT="$HOME/git/skylar"
API_PROJECT="$PROJECT/project/skylar-core"
POM_FILE="$API_PROJECT/pom.xml"

# open ascidoc configuration
atom $API_PROJECT/src/main/asciidoc

# show configuration
grep -i -B 1 -A 10 'generate-api-docs-html' $POM_FILE
grep -i -B 1 -A 10 'generate-api-docs-docbook' $POM_FILE

# change pom
eclipse $POM_FILE

# build documentation
cd $API_PROJECT
mvn clean package

Boostrap Themes - entwicklung

Das Webinterface verwendet Bootstrap das durch ein config.json modifiziert werden kann.

PROJECT="$HOME/git/skylar"

# edit config.json
atom $PROJECT/project/skylar-client/public/assets/theme/dark/config.json

Um eine Boostrap Theme .zip Datei zu erhalten muss man das config.json auf die Boostrap customization Webseite hochladen.

Release - entwicklung

Erstellen der Binär Dateien

PROJECT="$HOME/git/skylar"
cd $PROJECT
./container_start.sh build

# test webpage
firefox --private-window "http://skylar.livingfire.de"

# stop Skylar
./container_destroy.sh

API Dokumentation erstellen

cd $PROJECT/project
./mvnw clean install
firefox --private-window "$PROJECT/docs/api/skylar-core/index.html"

Erstellen der HTML Dokumentation

see documentation

Erstellen der PDF Dokumentation

see documentation