Skylar

A intelligent software assistant written in Java

logo

Project HTML Manual PDF Manual

     

Development

Development environment 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


Documentation HTML - development

Skylar has a multilingual HTML documentation written in Markdown and generated with Jekyll.

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

Articles and 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

Documentation PDF - development

Skylar uses the Markdown files of the HTML documentation to build a high quality PDF with livingfire-docbook.

PROJECT="$HOME/git/skylar"

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

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

More information can be found on the livingfire-docbook project page

Documentation API - development

The Skylar API is documented via Spring REST Docs

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 - development

The webinterface uses Bootstrap which can be customized by altering a config.json.

PROJECT="$HOME/git/skylar"

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

Just upload the file to the Boostrap customization web page and download the theme .zip file.

Release - development

Build binary files

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

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

# stop Skylar
./container_destroy.sh

Create API documentation

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

Build HTML documentation

see documentation

Build PDF documentation

see documentation