Skip to content

ITK-Leantime/leantime-timetable

Repository files navigation

Time table plugin

A plugin for registrering time in Leantime.

Development

Clone this repository into your Leantime plugins folder:

git clone https://github.com/ITK-Leantime/leantime-timetable.git app/Plugins/TimeTable

Install the plugin through Leantime in your web browser.

The install process symlinks the built file dist/timeTable.js with public/dist/js/timeTable.js in leantime.

Run this to watch files

docker compose run --rm php npm install
docker compose run --rm php npm run dev

Run composer install

docker run --interactive --rm --volume ${PWD}:/app itkdev/php8.3-fpm:latest composer install

Composer normalize

docker run --rm --volume ${PWD}:/app itkdev/php8.3-fpm:latest composer normalize

Coding standards

Check and apply with phpcs

docker run --interactive --rm --volume ${PWD}:/app itkdev/php8.3-fpm:latest composer coding-standards-check
docker run --interactive --rm --volume ${PWD}:/app itkdev/php8.3-fpm:latest composer coding-standards-apply

Check and apply with prettier

docker run --rm -v "$(pwd):/work" tmknom/prettier:latest --check assets
docker run --rm -v "$(pwd):/work" tmknom/prettier:latest --write assets

Check and apply markdownlint

docker run --rm --volume "$PWD:/md" itkdev/markdownlint '**/*.md'
docker run --rm --volume "$PWD:/md" itkdev/markdownlint '**/*.md' --fix

Blade lint

docker run --rm --volume "$PWD:/app" -w /app shufo/blade-formatter:1.11.11 Templates/*.blade.php --write
docker run --rm --volume "$PWD:/app" -w /app shufo/blade-formatter:1.11.11 Templates/*.blade.php --check-formatted

Check with shellcheck

docker run --rm --volume "$PWD:/app" --workdir /app peterdavehello/shellcheck shellcheck bin/create-release
docker run --rm --volume "$PWD:/app" --workdir /app peterdavehello/shellcheck shellcheck bin/deploy
docker run --rm --volume "$PWD:/app" --workdir /app peterdavehello/shellcheck shellcheck bin/local.create-release

Code analysis

# This analysis takes a bit more than the default allocated ram.
docker run --interactive --rm --volume ${PWD}:/app --env PHP_MEMORY_LIMIT=256M itkdev/php8.3-fpm:latest composer code-analysis

Test release build

docker compose build && docker compose run --rm php bin/create-release dev-test

The create-release script replaces @@VERSION@@ in register.php and Services/TimeTable.php with the tag provided (in the above it is dev-test).

Deploy

The deploy script downloads a release from Github and unzips it. The script should be passed a tag as argument. In the process the script deletes itself, but the script finishes because it is still in memory.

About

This plugin provides an alternative way to log time in Leantime. A timetable with many features!

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •