diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index ec4a6d06a665d8b82615b6e0f39f0b42c3086d5a..00331b5d29df95555cee0c7efd2066d0b18ca77c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,10 +1,10 @@ // For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at: // https://github.com/microsoft/vscode-dev-containers/tree/v0.117.1/containers/docker-existing-dockerfile { - "name": "Castopod Host dev", + "name": "Castopod dev", "dockerComposeFile": ["../docker-compose.yml", "./docker-compose.yml"], "service": "app", - "workspaceFolder": "/castopod-host", + "workspaceFolder": "/castopod", "postCreateCommand": "composer install && npm install && npm run build:static", "postStartCommand": "crontab ./crontab && cron && php spark serve --host 0.0.0.0", "postAttachCommand": "crontab ./crontab && service cron reload", diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index c7323a5b52e8aa2da8a508c59e60cd4d031520c8..ec3827cf90ca1b3d3ea778c1345276a6053f70b2 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -4,7 +4,7 @@ services: volumes: # Mounts the project folder to '/workspace'. While this file is in .devcontainer, # mounts are relative to the first file in the list, which is a level up. - - .:/castopod-host:cached + - .:/castopod:cached # Overrides default command so things don't shut down after the process ends. command: /bin/sh -c "while sleep 1000; do :; done" diff --git a/.env.example b/.env.example index 77e5ebb870a463b62c18725478452299ca8140c6..578e0e0cb3c69c8180fd490f1d15cc33c753e3fa 100644 --- a/.env.example +++ b/.env.example @@ -2,7 +2,7 @@ # Example Environment Configuration file # # This file can be used as a starting point for -# your Castopod Host instance settings. +# your Castopod instance settings. # # For manual configuration: # - copy this file's contents to a file named `.env` diff --git a/.gitignore b/.gitignore index d0547825f3588c87a2200678069e04bf94bae24f..8d6df8ef943f69ff3855c9dff831960782a13f66 100644 --- a/.gitignore +++ b/.gitignore @@ -173,7 +173,7 @@ mariadb phpmyadmin sessions -# Castopod Host bundle & packages -castopod-host/ -castopod-host-*.zip -castopod-host-*.tar.gz +# Castopod bundle & packages +castopod/ +castopod-*.zip +castopod-*.tar.gz diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 753e3d626f9256b90d00fa1a7c4d3694d161b984..7a9f6df4e7d748f8522c5f7a37c96842a8403781 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,10 +1,11 @@ -image: code.podlibre.org:5050/podlibre/castopod-host:latest +image: code.castopod.org:5050/ad-aures/castopod:latest stages: - prepare - quality - bundle - release + - deploy php-dependencies: stage: prepare @@ -76,15 +77,15 @@ bundle: # make scripts/bundle.sh executable - chmod +x ./scripts/bundle.sh - # bundle castopod-host with commit ref as version + # bundle castopod with commit ref as version - ./scripts/bundle.sh ${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA} dependencies: - php-dependencies - js-dependencies artifacts: - name: "castopod-host-${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA}" + name: "castopod-${CI_COMMIT_REF_SLUG}_${CI_COMMIT_SHORT_SHA}" paths: - - castopod-host + - castopod except: - main - beta @@ -113,3 +114,12 @@ release: - main - beta - alpha + +documentation: + stage: deploy + trigger: + include: docs/.gitlab-ci.yml + strategy: depend + only: + changes: + - docs/**/* diff --git a/.gitlab/issue_templates/default.md b/.gitlab/issue_templates/default.md new file mode 100644 index 0000000000000000000000000000000000000000..e806744e04b9078719373a95c580a0de89bbb6c8 --- /dev/null +++ b/.gitlab/issue_templates/default.md @@ -0,0 +1,17 @@ +### Before submitting an issue + +1. **Use the issue search** — check if the issue has already been + reported. + +2. **Check if the issue has been fixed** — try to reproduce it using the + latest release. + +3. **Isolate the problem** — ideally create a + [reduced test case](https://css-tricks.com/reduced-test-cases/) and a live + example. + +4. **Select an issue template** — choose a template from `bug` or + `feature-request` and fill out the info you deem necessary. The more context + we get, the easier it is to implement the feature or fix the bug you report. + +Check out the [CONTRIBUTING manual](../../CONTRIBUTING.md) for more info. diff --git a/.releaserc.json b/.releaserc.json index e5e8267a66437d7e693160ef2f0b87522b55203f..a9deb7730d7ad9c3f7f6d16968089d555ecd75ce 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -1,8 +1,14 @@ { "branches": [ "main", - { "name": "alpha", "prerelease": true }, - { "name": "beta", "prerelease": true } + { + "name": "alpha", + "prerelease": true + }, + { + "name": "beta", + "prerelease": true + } ], "plugins": [ "@semantic-release/commit-analyzer", @@ -30,15 +36,15 @@ [ "@semantic-release/gitlab", { - "gitlabUrl": "https://code.podlibre.org/", + "gitlabUrl": "https://code.castopod.org/", "assets": [ { - "path": "castopod-host-*.zip", - "label": "Castopod Host Package (zip)" + "path": "castopod-*.zip", + "label": "Castopod Package (zip)" }, { - "path": "castopod-host-*.tar.gz", - "label": "Castopod Host Package (tar.gz)" + "path": "castopod-*.tar.gz", + "label": "Castopod Package (tar.gz)" } ] } diff --git a/.rsync-filter b/.rsync-filter index 444fbb3e71851feec351e9c0b84d55f355d9b915..71257245bf0b068be6712f80ae0fce407d0ae614 100644 --- a/.rsync-filter +++ b/.rsync-filter @@ -1,4 +1,4 @@ -# rsync filter rules to copy required files for Castopod Host's bundle +# rsync filter rules to copy required files for Castopod's bundle - app/Views/_assets/ + app/*** @@ -10,6 +10,4 @@ + .env.example + LICENSE.md + README.md -+ INSTALL.md -+ UPDATE.md - ** diff --git a/AUTHORS.md b/AUTHORS.md index 137ec91410ee1d6531d1787f4c51889433b56333..a716c5bafdced6ee146ab63fd972ff96b1bc1350 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -1,4 +1,4 @@ # Authors -- [Benjamin Bellamy](https://code.podlibre.org/benjamin) <ben@podlibre.org> -- [Yassine Doghri](https://code.podlibre.org/yassine) <yassine@podlibre.org> +- [Benjamin Bellamy](https://code.castopod.org/benjamin) <ben@castopod.org> +- [Yassine Doghri](https://code.castopod.org/yassine) <yassine@castopod.org> diff --git a/CHANGELOG.md b/CHANGELOG.md index 88275091017c69c97dfbfaa578f783a51575d672..1a8c8afe823aae9455ec1652800c77801c73060a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,103 +1,103 @@ -# [1.0.0-beta.8](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.7...v1.0.0-beta.8) (2022-02-10) +# [1.0.0-beta.8](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-beta.7...v1.0.0-beta.8) (2022-02-10) ### Features - **podcast-form:** add new_feed_url field to set an url when changing domain or host - ([e7eec48](https://code.podlibre.org/podlibre/castopod-host/commit/e7eec48e7bc06a9aa907db01ed3e5b536e7dd8be)) + ([e7eec48](https://code.castopod.org/ad-aures/castopod/commit/e7eec48e7bc06a9aa907db01ed3e5b536e7dd8be)) -# [1.0.0-beta.7](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2022-02-05) +# [1.0.0-beta.7](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-beta.6...v1.0.0-beta.7) (2022-02-05) ### Bug Fixes - **activitypub:** allow cors on get requests for routes exposing acitivitypub objects - ([2f24809](https://code.podlibre.org/podlibre/castopod-host/commit/2f2480998f9abb34f02ab186c65d462a74b4e640)) + ([2f24809](https://code.castopod.org/ad-aures/castopod/commit/2f2480998f9abb34f02ab186c65d462a74b4e640)) - **fediverse:** set model instances as non shared to prevent overlapping - ([91128fa](https://code.podlibre.org/podlibre/castopod-host/commit/91128fad7a68e1f4e5acacba90b6899288699e61)) + ([91128fa](https://code.castopod.org/ad-aures/castopod/commit/91128fad7a68e1f4e5acacba90b6899288699e61)) - **htaccess:** add ? after index.php in RewriteRule - ([d9d139e](https://code.podlibre.org/podlibre/castopod-host/commit/d9d139eefa03c28d1a064b3b32c9036193497e57)), - closes [#152](https://code.podlibre.org/podlibre/castopod-host/issues/152) + ([d9d139e](https://code.castopod.org/ad-aures/castopod/commit/d9d139eefa03c28d1a064b3b32c9036193497e57)), + closes [#152](https://code.castopod.org/ad-aures/castopod/issues/152) ### Features - **home:** sort podcasts by recent activity + add dropdown menu to choose between sorting options - ([7b89da6](https://code.podlibre.org/podlibre/castopod-host/commit/7b89da6106c150708782d39ed2742fe416c41e89)), - closes [#164](https://code.podlibre.org/podlibre/castopod-host/issues/164) + ([7b89da6](https://code.castopod.org/ad-aures/castopod/commit/7b89da6106c150708782d39ed2742fe416c41e89)), + closes [#164](https://code.castopod.org/ad-aures/castopod/issues/164) -# [1.0.0-beta.6](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2022-02-03) +# [1.0.0-beta.6](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-beta.5...v1.0.0-beta.6) (2022-02-03) ### Bug Fixes - **activitypub:** add conditions for possibly missing actor properties + add user-agent to requests - ([8fbf948](https://code.podlibre.org/podlibre/castopod-host/commit/8fbf948fbba22ffd33966a1b2ccd42e8f7c1f8a2)) + ([8fbf948](https://code.castopod.org/ad-aures/castopod/commit/8fbf948fbba22ffd33966a1b2ccd42e8f7c1f8a2)) - **activitypub:** add target actor id to like / announce activities to send directly to note's actor - ([962dd30](https://code.podlibre.org/podlibre/castopod-host/commit/962dd305f5d3f6eadc68f400e0e8f953827fe20d)) + ([962dd30](https://code.castopod.org/ad-aures/castopod/commit/962dd305f5d3f6eadc68f400e0e8f953827fe20d)) - **activitypub:** add target_actor_id for create activity to broadcast post reply - ([0128a21](https://code.podlibre.org/podlibre/castopod-host/commit/0128a21ec55dcc0a2fbf4081dadb4c4737735ba1)) + ([0128a21](https://code.castopod.org/ad-aures/castopod/commit/0128a21ec55dcc0a2fbf4081dadb4c4737735ba1)) - **http-signature:** update SIGNATURE_PATTERN allowing signature keys to be sent in any order - ([b7f285e](https://code.podlibre.org/podlibre/castopod-host/commit/b7f285e4e24247fedb94f030356fa6f291f525cc)) + ([b7f285e](https://code.castopod.org/ad-aures/castopod/commit/b7f285e4e24247fedb94f030356fa6f291f525cc)) - **install:** set message block on forms to show error messages - ([3a0a20d](https://code.podlibre.org/podlibre/castopod-host/commit/3a0a20d59cdae7f166325efb750eaa6e9800ba6e)), - closes [#157](https://code.podlibre.org/podlibre/castopod-host/issues/157) + ([3a0a20d](https://code.castopod.org/ad-aures/castopod/commit/3a0a20d59cdae7f166325efb750eaa6e9800ba6e)), + closes [#157](https://code.castopod.org/ad-aures/castopod/issues/157) - **markdown-editor:** remove unnecessary buttons for podcast and episode editors + add extensions - ([9c4f60e](https://code.podlibre.org/podlibre/castopod-host/commit/9c4f60e00bcbd4f784f12d2a6fed357ad402ee2e)) + ([9c4f60e](https://code.castopod.org/ad-aures/castopod/commit/9c4f60e00bcbd4f784f12d2a6fed357ad402ee2e)) - **podcast-activity:** check if transcript and chapters are set before including them in audio - ([5855a25](https://code.podlibre.org/podlibre/castopod-host/commit/5855a250936f91641efef77650890a18d8e9917f)) + ([5855a25](https://code.castopod.org/ad-aures/castopod/commit/5855a250936f91641efef77650890a18d8e9917f)) - **podcast:** use markdown description value for editor + set prose class to about description - ([f304d97](https://code.podlibre.org/podlibre/castopod-host/commit/f304d97b14e0ef383509cb3bba50beb55bf701ba)), - closes [#156](https://code.podlibre.org/podlibre/castopod-host/issues/156) + ([f304d97](https://code.castopod.org/ad-aures/castopod/commit/f304d97b14e0ef383509cb3bba50beb55bf701ba)), + closes [#156](https://code.castopod.org/ad-aures/castopod/issues/156) -# [1.0.0-beta.5](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2022-01-31) +# [1.0.0-beta.5](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-beta.4...v1.0.0-beta.5) (2022-01-31) ### Bug Fixes - **analytics:** set initial value for duration and bandwidth - ([ee50539](https://code.podlibre.org/podlibre/castopod-host/commit/ee5053959154b1a2e5fbe4b43162968425206a26)) + ([ee50539](https://code.castopod.org/ad-aures/castopod/commit/ee5053959154b1a2e5fbe4b43162968425206a26)) -# [1.0.0-beta.4](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.3...v1.0.0-beta.4) (2022-01-29) +# [1.0.0-beta.4](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-beta.3...v1.0.0-beta.4) (2022-01-29) ### Bug Fixes - **housekeeping:** replace the use of GLOB_BRACE with looping over file extensions - ([42d92d0](https://code.podlibre.org/podlibre/castopod-host/commit/42d92d0c8dfe0c567c28f5bfdda129890fa4c2ec)), - closes [#154](https://code.podlibre.org/podlibre/castopod-host/issues/154) + ([42d92d0](https://code.castopod.org/ad-aures/castopod/commit/42d92d0c8dfe0c567c28f5bfdda129890fa4c2ec)), + closes [#154](https://code.castopod.org/ad-aures/castopod/issues/154) - **housekeeping:** set default sizes value + ignore illegal IFD size error to proceed with script - ([f21ca57](https://code.podlibre.org/podlibre/castopod-host/commit/f21ca57603cfa503699b7e09a155e18d876d65fe)) + ([f21ca57](https://code.castopod.org/ad-aures/castopod/commit/f21ca57603cfa503699b7e09a155e18d876d65fe)) ### Features - **housekeeping:** add clear_cache option to flush redis or files cache - ([99bfac0](https://code.podlibre.org/podlibre/castopod-host/commit/99bfac0b428a4bc6fe8bfd10a355dfd93f42ba5c)) + ([99bfac0](https://code.castopod.org/ad-aures/castopod/commit/99bfac0b428a4bc6fe8bfd10a355dfd93f42ba5c)) -# [1.0.0-beta.3](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2022-01-28) +# [1.0.0-beta.3](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2022-01-28) ### Bug Fixes - revert to beta.1's codeigniter4 version - ([e831411](https://code.podlibre.org/podlibre/castopod-host/commit/e83141127080ccde44987195db46ba97fd6cc2ca)) + ([e831411](https://code.castopod.org/ad-aures/castopod/commit/e83141127080ccde44987195db46ba97fd6cc2ca)) -# [1.0.0-beta.2](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2022-01-28) +# [1.0.0-beta.2](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2022-01-28) ### Bug Fixes - **migrations:** ignore invalid utf8 chars for media files metadata + update transcript parser - ([45e8f99](https://code.podlibre.org/podlibre/castopod-host/commit/45e8f99e753cc02ec105e6f4d7fe026a205724f8)) + ([45e8f99](https://code.castopod.org/ad-aures/castopod/commit/45e8f99e753cc02ec105e6f4d7fe026a205724f8)) - **video-clips:** set audio codec to aac, fixing audio issue on twitter - ([3c22c68](https://code.podlibre.org/podlibre/castopod-host/commit/3c22c68ee81f77bd7fcf7e2739ee6af016407843)) + ([3c22c68](https://code.castopod.org/ad-aures/castopod/commit/3c22c68ee81f77bd7fcf7e2739ee6af016407843)) - **video-clips:** set longer podcast and episode lengths for squared format - ([c030113](https://code.podlibre.org/podlibre/castopod-host/commit/c0301134c2048dc29eb2b995e4d5c22c49444100)) + ([c030113](https://code.castopod.org/ad-aures/castopod/commit/c0301134c2048dc29eb2b995e4d5c22c49444100)) # 1.0.0-beta.1 (2022-01-23) @@ -105,1589 +105,1589 @@ - **a11y:** replace active tab color to contrast with background on podcast and episode pages - ([f3785e1](https://code.podlibre.org/podlibre/castopod-host/commit/f3785e140147d085a2fb6a62ded87cdfe360f442)) + ([f3785e1](https://code.castopod.org/ad-aures/castopod/commit/f3785e140147d085a2fb6a62ded87cdfe360f442)) - **activity-pub:** cache issues when navigating to activity stream urls - ([7bcbfb3](https://code.podlibre.org/podlibre/castopod-host/commit/7bcbfb32f7cca08d111be46c7f1640e372d4a4b0)) + ([7bcbfb3](https://code.castopod.org/ad-aures/castopod/commit/7bcbfb32f7cca08d111be46c7f1640e372d4a4b0)) - **activity-pub:** get database records using new model instances - ([92536dd](https://code.podlibre.org/podlibre/castopod-host/commit/92536ddb3812214a9c5682b92e547e5c1998a5d7)) + ([92536dd](https://code.castopod.org/ad-aures/castopod/commit/92536ddb3812214a9c5682b92e547e5c1998a5d7)) - **activitypub:** set created_by to null for reblog if no user + update episode oembed data - ([209dfbd](https://code.podlibre.org/podlibre/castopod-host/commit/209dfbd134e1a2cc02e7c24c158d786fa4dda61d)) + ([209dfbd](https://code.castopod.org/ad-aures/castopod/commit/209dfbd134e1a2cc02e7c24c158d786fa4dda61d)) - add admin-audio-player to vite config to have admin player show up - ([93cb9b2](https://code.podlibre.org/podlibre/castopod-host/commit/93cb9b24701c09b92820204a67c1fc1b3c044708)) + ([93cb9b2](https://code.castopod.org/ad-aures/castopod/commit/93cb9b24701c09b92820204a67c1fc1b3c044708)) - add application/octet-stream mimetype to mp3 and m4a extensions to prevent ext_in error - ([339bef8](https://code.podlibre.org/podlibre/castopod-host/commit/339bef878e54983d86e91e6ff7a931a843d321b3)), - closes [#145](https://code.podlibre.org/podlibre/castopod-host/issues/145) + ([339bef8](https://code.castopod.org/ad-aures/castopod/commit/339bef878e54983d86e91e6ff7a931a843d321b3)), + closes [#145](https://code.castopod.org/ad-aures/castopod/issues/145) - add category_label component to include parent category in about podcast page - ([74e7d68](https://code.podlibre.org/podlibre/castopod-host/commit/74e7d68ac834885c4b89ee6e7d60db2157165799)) + ([74e7d68](https://code.castopod.org/ad-aures/castopod/commit/74e7d68ac834885c4b89ee6e7d60db2157165799)) - add head request to analytics_hit route - ([f0a2f0b](https://code.podlibre.org/podlibre/castopod-host/commit/f0a2f0bea491ca91976b351bb79837e95c9d094b)) + ([f0a2f0b](https://code.castopod.org/ad-aures/castopod/commit/f0a2f0bea491ca91976b351bb79837e95c9d094b)) - add missing explicit badge for podcasts and episodes - ([cdf9f9d](https://code.podlibre.org/podlibre/castopod-host/commit/cdf9f9d53f2597f19455cb65c51da4677bb99327)) + ([cdf9f9d](https://code.castopod.org/ad-aures/castopod/commit/cdf9f9d53f2597f19455cb65c51da4677bb99327)) - add open graph size for podcast images to replace the inadequate large format - ([33aae1f](https://code.podlibre.org/podlibre/castopod-host/commit/33aae1f7934e4962116e94e477dbf48e24971f5f)) + ([33aae1f](https://code.castopod.org/ad-aures/castopod/commit/33aae1f7934e4962116e94e477dbf48e24971f5f)) - add public/media folder to castopod bundle - ([8053d35](https://code.podlibre.org/podlibre/castopod-host/commit/8053d3521b481872711dabaaf265d08b9bfbaa87)), - closes [#52](https://code.podlibre.org/podlibre/castopod-host/issues/52) + ([8053d35](https://code.castopod.org/ad-aures/castopod/commit/8053d3521b481872711dabaaf265d08b9bfbaa87)), + closes [#52](https://code.castopod.org/ad-aures/castopod/issues/52) - add translation key for audio-clipper trim labels - ([db191ac](https://code.podlibre.org/podlibre/castopod-host/commit/db191ac31bd16bad2a72afdb8b25c685adf86a6e)) + ([db191ac](https://code.castopod.org/ad-aures/castopod/commit/db191ac31bd16bad2a72afdb8b25c685adf86a6e)) - add where condition to get episode count without deleted episodes - ([7661734](https://code.podlibre.org/podlibre/castopod-host/commit/7661734ed296654630f3668132671117519145dd)), - closes [#67](https://code.podlibre.org/podlibre/castopod-host/issues/67) + ([7661734](https://code.castopod.org/ad-aures/castopod/commit/7661734ed296654630f3668132671117519145dd)), + closes [#67](https://code.castopod.org/ad-aures/castopod/issues/67) - **admin:** save block and lock switches - ([b66c0af](https://code.podlibre.org/podlibre/castopod-host/commit/b66c0afc8fab2e338402a9a4f8105e5f5459e208)) + ([b66c0af](https://code.castopod.org/ad-aures/castopod/commit/b66c0afc8fab2e338402a9a4f8105e5f5459e208)) - **analytics:** redirect to mp3 file even when referer was not set - ([9fc388d](https://code.podlibre.org/podlibre/castopod-host/commit/9fc388d154f29c335dedcd624abe8c1751762c07)) + ([9fc388d](https://code.castopod.org/ad-aures/castopod/commit/9fc388d154f29c335dedcd624abe8c1751762c07)) - **analytics:** remove charts empty values + remove useless language cache - ([1678794](https://code.podlibre.org/podlibre/castopod-host/commit/16787941539ba4014281a366789ea896a9cd2afc)) + ([1678794](https://code.castopod.org/ad-aures/castopod/commit/16787941539ba4014281a366789ea896a9cd2afc)) - **analytics:** set duration field to precise decimal as episode's audio file duration - ([d772685](https://code.podlibre.org/podlibre/castopod-host/commit/d77268540569b2be9d91d5e09aefb3ff5ac2b071)) + ([d772685](https://code.castopod.org/ad-aures/castopod/commit/d77268540569b2be9d91d5e09aefb3ff5ac2b071)) - **analytics:** update migrations to set decimal precision for latitude and longitude - ([714d6b5](https://code.podlibre.org/podlibre/castopod-host/commit/714d6b5d4950e52cf1c3170bb59954f98ffd48bd)) + ([714d6b5](https://code.castopod.org/ad-aures/castopod/commit/714d6b5d4950e52cf1c3170bb59954f98ffd48bd)) - **analytics:** update service management so that it works with new OPAWG slug values - ([7fe9d42](https://code.podlibre.org/podlibre/castopod-host/commit/7fe9d42500ade2c6fa3ff4365b4affc475af0e51)) + ([7fe9d42](https://code.castopod.org/ad-aures/castopod/commit/7fe9d42500ade2c6fa3ff4365b4affc475af0e51)) - **audio-clipper:** add mouse position offset when stretching clip to prevent content from jumping - ([602654b](https://code.podlibre.org/podlibre/castopod-host/commit/602654b99b33ee8c29da080058a0aaea976cd484)) + ([602654b](https://code.castopod.org/ad-aures/castopod/commit/602654b99b33ee8c29da080058a0aaea976cd484)) - **audio-clipper:** show audio playing progress + put waveform behind audio clipper - ([01a09dc](https://code.podlibre.org/podlibre/castopod-host/commit/01a09dc447b81c5412ceb45d6706a867939fd4dd)) + ([01a09dc](https://code.castopod.org/ad-aures/castopod/commit/01a09dc447b81c5412ceb45d6706a867939fd4dd)) - **avatar:** use default avatar when no avatar url has been set - ([9d23c7e](https://code.podlibre.org/podlibre/castopod-host/commit/9d23c7e7e142c6cf1a1418e37e41d711064593c4)), - closes [#111](https://code.podlibre.org/podlibre/castopod-host/issues/111) + ([9d23c7e](https://code.castopod.org/ad-aures/castopod/commit/9d23c7e7e142c6cf1a1418e37e41d711064593c4)), + closes [#111](https://code.castopod.org/ad-aures/castopod/issues/111) - **bundle:** include modules and themes when copying files with rsync - ([cd5bb88](https://code.podlibre.org/podlibre/castopod-host/commit/cd5bb8835c6e259408a8c13a2196a347e161da83)) + ([cd5bb88](https://code.castopod.org/ad-aures/castopod/commit/cd5bb8835c6e259408a8c13a2196a347e161da83)) - **bundle:** update vite input files path + add `set -e` in bash scripts to fail if command fails - ([0ee53c7](https://code.podlibre.org/podlibre/castopod-host/commit/0ee53c71ffadb8a6ddb1febd9f912bc99f5f7a0b)) + ([0ee53c7](https://code.castopod.org/ad-aures/castopod/commit/0ee53c71ffadb8a6ddb1febd9f912bc99f5f7a0b)) - **cache:** add locale for podcast and episode pages + clear some persisting cache in models - ([9cec8a8](https://code.podlibre.org/podlibre/castopod-host/commit/9cec8a81ccbb7239402fe6633dbc31979272302a)), - closes [#42](https://code.podlibre.org/podlibre/castopod-host/issues/42) - [#61](https://code.podlibre.org/podlibre/castopod-host/issues/61) + ([9cec8a8](https://code.castopod.org/ad-aures/castopod/commit/9cec8a81ccbb7239402fe6633dbc31979272302a)), + closes [#42](https://code.castopod.org/ad-aures/castopod/issues/42) + [#61](https://code.castopod.org/ad-aures/castopod/issues/61) - **cache:** return a non cached view when connected - ([e2e7358](https://code.podlibre.org/podlibre/castopod-host/commit/e2e735815d805a48eed2ea3288d060d0ddb253a3)) + ([e2e7358](https://code.castopod.org/ad-aures/castopod/commit/e2e735815d805a48eed2ea3288d060d0ddb253a3)) - **cache:** suffix cache names with authenticated for credits, map and pages - ([418a70b](https://code.podlibre.org/podlibre/castopod-host/commit/418a70b2a670d8ba0ab6c15fa5faa41f6be55e53)) + ([418a70b](https://code.castopod.org/ad-aures/castopod/commit/418a70b2a670d8ba0ab6c15fa5faa41f6be55e53)) - cast actor_id to pass as int to set_interact_as_actor() function - ([56a8e5d](https://code.podlibre.org/podlibre/castopod-host/commit/56a8e5d7dd615322aeb007e730801c65d0b02e5c)) + ([56a8e5d](https://code.castopod.org/ad-aures/castopod/commit/56a8e5d7dd615322aeb007e730801c65d0b02e5c)) - **category:** remove uncategorized option to enforce users in choosing a category - ([8c64f25](https://code.podlibre.org/podlibre/castopod-host/commit/8c64f25a0e72fec03d25544797d32623b2276fce)) + ([8c64f25](https://code.castopod.org/ad-aures/castopod/commit/8c64f25a0e72fec03d25544797d32623b2276fce)) - check for database connection and podcasts table existence before redirecting to install - ([eb74e81](https://code.podlibre.org/podlibre/castopod-host/commit/eb74e81c3d93581e310b391cd029e62a0d690a8a)) + ([eb74e81](https://code.castopod.org/ad-aures/castopod/commit/eb74e81c3d93581e310b391cd029e62a0d690a8a)) - check that additional files are valid when creating episode - ([eac5bc8](https://code.podlibre.org/podlibre/castopod-host/commit/eac5bc876de125e1fe08d1b89f767a04fc0fbfb6)) + ([eac5bc8](https://code.castopod.org/ad-aures/castopod/commit/eac5bc876de125e1fe08d1b89f767a04fc0fbfb6)) - check that note has a preview_card_id before displaying it - ([acb8b3a](https://code.podlibre.org/podlibre/castopod-host/commit/acb8b3a40172ccb184ffe544760601d756692e6c)), - closes [#114](https://code.podlibre.org/podlibre/castopod-host/issues/114) + ([acb8b3a](https://code.castopod.org/ad-aures/castopod/commit/acb8b3a40172ccb184ffe544760601d756692e6c)), + closes [#114](https://code.castopod.org/ad-aures/castopod/issues/114) - clear cache when deleting podcast banner - ([99bb40b](https://code.podlibre.org/podlibre/castopod-host/commit/99bb40b8bc17b8ee2cd8468a82e46ea280c92cb6)) + ([99bb40b](https://code.castopod.org/ad-aures/castopod/commit/99bb40b8bc17b8ee2cd8468a82e46ea280c92cb6)) - comment all cache clean after page update to prevent analytics cache deletion - ([e6197a4](https://code.podlibre.org/podlibre/castopod-host/commit/e6197a4972a3cce3d67dd7972bb54f8720b8e5b7)) + ([e6197a4](https://code.castopod.org/ad-aures/castopod/commit/e6197a4972a3cce3d67dd7972bb54f8720b8e5b7)) - **comments:** add comment view partials for public pages - ([fcecbe1](https://code.podlibre.org/podlibre/castopod-host/commit/fcecbe1c68b0d28d19454fba65caf3ab769fbc75)) + ([fcecbe1](https://code.castopod.org/ad-aures/castopod/commit/fcecbe1c68b0d28d19454fba65caf3ab769fbc75)) - correct chart data - ([4d3e9c8](https://code.podlibre.org/podlibre/castopod-host/commit/4d3e9c8c02cdc882e9fe1c29625695b6f83c820a)) + ([4d3e9c8](https://code.castopod.org/ad-aures/castopod/commit/4d3e9c8c02cdc882e9fe1c29625695b6f83c820a)) - correct percona compatibility issue - ([e53f819](https://code.podlibre.org/podlibre/castopod-host/commit/e53f819264b2d6902996f11ffcbb7c99295a90ef)) + ([e53f819](https://code.castopod.org/ad-aures/castopod/commit/e53f819264b2d6902996f11ffcbb7c99295a90ef)) - correct php-fpm issues - ([1ef55d7](https://code.podlibre.org/podlibre/castopod-host/commit/1ef55d7315bb44abe05f02ec8a84b6b6a557a9a0)) + ([1ef55d7](https://code.castopod.org/ad-aures/castopod/commit/1ef55d7315bb44abe05f02ec8a84b6b6a557a9a0)) - correct referrer bug - ([ed69b2f](https://code.podlibre.org/podlibre/castopod-host/commit/ed69b2f5004ed1cd18bac824c08a0df01f5d2637)) + ([ed69b2f](https://code.castopod.org/ad-aures/castopod/commit/ed69b2f5004ed1cd18bac824c08a0df01f5d2637)) - correction for servers with low int precision - ([31b7828](https://code.podlibre.org/podlibre/castopod-host/commit/31b7828e77519ef43e9bcfcbdf6c21712f97a571)) + ([31b7828](https://code.castopod.org/ad-aures/castopod/commit/31b7828e77519ef43e9bcfcbdf6c21712f97a571)) - **cors:** add preflight option routes for episode, podcast and status objects - ([a281abf](https://code.podlibre.org/podlibre/castopod-host/commit/a281abfda475388a07943c169dab460cc2d4f944)) + ([a281abf](https://code.castopod.org/ad-aures/castopod/commit/a281abfda475388a07943c169dab460cc2d4f944)) - declare typed properties in PHPDoc for php<7.4 - ([14dd44d](https://code.podlibre.org/podlibre/castopod-host/commit/14dd44d03d6db0d9ae4198db8e65c92a0e45cb31)), - closes [#23](https://code.podlibre.org/podlibre/castopod-host/issues/23) + ([14dd44d](https://code.castopod.org/ad-aures/castopod/commit/14dd44d03d6db0d9ae4198db8e65c92a0e45cb31)), + closes [#23](https://code.castopod.org/ad-aures/castopod/issues/23) - define podcast_id and platform_slug as foreign keys in podcasts_plaforms table - ([6e9451a](https://code.podlibre.org/podlibre/castopod-host/commit/6e9451a1103b43750fa70ad576de36af25ca29cb)) + ([6e9451a](https://code.castopod.org/ad-aures/castopod/commit/6e9451a1103b43750fa70ad576de36af25ca29cb)) - define podcastNamespaceLink value - ([0d744d2](https://code.podlibre.org/podlibre/castopod-host/commit/0d744d212df0d070ceea185068eaf2746e1ccd48)) + ([0d744d2](https://code.castopod.org/ad-aures/castopod/commit/0d744d212df0d070ceea185068eaf2746e1ccd48)) - **embeddable-player:** enable any ancestor when X-Frame-Options is set on server - ([44a4962](https://code.podlibre.org/podlibre/castopod-host/commit/44a4962e0b7e3ed87e9914b4e7792a0d52330ff8)) + ([44a4962](https://code.castopod.org/ad-aures/castopod/commit/44a4962e0b7e3ed87e9914b4e7792a0d52330ff8)) - **embed:** open embedded player's links in new tab - ([4aa73d7](https://code.podlibre.org/podlibre/castopod-host/commit/4aa73d71e3b8c0a6c3f75f4d1d45c4d693aba64c)) + ([4aa73d7](https://code.castopod.org/ad-aures/castopod/commit/4aa73d71e3b8c0a6c3f75f4d1d45c4d693aba64c)) - **episode-form:** show warning to set `memory_limit`, `upload_max_filesize` & `post_max_size` - ([3b3c218](https://code.podlibre.org/podlibre/castopod-host/commit/3b3c218b9c868e9f12c54d7670e69d84c9ee79c0)), - closes [#5](https://code.podlibre.org/podlibre/castopod-host/issues/5) - [#86](https://code.podlibre.org/podlibre/castopod-host/issues/86) + ([3b3c218](https://code.castopod.org/ad-aures/castopod/commit/3b3c218b9c868e9f12c54d7670e69d84c9ee79c0)), + closes [#5](https://code.castopod.org/ad-aures/castopod/issues/5) + [#86](https://code.castopod.org/ad-aures/castopod/issues/86) - **episodeCount:** add missing brackets to French language file - ([c1b4112](https://code.podlibre.org/podlibre/castopod-host/commit/c1b411265ad9b06e95a8b097ecf73445b88dcb45)) + ([c1b4112](https://code.castopod.org/ad-aures/castopod/commit/c1b411265ad9b06e95a8b097ecf73445b88dcb45)) - **episode:** replace guid's empty string value to null - ([441052a](https://code.podlibre.org/podlibre/castopod-host/commit/441052af8d99e6e317edefd1e58ad71799357088)) + ([441052a](https://code.castopod.org/ad-aures/castopod/commit/441052af8d99e6e317edefd1e58ad71799357088)) - **episodes-page:** handle defaultQuery being null when no podcast episodes - ([15183b7](https://code.podlibre.org/podlibre/castopod-host/commit/15183b7eab57dac007bcdfa8c3651239de1ae05a)), - closes [#100](https://code.podlibre.org/podlibre/castopod-host/issues/100) + ([15183b7](https://code.castopod.org/ad-aures/castopod/commit/15183b7eab57dac007bcdfa8c3651239de1ae05a)), + closes [#100](https://code.castopod.org/ad-aures/castopod/issues/100) - **episodes-table:** set descriptions to be not null - ([6774ec1](https://code.podlibre.org/podlibre/castopod-host/commit/6774ec10fa78527be6b7548ca1dc34ad0ada090c)) + ([6774ec1](https://code.castopod.org/ad-aures/castopod/commit/6774ec10fa78527be6b7548ca1dc34ad0ada090c)) - **episodes:** add publication status + set publication date to null when none has been set - ([d882981](https://code.podlibre.org/podlibre/castopod-host/commit/d882981b3a86c81921ce6b07d4cf61fc13983689)), - closes [#70](https://code.podlibre.org/podlibre/castopod-host/issues/70) + ([d882981](https://code.castopod.org/ad-aures/castopod/commit/d882981b3a86c81921ce6b07d4cf61fc13983689)), + closes [#70](https://code.castopod.org/ad-aures/castopod/issues/70) - escape generated feed tag values and remove new lines from public pages meta description - ([6238a43](https://code.podlibre.org/podlibre/castopod-host/commit/6238a43863210afe8988ad7cf251e6bfc6c8557c)), - closes [#57](https://code.podlibre.org/podlibre/castopod-host/issues/57) - [#46](https://code.podlibre.org/podlibre/castopod-host/issues/46) + ([6238a43](https://code.castopod.org/ad-aures/castopod/commit/6238a43863210afe8988ad7cf251e6bfc6c8557c)), + closes [#57](https://code.castopod.org/ad-aures/castopod/issues/57) + [#46](https://code.castopod.org/ad-aures/castopod/issues/46) - expire default query cache upon scheduled episode publication - ([b72e7c8](https://code.podlibre.org/podlibre/castopod-host/commit/b72e7c8691c887e41107baea0a4d50a39eaf8c8b)), - closes [#81](https://code.podlibre.org/podlibre/castopod-host/issues/81) + ([b72e7c8](https://code.castopod.org/ad-aures/castopod/commit/b72e7c8691c887e41107baea0a4d50a39eaf8c8b)), + closes [#81](https://code.castopod.org/ad-aures/castopod/issues/81) - fix layout bugs in admin and update translation files - ([a834171](https://code.podlibre.org/podlibre/castopod-host/commit/a83417180cf61cdfadc5509b0aaa2fdb66592be3)), - closes [#40](https://code.podlibre.org/podlibre/castopod-host/issues/40) + ([a834171](https://code.castopod.org/ad-aures/castopod/commit/a83417180cf61cdfadc5509b0aaa2fdb66592be3)), + closes [#40](https://code.castopod.org/ad-aures/castopod/issues/40) - **follow:** add missing helpers to Actor controller - ([ee53a73](https://code.podlibre.org/podlibre/castopod-host/commit/ee53a732dc12ebbf5706e14969749a12cfd9d559)) + ([ee53a73](https://code.castopod.org/ad-aures/castopod/commit/ee53a732dc12ebbf5706e14969749a12cfd9d559)) - handle HEAD requests on podcast_feed route - ([74b2640](https://code.podlibre.org/podlibre/castopod-host/commit/74b2640f2a25c4cd6fd8835fc492c2a6893d4950)), - closes [#79](https://code.podlibre.org/podlibre/castopod-host/issues/79) + ([74b2640](https://code.castopod.org/ad-aures/castopod/commit/74b2640f2a25c4cd6fd8835fc492c2a6893d4950)), + closes [#79](https://code.castopod.org/ad-aures/castopod/issues/79) - **images:** set default mimetype if none is specified when getting size info - ([6e4acc6](https://code.podlibre.org/podlibre/castopod-host/commit/6e4acc64ad256178cee7905402b48bafcd49f84c)) + ([6e4acc6](https://code.castopod.org/ad-aures/castopod/commit/6e4acc64ad256178cee7905402b48bafcd49f84c)) - **import-with-escaped-characters:** remove \CodeIgniter\HTTP\URI in download_file, closes - [#103](https://code.podlibre.org/podlibre/castopod-host/issues/103) - ([35b5be0](https://code.podlibre.org/podlibre/castopod-host/commit/35b5be095ff54d27acec1610a846ec0cdbdf1d65)) + [#103](https://code.castopod.org/ad-aures/castopod/issues/103) + ([35b5be0](https://code.castopod.org/ad-aures/castopod/commit/35b5be095ff54d27acec1610a846ec0cdbdf1d65)) - **import:** add extension when downloading file without + truncate slug if too long - ([c5f18bb](https://code.podlibre.org/podlibre/castopod-host/commit/c5f18bb6dc08a758ff735454bbe9cfa45a68c09b)) + ([c5f18bb](https://code.castopod.org/ad-aures/castopod/commit/c5f18bb6dc08a758ff735454bbe9cfa45a68c09b)) - **import:** add validation for handle field to prevent Router.invalidParameterType error - ([5bf7200](https://code.podlibre.org/podlibre/castopod-host/commit/5bf7200fb390f2447b29f24b495f24483cf7b205)), - closes [#119](https://code.podlibre.org/podlibre/castopod-host/issues/119) + ([5bf7200](https://code.castopod.org/ad-aures/castopod/commit/5bf7200fb390f2447b29f24b495f24483cf7b205)), + closes [#119](https://code.castopod.org/ad-aures/castopod/issues/119) - **import:** cast description's SimpleXMLElement to string - ([02d17be](https://code.podlibre.org/podlibre/castopod-host/commit/02d17be4ffe229fc6657207d31eba0543b5f1a4c)) + ([02d17be](https://code.castopod.org/ad-aures/castopod/commit/02d17be4ffe229fc6657207d31eba0543b5f1a4c)) - **import:** remove query string from files url - ([109c4aa](https://code.podlibre.org/podlibre/castopod-host/commit/109c4aa1afb72dd8b99c0302d74a7fef5a38638e)) + ([109c4aa](https://code.castopod.org/ad-aures/castopod/commit/109c4aa1afb72dd8b99c0302d74a7fef5a38638e)) - **import:** save media files during podcast import + set missing media fields - ([a9989d8](https://code.podlibre.org/podlibre/castopod-host/commit/a9989d841a634f8cf6c04df25f40bb1e7d4fcdcc)) + ([a9989d8](https://code.castopod.org/ad-aures/castopod/commit/a9989d841a634f8cf6c04df25f40bb1e7d4fcdcc)) - **import:** set episode and season numbers to null when not present in item tag - ([3211398](https://code.podlibre.org/podlibre/castopod-host/commit/3211398c78b1b28b76a46427ee07874bbf84a85d)) + ([3211398](https://code.castopod.org/ad-aures/castopod/commit/3211398c78b1b28b76a46427ee07874bbf84a85d)) - **import:** use <image><url> tag when no <itunes:image> is present - ([20e607a](https://code.podlibre.org/podlibre/castopod-host/commit/20e607afb755bc75056041738fa7cbf6723d754c)) + ([20e607a](https://code.castopod.org/ad-aures/castopod/commit/20e607afb755bc75056041738fa7cbf6723d754c)) - include missing variables on public ui's episode page and remote_actions - ([193b373](https://code.podlibre.org/podlibre/castopod-host/commit/193b373bc94a5270acae99b637aa84b6cb2dedfe)) + ([193b373](https://code.castopod.org/ad-aures/castopod/commit/193b373bc94a5270acae99b637aa84b6cb2dedfe)) - **install:** redirect manually to install wizard on first visit - ([2ceaaca](https://code.podlibre.org/podlibre/castopod-host/commit/2ceaaca44f1b82fc64d961e2fb4f4aaeade7e736)) + ([2ceaaca](https://code.castopod.org/ad-aures/castopod/commit/2ceaaca44f1b82fc64d961e2fb4f4aaeade7e736)) - **install:** redirect to host_url install route on instanceConfig validation error - ([99250b1](https://code.podlibre.org/podlibre/castopod-host/commit/99250b1868657c249a447399c7ebc69e00d43d1a)) + ([99250b1](https://code.castopod.org/ad-aures/castopod/commit/99250b1868657c249a447399c7ebc69e00d43d1a)) - **install:** redirect to input baseUrl after instance config - ([2426af7](https://code.podlibre.org/podlibre/castopod-host/commit/2426af7de8c9d426aaf534ff17b67f71c2e9f374)), - closes [#53](https://code.podlibre.org/podlibre/castopod-host/issues/53) + ([2426af7](https://code.castopod.org/ad-aures/castopod/commit/2426af7de8c9d426aaf534ff17b67f71c2e9f374)), + closes [#53](https://code.castopod.org/ad-aures/castopod/issues/53) - **interact-as:** set actor_id instead of podcast id upon login event - ([5dfade7](https://code.podlibre.org/podlibre/castopod-host/commit/5dfade7cf37f339c56d2e577c679b88a1b1d9336)), - closes [#104](https://code.podlibre.org/podlibre/castopod-host/issues/104) + ([5dfade7](https://code.castopod.org/ad-aures/castopod/commit/5dfade7cf37f339c56d2e577c679b88a1b1d9336)), + closes [#104](https://code.castopod.org/ad-aures/castopod/issues/104) - **json-ld:** add missing properties to PodcastSeries object - ([e97266c](https://code.podlibre.org/podlibre/castopod-host/commit/e97266c5d4883a10f68b3685ecc0d1942f54d658)) + ([e97266c](https://code.castopod.org/ad-aures/castopod/commit/e97266c5d4883a10f68b3685ecc0d1942f54d658)) - keep subtitle line breaks when parsing srt file to json - ([cfb3da6](https://code.podlibre.org/podlibre/castopod-host/commit/cfb3da6592f2de23cb1a7ac420f19fc77fa338aa)) + ([cfb3da6](https://code.castopod.org/ad-aures/castopod/commit/cfb3da6592f2de23cb1a7ac420f19fc77fa338aa)) - **layouts:** replace holy-grail layout with tailwind config + widen public podcast layout - ([be5a287](https://code.podlibre.org/podlibre/castopod-host/commit/be5a28787fdb180b64d9bf570120eff7072ab9aa)) + ([be5a287](https://code.castopod.org/ad-aures/castopod/commit/be5a28787fdb180b64d9bf570120eff7072ab9aa)) - **map:** update episode markers query to discard unpublished episodes - ([b3caac4](https://code.podlibre.org/podlibre/castopod-host/commit/b3caac45b12a23e4289d00133d2ad7915d084c44)) + ([b3caac4](https://code.castopod.org/ad-aures/castopod/commit/b3caac45b12a23e4289d00133d2ad7915d084c44)) - **md-editor:** build new markdown editor with lit + github/markdown-toolbar-element - ([9ec1cb9](https://code.podlibre.org/podlibre/castopod-host/commit/9ec1cb93da6f41124c48b8cf14ee6942e865bede)), - closes [#93](https://code.podlibre.org/podlibre/castopod-host/issues/93) - [#94](https://code.podlibre.org/podlibre/castopod-host/issues/94) - [#120](https://code.podlibre.org/podlibre/castopod-host/issues/120) + ([9ec1cb9](https://code.castopod.org/ad-aures/castopod/commit/9ec1cb93da6f41124c48b8cf14ee6942e865bede)), + closes [#93](https://code.castopod.org/ad-aures/castopod/issues/93) + [#94](https://code.castopod.org/ad-aures/castopod/issues/94) + [#120](https://code.castopod.org/ad-aures/castopod/issues/120) - minor corrections - ([13be386](https://code.podlibre.org/podlibre/castopod-host/commit/13be386842e94d9def1f7de4720931d8f6935171)) + ([13be386](https://code.castopod.org/ad-aures/castopod/commit/13be386842e94d9def1f7de4720931d8f6935171)) - move analytics to helper - ([d311917](https://code.podlibre.org/podlibre/castopod-host/commit/d31191732e41aa106234b5ebe6e54ee02f0ce603)) + ([d311917](https://code.castopod.org/ad-aures/castopod/commit/d31191732e41aa106234b5ebe6e54ee02f0ce603)) - **multiselect:** add missing class names in choices options for purge to work properly - ([719538d](https://code.podlibre.org/podlibre/castopod-host/commit/719538d0ccb28af3c3c5e1a4b6468d4b772fe819)) + ([719538d](https://code.castopod.org/ad-aures/castopod/commit/719538d0ccb28af3c3c5e1a4b6468d4b772fe819)) - **open-graph:** replace non existant episode description to podcast description in podcast page - ([b02584e](https://code.podlibre.org/podlibre/castopod-host/commit/b02584ee609af1ad1b5680cc28208d113eb0410b)) + ([b02584e](https://code.castopod.org/ad-aures/castopod/commit/b02584ee609af1ad1b5680cc28208d113eb0410b)) - **package.json:** update destination of postcss generation scripts - ([21413f8](https://code.podlibre.org/podlibre/castopod-host/commit/21413f8af3b8a0ac01d8c6f15bcd7a63e524e964)) + ([21413f8](https://code.castopod.org/ad-aures/castopod/commit/21413f8af3b8a0ac01d8c6f15bcd7a63e524e964)) - **pages:** add locale to page cache - ([8f999ce](https://code.podlibre.org/podlibre/castopod-host/commit/8f999ce2f7ee1416c30cf58c84f67b3d11b3f142)) + ([8f999ce](https://code.castopod.org/ad-aures/castopod/commit/8f999ce2f7ee1416c30cf58c84f67b3d11b3f142)) - **partner:** set correct image URL - ([61554be](https://code.podlibre.org/podlibre/castopod-host/commit/61554be12a64d59ab99fab810b1b05632b408f3a)) + ([61554be](https://code.castopod.org/ad-aures/castopod/commit/61554be12a64d59ab99fab810b1b05632b408f3a)) - pass timezone to relative time component to show the localized time in the UI - ([b9db936](https://code.podlibre.org/podlibre/castopod-host/commit/b9db936461d4cb914958bb3256bb910bbd7ba815)) + ([b9db936](https://code.castopod.org/ad-aures/castopod/commit/b9db936461d4cb914958bb3256bb910bbd7ba815)) - **persons:** prevent overflow of persons list by adding horizontal scroll - ([9e8995d](https://code.podlibre.org/podlibre/castopod-host/commit/9e8995dc6e039032cc65f87895cf770f99e8b244)) + ([9e8995d](https://code.castopod.org/ad-aures/castopod/commit/9e8995dc6e039032cc65f87895cf770f99e8b244)) - **persons:** set person picture as optional for better ux - ([7fdea63](https://code.podlibre.org/podlibre/castopod-host/commit/7fdea63de7e572810082c84fff3013af580df58b)), - closes [#125](https://code.podlibre.org/podlibre/castopod-host/issues/125) + ([7fdea63](https://code.castopod.org/ad-aures/castopod/commit/7fdea63de7e572810082c84fff3013af580df58b)), + closes [#125](https://code.castopod.org/ad-aures/castopod/issues/125) - **platforms:** display platform link only when visible is toggled on - ([6e503c8](https://code.podlibre.org/podlibre/castopod-host/commit/6e503c8d6182987e48892370623183f871bbd1c1)), - closes [#39](https://code.podlibre.org/podlibre/castopod-host/issues/39) + ([6e503c8](https://code.castopod.org/ad-aures/castopod/commit/6e503c8d6182987e48892370623183f871bbd1c1)), + closes [#39](https://code.castopod.org/ad-aures/castopod/issues/39) - **podcast-import:** move guid attribute declaration for Episode entity to include slug data - ([5d02ae3](https://code.podlibre.org/podlibre/castopod-host/commit/5d02ae39908a9d743627135b372bf981134c4328)) + ([5d02ae3](https://code.castopod.org/ad-aures/castopod/commit/5d02ae39908a9d743627135b372bf981134c4328)) - **pwa:** add scope to webmanifests to allow installing an app per podcast - ([74c683e](https://code.podlibre.org/podlibre/castopod-host/commit/74c683eb44398a84443ec17903c3e002bb5ea9b9)) + ([74c683e](https://code.castopod.org/ad-aures/castopod/commit/74c683eb44398a84443ec17903c3e002bb5ea9b9)) - **pwa:** set app display as standalone in the webmanifests - ([7aa37d2](https://code.podlibre.org/podlibre/castopod-host/commit/7aa37d24ac13a1ee160c01a56b43621d7efcfbbc)) + ([7aa37d2](https://code.castopod.org/ad-aures/castopod/commit/7aa37d24ac13a1ee160c01a56b43621d7efcfbbc)) - re-order graph values - ([35f633b](https://code.podlibre.org/podlibre/castopod-host/commit/35f633b4c71c087d1ddc9bba9e9bbe18de09204f)) + ([35f633b](https://code.castopod.org/ad-aures/castopod/commit/35f633b4c71c087d1ddc9bba9e9bbe18de09204f)) - redirect to non cached views when authenticated in public views - ([482b47b](https://code.podlibre.org/podlibre/castopod-host/commit/482b47ba6bdab7f27fc5704a559567228e07cd14)) + ([482b47b](https://code.castopod.org/ad-aures/castopod/commit/482b47ba6bdab7f27fc5704a559567228e07cd14)) - **release:** add missing version number to castopod-host package - ([8f3e9d9](https://code.podlibre.org/podlibre/castopod-host/commit/8f3e9d90c14545d3f84d4469b26a53db4554b4dc)) + ([8f3e9d9](https://code.castopod.org/ad-aures/castopod/commit/8f3e9d90c14545d3f84d4469b26a53db4554b4dc)) - remove defer from js script declaration as it is a module - ([18ae557](https://code.podlibre.org/podlibre/castopod-host/commit/18ae557e97f1cef775cd1e75fb1fedee7f1c0cc9)) + ([18ae557](https://code.castopod.org/ad-aures/castopod/commit/18ae557e97f1cef775cd1e75fb1fedee7f1c0cc9)) - remove fixed size from podcast sidebar + rearrange account info + space out import radio inputs - ([776eec6](https://code.podlibre.org/podlibre/castopod-host/commit/776eec6f0d533d6c92ebec16f7a9dbfcde1f41f4)) + ([776eec6](https://code.castopod.org/ad-aures/castopod/commit/776eec6f0d533d6c92ebec16f7a9dbfcde1f41f4)) - remove required for other_categories field and add podcast_id to latest podcasts query - ([5417be0](https://code.podlibre.org/podlibre/castopod-host/commit/5417be0049288489a19c7b575aa77bd1e2bc0243)) + ([5417be0](https://code.castopod.org/ad-aures/castopod/commit/5417be0049288489a19c7b575aa77bd1e2bc0243)) - remove required property to persons picture - ([c546be3](https://code.podlibre.org/podlibre/castopod-host/commit/c546be385b243014243ae93356006cd126d2f00d)), - closes [#125](https://code.podlibre.org/podlibre/castopod-host/issues/125) + ([c546be3](https://code.castopod.org/ad-aures/castopod/commit/c546be385b243014243ae93356006cd126d2f00d)), + closes [#125](https://code.castopod.org/ad-aures/castopod/issues/125) - rename field status to task_status to get scheduled activities - ([4ff82a5](https://code.podlibre.org/podlibre/castopod-host/commit/4ff82a5f0a38dbbc9e272fca7df70ea5a190e334)) + ([4ff82a5](https://code.castopod.org/ad-aures/castopod/commit/4ff82a5f0a38dbbc9e272fca7df70ea5a190e334)) - rename issue_templates labels - ([9f00305](https://code.podlibre.org/podlibre/castopod-host/commit/9f00305844e5a168e89d727fe29892b4ad5e48d6)) + ([9f00305](https://code.castopod.org/ad-aures/castopod/commit/9f00305844e5a168e89d727fe29892b4ad5e48d6)) - rename MyAccount controller file - ([e109df3](https://code.podlibre.org/podlibre/castopod-host/commit/e109df3004a3a98d72de39532e062fff9917f50f)), - closes [#60](https://code.podlibre.org/podlibre/castopod-host/issues/60) + ([e109df3](https://code.castopod.org/ad-aures/castopod/commit/e109df3004a3a98d72de39532e062fff9917f50f)), + closes [#60](https://code.castopod.org/ad-aures/castopod/issues/60) - rename podcast name to podcast handle to clarify field usage - ([9dd4c77](https://code.podlibre.org/podlibre/castopod-host/commit/9dd4c7741eb1b7cb5fc214ff674697f3aa986df0)), - closes [#126](https://code.podlibre.org/podlibre/castopod-host/issues/126) + ([9dd4c77](https://code.castopod.org/ad-aures/castopod/commit/9dd4c7741eb1b7cb5fc214ff674697f3aa986df0)), + closes [#126](https://code.castopod.org/ad-aures/castopod/issues/126) - reorder fields as composite primary keys for analytics tables - ([9660aa9](https://code.podlibre.org/podlibre/castopod-host/commit/9660aa97c8ffd4fe61f3a388d52b9ac5dd8e1d63)) + ([9660aa9](https://code.castopod.org/ad-aures/castopod/commit/9660aa97c8ffd4fe61f3a388d52b9ac5dd8e1d63)) - replace getWebEnclosureUrl with getEnclosureWebUrl - ([8122cea](https://code.podlibre.org/podlibre/castopod-host/commit/8122ceaf8a70050f14b3078f28b024e7d7cdb9ac)) + ([8122cea](https://code.castopod.org/ad-aures/castopod/commit/8122ceaf8a70050f14b3078f28b024e7d7cdb9ac)) - replace hardcoded style links with vite service + set default value for remote transcript url - ([3f2e056](https://code.podlibre.org/podlibre/castopod-host/commit/3f2e05608e43d47bbb518a9acfaf56ec3eefafb4)), - closes [#149](https://code.podlibre.org/podlibre/castopod-host/issues/149) - [#150](https://code.podlibre.org/podlibre/castopod-host/issues/150) + ([3f2e056](https://code.castopod.org/ad-aures/castopod/commit/3f2e05608e43d47bbb518a9acfaf56ec3eefafb4)), + closes [#149](https://code.castopod.org/ad-aures/castopod/issues/149) + [#150](https://code.castopod.org/ad-aures/castopod/issues/150) - replace website key for webpages in breadcrumb translate file - ([50e32ff](https://code.podlibre.org/podlibre/castopod-host/commit/50e32ff75636c1d4c5d945a267e884cb26ad7191)) + ([50e32ff](https://code.castopod.org/ad-aures/castopod/commit/50e32ff75636c1d4c5d945a267e884cb26ad7191)) - rewrite regenerate image function to use saveSizes method from Image entity - ([3889912](https://code.podlibre.org/podlibre/castopod-host/commit/38899124ec27e94a8c798bc2db528f9f785eec20)) + ([3889912](https://code.castopod.org/ad-aures/castopod/commit/38899124ec27e94a8c798bc2db528f9f785eec20)) - **rss-import:** add Castopod user-agent, handle redirects for downloaded files, add Content namespace - ([214243b](https://code.podlibre.org/podlibre/castopod-host/commit/214243b3fec4937e45ef1ceaba1149004cdf3b44)) + ([214243b](https://code.castopod.org/ad-aures/castopod/commit/214243b3fec4937e45ef1ceaba1149004cdf3b44)) - **rss:** cast number type values to string in rss_helper - ([7180ae9](https://code.podlibre.org/podlibre/castopod-host/commit/7180ae9ec700930b69c04ed91f8eceea16ad77ce)), - closes [#148](https://code.podlibre.org/podlibre/castopod-host/issues/148) + ([7180ae9](https://code.castopod.org/ad-aures/castopod/commit/7180ae9ec700930b69c04ed91f8eceea16ad77ce)), + closes [#148](https://code.castopod.org/ad-aures/castopod/issues/148) - **rss:** do not escape podcast and episode titles in the xml - ([0dd3b7e](https://code.podlibre.org/podlibre/castopod-host/commit/0dd3b7e0bf00d5a9eb80c93cba1efcada59ec3c1)), - closes [#138](https://code.podlibre.org/podlibre/castopod-host/issues/138) - [#71](https://code.podlibre.org/podlibre/castopod-host/issues/71) + ([0dd3b7e](https://code.castopod.org/ad-aures/castopod/commit/0dd3b7e0bf00d5a9eb80c93cba1efcada59ec3c1)), + closes [#138](https://code.castopod.org/ad-aures/castopod/issues/138) + [#71](https://code.castopod.org/ad-aures/castopod/issues/71) - **rss:** set â¬itunes:authorâ tag to owner_name if publisher not specified - ([2271c14](https://code.podlibre.org/podlibre/castopod-host/commit/2271c1445b1ded12bc53b5d23b5e59d12b17c71a)), - closes [#96](https://code.podlibre.org/podlibre/castopod-host/issues/96) + ([2271c14](https://code.castopod.org/ad-aures/castopod/commit/2271c1445b1ded12bc53b5d23b5e59d12b17c71a)), + closes [#96](https://code.castopod.org/ad-aures/castopod/issues/96) - **rss:** use originalPath instead of originalMediaPath in Image library - ([b4012b7](https://code.podlibre.org/podlibre/castopod-host/commit/b4012b7d2ed6b34b69ad767570dd33f0dc7db920)) + ([b4012b7](https://code.castopod.org/ad-aures/castopod/commit/b4012b7d2ed6b34b69ad767570dd33f0dc7db920)) - save transcript and chapters files to podcasts folder - ([63f49c7](https://code.podlibre.org/podlibre/castopod-host/commit/63f49c719f672b615c5a8893d3868dffcd332e47)) + ([63f49c7](https://code.castopod.org/ad-aures/castopod/commit/63f49c719f672b615c5a8893d3868dffcd332e47)) - set cache expiration to next note publish to show note on publication date - ([0a66de3](https://code.podlibre.org/podlibre/castopod-host/commit/0a66de3e6c17d4ac94ee8e13bd00ceaf64b1303e)) + ([0a66de3](https://code.castopod.org/ad-aures/castopod/commit/0a66de3e6c17d4ac94ee8e13bd00ceaf64b1303e)) - set episode description footer to null when empty value - ([3a7d97d](https://code.podlibre.org/podlibre/castopod-host/commit/3a7d97d660046d80698611311ff3708110d2af82)) + ([3a7d97d](https://code.castopod.org/ad-aures/castopod/commit/3a7d97d660046d80698611311ff3708110d2af82)) - set episode duration translation to hardcoded english - ([c39efc9](https://code.podlibre.org/podlibre/castopod-host/commit/c39efc9489180662edcebd142d4476c0617ea97f)), - closes [#64](https://code.podlibre.org/podlibre/castopod-host/issues/64) + ([c39efc9](https://code.castopod.org/ad-aures/castopod/commit/c39efc9489180662edcebd142d4476c0617ea97f)), + closes [#64](https://code.castopod.org/ad-aures/castopod/issues/64) - set episode guid upon episode creation - ([ad8b153](https://code.podlibre.org/podlibre/castopod-host/commit/ad8b153f2a3b1a3b1751bf63785c4950e1516e6b)), - closes [#48](https://code.podlibre.org/podlibre/castopod-host/issues/48) + ([ad8b153](https://code.castopod.org/ad-aures/castopod/commit/ad8b153f2a3b1a3b1751bf63785c4950e1516e6b)), + closes [#48](https://code.castopod.org/ad-aures/castopod/issues/48) - set episode numbers during import + remove all custom form_helpers + minor ui issues - ([99a3b8d](https://code.podlibre.org/podlibre/castopod-host/commit/99a3b8d33e00482da50dd62bdaa9215a351a56e4)) + ([99a3b8d](https://code.castopod.org/ad-aures/castopod/commit/99a3b8d33e00482da50dd62bdaa9215a351a56e4)) - set localized slug_field key as string in french language - ([17fb29b](https://code.podlibre.org/podlibre/castopod-host/commit/17fb29b20993b7deee4e252e0e3a4a2459ee0d98)) + ([17fb29b](https://code.castopod.org/ad-aures/castopod/commit/17fb29b20993b7deee4e252e0e3a4a2459ee0d98)) - set location to null when getting empty string - ([71b1b5f](https://code.podlibre.org/podlibre/castopod-host/commit/71b1b5f775af475b1dc78328330e277f565e41b6)) + ([71b1b5f](https://code.castopod.org/ad-aures/castopod/commit/71b1b5f775af475b1dc78328330e277f565e41b6)) - **settings:** add .jpg extension to site-icon file input to display all jpeg images - ([f611a16](https://code.podlibre.org/podlibre/castopod-host/commit/f611a16cd0c1a389e1c5a287eaec9d2a927a4bb6)) + ([f611a16](https://code.castopod.org/ad-aures/castopod/commit/f611a16cd0c1a389e1c5a287eaec9d2a927a4bb6)) - sort episodic podcasts by season - ([d7b6794](https://code.podlibre.org/podlibre/castopod-host/commit/d7b6794f68f9a01fd606a407c6eb4c12d15dee74)) + ([d7b6794](https://code.castopod.org/ad-aures/castopod/commit/d7b6794f68f9a01fd606a407c6eb4c12d15dee74)) - **themes:** update themes stylesheet route and remove css extension - ([e4e7e00](https://code.podlibre.org/podlibre/castopod-host/commit/e4e7e0005e931967dd6162588f1c5913dbf4603e)) + ([e4e7e00](https://code.castopod.org/ad-aures/castopod/commit/e4e7e0005e931967dd6162588f1c5913dbf4603e)) - **types:** update fake seeders types + fix bugs - ([76a4bf3](https://code.podlibre.org/podlibre/castopod-host/commit/76a4bf344160df679db29e236e7df7822970fb60)) + ([76a4bf3](https://code.castopod.org/ad-aures/castopod/commit/76a4bf344160df679db29e236e7df7822970fb60)) - unpublish episode before deleting it + add validation step before deletion - ([f75bd76](https://code.podlibre.org/podlibre/castopod-host/commit/f75bd76458eeb01a2d37912695e33f77d03b7a69)), - closes [#112](https://code.podlibre.org/podlibre/castopod-host/issues/112) - [#55](https://code.podlibre.org/podlibre/castopod-host/issues/55) + ([f75bd76](https://code.castopod.org/ad-aures/castopod/commit/f75bd76458eeb01a2d37912695e33f77d03b7a69)), + closes [#112](https://code.castopod.org/ad-aures/castopod/issues/112) + [#55](https://code.castopod.org/ad-aures/castopod/issues/55) - update .htaccess for shared hosting config - ([2379826](https://code.podlibre.org/podlibre/castopod-host/commit/2379826352e2f4b5060910bf9f29268610102f2e)) + ([2379826](https://code.castopod.org/ad-aures/castopod/commit/2379826352e2f4b5060910bf9f29268610102f2e)) - update broken contributor dropdown fields - ([e5b7515](https://code.podlibre.org/podlibre/castopod-host/commit/e5b75150234bd7f19e01def93425d3bda7379dd3)) + ([e5b7515](https://code.castopod.org/ad-aures/castopod/commit/e5b75150234bd7f19e01def93425d3bda7379dd3)) - update condition in AnalyticsTrait - ([fbc0967](https://code.podlibre.org/podlibre/castopod-host/commit/fbc0967caa81630d514ddb1b93b0834ebb4d913b)) + ([fbc0967](https://code.castopod.org/ad-aures/castopod/commit/fbc0967caa81630d514ddb1b93b0834ebb4d913b)) - update condition in home controller to redirect to install page - ([33f1b91](https://code.podlibre.org/podlibre/castopod-host/commit/33f1b91d55dd0652c979d50fc85879dbf88a4a42)) + ([33f1b91](https://code.castopod.org/ad-aures/castopod/commit/33f1b91d55dd0652c979d50fc85879dbf88a4a42)) - update conditions when checking for empty max_episodes and season_number - ([fbad0b5](https://code.podlibre.org/podlibre/castopod-host/commit/fbad0b59f68c65eba2fdcd5a8d3b312b622e9a45)) + ([fbad0b5](https://code.castopod.org/ad-aures/castopod/commit/fbad0b59f68c65eba2fdcd5a8d3b312b622e9a45)) - update iso-369 language table seeder - ([0c90db4](https://code.podlibre.org/podlibre/castopod-host/commit/0c90db44c40de5af5b0b32b54489bda9424d9ef6)) + ([0c90db4](https://code.castopod.org/ad-aures/castopod/commit/0c90db44c40de5af5b0b32b54489bda9424d9ef6)) - update MarkdownEditor component + restyle Button and other components - ([b05d177](https://code.podlibre.org/podlibre/castopod-host/commit/b05d177f1b7f44fef043ac5eb41f07133a2cf52d)) + ([b05d177](https://code.castopod.org/ad-aures/castopod/commit/b05d177f1b7f44fef043ac5eb41f07133a2cf52d)) - update purgecss content path for php helper files - ([eb70bb4](https://code.podlibre.org/podlibre/castopod-host/commit/eb70bb4f7078ff347aeb8f5dcc7896311d289466)), - closes [#59](https://code.podlibre.org/podlibre/castopod-host/issues/59) + ([eb70bb4](https://code.castopod.org/ad-aures/castopod/commit/eb70bb4f7078ff347aeb8f5dcc7896311d289466)), + closes [#59](https://code.castopod.org/ad-aures/castopod/issues/59) - update translations for settings' tasks to include what they should be used for - ([06b1a8b](https://code.podlibre.org/podlibre/castopod-host/commit/06b1a8b29b6ce5d81c5570d250bdac4e0c9ee5ca)) + ([06b1a8b](https://code.castopod.org/ad-aures/castopod/commit/06b1a8b29b6ce5d81c5570d250bdac4e0c9ee5ca)) - use slash instead of backslash to call layout - ([a80adb2](https://code.podlibre.org/podlibre/castopod-host/commit/a80adb22958fc0a38374cbce2d950a0042e699eb)) + ([a80adb2](https://code.castopod.org/ad-aures/castopod/commit/a80adb22958fc0a38374cbce2d950a0042e699eb)) - **ux:** allow for empty message upon episode publication and warn user on submit - ([33d01b8](https://code.podlibre.org/podlibre/castopod-host/commit/33d01b8d4fd6ebf24e9f011aa705c456c846956c)), - closes [#129](https://code.podlibre.org/podlibre/castopod-host/issues/129) + ([33d01b8](https://code.castopod.org/ad-aures/castopod/commit/33d01b8d4fd6ebf24e9f011aa705c456c846956c)), + closes [#129](https://code.castopod.org/ad-aures/castopod/issues/129) - **ux:** redirect user to install page on database error in home page - ([9017e30](https://code.podlibre.org/podlibre/castopod-host/commit/9017e30bf41bed8c2be65091bbc5fb1e63aef87a)) + ([9017e30](https://code.castopod.org/ad-aures/castopod/commit/9017e30bf41bed8c2be65091bbc5fb1e63aef87a)) - **video-clips:** check if created video exists before recreating it and failing - ([dff1208](https://code.podlibre.org/podlibre/castopod-host/commit/dff12087251b2b89e195604202094b5ddd9a0936)) + ([dff1208](https://code.castopod.org/ad-aures/castopod/commit/dff12087251b2b89e195604202094b5ddd9a0936)) - **video-clips:** clear video clip cache after process has finished - ([3ae6232](https://code.podlibre.org/podlibre/castopod-host/commit/3ae62325856f6ff331a5d9ed901b9fa097ca7055)) + ([3ae6232](https://code.castopod.org/ad-aures/castopod/commit/3ae62325856f6ff331a5d9ed901b9fa097ca7055)) - **video-clips:** create unique temporary files for resources to be deleted after generation - ([7f7c878](https://code.podlibre.org/podlibre/castopod-host/commit/7f7c878cb6ecf7b4a967b2af87da82bc6593081e)) + ([7f7c878](https://code.castopod.org/ad-aures/castopod/commit/7f7c878cb6ecf7b4a967b2af87da82bc6593081e)) - **video-clips:** tweak portrait parameters to have subtitles display without overflowing - ([2385b1a](https://code.podlibre.org/podlibre/castopod-host/commit/2385b1a2926d1344569836e18cb30adb4c604664)) + ([2385b1a](https://code.castopod.org/ad-aures/castopod/commit/2385b1a2926d1344569836e18cb30adb4c604664)) - **xml-editor:** escape xml editor's content + restyle form sections to prevent overflowing - ([588590b](https://code.podlibre.org/podlibre/castopod-host/commit/588590bd2c0346e2465ff8f1930580d76a3bf068)) + ([588590b](https://code.castopod.org/ad-aures/castopod/commit/588590bd2c0346e2465ff8f1930580d76a3bf068)) ### Features - **activitypub:** add Podcast actor and PodcastEpisode object with comments - ([9e1e5d2](https://code.podlibre.org/podlibre/castopod-host/commit/9e1e5d2e862d6a3345d11ca7f96b955c76bfa013)) + ([9e1e5d2](https://code.castopod.org/ad-aures/castopod/commit/9e1e5d2e862d6a3345d11ca7f96b955c76bfa013)) - add alternate rss feed link tag to podcast page head - ([a973c09](https://code.podlibre.org/podlibre/castopod-host/commit/a973c097d54a3d0186c4079b9d4d3e81aae38505)), - closes [#35](https://code.podlibre.org/podlibre/castopod-host/issues/35) + ([a973c09](https://code.castopod.org/ad-aures/castopod/commit/a973c097d54a3d0186c4079b9d4d3e81aae38505)), + closes [#35](https://code.castopod.org/ad-aures/castopod/issues/35) - add analytics and unknown useragents - ([ec92e65](https://code.podlibre.org/podlibre/castopod-host/commit/ec92e65aa42e09b1df04600b52a0c679dfc494bb)) + ([ec92e65](https://code.castopod.org/ad-aures/castopod/commit/ec92e65aa42e09b1df04600b52a0c679dfc494bb)) - add audio-clipper toolbar + add video-clip-previewer - ([0255753](https://code.podlibre.org/podlibre/castopod-host/commit/02557539e6eb48fc23ee2ee3b0c75aee3310965b)) + ([0255753](https://code.castopod.org/ad-aures/castopod/commit/02557539e6eb48fc23ee2ee3b0c75aee3310965b)) - add audio-clipper webcomponent (wip) - ([21d4251](https://code.podlibre.org/podlibre/castopod-host/commit/21d4251b9bcd5acb0f8a1761bc4edc34a3dbc228)) + ([21d4251](https://code.castopod.org/ad-aures/castopod/commit/21d4251b9bcd5acb0f8a1761bc4edc34a3dbc228)) - add basic stats on podcast about page - ([1670558](https://code.podlibre.org/podlibre/castopod-host/commit/1670558473dba47219d470ff21d6224db6ab42ba)) + ([1670558](https://code.castopod.org/ad-aures/castopod/commit/1670558473dba47219d470ff21d6224db6ab42ba)) - add breadcrumb in admin area - ([7fb1de2](https://code.podlibre.org/podlibre/castopod-host/commit/7fb1de2cf3c97c4cd7afe3bd71bbe66041786ecd)), - closes [#17](https://code.podlibre.org/podlibre/castopod-host/issues/17) + ([7fb1de2](https://code.castopod.org/ad-aures/castopod/commit/7fb1de2cf3c97c4cd7afe3bd71bbe66041786ecd)), + closes [#17](https://code.castopod.org/ad-aures/castopod/issues/17) - add cache to ActivityPub sql queries + cache activity and note pages - ([2d297f4](https://code.podlibre.org/podlibre/castopod-host/commit/2d297f45b3d7ef6e8711875a0b9b908e878115fa)) + ([2d297f4](https://code.castopod.org/ad-aures/castopod/commit/2d297f45b3d7ef6e8711875a0b9b908e878115fa)) - add CDN url - ([972bcbf](https://code.podlibre.org/podlibre/castopod-host/commit/972bcbf65ee119b8641ca3c4e5c0e8cf9ca8dd4f)), - closes [#37](https://code.podlibre.org/podlibre/castopod-host/issues/37) + ([972bcbf](https://code.castopod.org/ad-aures/castopod/commit/972bcbf65ee119b8641ca3c4e5c0e8cf9ca8dd4f)), + closes [#37](https://code.castopod.org/ad-aures/castopod/issues/37) - add codemirror to display xml editor for custom rss field - ([f15f262](https://code.podlibre.org/podlibre/castopod-host/commit/f15f26240cd5311fa9d07779f364b6639a501dec)) + ([f15f262](https://code.castopod.org/ad-aures/castopod/commit/f15f26240cd5311fa9d07779f364b6639a501dec)) - add cumulative listening time charts - ([588b4d2](https://code.podlibre.org/podlibre/castopod-host/commit/588b4d28da00bc12d02126e23181690f54d81716)) + ([588b4d2](https://code.castopod.org/ad-aures/castopod/commit/588b4d28da00bc12d02126e23181690f54d81716)) - add DropdownMenu component + remove global audio player in admin - ([abb7fba](https://code.podlibre.org/podlibre/castopod-host/commit/abb7fbac276d77b7d31a0aeba75d464f3ba3ad46)) + ([abb7fba](https://code.castopod.org/ad-aures/castopod/commit/abb7fbac276d77b7d31a0aeba75d464f3ba3ad46)) - add episode_numbering() component helper to display episode and season numbers - ([3f4a6bd](https://code.podlibre.org/podlibre/castopod-host/commit/3f4a6bd0b9f870f16107a41b102b6bf734868198)) + ([3f4a6bd](https://code.castopod.org/ad-aures/castopod/commit/3f4a6bd0b9f870f16107a41b102b6bf734868198)) - add french translation - ([196920d](https://code.podlibre.org/podlibre/castopod-host/commit/196920d62f1810b4c35f800d17d7f93627319091)) + ([196920d](https://code.castopod.org/ad-aures/castopod/commit/196920d62f1810b4c35f800d17d7f93627319091)) - add heading component + update ecs rules to fix views - ([23bdc6f](https://code.podlibre.org/podlibre/castopod-host/commit/23bdc6f8e36b7e8dfbe32755a54dea59ad913432)) + ([23bdc6f](https://code.castopod.org/ad-aures/castopod/commit/23bdc6f8e36b7e8dfbe32755a54dea59ad913432)) - add housekeeping task to run after migrations - ([89dee41](https://code.podlibre.org/podlibre/castopod-host/commit/89dee41d583e57251ea9315402a757f03571d7ad)) + ([89dee41](https://code.castopod.org/ad-aures/castopod/commit/89dee41d583e57251ea9315402a757f03571d7ad)) - add install wizard form to bootstrap database and create the first superadmin user - ([cba871c](https://code.podlibre.org/podlibre/castopod-host/commit/cba871c5df9f7120c44d9952456ebbd0d220669e)), - closes [#2](https://code.podlibre.org/podlibre/castopod-host/issues/2) + ([cba871c](https://code.castopod.org/ad-aures/castopod/commit/cba871c5df9f7120c44d9952456ebbd0d220669e)), + closes [#2](https://code.castopod.org/ad-aures/castopod/issues/2) - add ISO 3166 country codes - ([97cd94b](https://code.podlibre.org/podlibre/castopod-host/commit/97cd94b47494b66faf43fbbe0748872da80020a4)) + ([97cd94b](https://code.castopod.org/ad-aures/castopod/commit/97cd94b47494b66faf43fbbe0748872da80020a4)) - add js audio player on podcast, admin and embeddable player pages + fix admon episodes ux - ([0e14eb4](https://code.podlibre.org/podlibre/castopod-host/commit/0e14eb4d3f526b0fd256a6144f3fbfc3fe52a357)), - closes [#131](https://code.podlibre.org/podlibre/castopod-host/issues/131) + ([0e14eb4](https://code.castopod.org/ad-aures/castopod/commit/0e14eb4d3f526b0fd256a6144f3fbfc3fe52a357)), + closes [#131](https://code.castopod.org/ad-aures/castopod/issues/131) - add lock podcast according to the Podcastindex podcast-namespace to prevent unauthozized import - ([72b3012](https://code.podlibre.org/podlibre/castopod-host/commit/72b301272e0b70ded3e2b237391909e3f152ad0b)) + ([72b3012](https://code.castopod.org/ad-aures/castopod/commit/72b301272e0b70ded3e2b237391909e3f152ad0b)) - add map analytics, add episodes analytics, clean analytics page layout, translate countries - ([07eae83](https://code.podlibre.org/podlibre/castopod-host/commit/07eae83a00d860e149359fae67d549488403d88b)) + ([07eae83](https://code.castopod.org/ad-aures/castopod/commit/07eae83a00d860e149359fae67d549488403d88b)) - add media entity and link documents, images and audio files to it - ([6ecf286](https://code.podlibre.org/podlibre/castopod-host/commit/6ecf2866cfcde31a0840f15c3340808ce14b44cf)) + ([6ecf286](https://code.castopod.org/ad-aures/castopod/commit/6ecf2866cfcde31a0840f15c3340808ce14b44cf)) - add Noto Sans Mono font to use for durations + button to access new video clip form in list - ([7609bb6](https://code.podlibre.org/podlibre/castopod-host/commit/7609bb60330539aa91bfdafbb35c2d585624218a)) + ([7609bb6](https://code.castopod.org/ad-aures/castopod/commit/7609bb60330539aa91bfdafbb35c2d585624218a)) - add npm for js dependencies + move src/ files to root folder - ([cbb83a6](https://code.podlibre.org/podlibre/castopod-host/commit/cbb83a6f308ac9357e9fb0cca5edae9d3fee5b48)) + ([cbb83a6](https://code.castopod.org/ad-aures/castopod/commit/cbb83a6f308ac9357e9fb0cca5edae9d3fee5b48)) - add Open Graph and Twitter meta tags - ([af970b8](https://code.podlibre.org/podlibre/castopod-host/commit/af970b8bac949e4c63047e04aca1b7403a4e8deb)), - closes [#41](https://code.podlibre.org/podlibre/castopod-host/issues/41) + ([af970b8](https://code.castopod.org/ad-aures/castopod/commit/af970b8bac949e4c63047e04aca1b7403a4e8deb)), + closes [#41](https://code.castopod.org/ad-aures/castopod/issues/41) - add pages table to store custom instance pages (eg. legal-notice, cookie policy, etc.) - ([9c224a8](https://code.podlibre.org/podlibre/castopod-host/commit/9c224a8ac6dd95f3c6c087a300fc8bac48e8090f)), - closes [#24](https://code.podlibre.org/podlibre/castopod-host/issues/24) + ([9c224a8](https://code.castopod.org/ad-aures/castopod/commit/9c224a8ac6dd95f3c6c087a300fc8bac48e8090f)), + closes [#24](https://code.castopod.org/ad-aures/castopod/issues/24) - add platform models - ([a333d29](https://code.podlibre.org/podlibre/castopod-host/commit/a333d291966229a909c0851fd8b890ed97c48ceb)) + ([a333d29](https://code.castopod.org/ad-aures/castopod/commit/a333d291966229a909c0851fd8b890ed97c48ceb)) - add platforms form in podcast settings - ([043f49c](https://code.podlibre.org/podlibre/castopod-host/commit/043f49c784bc007ca0fa756ca4ed2d3b08843ad9)) + ([043f49c](https://code.castopod.org/ad-aures/castopod/commit/043f49c784bc007ca0fa756ca4ed2d3b08843ad9)) - add platforms tables - ([ce59344](https://code.podlibre.org/podlibre/castopod-host/commit/ce5934419a516c9926dd3fd0ace3c11a95b60722)) + ([ce59344](https://code.castopod.org/ad-aures/castopod/commit/ce5934419a516c9926dd3fd0ace3c11a95b60722)) - add podcast banner field for each podcast + refactor images configuration - ([4a8147b](https://code.podlibre.org/podlibre/castopod-host/commit/4a8147bfbbd98d9badfc57a0f2a18bdd5812e802)) + ([4a8147b](https://code.castopod.org/ad-aures/castopod/commit/4a8147bfbbd98d9badfc57a0f2a18bdd5812e802)) - add remote_url alternative for transcript and chapters files - ([3143c9a](https://code.podlibre.org/podlibre/castopod-host/commit/3143c9ad36e4cf1364205cf2be39c0c96f80fdd2)) + ([3143c9a](https://code.castopod.org/ad-aures/castopod/commit/3143c9ad36e4cf1364205cf2be39c0c96f80fdd2)) - add replied to post or comment to reply element - ([d0f9c60](https://code.podlibre.org/podlibre/castopod-host/commit/d0f9c6018f1af527099f3e26b5d824710fa11caf)) + ([d0f9c60](https://code.castopod.org/ad-aures/castopod/commit/d0f9c6018f1af527099f3e26b5d824710fa11caf)) - add schema.org json-ld objects to podcasts, episodes, posts and comments pages - ([902f959](https://code.podlibre.org/podlibre/castopod-host/commit/902f959b30a10839684f093eb86edebc5d826a0b)) + ([902f959](https://code.castopod.org/ad-aures/castopod/commit/902f959b30a10839684f093eb86edebc5d826a0b)) - add task to housekeeping setting for resetting all instance counts - ([9303e51](https://code.podlibre.org/podlibre/castopod-host/commit/9303e51bc50d730a8026f58984e83b840360ee88)) + ([9303e51](https://code.castopod.org/ad-aures/castopod/commit/9303e51bc50d730a8026f58984e83b840360ee88)) - add unique listeners analytics - ([3a49258](https://code.podlibre.org/podlibre/castopod-host/commit/3a4925816f3268230640525ad7af507aab8eecb9)) + ([3a49258](https://code.castopod.org/ad-aures/castopod/commit/3a4925816f3268230640525ad7af507aab8eecb9)) - add user permissions and basic groups to handle authorizations - ([d58e518](https://code.podlibre.org/podlibre/castopod-host/commit/d58e51874a4722921b75b0049117015c2380406e)), - closes [#3](https://code.podlibre.org/podlibre/castopod-host/issues/3) - [#18](https://code.podlibre.org/podlibre/castopod-host/issues/18) + ([d58e518](https://code.castopod.org/ad-aures/castopod/commit/d58e51874a4722921b75b0049117015c2380406e)), + closes [#3](https://code.castopod.org/ad-aures/castopod/issues/3) + [#18](https://code.castopod.org/ad-aures/castopod/issues/18) - **admin:** make header stick on scroll and show title + action buttons using css only - ([d60498c](https://code.podlibre.org/podlibre/castopod-host/commit/d60498c1beb970a14eeb3bbe02d1b1d8116624b0)) + ([d60498c](https://code.castopod.org/ad-aures/castopod/commit/d60498c1beb970a14eeb3bbe02d1b1d8116624b0)) - **admin:** update admin layout for better ux + update brand pine colors - ([d86142e](https://code.podlibre.org/podlibre/castopod-host/commit/d86142ebe7cd7582835f180b79fbeaaaba703528)) + ([d86142e](https://code.castopod.org/ad-aures/castopod/commit/d86142ebe7cd7582835f180b79fbeaaaba703528)) - allow cross origin requests on episode comments - ([e12f95a](https://code.podlibre.org/podlibre/castopod-host/commit/e12f95aca13c6d54489a9cfd99d4cd2490fe83ab)) + ([e12f95a](https://code.castopod.org/ad-aures/castopod/commit/e12f95aca13c6d54489a9cfd99d4cd2490fe83ab)) - **analytics:** add 'other' group to pie charts in order to display more accurate data - ([73acef9](https://code.podlibre.org/podlibre/castopod-host/commit/73acef933ff3485987afc5157de022910876fc12)) + ([73acef9](https://code.castopod.org/ad-aures/castopod/commit/73acef933ff3485987afc5157de022910876fc12)) - **analytics:** add charts and data export - ([78625c4](https://code.podlibre.org/podlibre/castopod-host/commit/78625c471b4f03a09bd42f72b82217e1f2d01cef)) + ([78625c4](https://code.castopod.org/ad-aures/castopod/commit/78625c471b4f03a09bd42f72b82217e1f2d01cef)) - **analytics:** add service name from rss user-agent - ([7202b98](https://code.podlibre.org/podlibre/castopod-host/commit/7202b9867bd59aafa8c338a4230fb5e5c55b24c6)) + ([7202b98](https://code.castopod.org/ad-aures/castopod/commit/7202b9867bd59aafa8c338a4230fb5e5c55b24c6)) - **analytics:** add weekday and hour bar charts - ([8ab3132](https://code.podlibre.org/podlibre/castopod-host/commit/8ab313296bb4a254ab05e90b17d896039839b784)) + ([8ab3132](https://code.castopod.org/ad-aures/castopod/commit/8ab313296bb4a254ab05e90b17d896039839b784)) - build hashed static files to renew browser cache - ([37c54d2](https://code.podlibre.org/podlibre/castopod-host/commit/37c54d247749bdf8f528babd4a78f24d48051063)), - closes [#107](https://code.podlibre.org/podlibre/castopod-host/issues/107) + ([37c54d2](https://code.castopod.org/ad-aures/castopod/commit/37c54d247749bdf8f528babd4a78f24d48051063)), + closes [#107](https://code.castopod.org/ad-aures/castopod/issues/107) - **cache:** add podcast and episode pages to cache + clear them after insert or update - ([da0f047](https://code.podlibre.org/podlibre/castopod-host/commit/da0f0472819007e02e5da37399f2377772c618b9)) + ([da0f047](https://code.castopod.org/ad-aures/castopod/commit/da0f0472819007e02e5da37399f2377772c618b9)) - **categories:** create model, entity, migrations and seeds - ([f73b042](https://code.podlibre.org/podlibre/castopod-host/commit/f73b042cc091be82abdbbca8992080875d526972)) + ([f73b042](https://code.castopod.org/ad-aures/castopod/commit/f73b042cc091be82abdbbca8992080875d526972)) - **clips:** setup clip entities and model + save video clip to have it generated in the background - ([2f6fdf9](https://code.podlibre.org/podlibre/castopod-host/commit/2f6fdf9091d52ca49709fc82621ba1c6dd0e817d)) + ([2f6fdf9](https://code.castopod.org/ad-aures/castopod/commit/2f6fdf9091d52ca49709fc82621ba1c6dd0e817d)) - **comments:** add comments to episodes + update naming of status to post - ([bb4752c](https://code.podlibre.org/podlibre/castopod-host/commit/bb4752c35e086664f5fd75fdc0d56546a1e356f6)) + ([bb4752c](https://code.castopod.org/ad-aures/castopod/commit/bb4752c35e086664f5fd75fdc0d56546a1e356f6)) - **comments:** add like / undo like to comment + add comment page - ([0c187ef](https://code.podlibre.org/podlibre/castopod-host/commit/0c187ef7a9278a60bcc6e5ee4d69d948b51e5c54)) + ([0c187ef](https://code.castopod.org/ad-aures/castopod/commit/0c187ef7a9278a60bcc6e5ee4d69d948b51e5c54)) - **components:** add custom view renderer with ComponentRenderer adapted from bonfire2 - ([a95de8b](https://code.podlibre.org/podlibre/castopod-host/commit/a95de8bab010f6b01c598da72191abe97e473687)) + ([a95de8b](https://code.castopod.org/ad-aures/castopod/commit/a95de8bab010f6b01c598da72191abe97e473687)) - create optimized & resized images upon upload - ([02e4441](https://code.podlibre.org/podlibre/castopod-host/commit/02e4441f98f27e9534e5b9b63279153d14632ccd)), - closes [#6](https://code.podlibre.org/podlibre/castopod-host/issues/6) + ([02e4441](https://code.castopod.org/ad-aures/castopod/commit/02e4441f98f27e9534e5b9b63279153d14632ccd)), + closes [#6](https://code.castopod.org/ad-aures/castopod/issues/6) - **custom-rss:** add custom xml tag injection in rss feed for â¬channelâ and â¬itemâ - ([6ecdaad](https://code.podlibre.org/podlibre/castopod-host/commit/6ecdaad911d06b7f7a2b7d24710968c7eb9118f6)) + ([6ecdaad](https://code.castopod.org/ad-aures/castopod/commit/6ecdaad911d06b7f7a2b7d24710968c7eb9118f6)) - **devcontainer:** add devcontainer settings for dev environment - ([69e7266](https://code.podlibre.org/podlibre/castopod-host/commit/69e72667365247b63430dee88194e8f0d7c28edc)) + ([69e7266](https://code.castopod.org/ad-aures/castopod/commit/69e72667365247b63430dee88194e8f0d7c28edc)) - display castopod version in admin footer - ([9f2574e](https://code.podlibre.org/podlibre/castopod-host/commit/9f2574e6fbb61dac4e1a4252dff30017685da5f0)), - closes [#68](https://code.podlibre.org/podlibre/castopod-host/issues/68) + ([9f2574e](https://code.castopod.org/ad-aures/castopod/commit/9f2574e6fbb61dac4e1a4252dff30017685da5f0)), + closes [#68](https://code.castopod.org/ad-aures/castopod/issues/68) - display legal disclaimer and warning on podcast import page - ([2f07992](https://code.podlibre.org/podlibre/castopod-host/commit/2f07992e5508b34b91f194eebfac80c51e80e90a)), - closes [#34](https://code.podlibre.org/podlibre/castopod-host/issues/34) + ([2f07992](https://code.castopod.org/ad-aures/castopod/commit/2f07992e5508b34b91f194eebfac80c51e80e90a)), + closes [#34](https://code.castopod.org/ad-aures/castopod/issues/34) - edit + delete podcast and episode - ([ac5f0c7](https://code.podlibre.org/podlibre/castopod-host/commit/ac5f0c732806e955c01e05b7867801bc938c6bd5)) + ([ac5f0c7](https://code.castopod.org/ad-aures/castopod/commit/ac5f0c732806e955c01e05b7867801bc938c6bd5)) - **embeddable-player:** add embeddable player widget - ([141788f](https://code.podlibre.org/podlibre/castopod-host/commit/141788fa089f9dedc8956c64ca515a4a4625f904)) + ([141788f](https://code.castopod.org/ad-aures/castopod/commit/141788fa089f9dedc8956c64ca515a4a4625f904)) - enhance admin ui with responsive design and ux improvements - ([2d44b45](https://code.podlibre.org/podlibre/castopod-host/commit/2d44b457a02205d2e7da258d7029b8bc5da39533)), - closes [#31](https://code.podlibre.org/podlibre/castopod-host/issues/31) - [#9](https://code.podlibre.org/podlibre/castopod-host/issues/9) + ([2d44b45](https://code.castopod.org/ad-aures/castopod/commit/2d44b457a02205d2e7da258d7029b8bc5da39533)), + closes [#31](https://code.castopod.org/ad-aures/castopod/issues/31) + [#9](https://code.castopod.org/ad-aures/castopod/issues/9) - enhance ui using javascript in admin area - ([c0e66d5](https://code.podlibre.org/podlibre/castopod-host/commit/c0e66d5f7012026e145d106f4d6bd3ba792a1b77)) + ([c0e66d5](https://code.castopod.org/ad-aures/castopod/commit/c0e66d5f7012026e145d106f4d6bd3ba792a1b77)) - **episodes:** add create form and view pages for episode - ([f3b2c8b](https://code.podlibre.org/podlibre/castopod-host/commit/f3b2c8b84f3d93bef734e34dbe8ed729535e45e9)), - closes [#1](https://code.podlibre.org/podlibre/castopod-host/issues/1) + ([f3b2c8b](https://code.castopod.org/ad-aures/castopod/commit/f3b2c8b84f3d93bef734e34dbe8ed729535e45e9)), + closes [#1](https://code.castopod.org/ad-aures/castopod/issues/1) - **episodes:** add migrations, model and entity for episodes table - ([0444821](https://code.podlibre.org/podlibre/castopod-host/commit/044482174ede555ce19a2d8c6f48771cc8e7d27b)) + ([0444821](https://code.castopod.org/ad-aures/castopod/commit/044482174ede555ce19a2d8c6f48771cc8e7d27b)) - **episodes:** replace all audio file URL parameters with base64 encoded data - ([e1f65cd](https://code.podlibre.org/podlibre/castopod-host/commit/e1f65cd3b53353a30d4ab6eb5312393cf04a1676)) + ([e1f65cd](https://code.castopod.org/ad-aures/castopod/commit/e1f65cd3b53353a30d4ab6eb5312393cf04a1676)) - **episodes:** schedule episode with future publication_date by using cache expiration time - ([4f1e773](https://code.podlibre.org/podlibre/castopod-host/commit/4f1e773c0f9e4c2597f6c1b0a4773dfb34b2f203)), - closes [#47](https://code.podlibre.org/podlibre/castopod-host/issues/47) + ([4f1e773](https://code.castopod.org/ad-aures/castopod/commit/4f1e773c0f9e4c2597f6c1b0a4773dfb34b2f203)), + closes [#47](https://code.castopod.org/ad-aures/castopod/issues/47) - **fediverse:** implement activitypub protocols + update user interface - ([2f525c0](https://code.podlibre.org/podlibre/castopod-host/commit/2f525c0f6e44d320bff16e22c223481923ba683e)), - closes [#69](https://code.podlibre.org/podlibre/castopod-host/issues/69) - [#65](https://code.podlibre.org/podlibre/castopod-host/issues/65) - [#85](https://code.podlibre.org/podlibre/castopod-host/issues/85) - [#51](https://code.podlibre.org/podlibre/castopod-host/issues/51) - [#91](https://code.podlibre.org/podlibre/castopod-host/issues/91) - [#92](https://code.podlibre.org/podlibre/castopod-host/issues/92) - [#88](https://code.podlibre.org/podlibre/castopod-host/issues/88) + ([2f525c0](https://code.castopod.org/ad-aures/castopod/commit/2f525c0f6e44d320bff16e22c223481923ba683e)), + closes [#69](https://code.castopod.org/ad-aures/castopod/issues/69) + [#65](https://code.castopod.org/ad-aures/castopod/issues/65) + [#85](https://code.castopod.org/ad-aures/castopod/issues/85) + [#51](https://code.castopod.org/ad-aures/castopod/issues/51) + [#91](https://code.castopod.org/ad-aures/castopod/issues/91) + [#92](https://code.castopod.org/ad-aures/castopod/issues/92) + [#88](https://code.castopod.org/ad-aures/castopod/issues/88) - **fonts:** replace Montserrat with Inter for better readablity - ([bfa11d0](https://code.podlibre.org/podlibre/castopod-host/commit/bfa11d007d04b8ac714c8cf3b8050a6aaf177a26)) + ([bfa11d0](https://code.castopod.org/ad-aures/castopod/commit/bfa11d007d04b8ac714c8cf3b8050a6aaf177a26)) - import podcast from an rss feed url - ([9a5d5a1](https://code.podlibre.org/podlibre/castopod-host/commit/9a5d5a15b4945eb319da9e999c4ca60a0a4f6d2d)), - closes [#21](https://code.podlibre.org/podlibre/castopod-host/issues/21) + ([9a5d5a1](https://code.castopod.org/ad-aures/castopod/commit/9a5d5a15b4945eb319da9e999c4ca60a0a4f6d2d)), + closes [#21](https://code.castopod.org/ad-aures/castopod/issues/21) - integrate stylized form components and update podcast edit page - ([6536729](https://code.podlibre.org/podlibre/castopod-host/commit/653672954606a23796e8a7bda3c34fd6b92f84e0)) + ([6536729](https://code.castopod.org/ad-aures/castopod/commit/653672954606a23796e8a7bda3c34fd6b92f84e0)) - make displayed publication time as relative time using @github/time-elements - ([230e139](https://code.podlibre.org/podlibre/castopod-host/commit/230e139e43324b9ebef06ca8f6e13b3d9a7bdc70)) + ([230e139](https://code.castopod.org/ad-aures/castopod/commit/230e139e43324b9ebef06ca8f6e13b3d9a7bdc70)) - **map:** display geolocated episodes on a map page - ([4357cc2](https://code.podlibre.org/podlibre/castopod-host/commit/4357cc25ccc585ce398035c1c25d566b6a9df775)) + ([4357cc2](https://code.castopod.org/ad-aures/castopod/commit/4357cc25ccc585ce398035c1c25d566b6a9df775)) - **media:** clean media api + create an entity per media type - ([fafaa7e](https://code.podlibre.org/podlibre/castopod-host/commit/fafaa7e689b17f09a2b056081fa1f4fc53bf716b)) + ([fafaa7e](https://code.castopod.org/ad-aures/castopod/commit/fafaa7e689b17f09a2b056081fa1f4fc53bf716b)) - **media:** save audio, images, transcripts and chapters to media for episode and persons - ([58e2a00](https://code.podlibre.org/podlibre/castopod-host/commit/58e2a00a87fa7d5b188e13cc521d94f0cfddba50)) + ([58e2a00](https://code.castopod.org/ad-aures/castopod/commit/58e2a00a87fa7d5b188e13cc521d94f0cfddba50)) - **meta-tags:** add activitypub alternate links to podcast, episode, comment and post pages - ([bd61752](https://code.podlibre.org/podlibre/castopod-host/commit/bd61752be2f574323b05d1d0aee0df55adf9a74e)) + ([bd61752](https://code.castopod.org/ad-aures/castopod/commit/bd61752be2f574323b05d1d0aee0df55adf9a74e)) - minor corrections to some tables - ([3bf9420](https://code.podlibre.org/podlibre/castopod-host/commit/3bf9420b5956a501b3b24405d243a71a928d6086)) + ([3bf9420](https://code.castopod.org/ad-aures/castopod/commit/3bf9420b5956a501b3b24405d243a71a928d6086)) - **monetization:** add Web Monetization support - ([96a6026](https://code.podlibre.org/podlibre/castopod-host/commit/96a6026f1db452085360f5fe248de82a2ec06468)) + ([96a6026](https://code.castopod.org/ad-aures/castopod/commit/96a6026f1db452085360f5fe248de82a2ec06468)) - **nodeinfo2:** add .well-known route for nodeinfo2 containing metadata about the castopod instance - ([88fddc8](https://code.podlibre.org/podlibre/castopod-host/commit/88fddc81d730978f2a4d8a671936b54041e3fe45)) + ([88fddc8](https://code.castopod.org/ad-aures/castopod/commit/88fddc81d730978f2a4d8a671936b54041e3fe45)) - **partner:** add link and image in episode description - ([ad07bb9](https://code.podlibre.org/podlibre/castopod-host/commit/ad07bb9330dc9493813368e969e1f3a3def44614)) + ([ad07bb9](https://code.castopod.org/ad-aures/castopod/commit/ad07bb9330dc9493813368e969e1f3a3def44614)) - **person:** add podcastindex.org namespace person tag - ([8acd011](https://code.podlibre.org/podlibre/castopod-host/commit/8acd011f13e99492ef4b44b327685bb006fe5f8f)) + ([8acd011](https://code.castopod.org/ad-aures/castopod/commit/8acd011f13e99492ef4b44b327685bb006fe5f8f)) - **platforms:** add AntennaPod - ([53e9cfd](https://code.podlibre.org/podlibre/castopod-host/commit/53e9cfd61c794b1539e9d4691d3c4e73c4b7aaa7)) + ([53e9cfd](https://code.castopod.org/ad-aures/castopod/commit/53e9cfd61c794b1539e9d4691d3c4e73c4b7aaa7)) - **platforms:** add Fediverse and some funding platforms, add link on logo - ([afc3d50](https://code.podlibre.org/podlibre/castopod-host/commit/afc3d50289bb4173e0697d109ffe72f6814b93d1)) + ([afc3d50](https://code.castopod.org/ad-aures/castopod/commit/afc3d50289bb4173e0697d109ffe72f6814b93d1)) - **platforms:** add helloasso - ([16cb993](https://code.podlibre.org/podlibre/castopod-host/commit/16cb993ee6e28987a840fc27a9c2c73794c67697)) + ([16cb993](https://code.castopod.org/ad-aures/castopod/commit/16cb993ee6e28987a840fc27a9c2c73794c67697)) - **platforms:** add missing newpodcastapps.com's platforms - ([92dd370](https://code.podlibre.org/podlibre/castopod-host/commit/92dd370e2f9a464edd26cddcde96d0e16f91548d)) + ([92dd370](https://code.castopod.org/ad-aures/castopod/commit/92dd370e2f9a464edd26cddcde96d0e16f91548d)) - **platforms:** add pod.link - ([3d7a232](https://code.podlibre.org/podlibre/castopod-host/commit/3d7a2320ddd116e4a311605421126aff57243219)) + ([3d7a232](https://code.castopod.org/ad-aures/castopod/commit/3d7a2320ddd116e4a311605421126aff57243219)) - **platforms:** add Podcast Index - ([ad52b1c](https://code.podlibre.org/podlibre/castopod-host/commit/ad52b1cc2b7d0bc844970214d205961a7196b4a9)) + ([ad52b1c](https://code.castopod.org/ad-aures/castopod/commit/ad52b1cc2b7d0bc844970214d205961a7196b4a9)) - **platforms:** add podfriend - ([9fdc8d3](https://code.podlibre.org/podlibre/castopod-host/commit/9fdc8d32930234c7ffd2be6892be57febcef1086)) + ([9fdc8d3](https://code.castopod.org/ad-aures/castopod/commit/9fdc8d32930234c7ffd2be6892be57febcef1086)) - **podcast-form:** update routes and redirect to podcast page - ([12ce905](https://code.podlibre.org/podlibre/castopod-host/commit/12ce905799002dc9c07e6de092342d30ba9fd7d8)) + ([12ce905](https://code.castopod.org/ad-aures/castopod/commit/12ce905799002dc9c07e6de092342d30ba9fd7d8)) - **podcast:** create a podcast using form - ([1202ba3](https://code.podlibre.org/podlibre/castopod-host/commit/1202ba3545f521097c60a6a2af95e70527cd1d34)) + ([1202ba3](https://code.castopod.org/ad-aures/castopod/commit/1202ba3545f521097c60a6a2af95e70527cd1d34)) - prefill season and episode numbers + set episode number as mandatory for serial podcasts - ([07d740b](https://code.podlibre.org/podlibre/castopod-host/commit/07d740b79f9283e389e723954f680f909ce5de4a)), - closes [#134](https://code.podlibre.org/podlibre/castopod-host/issues/134) - [#136](https://code.podlibre.org/podlibre/castopod-host/issues/136) + ([07d740b](https://code.castopod.org/ad-aures/castopod/commit/07d740b79f9283e389e723954f680f909ce5de4a)), + closes [#134](https://code.castopod.org/ad-aures/castopod/issues/134) + [#136](https://code.castopod.org/ad-aures/castopod/issues/136) - **public-ui:** adapt public podcast and episode pages to wireframes - ([40a0535](https://code.podlibre.org/podlibre/castopod-host/commit/40a0535fc1bc12a24994b651f5e00b35995cbdda)), - closes [#30](https://code.podlibre.org/podlibre/castopod-host/issues/30) - [#13](https://code.podlibre.org/podlibre/castopod-host/issues/13) + ([40a0535](https://code.castopod.org/ad-aures/castopod/commit/40a0535fc1bc12a24994b651f5e00b35995cbdda)), + closes [#30](https://code.castopod.org/ad-aures/castopod/issues/30) + [#13](https://code.castopod.org/ad-aures/castopod/issues/13) - **pwa:** add service-worker + webmanifest for each podcasts to have them install on devices - ([fee2c1c](https://code.podlibre.org/podlibre/castopod-host/commit/fee2c1c0d0d03c4ff0a6a207b0a5e0c22bb7b13a)) + ([fee2c1c](https://code.castopod.org/ad-aures/castopod/commit/fee2c1c0d0d03c4ff0a6a207b0a5e0c22bb7b13a)) - redesign public podcast and episode pages + remove any information clutter for better ux - ([9321400](https://code.podlibre.org/podlibre/castopod-host/commit/932140077c671f0486a2cd08ceb6126c7ecde87f)) + ([9321400](https://code.castopod.org/ad-aures/castopod/commit/932140077c671f0486a2cd08ceb6126c7ecde87f)) - replace form helper functions with components in admin template - ([e64548b](https://code.podlibre.org/podlibre/castopod-host/commit/e64548b982ba47ff35f2272e2e30dd85eeba950b)) + ([e64548b](https://code.castopod.org/ad-aures/castopod/commit/e64548b982ba47ff35f2272e2e30dd85eeba950b)) - replace slug field with interactive permalink component - ([578022b](https://code.podlibre.org/podlibre/castopod-host/commit/578022b8c5163ffaf8db5870ed5ec9d5d9536477)) + ([578022b](https://code.castopod.org/ad-aures/castopod/commit/578022b8c5163ffaf8db5870ed5ec9d5d9536477)) - restyle episode and person cards + add focus style to interactive elements for a11y - ([a505a1d](https://code.podlibre.org/podlibre/castopod-host/commit/a505a1de56e8e3056379bd60d0595f432e294728)) + ([a505a1d](https://code.castopod.org/ad-aures/castopod/commit/a505a1de56e8e3056379bd60d0595f432e294728)) - **rss:** add Ë‚podcast:guid˃ tag for channel - ([1fab10e](https://code.podlibre.org/podlibre/castopod-host/commit/1fab10eb0d63bb7c3edf34ffe691e2aec2c2e43c)) + ([1fab10e](https://code.castopod.org/ad-aures/castopod/commit/1fab10eb0d63bb7c3edf34ffe691e2aec2c2e43c)) - **rss:** add podcast-namespace tags for platforms + previousUrl tag - ([dbba8dc](https://code.podlibre.org/podlibre/castopod-host/commit/dbba8dc58133967c778514268cbfed8098ed1dbc)), - closes [#73](https://code.podlibre.org/podlibre/castopod-host/issues/73) - [#75](https://code.podlibre.org/podlibre/castopod-host/issues/75) - [#76](https://code.podlibre.org/podlibre/castopod-host/issues/76) - [#80](https://code.podlibre.org/podlibre/castopod-host/issues/80) + ([dbba8dc](https://code.castopod.org/ad-aures/castopod/commit/dbba8dc58133967c778514268cbfed8098ed1dbc)), + closes [#73](https://code.castopod.org/ad-aures/castopod/issues/73) + [#75](https://code.castopod.org/ad-aures/castopod/issues/75) + [#76](https://code.castopod.org/ad-aures/castopod/issues/76) + [#80](https://code.castopod.org/ad-aures/castopod/issues/80) - **rss:** add podcast:comments tag to link to episode comments - ([32e8c7c](https://code.podlibre.org/podlibre/castopod-host/commit/32e8c7c16a61ffe08e2f3bfbdeda556811a0358c)) + ([32e8c7c](https://code.castopod.org/ad-aures/castopod/commit/32e8c7c16a61ffe08e2f3bfbdeda556811a0358c)) - **rss:** add podcast:location tag - ([c0a2282](https://code.podlibre.org/podlibre/castopod-host/commit/c0a22829bd87d48535a86e60c6cd7280e44683a2)) + ([c0a2282](https://code.castopod.org/ad-aures/castopod/commit/c0a22829bd87d48535a86e60c6cd7280e44683a2)) - **rss:** add soundbites according to the podcastindex specs - ([6b34617](https://code.podlibre.org/podlibre/castopod-host/commit/6b34617d07c70522cb941e96d91d9987493413eb)), - closes [#83](https://code.podlibre.org/podlibre/castopod-host/issues/83) + ([6b34617](https://code.castopod.org/ad-aures/castopod/commit/6b34617d07c70522cb941e96d91d9987493413eb)), + closes [#83](https://code.castopod.org/ad-aures/castopod/issues/83) - **rss:** add transcript and chapters support - ([e769d83](https://code.podlibre.org/podlibre/castopod-host/commit/e769d83a932c169e52a630a17cd4dd8ac5cebaf6)), - closes [#72](https://code.podlibre.org/podlibre/castopod-host/issues/72) - [#82](https://code.podlibre.org/podlibre/castopod-host/issues/82) + ([e769d83](https://code.castopod.org/ad-aures/castopod/commit/e769d83a932c169e52a630a17cd4dd8ac5cebaf6)), + closes [#72](https://code.castopod.org/ad-aures/castopod/issues/72) + [#82](https://code.castopod.org/ad-aures/castopod/issues/82) - **rss:** generate rss feed from podcast entity - ([c815ecd](https://code.podlibre.org/podlibre/castopod-host/commit/c815ecd6640931fee0895f80908a3ddfac482666)) + ([c815ecd](https://code.castopod.org/ad-aures/castopod/commit/c815ecd6640931fee0895f80908a3ddfac482666)) - **rss:** update monetization tag so that it meets PodcastIndex requirements - ([4c7ecbe](https://code.podlibre.org/podlibre/castopod-host/commit/4c7ecbee83950e5f9f2482cedaab18a1ac9bfc9e)) + ([4c7ecbe](https://code.castopod.org/ad-aures/castopod/commit/4c7ecbee83950e5f9f2482cedaab18a1ac9bfc9e)) - **select:** enhance select input with choices.js - ([910d457](https://code.podlibre.org/podlibre/castopod-host/commit/910d457cf843e0fc334b3505a4727d51633395ac)) + ([910d457](https://code.castopod.org/ad-aures/castopod/commit/910d457cf843e0fc334b3505a4727d51633395ac)) - set app parameter forceGlobalSecureRequests = true forcing requests to go through https - ([d9dff1b](https://code.podlibre.org/podlibre/castopod-host/commit/d9dff1b8bf89c8b526ad6cb89f98a1f160d49117)) + ([d9dff1b](https://code.castopod.org/ad-aures/castopod/commit/d9dff1b8bf89c8b526ad6cb89f98a1f160d49117)) - set podcast / episode description in the pages description meta tag - ([1c4a504](https://code.podlibre.org/podlibre/castopod-host/commit/1c4a50442bea2d3449efce9c5ff1c80743152f55)), - closes [#44](https://code.podlibre.org/podlibre/castopod-host/issues/44) + ([1c4a504](https://code.castopod.org/ad-aures/castopod/commit/1c4a50442bea2d3449efce9c5ff1c80743152f55)), + closes [#44](https://code.castopod.org/ad-aures/castopod/issues/44) - **settings:** add general config for instance (site name, description and icon) - ([5c56f3e](https://code.podlibre.org/podlibre/castopod-host/commit/5c56f3e6f00a61af2ccf50811c155c325f2b10fa)) + ([5c56f3e](https://code.castopod.org/ad-aures/castopod/commit/5c56f3e6f00a61af2ccf50811c155c325f2b10fa)) - **settings:** add theme settings to set an accent color for all public pages - ([5c529a8](https://code.podlibre.org/podlibre/castopod-host/commit/5c529a83aa6d6147d94e5aee996e6b0ab02f0ce4)) + ([5c529a8](https://code.castopod.org/ad-aures/castopod/commit/5c529a83aa6d6147d94e5aee996e6b0ab02f0ce4)) - simplify podcast page's layout for better ux - ([2c0efc6](https://code.podlibre.org/podlibre/castopod-host/commit/2c0efc6563604dd067be88cfc9ddd88a01745e64)) + ([2c0efc6](https://code.castopod.org/ad-aures/castopod/commit/2c0efc6563604dd067be88cfc9ddd88a01745e64)) - **soundbites:** add soundbite list and creation forms with audio-clipper component - ([de19317](https://code.podlibre.org/podlibre/castopod-host/commit/de19317138a2106deb825c1eed7dda036ed7dac3)) + ([de19317](https://code.castopod.org/ad-aures/castopod/commit/de19317138a2106deb825c1eed7dda036ed7dac3)) - style file inputs using tailwind's file class - ([8208ab6](https://code.podlibre.org/podlibre/castopod-host/commit/8208ab6785aae8c49f78eb9ac8cd53d77ec8e5e5)) + ([8208ab6](https://code.castopod.org/ad-aures/castopod/commit/8208ab6785aae8c49f78eb9ac8cd53d77ec8e5e5)) - **themes:** add ViewThemes library to set views in root themes folder - ([7a27676](https://code.podlibre.org/podlibre/castopod-host/commit/7a276764e6a1ee3619d9d3488f6163215db75338)) + ([7a27676](https://code.castopod.org/ad-aures/castopod/commit/7a276764e6a1ee3619d9d3488f6163215db75338)) - **themes:** set different default banner per theme - ([11c916f](https://code.podlibre.org/podlibre/castopod-host/commit/11c916fe433eb749ac32230c48e256057564cbb0)) + ([11c916f](https://code.castopod.org/ad-aures/castopod/commit/11c916fe433eb749ac32230c48e256057564cbb0)) - **themes:** set generic css variables for colors to enable instance themes - ([a746a78](https://code.podlibre.org/podlibre/castopod-host/commit/a746a781b4bfc78209cf8302c6d7bb3cb452e446)) + ([a746a78](https://code.castopod.org/ad-aures/castopod/commit/a746a781b4bfc78209cf8302c6d7bb3cb452e446)) - toggle podcast sidebar on smaller screens - ([f0205ec](https://code.podlibre.org/podlibre/castopod-host/commit/f0205ec274414e881cba40d6776126f05eaee583)) + ([f0205ec](https://code.castopod.org/ad-aures/castopod/commit/f0205ec274414e881cba40d6776126f05eaee583)) - **transcript:** parse srt subtitles into json file + add max file size info below audio file input - ([0098761](https://code.podlibre.org/podlibre/castopod-host/commit/00987610a068c8d6cdd4421ea16585fa037eb61a)) + ([0098761](https://code.castopod.org/ad-aures/castopod/commit/00987610a068c8d6cdd4421ea16585fa037eb61a)) - **ui:** create ViewComponents library to enable building class and view files components - ([94872f2](https://code.podlibre.org/podlibre/castopod-host/commit/94872f2338e6025c2f3770be256160838dae9003)) + ([94872f2](https://code.castopod.org/ad-aures/castopod/commit/94872f2338e6025c2f3770be256160838dae9003)) - update analytics so to meet IABv2 requirements - ([03e23a2](https://code.podlibre.org/podlibre/castopod-host/commit/03e23a28bf9b1b73fba55352c36a8cd6cc8ae729)), - closes [#10](https://code.podlibre.org/podlibre/castopod-host/issues/10) + ([03e23a2](https://code.castopod.org/ad-aures/castopod/commit/03e23a28bf9b1b73fba55352c36a8cd6cc8ae729)), + closes [#10](https://code.castopod.org/ad-aures/castopod/issues/10) - update pine colors + create charts components - ([a50abc1](https://code.podlibre.org/podlibre/castopod-host/commit/a50abc138d4997b564e3065b37504cda5ce62da6)) + ([a50abc1](https://code.castopod.org/ad-aures/castopod/commit/a50abc138d4997b564e3065b37504cda5ce62da6)) - **users:** add myth-auth to handle users crud + add admin gateway only accessible by login - ([c63a077](https://code.podlibre.org/podlibre/castopod-host/commit/c63a077618c61b4cde7f25ffc650a4b0e1495f44)), - closes [#11](https://code.podlibre.org/podlibre/castopod-host/issues/11) + ([c63a077](https://code.castopod.org/ad-aures/castopod/commit/c63a077618c61b4cde7f25ffc650a4b0e1495f44)), + closes [#11](https://code.castopod.org/ad-aures/castopod/issues/11) - **ux:** remove admin dashboard and redirect directly to podcast list - ([27c48b8](https://code.podlibre.org/podlibre/castopod-host/commit/27c48b8fa930b33e5e15f0c8685e468e857ca9cd)) + ([27c48b8](https://code.castopod.org/ad-aures/castopod/commit/27c48b8fa930b33e5e15f0c8685e468e857ca9cd)) - **video-clip:** add video-clip page with video preview + logs - ([42538dd](https://code.podlibre.org/podlibre/castopod-host/commit/42538dd7577be0ffe59b4fdfadbd76cc89e5ef30)) + ([42538dd](https://code.castopod.org/ad-aures/castopod/commit/42538dd7577be0ffe59b4fdfadbd76cc89e5ef30)) - **video-clip:** generate video clips in the bg using a cron job + add video clip page + tidy up UI - ([db0e427](https://code.podlibre.org/podlibre/castopod-host/commit/db0e4272bd6d307c562e1f961d2747cb62de0f35)) + ([db0e427](https://code.castopod.org/ad-aures/castopod/commit/db0e4272bd6d307c562e1f961d2747cb62de0f35)) - **video-clips:** add dimensions for portrait and squared formats - ([3af404d](https://code.podlibre.org/podlibre/castopod-host/commit/3af404da3dd1901c78cc7e1778fc225f6716207d)) + ([3af404d](https://code.castopod.org/ad-aures/castopod/commit/3af404da3dd1901c78cc7e1778fc225f6716207d)) - **video-clips:** add new themes + add castopod logo as a watermark - ([1d1490b](https://code.podlibre.org/podlibre/castopod-host/commit/1d1490b06a1f5ecb10b3b98a72efc55d09c10944)) + ([1d1490b](https://code.castopod.org/ad-aures/castopod/commit/1d1490b06a1f5ecb10b3b98a72efc55d09c10944)) - **video-clips:** add route for scheduled video clips + list video clips with status - ([2065ebb](https://code.podlibre.org/podlibre/castopod-host/commit/2065ebbee5e3d0f890ac90b55ca984f1d62a184c)) + ([2065ebb](https://code.castopod.org/ad-aures/castopod/commit/2065ebbee5e3d0f890ac90b55ca984f1d62a184c)) - **video-clips:** allow episodeNumbering text to stand in the indent of episodeTitle paragraph - ([71a063d](https://code.podlibre.org/podlibre/castopod-host/commit/71a063dac311cb21639801fbae6af7c5106c2699)) + ([71a063d](https://code.castopod.org/ad-aures/castopod/commit/71a063dac311cb21639801fbae6af7c5106c2699)) - **video-clips:** generate a 16:9 video using ffmpeg - ([35aa7ea](https://code.podlibre.org/podlibre/castopod-host/commit/35aa7ea5d9a339b3e6f745137282268d69fe2231)) + ([35aa7ea](https://code.castopod.org/ad-aures/castopod/commit/35aa7ea5d9a339b3e6f745137282268d69fe2231)) - **video-clips:** generate subtitles clip using transcript json to have subtitles accross video - ([3ce07e4](https://code.podlibre.org/podlibre/castopod-host/commit/3ce07e455d171e29be30d8ad45055510eb8d363c)) + ([3ce07e4](https://code.castopod.org/ad-aures/castopod/commit/3ce07e455d171e29be30d8ad45055510eb8d363c)) - **video-clips:** replace hardcoded colors with config's theme colors - ([e462abf](https://code.podlibre.org/podlibre/castopod-host/commit/e462abf6d660e41d2170c52caf45704008de58e9)) + ([e462abf](https://code.castopod.org/ad-aures/castopod/commit/e462abf6d660e41d2170c52caf45704008de58e9)) - **vite:** add vite config to decouple it from CI_ENVIRONMENT - ([8721719](https://code.podlibre.org/podlibre/castopod-host/commit/8721719cd7cf32e94823541eafaba1e9309355a8)) + ([8721719](https://code.castopod.org/ad-aures/castopod/commit/8721719cd7cf32e94823541eafaba1e9309355a8)) - write id3v2 tags to episode's audio file - ([4651d01](https://code.podlibre.org/podlibre/castopod-host/commit/4651d01a84ff3ea8433a8ae26cfd750a1ec9e88d)) + ([4651d01](https://code.castopod.org/ad-aures/castopod/commit/4651d01a84ff3ea8433a8ae26cfd750a1ec9e88d)) ### Performance Improvements - **cache:** update CI4 to use cache's deleteMatching method - ([54b84f9](https://code.podlibre.org/podlibre/castopod-host/commit/54b84f96843af13f579fea49102c8c2ef81b0a54)) + ([54b84f9](https://code.castopod.org/ad-aures/castopod/commit/54b84f96843af13f579fea49102c8c2ef81b0a54)) - **cache:** use deleteMatching method to prevent forgetting cached elements in models - ([76afc0c](https://code.podlibre.org/podlibre/castopod-host/commit/76afc0cfa2feb087697bae4bc138e4956873dd62)) + ([76afc0c](https://code.castopod.org/ad-aures/castopod/commit/76afc0cfa2feb087697bae4bc138e4956873dd62)) - defer javascript + lazy load images for faster page loads - ([f0685e4](https://code.podlibre.org/podlibre/castopod-host/commit/f0685e44799dfb494592ff97841c0ae035381db8)) + ([f0685e4](https://code.castopod.org/ad-aures/castopod/commit/f0685e44799dfb494592ff97841c0ae035381db8)) - **docker:** add redis caching service for development - ([05ace8c](https://code.podlibre.org/podlibre/castopod-host/commit/05ace8cff2ef02d19abd40097ac5546dca6a54ca)) + ([05ace8c](https://code.castopod.org/ad-aures/castopod/commit/05ace8cff2ef02d19abd40097ac5546dca6a54ca)) ### Reverts - set deprecated config options back in App config - ([433745f](https://code.podlibre.org/podlibre/castopod-host/commit/433745f194c73407999b207090478563283876a5)) + ([433745f](https://code.castopod.org/ad-aures/castopod/commit/433745f194c73407999b207090478563283876a5)) - **soundbites:** remove soundbite table from episode's public page - ([5dc0f19](https://code.podlibre.org/podlibre/castopod-host/commit/5dc0f19656de0d764f627d6ae78a9e306c901835)) + ([5dc0f19](https://code.castopod.org/ad-aures/castopod/commit/5dc0f19656de0d764f627d6ae78a9e306c901835)) - use basic input file for episodes audio files instead of button for better UX - ([d5f22fb](https://code.podlibre.org/podlibre/castopod-host/commit/d5f22fbb38c43d9b37df401eff655958a57cb40a)) + ([d5f22fb](https://code.castopod.org/ad-aures/castopod/commit/d5f22fbb38c43d9b37df401eff655958a57cb40a)) ### BREAKING CHANGES - **analytics:** analytics_podcasts_by_player table and analytics_podcasts procedure were updated -# [1.0.0-alpha.80](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.79...v1.0.0-alpha.80) (2021-12-29) +# [1.0.0-alpha.80](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.79...v1.0.0-alpha.80) (2021-12-29) ### Bug Fixes - add application/octet-stream mimetype to mp3 and m4a extensions to prevent ext_in error - ([339bef8](https://code.podlibre.org/podlibre/castopod-host/commit/339bef878e54983d86e91e6ff7a931a843d321b3)), - closes [#145](https://code.podlibre.org/podlibre/castopod-host/issues/145) + ([339bef8](https://code.castopod.org/ad-aures/castopod/commit/339bef878e54983d86e91e6ff7a931a843d321b3)), + closes [#145](https://code.castopod.org/ad-aures/castopod/issues/145) -# [1.0.0-alpha.79](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.78...v1.0.0-alpha.79) (2021-12-20) +# [1.0.0-alpha.79](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.78...v1.0.0-alpha.79) (2021-12-20) ### Bug Fixes - **import:** set episode and season numbers to null when not present in item tag - ([3211398](https://code.podlibre.org/podlibre/castopod-host/commit/3211398c78b1b28b76a46427ee07874bbf84a85d)) + ([3211398](https://code.castopod.org/ad-aures/castopod/commit/3211398c78b1b28b76a46427ee07874bbf84a85d)) -# [1.0.0-alpha.78](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.77...v1.0.0-alpha.78) (2021-12-15) +# [1.0.0-alpha.78](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.77...v1.0.0-alpha.78) (2021-12-15) ### Bug Fixes - **import:** add extension when downloading file without + truncate slug if too long - ([c5f18bb](https://code.podlibre.org/podlibre/castopod-host/commit/c5f18bb6dc08a758ff735454bbe9cfa45a68c09b)) + ([c5f18bb](https://code.castopod.org/ad-aures/castopod/commit/c5f18bb6dc08a758ff735454bbe9cfa45a68c09b)) -# [1.0.0-alpha.77](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.76...v1.0.0-alpha.77) (2021-11-23) +# [1.0.0-alpha.77](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.76...v1.0.0-alpha.77) (2021-11-23) ### Bug Fixes - **cors:** add preflight option routes for episode, podcast and status objects - ([a281abf](https://code.podlibre.org/podlibre/castopod-host/commit/a281abfda475388a07943c169dab460cc2d4f944)) + ([a281abf](https://code.castopod.org/ad-aures/castopod/commit/a281abfda475388a07943c169dab460cc2d4f944)) - **podcast-import:** move guid attribute declaration for Episode entity to include slug data - ([5d02ae3](https://code.podlibre.org/podlibre/castopod-host/commit/5d02ae39908a9d743627135b372bf981134c4328)) + ([5d02ae3](https://code.castopod.org/ad-aures/castopod/commit/5d02ae39908a9d743627135b372bf981134c4328)) -# [1.0.0-alpha.76](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.75...v1.0.0-alpha.76) (2021-10-26) +# [1.0.0-alpha.76](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.75...v1.0.0-alpha.76) (2021-10-26) ### Bug Fixes - replace hardcoded style links with vite service + set default value for remote transcript url - ([3f2e056](https://code.podlibre.org/podlibre/castopod-host/commit/3f2e05608e43d47bbb518a9acfaf56ec3eefafb4)), - closes [#149](https://code.podlibre.org/podlibre/castopod-host/issues/149) - [#150](https://code.podlibre.org/podlibre/castopod-host/issues/150) + ([3f2e056](https://code.castopod.org/ad-aures/castopod/commit/3f2e05608e43d47bbb518a9acfaf56ec3eefafb4)), + closes [#149](https://code.castopod.org/ad-aures/castopod/issues/149) + [#150](https://code.castopod.org/ad-aures/castopod/issues/150) -# [1.0.0-alpha.75](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.74...v1.0.0-alpha.75) (2021-10-05) +# [1.0.0-alpha.75](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.74...v1.0.0-alpha.75) (2021-10-05) ### Bug Fixes - **rss:** cast number type values to string in rss_helper - ([7180ae9](https://code.podlibre.org/podlibre/castopod-host/commit/7180ae9ec700930b69c04ed91f8eceea16ad77ce)), - closes [#148](https://code.podlibre.org/podlibre/castopod-host/issues/148) + ([7180ae9](https://code.castopod.org/ad-aures/castopod/commit/7180ae9ec700930b69c04ed91f8eceea16ad77ce)), + closes [#148](https://code.castopod.org/ad-aures/castopod/issues/148) -# [1.0.0-alpha.74](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.73...v1.0.0-alpha.74) (2021-09-28) +# [1.0.0-alpha.74](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.73...v1.0.0-alpha.74) (2021-09-28) ### Features - **platforms:** add missing newpodcastapps.com's platforms - ([92dd370](https://code.podlibre.org/podlibre/castopod-host/commit/92dd370e2f9a464edd26cddcde96d0e16f91548d)) + ([92dd370](https://code.castopod.org/ad-aures/castopod/commit/92dd370e2f9a464edd26cddcde96d0e16f91548d)) -# [1.0.0-alpha.73](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.72...v1.0.0-alpha.73) (2021-09-22) +# [1.0.0-alpha.73](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.72...v1.0.0-alpha.73) (2021-09-22) ### Bug Fixes - **map:** update episode markers query to discard unpublished episodes - ([b3caac4](https://code.podlibre.org/podlibre/castopod-host/commit/b3caac45b12a23e4289d00133d2ad7915d084c44)) + ([b3caac4](https://code.castopod.org/ad-aures/castopod/commit/b3caac45b12a23e4289d00133d2ad7915d084c44)) -# [1.0.0-alpha.72](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.71...v1.0.0-alpha.72) (2021-09-20) +# [1.0.0-alpha.72](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.71...v1.0.0-alpha.72) (2021-09-20) ### Bug Fixes - rename field status to task_status to get scheduled activities - ([4ff82a5](https://code.podlibre.org/podlibre/castopod-host/commit/4ff82a5f0a38dbbc9e272fca7df70ea5a190e334)) + ([4ff82a5](https://code.castopod.org/ad-aures/castopod/commit/4ff82a5f0a38dbbc9e272fca7df70ea5a190e334)) -# [1.0.0-alpha.71](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.70...v1.0.0-alpha.71) (2021-09-17) +# [1.0.0-alpha.71](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.70...v1.0.0-alpha.71) (2021-09-17) ### Features - **map:** display geolocated episodes on a map page - ([4357cc2](https://code.podlibre.org/podlibre/castopod-host/commit/4357cc25ccc585ce398035c1c25d566b6a9df775)) + ([4357cc2](https://code.castopod.org/ad-aures/castopod/commit/4357cc25ccc585ce398035c1c25d566b6a9df775)) -# [1.0.0-alpha.70](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.69...v1.0.0-alpha.70) (2021-08-31) +# [1.0.0-alpha.70](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.69...v1.0.0-alpha.70) (2021-08-31) ### Bug Fixes - **partner:** set correct image URL - ([61554be](https://code.podlibre.org/podlibre/castopod-host/commit/61554be12a64d59ab99fab810b1b05632b408f3a)) + ([61554be](https://code.castopod.org/ad-aures/castopod/commit/61554be12a64d59ab99fab810b1b05632b408f3a)) -# [1.0.0-alpha.69](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.68...v1.0.0-alpha.69) (2021-08-23) +# [1.0.0-alpha.69](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.68...v1.0.0-alpha.69) (2021-08-23) ### Bug Fixes - **import:** cast description's SimpleXMLElement to string - ([02d17be](https://code.podlibre.org/podlibre/castopod-host/commit/02d17be4ffe229fc6657207d31eba0543b5f1a4c)) + ([02d17be](https://code.castopod.org/ad-aures/castopod/commit/02d17be4ffe229fc6657207d31eba0543b5f1a4c)) -# [1.0.0-alpha.68](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.67...v1.0.0-alpha.68) (2021-08-19) +# [1.0.0-alpha.68](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.67...v1.0.0-alpha.68) (2021-08-19) ### Bug Fixes - **analytics:** redirect to mp3 file even when referer was not set - ([9fc388d](https://code.podlibre.org/podlibre/castopod-host/commit/9fc388d154f29c335dedcd624abe8c1751762c07)) + ([9fc388d](https://code.castopod.org/ad-aures/castopod/commit/9fc388d154f29c335dedcd624abe8c1751762c07)) -# [1.0.0-alpha.67](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.66...v1.0.0-alpha.67) (2021-07-24) +# [1.0.0-alpha.67](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.66...v1.0.0-alpha.67) (2021-07-24) ### Features - allow cross origin requests on episode comments - ([e12f95a](https://code.podlibre.org/podlibre/castopod-host/commit/e12f95aca13c6d54489a9cfd99d4cd2490fe83ab)) + ([e12f95a](https://code.castopod.org/ad-aures/castopod/commit/e12f95aca13c6d54489a9cfd99d4cd2490fe83ab)) -# [1.0.0-alpha.66](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.65...v1.0.0-alpha.66) (2021-07-24) +# [1.0.0-alpha.66](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.65...v1.0.0-alpha.66) (2021-07-24) ### Features - **rss:** add podcast:comments tag to link to episode comments - ([32e8c7c](https://code.podlibre.org/podlibre/castopod-host/commit/32e8c7c16a61ffe08e2f3bfbdeda556811a0358c)) + ([32e8c7c](https://code.castopod.org/ad-aures/castopod/commit/32e8c7c16a61ffe08e2f3bfbdeda556811a0358c)) -# [1.0.0-alpha.65](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.64...v1.0.0-alpha.65) (2021-07-22) +# [1.0.0-alpha.65](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.64...v1.0.0-alpha.65) (2021-07-22) ### Bug Fixes - update conditions when checking for empty max_episodes and season_number - ([fbad0b5](https://code.podlibre.org/podlibre/castopod-host/commit/fbad0b59f68c65eba2fdcd5a8d3b312b622e9a45)) + ([fbad0b5](https://code.castopod.org/ad-aures/castopod/commit/fbad0b59f68c65eba2fdcd5a8d3b312b622e9a45)) -# [1.0.0-alpha.64](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.63...v1.0.0-alpha.64) (2021-07-12) +# [1.0.0-alpha.64](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.63...v1.0.0-alpha.64) (2021-07-12) ### Features - **activitypub:** add Podcast actor and PodcastEpisode object with comments - ([9e1e5d2](https://code.podlibre.org/podlibre/castopod-host/commit/9e1e5d2e862d6a3345d11ca7f96b955c76bfa013)) + ([9e1e5d2](https://code.castopod.org/ad-aures/castopod/commit/9e1e5d2e862d6a3345d11ca7f96b955c76bfa013)) -# [1.0.0-alpha.63](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.62...v1.0.0-alpha.63) (2021-07-12) +# [1.0.0-alpha.63](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.62...v1.0.0-alpha.63) (2021-07-12) ### Features - build hashed static files to renew browser cache - ([37c54d2](https://code.podlibre.org/podlibre/castopod-host/commit/37c54d247749bdf8f528babd4a78f24d48051063)), - closes [#107](https://code.podlibre.org/podlibre/castopod-host/issues/107) + ([37c54d2](https://code.castopod.org/ad-aures/castopod/commit/37c54d247749bdf8f528babd4a78f24d48051063)), + closes [#107](https://code.castopod.org/ad-aures/castopod/issues/107) -# [1.0.0-alpha.62](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.61...v1.0.0-alpha.62) (2021-07-02) +# [1.0.0-alpha.62](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.61...v1.0.0-alpha.62) (2021-07-02) ### Bug Fixes - **episode:** replace guid's empty string value to null - ([441052a](https://code.podlibre.org/podlibre/castopod-host/commit/441052af8d99e6e317edefd1e58ad71799357088)) + ([441052a](https://code.castopod.org/ad-aures/castopod/commit/441052af8d99e6e317edefd1e58ad71799357088)) -# [1.0.0-alpha.61](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.60...v1.0.0-alpha.61) (2021-06-23) +# [1.0.0-alpha.61](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.60...v1.0.0-alpha.61) (2021-06-23) ### Bug Fixes - **release:** add missing version number to castopod-host package - ([8f3e9d9](https://code.podlibre.org/podlibre/castopod-host/commit/8f3e9d90c14545d3f84d4469b26a53db4554b4dc)) + ([8f3e9d9](https://code.castopod.org/ad-aures/castopod/commit/8f3e9d90c14545d3f84d4469b26a53db4554b4dc)) - **ux:** allow for empty message upon episode publication and warn user on submit - ([33d01b8](https://code.podlibre.org/podlibre/castopod-host/commit/33d01b8d4fd6ebf24e9f011aa705c456c846956c)), - closes [#129](https://code.podlibre.org/podlibre/castopod-host/issues/129) + ([33d01b8](https://code.castopod.org/ad-aures/castopod/commit/33d01b8d4fd6ebf24e9f011aa705c456c846956c)), + closes [#129](https://code.castopod.org/ad-aures/castopod/issues/129) -# [1.0.0-alpha.60](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.59...v1.0.0-alpha.60) (2021-06-21) +# [1.0.0-alpha.60](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.59...v1.0.0-alpha.60) (2021-06-21) ### Features - **rss:** add Ë‚podcast:guid˃ tag for channel - ([1fab10e](https://code.podlibre.org/podlibre/castopod-host/commit/1fab10eb0d63bb7c3edf34ffe691e2aec2c2e43c)) + ([1fab10e](https://code.castopod.org/ad-aures/castopod/commit/1fab10eb0d63bb7c3edf34ffe691e2aec2c2e43c)) -# [1.0.0-alpha.59](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.58...v1.0.0-alpha.59) (2021-06-15) +# [1.0.0-alpha.59](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.58...v1.0.0-alpha.59) (2021-06-15) ### Bug Fixes - check that additional files are valid when creating episode - ([eac5bc8](https://code.podlibre.org/podlibre/castopod-host/commit/eac5bc876de125e1fe08d1b89f767a04fc0fbfb6)) + ([eac5bc8](https://code.castopod.org/ad-aures/castopod/commit/eac5bc876de125e1fe08d1b89f767a04fc0fbfb6)) -# [1.0.0-alpha.58](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.57...v1.0.0-alpha.58) (2021-06-11) +# [1.0.0-alpha.58](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.57...v1.0.0-alpha.58) (2021-06-11) ### Bug Fixes - cast actor_id to pass as int to set_interact_as_actor() function - ([56a8e5d](https://code.podlibre.org/podlibre/castopod-host/commit/56a8e5d7dd615322aeb007e730801c65d0b02e5c)) + ([56a8e5d](https://code.castopod.org/ad-aures/castopod/commit/56a8e5d7dd615322aeb007e730801c65d0b02e5c)) - **analytics:** set duration field to precise decimal as episode's audio file duration - ([d772685](https://code.podlibre.org/podlibre/castopod-host/commit/d77268540569b2be9d91d5e09aefb3ff5ac2b071)) + ([d772685](https://code.castopod.org/ad-aures/castopod/commit/d77268540569b2be9d91d5e09aefb3ff5ac2b071)) - **analytics:** update migrations to set decimal precision for latitude and longitude - ([714d6b5](https://code.podlibre.org/podlibre/castopod-host/commit/714d6b5d4950e52cf1c3170bb59954f98ffd48bd)) + ([714d6b5](https://code.castopod.org/ad-aures/castopod/commit/714d6b5d4950e52cf1c3170bb59954f98ffd48bd)) - check for database connection and podcasts table existence before redirecting to install - ([eb74e81](https://code.podlibre.org/podlibre/castopod-host/commit/eb74e81c3d93581e310b391cd029e62a0d690a8a)) + ([eb74e81](https://code.castopod.org/ad-aures/castopod/commit/eb74e81c3d93581e310b391cd029e62a0d690a8a)) - save transcript and chapters files to podcasts folder - ([63f49c7](https://code.podlibre.org/podlibre/castopod-host/commit/63f49c719f672b615c5a8893d3868dffcd332e47)) + ([63f49c7](https://code.castopod.org/ad-aures/castopod/commit/63f49c719f672b615c5a8893d3868dffcd332e47)) - set cache expiration to next note publish to show note on publication date - ([0a66de3](https://code.podlibre.org/podlibre/castopod-host/commit/0a66de3e6c17d4ac94ee8e13bd00ceaf64b1303e)) + ([0a66de3](https://code.castopod.org/ad-aures/castopod/commit/0a66de3e6c17d4ac94ee8e13bd00ceaf64b1303e)) - set episode description footer to null when empty value - ([3a7d97d](https://code.podlibre.org/podlibre/castopod-host/commit/3a7d97d660046d80698611311ff3708110d2af82)) + ([3a7d97d](https://code.castopod.org/ad-aures/castopod/commit/3a7d97d660046d80698611311ff3708110d2af82)) - set location to null when getting empty string - ([71b1b5f](https://code.podlibre.org/podlibre/castopod-host/commit/71b1b5f775af475b1dc78328330e277f565e41b6)) + ([71b1b5f](https://code.castopod.org/ad-aures/castopod/commit/71b1b5f775af475b1dc78328330e277f565e41b6)) - update condition in home controller to redirect to install page - ([33f1b91](https://code.podlibre.org/podlibre/castopod-host/commit/33f1b91d55dd0652c979d50fc85879dbf88a4a42)) + ([33f1b91](https://code.castopod.org/ad-aures/castopod/commit/33f1b91d55dd0652c979d50fc85879dbf88a4a42)) - **activity-pub:** cache issues when navigating to activity stream urls - ([7bcbfb3](https://code.podlibre.org/podlibre/castopod-host/commit/7bcbfb32f7cca08d111be46c7f1640e372d4a4b0)) + ([7bcbfb3](https://code.castopod.org/ad-aures/castopod/commit/7bcbfb32f7cca08d111be46c7f1640e372d4a4b0)) - **activity-pub:** get database records using new model instances - ([92536dd](https://code.podlibre.org/podlibre/castopod-host/commit/92536ddb3812214a9c5682b92e547e5c1998a5d7)) + ([92536dd](https://code.castopod.org/ad-aures/castopod/commit/92536ddb3812214a9c5682b92e547e5c1998a5d7)) - **category:** remove uncategorized option to enforce users in choosing a category - ([8c64f25](https://code.podlibre.org/podlibre/castopod-host/commit/8c64f25a0e72fec03d25544797d32623b2276fce)) + ([8c64f25](https://code.castopod.org/ad-aures/castopod/commit/8c64f25a0e72fec03d25544797d32623b2276fce)) - **install:** redirect manually to install wizard on first visit - ([2ceaaca](https://code.podlibre.org/podlibre/castopod-host/commit/2ceaaca44f1b82fc64d961e2fb4f4aaeade7e736)) + ([2ceaaca](https://code.castopod.org/ad-aures/castopod/commit/2ceaaca44f1b82fc64d961e2fb4f4aaeade7e736)) - **types:** update fake seeders types + fix bugs - ([76a4bf3](https://code.podlibre.org/podlibre/castopod-host/commit/76a4bf344160df679db29e236e7df7822970fb60)) + ([76a4bf3](https://code.castopod.org/ad-aures/castopod/commit/76a4bf344160df679db29e236e7df7822970fb60)) - update broken contributor dropdown fields - ([e5b7515](https://code.podlibre.org/podlibre/castopod-host/commit/e5b75150234bd7f19e01def93425d3bda7379dd3)) + ([e5b7515](https://code.castopod.org/ad-aures/castopod/commit/e5b75150234bd7f19e01def93425d3bda7379dd3)) - **ux:** redirect user to install page on database error in home page - ([9017e30](https://code.podlibre.org/podlibre/castopod-host/commit/9017e30bf41bed8c2be65091bbc5fb1e63aef87a)) + ([9017e30](https://code.castopod.org/ad-aures/castopod/commit/9017e30bf41bed8c2be65091bbc5fb1e63aef87a)) - update condition in AnalyticsTrait - ([fbc0967](https://code.podlibre.org/podlibre/castopod-host/commit/fbc0967caa81630d514ddb1b93b0834ebb4d913b)) + ([fbc0967](https://code.castopod.org/ad-aures/castopod/commit/fbc0967caa81630d514ddb1b93b0834ebb4d913b)) ### Performance Improvements - **cache:** use deleteMatching method to prevent forgetting cached elements in models - ([76afc0c](https://code.podlibre.org/podlibre/castopod-host/commit/76afc0cfa2feb087697bae4bc138e4956873dd62)) + ([76afc0c](https://code.castopod.org/ad-aures/castopod/commit/76afc0cfa2feb087697bae4bc138e4956873dd62)) ### Reverts - set deprecated config options back in App config - ([433745f](https://code.podlibre.org/podlibre/castopod-host/commit/433745f194c73407999b207090478563283876a5)) + ([433745f](https://code.castopod.org/ad-aures/castopod/commit/433745f194c73407999b207090478563283876a5)) -# [1.0.0-alpha.57](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.56...v1.0.0-alpha.57) (2021-05-12) +# [1.0.0-alpha.57](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.56...v1.0.0-alpha.57) (2021-05-12) ### Bug Fixes - **follow:** add missing helpers to Actor controller - ([ee53a73](https://code.podlibre.org/podlibre/castopod-host/commit/ee53a732dc12ebbf5706e14969749a12cfd9d559)) + ([ee53a73](https://code.castopod.org/ad-aures/castopod/commit/ee53a732dc12ebbf5706e14969749a12cfd9d559)) -# [1.0.0-alpha.56](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.55...v1.0.0-alpha.56) (2021-05-12) +# [1.0.0-alpha.56](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.55...v1.0.0-alpha.56) (2021-05-12) ### Bug Fixes - **rss:** use originalPath instead of originalMediaPath in Image library - ([b4012b7](https://code.podlibre.org/podlibre/castopod-host/commit/b4012b7d2ed6b34b69ad767570dd33f0dc7db920)) + ([b4012b7](https://code.castopod.org/ad-aures/castopod/commit/b4012b7d2ed6b34b69ad767570dd33f0dc7db920)) -# [1.0.0-alpha.55](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.54...v1.0.0-alpha.55) (2021-05-03) +# [1.0.0-alpha.55](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.54...v1.0.0-alpha.55) (2021-05-03) ### Features - add remote_url alternative for transcript and chapters files - ([3143c9a](https://code.podlibre.org/podlibre/castopod-host/commit/3143c9ad36e4cf1364205cf2be39c0c96f80fdd2)) + ([3143c9a](https://code.castopod.org/ad-aures/castopod/commit/3143c9ad36e4cf1364205cf2be39c0c96f80fdd2)) -# [1.0.0-alpha.54](https://code.podlibre.org/podlibre/castopod-host/compare/v1.0.0-alpha.53...v1.0.0-alpha.54) (2021-05-03) +# [1.0.0-alpha.54](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.53...v1.0.0-alpha.54) (2021-05-03) ### Features - set app parameter forceGlobalSecureRequests = true forcing requests to go through https - ([d9dff1b](https://code.podlibre.org/podlibre/castopod-host/commit/d9dff1b8bf89c8b526ad6cb89f98a1f160d49117)) + ([d9dff1b](https://code.castopod.org/ad-aures/castopod/commit/d9dff1b8bf89c8b526ad6cb89f98a1f160d49117)) - **ux:** remove admin dashboard and redirect directly to podcast list - ([27c48b8](https://code.podlibre.org/podlibre/castopod-host/commit/27c48b8fa930b33e5e15f0c8685e468e857ca9cd)) + ([27c48b8](https://code.castopod.org/ad-aures/castopod/commit/27c48b8fa930b33e5e15f0c8685e468e857ca9cd)) - add cache to ActivityPub sql queries + cache activity and note pages - ([2d297f4](https://code.podlibre.org/podlibre/castopod-host/commit/2d297f45b3d7ef6e8711875a0b9b908e878115fa)) + ([2d297f4](https://code.castopod.org/ad-aures/castopod/commit/2d297f45b3d7ef6e8711875a0b9b908e878115fa)) ### Performance Improvements - **cache:** update CI4 to use cache's deleteMatching method - ([54b84f9](https://code.podlibre.org/podlibre/castopod-host/commit/54b84f96843af13f579fea49102c8c2ef81b0a54)) + ([54b84f9](https://code.castopod.org/ad-aures/castopod/commit/54b84f96843af13f579fea49102c8c2ef81b0a54)) - **docker:** add redis caching service for development - ([05ace8c](https://code.podlibre.org/podlibre/castopod-host/commit/05ace8cff2ef02d19abd40097ac5546dca6a54ca)) + ([05ace8c](https://code.castopod.org/ad-aures/castopod/commit/05ace8cff2ef02d19abd40097ac5546dca6a54ca)) -# [1.0.0-alpha.53](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.52...v1.0.0-alpha.53) (2021-04-16) +# [1.0.0-alpha.53](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.52...v1.0.0-alpha.53) (2021-04-16) ### Bug Fixes - check that note has a preview_card_id before displaying it - ([acb8b3a](https://code.podlibre.org/podlibre/castopod/commit/acb8b3a40172ccb184ffe544760601d756692e6c)), - closes [#114](https://code.podlibre.org/podlibre/castopod/issues/114) + ([acb8b3a](https://code.castopod.org/ad-aures/castopod/commit/acb8b3a40172ccb184ffe544760601d756692e6c)), + closes [#114](https://code.castopod.org/ad-aures/castopod/issues/114) -# [1.0.0-alpha.52](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.51...v1.0.0-alpha.52) (2021-04-16) +# [1.0.0-alpha.52](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.51...v1.0.0-alpha.52) (2021-04-16) ### Bug Fixes - **avatar:** use default avatar when no avatar url has been set - ([9d23c7e](https://code.podlibre.org/podlibre/castopod/commit/9d23c7e7e142c6cf1a1418e37e41d711064593c4)), - closes [#111](https://code.podlibre.org/podlibre/castopod/issues/111) + ([9d23c7e](https://code.castopod.org/ad-aures/castopod/commit/9d23c7e7e142c6cf1a1418e37e41d711064593c4)), + closes [#111](https://code.castopod.org/ad-aures/castopod/issues/111) -# [1.0.0-alpha.51](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.50...v1.0.0-alpha.51) (2021-04-15) +# [1.0.0-alpha.51](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.50...v1.0.0-alpha.51) (2021-04-15) ### Bug Fixes - **interact-as:** set actor_id instead of podcast id upon login event - ([5dfade7](https://code.podlibre.org/podlibre/castopod/commit/5dfade7cf37f339c56d2e577c679b88a1b1d9336)), - closes [#104](https://code.podlibre.org/podlibre/castopod/issues/104) + ([5dfade7](https://code.castopod.org/ad-aures/castopod/commit/5dfade7cf37f339c56d2e577c679b88a1b1d9336)), + closes [#104](https://code.castopod.org/ad-aures/castopod/issues/104) -# [1.0.0-alpha.50](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.49...v1.0.0-alpha.50) (2021-04-14) +# [1.0.0-alpha.50](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.49...v1.0.0-alpha.50) (2021-04-14) ### Bug Fixes - **persons:** prevent overflow of persons list by adding horizontal scroll - ([9e8995d](https://code.podlibre.org/podlibre/castopod/commit/9e8995dc6e039032cc65f87895cf770f99e8b244)) + ([9e8995d](https://code.castopod.org/ad-aures/castopod/commit/9e8995dc6e039032cc65f87895cf770f99e8b244)) -# [1.0.0-alpha.49](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.48...v1.0.0-alpha.49) (2021-04-12) +# [1.0.0-alpha.49](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.48...v1.0.0-alpha.49) (2021-04-12) ### Bug Fixes - **multiselect:** add missing class names in choices options for purge to work properly - ([719538d](https://code.podlibre.org/podlibre/castopod/commit/719538d0ccb28af3c3c5e1a4b6468d4b772fe819)) + ([719538d](https://code.castopod.org/ad-aures/castopod/commit/719538d0ccb28af3c3c5e1a4b6468d4b772fe819)) -# [1.0.0-alpha.48](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.47...v1.0.0-alpha.48) (2021-04-10) +# [1.0.0-alpha.48](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.47...v1.0.0-alpha.48) (2021-04-10) ### Bug Fixes - **import-with-escaped-characters:** remove \CodeIgniter\HTTP\URI in download_file, closes - [#103](https://code.podlibre.org/podlibre/castopod/issues/103) - ([35b5be0](https://code.podlibre.org/podlibre/castopod/commit/35b5be095ff54d27acec1610a846ec0cdbdf1d65)) + [#103](https://code.castopod.org/ad-aures/castopod/issues/103) + ([35b5be0](https://code.castopod.org/ad-aures/castopod/commit/35b5be095ff54d27acec1610a846ec0cdbdf1d65)) -# [1.0.0-alpha.47](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.46...v1.0.0-alpha.47) (2021-04-10) +# [1.0.0-alpha.47](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.46...v1.0.0-alpha.47) (2021-04-10) ### Bug Fixes - **episodeCount:** add missing brackets to French language file - ([c1b4112](https://code.podlibre.org/podlibre/castopod/commit/c1b411265ad9b06e95a8b097ecf73445b88dcb45)) + ([c1b4112](https://code.castopod.org/ad-aures/castopod/commit/c1b411265ad9b06e95a8b097ecf73445b88dcb45)) -# [1.0.0-alpha.46](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.45...v1.0.0-alpha.46) (2021-04-09) +# [1.0.0-alpha.46](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.45...v1.0.0-alpha.46) (2021-04-09) ### Bug Fixes - **episodes-page:** handle defaultQuery being null when no podcast episodes - ([15183b7](https://code.podlibre.org/podlibre/castopod/commit/15183b7eab57dac007bcdfa8c3651239de1ae05a)), - closes [#100](https://code.podlibre.org/podlibre/castopod/issues/100) + ([15183b7](https://code.castopod.org/ad-aures/castopod/commit/15183b7eab57dac007bcdfa8c3651239de1ae05a)), + closes [#100](https://code.castopod.org/ad-aures/castopod/issues/100) -# [1.0.0-alpha.45](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.44...v1.0.0-alpha.45) (2021-04-08) +# [1.0.0-alpha.45](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.44...v1.0.0-alpha.45) (2021-04-08) ### Bug Fixes - add head request to analytics_hit route - ([f0a2f0b](https://code.podlibre.org/podlibre/castopod/commit/f0a2f0bea491ca91976b351bb79837e95c9d094b)) + ([f0a2f0b](https://code.castopod.org/ad-aures/castopod/commit/f0a2f0bea491ca91976b351bb79837e95c9d094b)) -# [1.0.0-alpha.44](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.43...v1.0.0-alpha.44) (2021-04-08) +# [1.0.0-alpha.44](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.43...v1.0.0-alpha.44) (2021-04-08) ### Bug Fixes - **rss:** set â¬itunes:authorâ tag to owner_name if publisher not specified - ([2271c14](https://code.podlibre.org/podlibre/castopod/commit/2271c1445b1ded12bc53b5d23b5e59d12b17c71a)), - closes [#96](https://code.podlibre.org/podlibre/castopod/issues/96) + ([2271c14](https://code.castopod.org/ad-aures/castopod/commit/2271c1445b1ded12bc53b5d23b5e59d12b17c71a)), + closes [#96](https://code.castopod.org/ad-aures/castopod/issues/96) -# [1.0.0-alpha.43](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.42...v1.0.0-alpha.43) (2021-04-08) +# [1.0.0-alpha.43](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.42...v1.0.0-alpha.43) (2021-04-08) ### Bug Fixes - **episode-form:** show warning to set `memory_limit`, `upload_max_filesize` & `post_max_size` - ([3b3c218](https://code.podlibre.org/podlibre/castopod/commit/3b3c218b9c868e9f12c54d7670e69d84c9ee79c0)), - closes [#5](https://code.podlibre.org/podlibre/castopod/issues/5) - [#86](https://code.podlibre.org/podlibre/castopod/issues/86) + ([3b3c218](https://code.castopod.org/ad-aures/castopod/commit/3b3c218b9c868e9f12c54d7670e69d84c9ee79c0)), + closes [#5](https://code.castopod.org/ad-aures/castopod/issues/5) + [#86](https://code.castopod.org/ad-aures/castopod/issues/86) -# [1.0.0-alpha.42](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.41...v1.0.0-alpha.42) (2021-04-02) +# [1.0.0-alpha.42](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.41...v1.0.0-alpha.42) (2021-04-02) ### Features - **fediverse:** implement activitypub protocols + update user interface - ([2f525c0](https://code.podlibre.org/podlibre/castopod/commit/2f525c0f6e44d320bff16e22c223481923ba683e)), - closes [#69](https://code.podlibre.org/podlibre/castopod/issues/69) - [#65](https://code.podlibre.org/podlibre/castopod/issues/65) - [#85](https://code.podlibre.org/podlibre/castopod/issues/85) - [#51](https://code.podlibre.org/podlibre/castopod/issues/51) - [#91](https://code.podlibre.org/podlibre/castopod/issues/91) - [#92](https://code.podlibre.org/podlibre/castopod/issues/92) - [#88](https://code.podlibre.org/podlibre/castopod/issues/88) + ([2f525c0](https://code.castopod.org/ad-aures/castopod/commit/2f525c0f6e44d320bff16e22c223481923ba683e)), + closes [#69](https://code.castopod.org/ad-aures/castopod/issues/69) + [#65](https://code.castopod.org/ad-aures/castopod/issues/65) + [#85](https://code.castopod.org/ad-aures/castopod/issues/85) + [#51](https://code.castopod.org/ad-aures/castopod/issues/51) + [#91](https://code.castopod.org/ad-aures/castopod/issues/91) + [#92](https://code.castopod.org/ad-aures/castopod/issues/92) + [#88](https://code.castopod.org/ad-aures/castopod/issues/88) -# [1.0.0-alpha.41](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.40...v1.0.0-alpha.41) (2021-03-30) +# [1.0.0-alpha.41](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.40...v1.0.0-alpha.41) (2021-03-30) ### Features - **partner:** add link and image in episode description - ([ad07bb9](https://code.podlibre.org/podlibre/castopod/commit/ad07bb9330dc9493813368e969e1f3a3def44614)) + ([ad07bb9](https://code.castopod.org/ad-aures/castopod/commit/ad07bb9330dc9493813368e969e1f3a3def44614)) -# [1.0.0-alpha.40](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2021-03-19) +# [1.0.0-alpha.40](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2021-03-19) ### Features - **custom-rss:** add custom xml tag injection in rss feed for â¬channelâ and â¬itemâ - ([6ecdaad](https://code.podlibre.org/podlibre/castopod/commit/6ecdaad911d06b7f7a2b7d24710968c7eb9118f6)) + ([6ecdaad](https://code.castopod.org/ad-aures/castopod/commit/6ecdaad911d06b7f7a2b7d24710968c7eb9118f6)) -# [1.0.0-alpha.39](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2021-03-01) +# [1.0.0-alpha.39](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2021-03-01) ### Bug Fixes - **embeddable-player:** enable any ancestor when X-Frame-Options is set on server - ([44a4962](https://code.podlibre.org/podlibre/castopod/commit/44a4962e0b7e3ed87e9914b4e7792a0d52330ff8)) + ([44a4962](https://code.castopod.org/ad-aures/castopod/commit/44a4962e0b7e3ed87e9914b4e7792a0d52330ff8)) -# [1.0.0-alpha.38](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2021-02-27) +# [1.0.0-alpha.38](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2021-02-27) ### Features - **embeddable-player:** add embeddable player widget - ([141788f](https://code.podlibre.org/podlibre/castopod/commit/141788fa089f9dedc8956c64ca515a4a4625f904)) + ([141788f](https://code.castopod.org/ad-aures/castopod/commit/141788fa089f9dedc8956c64ca515a4a4625f904)) -# [1.0.0-alpha.37](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2021-02-17) +# [1.0.0-alpha.37](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2021-02-17) ### Bug Fixes - **import:** remove query string from files url - ([109c4aa](https://code.podlibre.org/podlibre/castopod/commit/109c4aa1afb72dd8b99c0302d74a7fef5a38638e)) + ([109c4aa](https://code.castopod.org/ad-aures/castopod/commit/109c4aa1afb72dd8b99c0302d74a7fef5a38638e)) -# [1.0.0-alpha.36](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2021-02-16) +# [1.0.0-alpha.36](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2021-02-16) ### Features - **platforms:** add pod.link - ([3d7a232](https://code.podlibre.org/podlibre/castopod/commit/3d7a2320ddd116e4a311605421126aff57243219)) + ([3d7a232](https://code.castopod.org/ad-aures/castopod/commit/3d7a2320ddd116e4a311605421126aff57243219)) -# [1.0.0-alpha.35](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2021-02-12) +# [1.0.0-alpha.35](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2021-02-12) ### Bug Fixes - **admin:** save block and lock switches - ([b66c0af](https://code.podlibre.org/podlibre/castopod/commit/b66c0afc8fab2e338402a9a4f8105e5f5459e208)) + ([b66c0af](https://code.castopod.org/ad-aures/castopod/commit/b66c0afc8fab2e338402a9a4f8105e5f5459e208)) -# [1.0.0-alpha.34](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2021-02-11) +# [1.0.0-alpha.34](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2021-02-11) ### Bug Fixes - **rss-import:** add Castopod user-agent, handle redirects for downloaded files, add Content namespace - ([214243b](https://code.podlibre.org/podlibre/castopod/commit/214243b3fec4937e45ef1ceaba1149004cdf3b44)) + ([214243b](https://code.castopod.org/ad-aures/castopod/commit/214243b3fec4937e45ef1ceaba1149004cdf3b44)) -# [1.0.0-alpha.33](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2021-02-10) +# [1.0.0-alpha.33](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2021-02-10) ### Features - **platforms:** add helloasso - ([16cb993](https://code.podlibre.org/podlibre/castopod/commit/16cb993ee6e28987a840fc27a9c2c73794c67697)) + ([16cb993](https://code.castopod.org/ad-aures/castopod/commit/16cb993ee6e28987a840fc27a9c2c73794c67697)) -# [1.0.0-alpha.32](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2021-02-10) +# [1.0.0-alpha.32](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2021-02-10) ### Features - **person:** add podcastindex.org namespace person tag - ([8acd011](https://code.podlibre.org/podlibre/castopod/commit/8acd011f13e99492ef4b44b327685bb006fe5f8f)) + ([8acd011](https://code.castopod.org/ad-aures/castopod/commit/8acd011f13e99492ef4b44b327685bb006fe5f8f)) -# [1.0.0-alpha.31](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2020-12-23) +# [1.0.0-alpha.31](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2020-12-23) ### Features - **rss:** add podcast:location tag - ([c0a2282](https://code.podlibre.org/podlibre/castopod/commit/c0a22829bd87d48535a86e60c6cd7280e44683a2)) + ([c0a2282](https://code.castopod.org/ad-aures/castopod/commit/c0a22829bd87d48535a86e60c6cd7280e44683a2)) -# [1.0.0-alpha.30](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2020-12-21) +# [1.0.0-alpha.30](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2020-12-21) ### Features - **rss:** update monetization tag so that it meets PodcastIndex requirements - ([4c7ecbe](https://code.podlibre.org/podlibre/castopod/commit/4c7ecbee83950e5f9f2482cedaab18a1ac9bfc9e)) + ([4c7ecbe](https://code.castopod.org/ad-aures/castopod/commit/4c7ecbee83950e5f9f2482cedaab18a1ac9bfc9e)) -# [1.0.0-alpha.29](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2020-12-10) +# [1.0.0-alpha.29](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2020-12-10) ### Bug Fixes - **episodes:** add publication status + set publication date to null when none has been set - ([d882981](https://code.podlibre.org/podlibre/castopod/commit/d882981b3a86c81921ce6b07d4cf61fc13983689)), - closes [#70](https://code.podlibre.org/podlibre/castopod/issues/70) + ([d882981](https://code.castopod.org/ad-aures/castopod/commit/d882981b3a86c81921ce6b07d4cf61fc13983689)), + closes [#70](https://code.castopod.org/ad-aures/castopod/issues/70) ### Reverts - **soundbites:** remove soundbite table from episode's public page - ([5dc0f19](https://code.podlibre.org/podlibre/castopod/commit/5dc0f19656de0d764f627d6ae78a9e306c901835)) + ([5dc0f19](https://code.castopod.org/ad-aures/castopod/commit/5dc0f19656de0d764f627d6ae78a9e306c901835)) -# [1.0.0-alpha.28](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2020-12-07) +# [1.0.0-alpha.28](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2020-12-07) ### Features - **rss:** add soundbites according to the podcastindex specs - ([6b34617](https://code.podlibre.org/podlibre/castopod/commit/6b34617d07c70522cb941e96d91d9987493413eb)), - closes [#83](https://code.podlibre.org/podlibre/castopod/issues/83) + ([6b34617](https://code.castopod.org/ad-aures/castopod/commit/6b34617d07c70522cb941e96d91d9987493413eb)), + closes [#83](https://code.castopod.org/ad-aures/castopod/issues/83) -# [1.0.0-alpha.27](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2020-12-07) +# [1.0.0-alpha.27](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2020-12-07) ### Features - **platforms:** add AntennaPod - ([53e9cfd](https://code.podlibre.org/podlibre/castopod/commit/53e9cfd61c794b1539e9d4691d3c4e73c4b7aaa7)) + ([53e9cfd](https://code.castopod.org/ad-aures/castopod/commit/53e9cfd61c794b1539e9d4691d3c4e73c4b7aaa7)) -# [1.0.0-alpha.26](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2020-11-30) +# [1.0.0-alpha.26](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2020-11-30) ### Bug Fixes - **analytics:** update service management so that it works with new OPAWG slug values - ([7fe9d42](https://code.podlibre.org/podlibre/castopod/commit/7fe9d42500ade2c6fa3ff4365b4affc475af0e51)) + ([7fe9d42](https://code.castopod.org/ad-aures/castopod/commit/7fe9d42500ade2c6fa3ff4365b4affc475af0e51)) -# [1.0.0-alpha.25](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2020-11-30) +# [1.0.0-alpha.25](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2020-11-30) ### Features - **platforms:** add podfriend - ([9fdc8d3](https://code.podlibre.org/podlibre/castopod/commit/9fdc8d32930234c7ffd2be6892be57febcef1086)) + ([9fdc8d3](https://code.castopod.org/ad-aures/castopod/commit/9fdc8d32930234c7ffd2be6892be57febcef1086)) -# [1.0.0-alpha.24](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2020-11-26) +# [1.0.0-alpha.24](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2020-11-26) ### Features - **monetization:** add Web Monetization support - ([96a6026](https://code.podlibre.org/podlibre/castopod/commit/96a6026f1db452085360f5fe248de82a2ec06468)) + ([96a6026](https://code.castopod.org/ad-aures/castopod/commit/96a6026f1db452085360f5fe248de82a2ec06468)) -# [1.0.0-alpha.23](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2020-11-24) +# [1.0.0-alpha.23](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2020-11-24) ### Bug Fixes - define podcastNamespaceLink value - ([0d744d2](https://code.podlibre.org/podlibre/castopod/commit/0d744d212df0d070ceea185068eaf2746e1ccd48)) + ([0d744d2](https://code.castopod.org/ad-aures/castopod/commit/0d744d212df0d070ceea185068eaf2746e1ccd48)) -# [1.0.0-alpha.22](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2020-11-24) +# [1.0.0-alpha.22](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2020-11-24) ### Features - **rss:** add transcript and chapters support - ([e769d83](https://code.podlibre.org/podlibre/castopod/commit/e769d83a932c169e52a630a17cd4dd8ac5cebaf6)), - closes [#72](https://code.podlibre.org/podlibre/castopod/issues/72) - [#82](https://code.podlibre.org/podlibre/castopod/issues/82) + ([e769d83](https://code.castopod.org/ad-aures/castopod/commit/e769d83a932c169e52a630a17cd4dd8ac5cebaf6)), + closes [#72](https://code.castopod.org/ad-aures/castopod/issues/72) + [#82](https://code.castopod.org/ad-aures/castopod/issues/82) -# [1.0.0-alpha.21](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2020-11-24) +# [1.0.0-alpha.21](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2020-11-24) ### Features - **platforms:** add Fediverse and some funding platforms, add link on logo - ([afc3d50](https://code.podlibre.org/podlibre/castopod/commit/afc3d50289bb4173e0697d109ffe72f6814b93d1)) + ([afc3d50](https://code.castopod.org/ad-aures/castopod/commit/afc3d50289bb4173e0697d109ffe72f6814b93d1)) -# [1.0.0-alpha.20](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2020-11-24) +# [1.0.0-alpha.20](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2020-11-24) ### Bug Fixes - **import:** use <image><url> tag when no <itunes:image> is present - ([20e607a](https://code.podlibre.org/podlibre/castopod/commit/20e607afb755bc75056041738fa7cbf6723d754c)) + ([20e607a](https://code.castopod.org/ad-aures/castopod/commit/20e607afb755bc75056041738fa7cbf6723d754c)) ### Features - **rss:** add podcast-namespace tags for platforms + previousUrl tag - ([dbba8dc](https://code.podlibre.org/podlibre/castopod/commit/dbba8dc58133967c778514268cbfed8098ed1dbc)), - closes [#73](https://code.podlibre.org/podlibre/castopod/issues/73) - [#75](https://code.podlibre.org/podlibre/castopod/issues/75) - [#76](https://code.podlibre.org/podlibre/castopod/issues/76) - [#80](https://code.podlibre.org/podlibre/castopod/issues/80) + ([dbba8dc](https://code.castopod.org/ad-aures/castopod/commit/dbba8dc58133967c778514268cbfed8098ed1dbc)), + closes [#73](https://code.castopod.org/ad-aures/castopod/issues/73) + [#75](https://code.castopod.org/ad-aures/castopod/issues/75) + [#76](https://code.castopod.org/ad-aures/castopod/issues/76) + [#80](https://code.castopod.org/ad-aures/castopod/issues/80) -# [1.0.0-alpha.19](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2020-11-13) +# [1.0.0-alpha.19](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2020-11-13) ### Bug Fixes - handle HEAD requests on podcast_feed route - ([74b2640](https://code.podlibre.org/podlibre/castopod/commit/74b2640f2a25c4cd6fd8835fc492c2a6893d4950)), - closes [#79](https://code.podlibre.org/podlibre/castopod/issues/79) + ([74b2640](https://code.castopod.org/ad-aures/castopod/commit/74b2640f2a25c4cd6fd8835fc492c2a6893d4950)), + closes [#79](https://code.castopod.org/ad-aures/castopod/issues/79) -# [1.0.0-alpha.18](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2020-11-09) +# [1.0.0-alpha.18](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2020-11-09) ### Features - **platforms:** add Podcast Index - ([ad52b1c](https://code.podlibre.org/podlibre/castopod/commit/ad52b1cc2b7d0bc844970214d205961a7196b4a9)) + ([ad52b1c](https://code.castopod.org/ad-aures/castopod/commit/ad52b1cc2b7d0bc844970214d205961a7196b4a9)) -# [1.0.0-alpha.17](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2020-11-05) +# [1.0.0-alpha.17](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2020-11-05) ### Bug Fixes - **open-graph:** replace non existant episode description to podcast description in podcast page - ([b02584e](https://code.podlibre.org/podlibre/castopod/commit/b02584ee609af1ad1b5680cc28208d113eb0410b)) + ([b02584e](https://code.castopod.org/ad-aures/castopod/commit/b02584ee609af1ad1b5680cc28208d113eb0410b)) -# [1.0.0-alpha.16](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2020-11-04) +# [1.0.0-alpha.16](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2020-11-04) ### Features - add Open Graph and Twitter meta tags - ([af970b8](https://code.podlibre.org/podlibre/castopod/commit/af970b8bac949e4c63047e04aca1b7403a4e8deb)), - closes [#41](https://code.podlibre.org/podlibre/castopod/issues/41) + ([af970b8](https://code.castopod.org/ad-aures/castopod/commit/af970b8bac949e4c63047e04aca1b7403a4e8deb)), + closes [#41](https://code.castopod.org/ad-aures/castopod/issues/41) -# [1.0.0-alpha.15](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2020-11-03) +# [1.0.0-alpha.15](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2020-11-03) ### Features - **analytics:** add 'other' group to pie charts in order to display more accurate data - ([73acef9](https://code.podlibre.org/podlibre/castopod/commit/73acef933ff3485987afc5157de022910876fc12)) + ([73acef9](https://code.castopod.org/ad-aures/castopod/commit/73acef933ff3485987afc5157de022910876fc12)) -# [1.0.0-alpha.14](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2020-11-02) +# [1.0.0-alpha.14](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2020-11-02) ### Features - **analytics:** add weekday and hour bar charts - ([8ab3132](https://code.podlibre.org/podlibre/castopod/commit/8ab313296bb4a254ab05e90b17d896039839b784)) + ([8ab3132](https://code.castopod.org/ad-aures/castopod/commit/8ab313296bb4a254ab05e90b17d896039839b784)) -# [1.0.0-alpha.13](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2020-10-29) +# [1.0.0-alpha.13](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2020-10-29) ### Bug Fixes - **episodes-table:** set descriptions to be not null - ([6774ec1](https://code.podlibre.org/podlibre/castopod/commit/6774ec10fa78527be6b7548ca1dc34ad0ada090c)) + ([6774ec1](https://code.castopod.org/ad-aures/castopod/commit/6774ec10fa78527be6b7548ca1dc34ad0ada090c)) ### Features - add episode_numbering() component helper to display episode and season numbers - ([3f4a6bd](https://code.podlibre.org/podlibre/castopod/commit/3f4a6bd0b9f870f16107a41b102b6bf734868198)) + ([3f4a6bd](https://code.castopod.org/ad-aures/castopod/commit/3f4a6bd0b9f870f16107a41b102b6bf734868198)) - **episodes:** replace all audio file URL parameters with base64 encoded data - ([e1f65cd](https://code.podlibre.org/podlibre/castopod/commit/e1f65cd3b53353a30d4ab6eb5312393cf04a1676)) + ([e1f65cd](https://code.castopod.org/ad-aures/castopod/commit/e1f65cd3b53353a30d4ab6eb5312393cf04a1676)) -# [1.0.0-alpha.12](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2020-10-26) +# [1.0.0-alpha.12](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2020-10-26) ### Bug Fixes - replace getWebEnclosureUrl with getEnclosureWebUrl - ([8122cea](https://code.podlibre.org/podlibre/castopod/commit/8122ceaf8a70050f14b3078f28b024e7d7cdb9ac)) + ([8122cea](https://code.castopod.org/ad-aures/castopod/commit/8122ceaf8a70050f14b3078f28b024e7d7cdb9ac)) -# [1.0.0-alpha.11](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2020-10-26) +# [1.0.0-alpha.11](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2020-10-26) ### Features - add CDN url - ([972bcbf](https://code.podlibre.org/podlibre/castopod/commit/972bcbf65ee119b8641ca3c4e5c0e8cf9ca8dd4f)), - closes [#37](https://code.podlibre.org/podlibre/castopod/issues/37) + ([972bcbf](https://code.castopod.org/ad-aures/castopod/commit/972bcbf65ee119b8641ca3c4e5c0e8cf9ca8dd4f)), + closes [#37](https://code.castopod.org/ad-aures/castopod/issues/37) -# [1.0.0-alpha.10](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2020-10-26) +# [1.0.0-alpha.10](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2020-10-26) ### Bug Fixes - **install:** redirect to host_url install route on instanceConfig validation error - ([99250b1](https://code.podlibre.org/podlibre/castopod/commit/99250b1868657c249a447399c7ebc69e00d43d1a)) + ([99250b1](https://code.castopod.org/ad-aures/castopod/commit/99250b1868657c249a447399c7ebc69e00d43d1a)) -# [1.0.0-alpha.9](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2020-10-26) +# [1.0.0-alpha.9](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2020-10-26) ### Features - display castopod version in admin footer - ([9f2574e](https://code.podlibre.org/podlibre/castopod/commit/9f2574e6fbb61dac4e1a4252dff30017685da5f0)), - closes [#68](https://code.podlibre.org/podlibre/castopod/issues/68) + ([9f2574e](https://code.castopod.org/ad-aures/castopod/commit/9f2574e6fbb61dac4e1a4252dff30017685da5f0)), + closes [#68](https://code.castopod.org/ad-aures/castopod/issues/68) -# [1.0.0-alpha.8](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2020-10-22) +# [1.0.0-alpha.8](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2020-10-22) ### Features - **episodes:** schedule episode with future publication_date by using cache expiration time - ([4f1e773](https://code.podlibre.org/podlibre/castopod/commit/4f1e773c0f9e4c2597f6c1b0a4773dfb34b2f203)), - closes [#47](https://code.podlibre.org/podlibre/castopod/issues/47) + ([4f1e773](https://code.castopod.org/ad-aures/castopod/commit/4f1e773c0f9e4c2597f6c1b0a4773dfb34b2f203)), + closes [#47](https://code.castopod.org/ad-aures/castopod/issues/47) -# [1.0.0-alpha.7](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2020-10-21) +# [1.0.0-alpha.7](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2020-10-21) ### Features - **analytics:** add service name from rss user-agent - ([7202b98](https://code.podlibre.org/podlibre/castopod/commit/7202b9867bd59aafa8c338a4230fb5e5c55b24c6)) + ([7202b98](https://code.castopod.org/ad-aures/castopod/commit/7202b9867bd59aafa8c338a4230fb5e5c55b24c6)) ### BREAKING CHANGES - **analytics:** analytics_podcasts_by_player table and analytics_podcasts procedure were updated -# [1.0.0-alpha.6](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2020-10-20) +# [1.0.0-alpha.6](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2020-10-20) ### Bug Fixes - **cache:** add locale for podcast and episode pages + clear some persisting cache in models - ([9cec8a8](https://code.podlibre.org/podlibre/castopod/commit/9cec8a81ccbb7239402fe6633dbc31979272302a)), - closes [#42](https://code.podlibre.org/podlibre/castopod/issues/42) - [#61](https://code.podlibre.org/podlibre/castopod/issues/61) + ([9cec8a8](https://code.castopod.org/ad-aures/castopod/commit/9cec8a81ccbb7239402fe6633dbc31979272302a)), + closes [#42](https://code.castopod.org/ad-aures/castopod/issues/42) + [#61](https://code.castopod.org/ad-aures/castopod/issues/61) -# [1.0.0-alpha.5](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2020-10-20) +# [1.0.0-alpha.5](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2020-10-20) ### Features - add lock podcast according to the Podcastindex podcast-namespace to prevent unauthozized import - ([72b3012](https://code.podlibre.org/podlibre/castopod/commit/72b301272e0b70ded3e2b237391909e3f152ad0b)) + ([72b3012](https://code.castopod.org/ad-aures/castopod/commit/72b301272e0b70ded3e2b237391909e3f152ad0b)) -# [1.0.0-alpha.4](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2020-10-20) +# [1.0.0-alpha.4](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2020-10-20) ### Features - **analytics:** add charts and data export - ([78625c4](https://code.podlibre.org/podlibre/castopod/commit/78625c471b4f03a09bd42f72b82217e1f2d01cef)) + ([78625c4](https://code.castopod.org/ad-aures/castopod/commit/78625c471b4f03a09bd42f72b82217e1f2d01cef)) -# [1.0.0-alpha.3](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2020-10-19) +# [1.0.0-alpha.3](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2020-10-19) ### Bug Fixes - **analytics:** remove charts empty values + remove useless language cache - ([1678794](https://code.podlibre.org/podlibre/castopod/commit/16787941539ba4014281a366789ea896a9cd2afc)) + ([1678794](https://code.castopod.org/ad-aures/castopod/commit/16787941539ba4014281a366789ea896a9cd2afc)) -# [1.0.0-alpha.2](https://code.podlibre.org/podlibre/castopod/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2020-10-19) +# [1.0.0-alpha.2](https://code.castopod.org/ad-aures/castopod/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2020-10-19) ### Features - add cumulative listening time charts - ([588b4d2](https://code.podlibre.org/podlibre/castopod/commit/588b4d28da00bc12d02126e23181690f54d81716)) + ([588b4d2](https://code.castopod.org/ad-aures/castopod/commit/588b4d28da00bc12d02126e23181690f54d81716)) # 1.0.0-alpha.1 (2020-10-16) ### Bug Fixes - add public/media folder to castopod bundle - ([8053d35](https://code.podlibre.org/podlibre/castopod/commit/8053d3521b481872711dabaaf265d08b9bfbaa87)), - closes [#52](https://code.podlibre.org/podlibre/castopod/issues/52) + ([8053d35](https://code.castopod.org/ad-aures/castopod/commit/8053d3521b481872711dabaaf265d08b9bfbaa87)), + closes [#52](https://code.castopod.org/ad-aures/castopod/issues/52) - add where condition to get episode count without deleted episodes - ([7661734](https://code.podlibre.org/podlibre/castopod/commit/7661734ed296654630f3668132671117519145dd)), - closes [#67](https://code.podlibre.org/podlibre/castopod/issues/67) + ([7661734](https://code.castopod.org/ad-aures/castopod/commit/7661734ed296654630f3668132671117519145dd)), + closes [#67](https://code.castopod.org/ad-aures/castopod/issues/67) - comment all cache clean after page update to prevent analytics cache deletion - ([e6197a4](https://code.podlibre.org/podlibre/castopod/commit/e6197a4972a3cce3d67dd7972bb54f8720b8e5b7)) + ([e6197a4](https://code.castopod.org/ad-aures/castopod/commit/e6197a4972a3cce3d67dd7972bb54f8720b8e5b7)) - correct chart data - ([4d3e9c8](https://code.podlibre.org/podlibre/castopod/commit/4d3e9c8c02cdc882e9fe1c29625695b6f83c820a)) + ([4d3e9c8](https://code.castopod.org/ad-aures/castopod/commit/4d3e9c8c02cdc882e9fe1c29625695b6f83c820a)) - correct percona compatibility issue - ([e53f819](https://code.podlibre.org/podlibre/castopod/commit/e53f819264b2d6902996f11ffcbb7c99295a90ef)) + ([e53f819](https://code.castopod.org/ad-aures/castopod/commit/e53f819264b2d6902996f11ffcbb7c99295a90ef)) - correct php-fpm issues - ([1ef55d7](https://code.podlibre.org/podlibre/castopod/commit/1ef55d7315bb44abe05f02ec8a84b6b6a557a9a0)) + ([1ef55d7](https://code.castopod.org/ad-aures/castopod/commit/1ef55d7315bb44abe05f02ec8a84b6b6a557a9a0)) - correct referrer bug - ([ed69b2f](https://code.podlibre.org/podlibre/castopod/commit/ed69b2f5004ed1cd18bac824c08a0df01f5d2637)) + ([ed69b2f](https://code.castopod.org/ad-aures/castopod/commit/ed69b2f5004ed1cd18bac824c08a0df01f5d2637)) - correction for servers with low int precision - ([31b7828](https://code.podlibre.org/podlibre/castopod/commit/31b7828e77519ef43e9bcfcbdf6c21712f97a571)) + ([31b7828](https://code.castopod.org/ad-aures/castopod/commit/31b7828e77519ef43e9bcfcbdf6c21712f97a571)) - declare typed properties in PHPDoc for php<7.4 - ([14dd44d](https://code.podlibre.org/podlibre/castopod/commit/14dd44d03d6db0d9ae4198db8e65c92a0e45cb31)), - closes [#23](https://code.podlibre.org/podlibre/castopod/issues/23) + ([14dd44d](https://code.castopod.org/ad-aures/castopod/commit/14dd44d03d6db0d9ae4198db8e65c92a0e45cb31)), + closes [#23](https://code.castopod.org/ad-aures/castopod/issues/23) - escape generated feed tag values and remove new lines from public pages meta description - ([6238a43](https://code.podlibre.org/podlibre/castopod/commit/6238a43863210afe8988ad7cf251e6bfc6c8557c)), - closes [#57](https://code.podlibre.org/podlibre/castopod/issues/57) - [#46](https://code.podlibre.org/podlibre/castopod/issues/46) + ([6238a43](https://code.castopod.org/ad-aures/castopod/commit/6238a43863210afe8988ad7cf251e6bfc6c8557c)), + closes [#57](https://code.castopod.org/ad-aures/castopod/issues/57) + [#46](https://code.castopod.org/ad-aures/castopod/issues/46) - fix layout bugs in admin and update translation files - ([a834171](https://code.podlibre.org/podlibre/castopod/commit/a83417180cf61cdfadc5509b0aaa2fdb66592be3)), - closes [#40](https://code.podlibre.org/podlibre/castopod/issues/40) + ([a834171](https://code.castopod.org/ad-aures/castopod/commit/a83417180cf61cdfadc5509b0aaa2fdb66592be3)), + closes [#40](https://code.castopod.org/ad-aures/castopod/issues/40) - minor corrections - ([13be386](https://code.podlibre.org/podlibre/castopod/commit/13be386842e94d9def1f7de4720931d8f6935171)) + ([13be386](https://code.castopod.org/ad-aures/castopod/commit/13be386842e94d9def1f7de4720931d8f6935171)) - move analytics to helper - ([d311917](https://code.podlibre.org/podlibre/castopod/commit/d31191732e41aa106234b5ebe6e54ee02f0ce603)) + ([d311917](https://code.castopod.org/ad-aures/castopod/commit/d31191732e41aa106234b5ebe6e54ee02f0ce603)) - re-order graph values - ([35f633b](https://code.podlibre.org/podlibre/castopod/commit/35f633b4c71c087d1ddc9bba9e9bbe18de09204f)) + ([35f633b](https://code.castopod.org/ad-aures/castopod/commit/35f633b4c71c087d1ddc9bba9e9bbe18de09204f)) - remove required for other_categories field and add podcast_id to latest podcasts query - ([5417be0](https://code.podlibre.org/podlibre/castopod/commit/5417be0049288489a19c7b575aa77bd1e2bc0243)) + ([5417be0](https://code.castopod.org/ad-aures/castopod/commit/5417be0049288489a19c7b575aa77bd1e2bc0243)) - rename issue_templates labels - ([9f00305](https://code.podlibre.org/podlibre/castopod/commit/9f00305844e5a168e89d727fe29892b4ad5e48d6)) + ([9f00305](https://code.castopod.org/ad-aures/castopod/commit/9f00305844e5a168e89d727fe29892b4ad5e48d6)) - rename MyAccount controller file - ([e109df3](https://code.podlibre.org/podlibre/castopod/commit/e109df3004a3a98d72de39532e062fff9917f50f)), - closes [#60](https://code.podlibre.org/podlibre/castopod/issues/60) + ([e109df3](https://code.castopod.org/ad-aures/castopod/commit/e109df3004a3a98d72de39532e062fff9917f50f)), + closes [#60](https://code.castopod.org/ad-aures/castopod/issues/60) - reorder fields as composite primary keys for analytics tables - ([9660aa9](https://code.podlibre.org/podlibre/castopod/commit/9660aa97c8ffd4fe61f3a388d52b9ac5dd8e1d63)) + ([9660aa9](https://code.castopod.org/ad-aures/castopod/commit/9660aa97c8ffd4fe61f3a388d52b9ac5dd8e1d63)) - replace website key for webpages in breadcrumb translate file - ([50e32ff](https://code.podlibre.org/podlibre/castopod/commit/50e32ff75636c1d4c5d945a267e884cb26ad7191)) + ([50e32ff](https://code.castopod.org/ad-aures/castopod/commit/50e32ff75636c1d4c5d945a267e884cb26ad7191)) - set episode duration translation to hardcoded english - ([c39efc9](https://code.podlibre.org/podlibre/castopod/commit/c39efc9489180662edcebd142d4476c0617ea97f)), - closes [#64](https://code.podlibre.org/podlibre/castopod/issues/64) + ([c39efc9](https://code.castopod.org/ad-aures/castopod/commit/c39efc9489180662edcebd142d4476c0617ea97f)), + closes [#64](https://code.castopod.org/ad-aures/castopod/issues/64) - set episode guid upon episode creation - ([ad8b153](https://code.podlibre.org/podlibre/castopod/commit/ad8b153f2a3b1a3b1751bf63785c4950e1516e6b)), - closes [#48](https://code.podlibre.org/podlibre/castopod/issues/48) + ([ad8b153](https://code.castopod.org/ad-aures/castopod/commit/ad8b153f2a3b1a3b1751bf63785c4950e1516e6b)), + closes [#48](https://code.castopod.org/ad-aures/castopod/issues/48) - update purgecss content path for php helper files - ([eb70bb4](https://code.podlibre.org/podlibre/castopod/commit/eb70bb4f7078ff347aeb8f5dcc7896311d289466)), - closes [#59](https://code.podlibre.org/podlibre/castopod/issues/59) + ([eb70bb4](https://code.castopod.org/ad-aures/castopod/commit/eb70bb4f7078ff347aeb8f5dcc7896311d289466)), + closes [#59](https://code.castopod.org/ad-aures/castopod/issues/59) - **install:** redirect to input baseUrl after instance config - ([2426af7](https://code.podlibre.org/podlibre/castopod/commit/2426af7de8c9d426aaf534ff17b67f71c2e9f374)), - closes [#53](https://code.podlibre.org/podlibre/castopod/issues/53) + ([2426af7](https://code.castopod.org/ad-aures/castopod/commit/2426af7de8c9d426aaf534ff17b67f71c2e9f374)), + closes [#53](https://code.castopod.org/ad-aures/castopod/issues/53) - **platforms:** display platform link only when visible is toggled on - ([6e503c8](https://code.podlibre.org/podlibre/castopod/commit/6e503c8d6182987e48892370623183f871bbd1c1)), - closes [#39](https://code.podlibre.org/podlibre/castopod/issues/39) + ([6e503c8](https://code.castopod.org/ad-aures/castopod/commit/6e503c8d6182987e48892370623183f871bbd1c1)), + closes [#39](https://code.castopod.org/ad-aures/castopod/issues/39) - sort episodic podcasts by season - ([d7b6794](https://code.podlibre.org/podlibre/castopod/commit/d7b6794f68f9a01fd606a407c6eb4c12d15dee74)) + ([d7b6794](https://code.castopod.org/ad-aures/castopod/commit/d7b6794f68f9a01fd606a407c6eb4c12d15dee74)) - update .htaccess for shared hosting config - ([2379826](https://code.podlibre.org/podlibre/castopod/commit/2379826352e2f4b5060910bf9f29268610102f2e)) + ([2379826](https://code.castopod.org/ad-aures/castopod/commit/2379826352e2f4b5060910bf9f29268610102f2e)) - update iso-369 language table seeder - ([0c90db4](https://code.podlibre.org/podlibre/castopod/commit/0c90db44c40de5af5b0b32b54489bda9424d9ef6)) + ([0c90db4](https://code.castopod.org/ad-aures/castopod/commit/0c90db44c40de5af5b0b32b54489bda9424d9ef6)) - **package.json:** update destination of postcss generation scripts - ([21413f8](https://code.podlibre.org/podlibre/castopod/commit/21413f8af3b8a0ac01d8c6f15bcd7a63e524e964)) + ([21413f8](https://code.castopod.org/ad-aures/castopod/commit/21413f8af3b8a0ac01d8c6f15bcd7a63e524e964)) - use slash instead of backslash to call layout - ([a80adb2](https://code.podlibre.org/podlibre/castopod/commit/a80adb22958fc0a38374cbce2d950a0042e699eb)) + ([a80adb2](https://code.castopod.org/ad-aures/castopod/commit/a80adb22958fc0a38374cbce2d950a0042e699eb)) ### Features - add alternate rss feed link tag to podcast page head - ([a973c09](https://code.podlibre.org/podlibre/castopod/commit/a973c097d54a3d0186c4079b9d4d3e81aae38505)), - closes [#35](https://code.podlibre.org/podlibre/castopod/issues/35) + ([a973c09](https://code.castopod.org/ad-aures/castopod/commit/a973c097d54a3d0186c4079b9d4d3e81aae38505)), + closes [#35](https://code.castopod.org/ad-aures/castopod/issues/35) - add analytics and unknown useragents - ([ec92e65](https://code.podlibre.org/podlibre/castopod/commit/ec92e65aa42e09b1df04600b52a0c679dfc494bb)) + ([ec92e65](https://code.castopod.org/ad-aures/castopod/commit/ec92e65aa42e09b1df04600b52a0c679dfc494bb)) - add breadcrumb in admin area - ([7fb1de2](https://code.podlibre.org/podlibre/castopod/commit/7fb1de2cf3c97c4cd7afe3bd71bbe66041786ecd)), - closes [#17](https://code.podlibre.org/podlibre/castopod/issues/17) + ([7fb1de2](https://code.castopod.org/ad-aures/castopod/commit/7fb1de2cf3c97c4cd7afe3bd71bbe66041786ecd)), + closes [#17](https://code.castopod.org/ad-aures/castopod/issues/17) - add french translation - ([196920d](https://code.podlibre.org/podlibre/castopod/commit/196920d62f1810b4c35f800d17d7f93627319091)) + ([196920d](https://code.castopod.org/ad-aures/castopod/commit/196920d62f1810b4c35f800d17d7f93627319091)) - add install wizard form to bootstrap database and create the first superadmin user - ([cba871c](https://code.podlibre.org/podlibre/castopod/commit/cba871c5df9f7120c44d9952456ebbd0d220669e)), - closes [#2](https://code.podlibre.org/podlibre/castopod/issues/2) + ([cba871c](https://code.castopod.org/ad-aures/castopod/commit/cba871c5df9f7120c44d9952456ebbd0d220669e)), + closes [#2](https://code.castopod.org/ad-aures/castopod/issues/2) - add ISO 3166 country codes - ([97cd94b](https://code.podlibre.org/podlibre/castopod/commit/97cd94b47494b66faf43fbbe0748872da80020a4)) + ([97cd94b](https://code.castopod.org/ad-aures/castopod/commit/97cd94b47494b66faf43fbbe0748872da80020a4)) - add map analytics, add episodes analytics, clean analytics page layout, translate countries - ([07eae83](https://code.podlibre.org/podlibre/castopod/commit/07eae83a00d860e149359fae67d549488403d88b)) + ([07eae83](https://code.castopod.org/ad-aures/castopod/commit/07eae83a00d860e149359fae67d549488403d88b)) - add npm for js dependencies + move src/ files to root folder - ([cbb83a6](https://code.podlibre.org/podlibre/castopod/commit/cbb83a6f308ac9357e9fb0cca5edae9d3fee5b48)) + ([cbb83a6](https://code.castopod.org/ad-aures/castopod/commit/cbb83a6f308ac9357e9fb0cca5edae9d3fee5b48)) - add pages table to store custom instance pages (eg. legal-notice, cookie policy, etc.) - ([9c224a8](https://code.podlibre.org/podlibre/castopod/commit/9c224a8ac6dd95f3c6c087a300fc8bac48e8090f)), - closes [#24](https://code.podlibre.org/podlibre/castopod/issues/24) + ([9c224a8](https://code.castopod.org/ad-aures/castopod/commit/9c224a8ac6dd95f3c6c087a300fc8bac48e8090f)), + closes [#24](https://code.castopod.org/ad-aures/castopod/issues/24) - add platform models - ([a333d29](https://code.podlibre.org/podlibre/castopod/commit/a333d291966229a909c0851fd8b890ed97c48ceb)) + ([a333d29](https://code.castopod.org/ad-aures/castopod/commit/a333d291966229a909c0851fd8b890ed97c48ceb)) - add platforms form in podcast settings - ([043f49c](https://code.podlibre.org/podlibre/castopod/commit/043f49c784bc007ca0fa756ca4ed2d3b08843ad9)) + ([043f49c](https://code.castopod.org/ad-aures/castopod/commit/043f49c784bc007ca0fa756ca4ed2d3b08843ad9)) - add platforms tables - ([ce59344](https://code.podlibre.org/podlibre/castopod/commit/ce5934419a516c9926dd3fd0ace3c11a95b60722)) + ([ce59344](https://code.castopod.org/ad-aures/castopod/commit/ce5934419a516c9926dd3fd0ace3c11a95b60722)) - add unique listeners analytics - ([3a49258](https://code.podlibre.org/podlibre/castopod/commit/3a4925816f3268230640525ad7af507aab8eecb9)) + ([3a49258](https://code.castopod.org/ad-aures/castopod/commit/3a4925816f3268230640525ad7af507aab8eecb9)) - add user permissions and basic groups to handle authorizations - ([d58e518](https://code.podlibre.org/podlibre/castopod/commit/d58e51874a4722921b75b0049117015c2380406e)), - closes [#3](https://code.podlibre.org/podlibre/castopod/issues/3) - [#18](https://code.podlibre.org/podlibre/castopod/issues/18) + ([d58e518](https://code.castopod.org/ad-aures/castopod/commit/d58e51874a4722921b75b0049117015c2380406e)), + closes [#3](https://code.castopod.org/ad-aures/castopod/issues/3) + [#18](https://code.castopod.org/ad-aures/castopod/issues/18) - create optimized & resized images upon upload - ([02e4441](https://code.podlibre.org/podlibre/castopod/commit/02e4441f98f27e9534e5b9b63279153d14632ccd)), - closes [#6](https://code.podlibre.org/podlibre/castopod/issues/6) + ([02e4441](https://code.castopod.org/ad-aures/castopod/commit/02e4441f98f27e9534e5b9b63279153d14632ccd)), + closes [#6](https://code.castopod.org/ad-aures/castopod/issues/6) - display legal disclaimer and warning on podcast import page - ([2f07992](https://code.podlibre.org/podlibre/castopod/commit/2f07992e5508b34b91f194eebfac80c51e80e90a)), - closes [#34](https://code.podlibre.org/podlibre/castopod/issues/34) + ([2f07992](https://code.castopod.org/ad-aures/castopod/commit/2f07992e5508b34b91f194eebfac80c51e80e90a)), + closes [#34](https://code.castopod.org/ad-aures/castopod/issues/34) - edit + delete podcast and episode - ([ac5f0c7](https://code.podlibre.org/podlibre/castopod/commit/ac5f0c732806e955c01e05b7867801bc938c6bd5)) + ([ac5f0c7](https://code.castopod.org/ad-aures/castopod/commit/ac5f0c732806e955c01e05b7867801bc938c6bd5)) - enhance admin ui with responsive design and ux improvements - ([2d44b45](https://code.podlibre.org/podlibre/castopod/commit/2d44b457a02205d2e7da258d7029b8bc5da39533)), - closes [#31](https://code.podlibre.org/podlibre/castopod/issues/31) - [#9](https://code.podlibre.org/podlibre/castopod/issues/9) + ([2d44b45](https://code.castopod.org/ad-aures/castopod/commit/2d44b457a02205d2e7da258d7029b8bc5da39533)), + closes [#31](https://code.castopod.org/ad-aures/castopod/issues/31) + [#9](https://code.castopod.org/ad-aures/castopod/issues/9) - enhance ui using javascript in admin area - ([c0e66d5](https://code.podlibre.org/podlibre/castopod/commit/c0e66d5f7012026e145d106f4d6bd3ba792a1b77)) + ([c0e66d5](https://code.castopod.org/ad-aures/castopod/commit/c0e66d5f7012026e145d106f4d6bd3ba792a1b77)) - import podcast from an rss feed url - ([9a5d5a1](https://code.podlibre.org/podlibre/castopod/commit/9a5d5a15b4945eb319da9e999c4ca60a0a4f6d2d)), - closes [#21](https://code.podlibre.org/podlibre/castopod/issues/21) + ([9a5d5a1](https://code.castopod.org/ad-aures/castopod/commit/9a5d5a15b4945eb319da9e999c4ca60a0a4f6d2d)), + closes [#21](https://code.castopod.org/ad-aures/castopod/issues/21) - set podcast / episode description in the pages description meta tag - ([1c4a504](https://code.podlibre.org/podlibre/castopod/commit/1c4a50442bea2d3449efce9c5ff1c80743152f55)), - closes [#44](https://code.podlibre.org/podlibre/castopod/issues/44) + ([1c4a504](https://code.castopod.org/ad-aures/castopod/commit/1c4a50442bea2d3449efce9c5ff1c80743152f55)), + closes [#44](https://code.castopod.org/ad-aures/castopod/issues/44) - update analytics so to meet IABv2 requirements - ([03e23a2](https://code.podlibre.org/podlibre/castopod/commit/03e23a28bf9b1b73fba55352c36a8cd6cc8ae729)), - closes [#10](https://code.podlibre.org/podlibre/castopod/issues/10) + ([03e23a2](https://code.castopod.org/ad-aures/castopod/commit/03e23a28bf9b1b73fba55352c36a8cd6cc8ae729)), + closes [#10](https://code.castopod.org/ad-aures/castopod/issues/10) - **cache:** add podcast and episode pages to cache + clear them after insert or update - ([da0f047](https://code.podlibre.org/podlibre/castopod/commit/da0f0472819007e02e5da37399f2377772c618b9)) + ([da0f047](https://code.castopod.org/ad-aures/castopod/commit/da0f0472819007e02e5da37399f2377772c618b9)) - **categories:** create model, entity, migrations and seeds - ([f73b042](https://code.podlibre.org/podlibre/castopod/commit/f73b042cc091be82abdbbca8992080875d526972)) + ([f73b042](https://code.castopod.org/ad-aures/castopod/commit/f73b042cc091be82abdbbca8992080875d526972)) - **devcontainer:** add devcontainer settings for dev environment - ([69e7266](https://code.podlibre.org/podlibre/castopod/commit/69e72667365247b63430dee88194e8f0d7c28edc)) + ([69e7266](https://code.castopod.org/ad-aures/castopod/commit/69e72667365247b63430dee88194e8f0d7c28edc)) - **episodes:** add create form and view pages for episode - ([f3b2c8b](https://code.podlibre.org/podlibre/castopod/commit/f3b2c8b84f3d93bef734e34dbe8ed729535e45e9)), - closes [#1](https://code.podlibre.org/podlibre/castopod/issues/1) + ([f3b2c8b](https://code.castopod.org/ad-aures/castopod/commit/f3b2c8b84f3d93bef734e34dbe8ed729535e45e9)), + closes [#1](https://code.castopod.org/ad-aures/castopod/issues/1) - **episodes:** add migrations, model and entity for episodes table - ([0444821](https://code.podlibre.org/podlibre/castopod/commit/044482174ede555ce19a2d8c6f48771cc8e7d27b)) + ([0444821](https://code.castopod.org/ad-aures/castopod/commit/044482174ede555ce19a2d8c6f48771cc8e7d27b)) - **podcast:** create a podcast using form - ([1202ba3](https://code.podlibre.org/podlibre/castopod/commit/1202ba3545f521097c60a6a2af95e70527cd1d34)) + ([1202ba3](https://code.castopod.org/ad-aures/castopod/commit/1202ba3545f521097c60a6a2af95e70527cd1d34)) - **podcast-form:** update routes and redirect to podcast page - ([12ce905](https://code.podlibre.org/podlibre/castopod/commit/12ce905799002dc9c07e6de092342d30ba9fd7d8)) + ([12ce905](https://code.castopod.org/ad-aures/castopod/commit/12ce905799002dc9c07e6de092342d30ba9fd7d8)) - **public-ui:** adapt public podcast and episode pages to wireframes - ([40a0535](https://code.podlibre.org/podlibre/castopod/commit/40a0535fc1bc12a24994b651f5e00b35995cbdda)), - closes [#30](https://code.podlibre.org/podlibre/castopod/issues/30) - [#13](https://code.podlibre.org/podlibre/castopod/issues/13) + ([40a0535](https://code.castopod.org/ad-aures/castopod/commit/40a0535fc1bc12a24994b651f5e00b35995cbdda)), + closes [#30](https://code.castopod.org/ad-aures/castopod/issues/30) + [#13](https://code.castopod.org/ad-aures/castopod/issues/13) - **rss:** generate rss feed from podcast entity - ([c815ecd](https://code.podlibre.org/podlibre/castopod/commit/c815ecd6640931fee0895f80908a3ddfac482666)) + ([c815ecd](https://code.castopod.org/ad-aures/castopod/commit/c815ecd6640931fee0895f80908a3ddfac482666)) - **users:** add myth-auth to handle users crud + add admin gateway only accessible by login - ([c63a077](https://code.podlibre.org/podlibre/castopod/commit/c63a077618c61b4cde7f25ffc650a4b0e1495f44)), - closes [#11](https://code.podlibre.org/podlibre/castopod/issues/11) + ([c63a077](https://code.castopod.org/ad-aures/castopod/commit/c63a077618c61b4cde7f25ffc650a4b0e1495f44)), + closes [#11](https://code.castopod.org/ad-aures/castopod/issues/11) - minor corrections to some tables - ([3bf9420](https://code.podlibre.org/podlibre/castopod/commit/3bf9420b5956a501b3b24405d243a71a928d6086)) + ([3bf9420](https://code.castopod.org/ad-aures/castopod/commit/3bf9420b5956a501b3b24405d243a71a928d6086)) - write id3v2 tags to episode's audio file - ([4651d01](https://code.podlibre.org/podlibre/castopod/commit/4651d01a84ff3ea8433a8ae26cfd750a1ec9e88d)) + ([4651d01](https://code.castopod.org/ad-aures/castopod/commit/4651d01a84ff3ea8433a8ae26cfd750a1ec9e88d)) ### Reverts - use basic input file for episodes audio files instead of button for better UX - ([d5f22fb](https://code.podlibre.org/podlibre/castopod/commit/d5f22fbb38c43d9b37df401eff655958a57cb40a)) + ([d5f22fb](https://code.castopod.org/ad-aures/castopod/commit/d5f22fbb38c43d9b37df401eff655958a57cb40a)) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 2b069532cb8b085b4d2e371fcbf719909e8342d7..57da0dafb5528489c41361f63b7a1eb0a97bd19f 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -60,7 +60,7 @@ representative at an online or offline event. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at -[abuse@podlibre.org](mailto:abuse@podlibre.org). All complaints will be reviewed +[abuse@castopod.org](mailto:abuse@castopod.org). All complaints will be reviewed and investigated promptly and fairly. All community leaders are obligated to respect the privacy and security of the diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index 2b358952208dee6e62dc204d651870f472d974ab..b9c083c26c18b6b84d38004111b4551f1abbed97 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -1,6 +1,6 @@ -# Castopod Host dependencies +# Castopod dependencies -Castopod Host uses the following components: +Castopod uses the following components: ## PHP Dependencies diff --git a/Dockerfile b/Dockerfile index 0b3f2e6c78c75a7c8b201bdc515c9e7163df8b2f..3daf5ec4fa6c10e99f32421cf0ef8879d8e05ce1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ #################################################### -# Castopod Host development Docker file +# Castopod development Docker file #################################################### # âš ï¸ NOT optimized for production # should be used only for development purposes @@ -8,8 +8,8 @@ FROM php:8.0-fpm LABEL maintainer="Yassine Doghri <yassine@doghri.fr>" -COPY . /castopod-host -WORKDIR /castopod-host +COPY . /castopod +WORKDIR /castopod # Install composer COPY --from=composer:2 /usr/bin/composer /usr/bin/composer @@ -19,7 +19,7 @@ RUN apt-get update \ # gnupg to sign commits with gpg && apt-get install --yes --no-install-recommends gnupg \ # npm through the nodejs package - && curl -fsSL https://deb.nodesource.com/setup_14.x | bash - \ + && curl -fsSL https://deb.nodesource.com/setup_16.x | bash - \ && apt-get update \ && apt-get install --yes --no-install-recommends nodejs \ # update npm diff --git a/INSTALL.md b/INSTALL.md deleted file mode 100644 index 7734034d9e55a9b1707aa845d1a9eb3d8a82e79e..0000000000000000000000000000000000000000 --- a/INSTALL.md +++ /dev/null @@ -1,144 +0,0 @@ -# How to install Castopod Host <!-- omit in toc --> - -_Castopod Host_ was thought-out to be easy to install. Whether using dedicated -or shared hosting, you can install it on most PHP-MySQL compatible web servers. - -## Table of contents <!-- omit in toc --> - -- [Install instructions](#install-instructions) - - [0. Pre-requisites](#0-pre-requisites) - - [(recommended) Install Wizard](#recommended-install-wizard) - - [(alternative) Manual configuration](#alternative-manual-configuration) -- [Web Server Requirements](#web-server-requirements) - - [PHP v8.0 or higher](#php-v80-or-higher) - - [FFmpeg v4.1.8 or higher for Video Clips](#ffmpeg-v418-or-higher-for-video-clips) - - [MySQL compatible database](#mysql-compatible-database) - - [Privileges](#privileges) - - [(Optional) Other recommendations](#optional-other-recommendations) -- [Security concerns](#security-concerns) - -## Install instructions - -### 0. Pre-requisites - -0. Get a Web Server with [requirements](#web-server-requirements) installed -1. Create a MySQL database for Castopod Host with a user having access and - modification privileges (for more info, see - [MySQL compatible database](#mysql-compatible-database)). -2. Activate HTTPS on your domain with an _SSL certificate_. -3. Download and unzip the latest - [Castopod Host Package](https://code.podlibre.org/podlibre/castopod-host/-/releases) - onto the web server if you haven’t already. - - âš ï¸ Set the web server document root to the `public/` sub-folder. -4. Add **cron tasks** on your web server for various background processes - (replace the paths accordingly): - - - For social features to work properly, this task is used to broadcast social - activities to your followers on the fediverse: - - ```bash - * * * * * /path/to/php /path/to/castopod-host/public/index.php scheduled-activities - ``` - - - For Video Clips to be created (see - [FFmpeg requirements](#ffmpeg-v418-or-higher-for-video-clips)): - - ```bash - * * * * * /path/to/php /path/to/castopod-host/public/index.php scheduled-video-clips - ``` - - > These tasks run **every minute**. You may set the frequency depending on - > your needs: every 5, 10 minutes or more. - -### (recommended) Install Wizard - -1. Run the Castopod Host install script by going to the install wizard page - (`https://your_domain_name.com/cp-install`) in your favorite web browser. -2. Follow the instructions on your screen. -3. Start podcasting! - -> **Note:** -> -> The install script writes a `.env` file in the package root. If you cannot go -> through the install wizard, you can -> [create and update the `.env` file manually](#alternative-manual-configuration). - -### (alternative) Manual configuration - -1. Rename the `.env.example` file to `.env` and update the default values with - your own. -2. Upload the `.env` file to the Castopod Host Package root on your server. -3. Go to `/cp-install` to finish the install process. -4. Start podcasting! - -## Web Server Requirements - -### PHP v8.0 or higher - -PHP version 8.0 or higher is required, with the following extensions installed: - -- [intl](https://php.net/manual/en/intl.requirements.php) -- [libcurl](https://php.net/manual/en/curl.requirements.php) -- [mbstring](https://php.net/manual/en/mbstring.installation.php) -- [gd](https://www.php.net/manual/en/image.installation.php) with **JPEG**, - **PNG** and **WEBP** libraries. - -Additionally, make sure that the following extensions are enabled in your PHP: - -- json (enabled by default - don't turn it off) -- xml (enabled by default - don't turn it off) -- [mysqlnd](https://php.net/manual/en/mysqlnd.install.php) - -### FFmpeg v4.1.8 or higher for Video Clips - -[FFmpeg](https://www.ffmpeg.org/) version 4.1.8 or higher is required, with the -following extensions: - -- **FreeType 2** library for - [gd](https://www.php.net/manual/en/image.installation.php). - -### MySQL compatible database - -> We recommend using [MariaDB](https://mariadb.org). - -You will need the server hostname, database name, username and password to -complete the installation process. If you do not have these, please contact your -server administrator. - -> NB. Castopod Host only works with supported MySQL compatible databases. It -> will break with MySQL v5.6 for example as its end of life was on February -> 5, 2021. - -#### Privileges - -User must have at least these privileges on the database for Castopod Host to -work: `CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, -`UPDATE`. - -### (Optional) Other recommendations - -- Redis for better cache performances. -- CDN for static files caching and better performances. -- e-mail gateway for lost passwords. - -## Security concerns - -Castopod Host is built on top of Codeigniter, a PHP framework that encourages -[good security practices](https://codeigniter.com/user_guide/concepts/security.html). - -To maximize your instance safety and prevent any malicious attack, we recommend -you update all your Castopod Host files permissions after installation (to avoid -any permission error): - -- `writable/` folder must be **readable** and **writable**. -- `public/media/` folder must be **readable** and **writable**. -- any other file must be set to **readonly**. - -For instance, if you are using Apache or NGINX with Ubuntu you may do the -following: - -```bash -sudo chown -R root:root /path/to/castopod-host -sudo chown -R www-data:www-data /path/to/castopod-host/writable -sudo chown -R www-data:www-data /path/to/castopod-host/public/media -``` diff --git a/README.md b/README.md index eba42b47f49ff8e98dc4c18624e988f0f275eca3..2ee1d84d55e1ee843c7519819c6b609d959c84b0 100644 --- a/README.md +++ b/README.md @@ -1,74 +1,75 @@ <h1 align="center"> <a href="https://castopod.org/"> - <img src="https://podlibre.org/static/images/Castopod-Title.svg" alt="Castopod Host" /> + <img src="https://docs.castopod.org/images/logo-inline.svg" alt="Castopod" /> </a> </h1> -> **Castopod Host is in beta version**. We are working on getting the last -> features needed for v1, making performance improvements and fixing any bugs -> that may arise along the way. +[![release-badge]][release] [![license-badge]][license] [![semantic-release-badge]][semantic-release] [![discord-badge]][discord] [![stars-badge]][stars] -_Castopod Host_ is a free and open-source podcast hosting solution made for -podcasters who want engage and interact with their audience. +Castopod is a free and open-source podcast hosting solution made for podcasters +who want engage and interact with their audience. -Create, upload, publish, interact with your followers and get comprehensive -audience measurements that respect your listeners privacy. +> Castopod is currently in **beta** but already quite stable and used by +> podcasters around the world! -Whether you choose to install it on your own server or have it hosted by a -professional, all your data and analytics belong to you and you only! - -You may find Castopod Host's source code on the -[original repository](https://code.podlibre.org/podlibre/castopod-host) or, -alternatively, on the -[github repository (mirror)](https://github.com/podlibre/castopod-host). - -## Install / Update - -To install or update Castopod Host on your PHP/MySQL server: - -- Download - [Castopod Host's latest Package (zip or tar.gz)](https://code.podlibre.org/podlibre/castopod-host/-/releases): - -- Follow one of the procedures on: +## Documentation - - [“How to **install** Castopod Hostâ€](./INSTALL.md) - - or [“How to **update** Castopod Hostâ€](./UPDATE.md) +To get started with Castopod, you may +[check out the documentation](https://docs.castopod.org/), everything should be +there! -## Documentation +## Security issues and vulnerabilities -You can check Castopod Host's documentation for -[setting up a development environment](./docs/setup-development.md). +If you encounter any security issue or vulnerability in the Castopod source, +please contact us directly by email at +[security@castopod.org](mailto:security@castopod.org) ## Contributing -Love Castopod Host and would like to help? Check out the -[contribution guidelines](./CONTRIBUTING.md) for this project, everything should -be there! +Love Castopod and would like to help? Check out the +[contribution guidelines](https://docs.castopod.org/contributing/guidelines) for +this project, everything should be there! âš ï¸ Note that **any** contribution made on a repository other than -[the original repository](https://code.podlibre.org/podlibre/castopod-host) will -not be accepted. +[the original repository](https://code.castopod.org/ad-aures/castopod) will not +be accepted. -## Support +## Contact You may reach us for help or ask any question you have on: - [Discord](https://castopod.org/discord) (for direct interaction with developers and the community) +- [Issue tracker](https://code.castopod.org/ad-aures/castopod/-/issues) (for + feature requests & bug reports) Alternatively, you can follow us on social media platforms to get news about Castopod: - [podlibre.social](https://podlibre.social/@Castopod) (Mastodon instance) - [Twitter](https://twitter.com/castopod) +- [LinkedIn](https://linkedin.com/company/castopod) - [Facebook](https://www.facebook.com/castopod) ## Sponsors -[Castopod](https://nlnet.nl/project/Castopod/) was funded through the -[NGI0 Discovery](https://nlnet.nl/discovery/) Fund under grant agreement -Nº 825322. - -The fund was established by NLnet with financial support from the European -Commission's [Next Generation Internet](https://www.ngi.eu/) programme, under -the aegis of DG Communications Networks, Content and Technology. +<div style="display:flex;flex-wrap:wrap;column-gap:4rem;row-gap:2rem;"> + <a href="https://adaures.com/" target="_blank" rel="noopener noreferrer"><img src="https://docs.castopod.org/images/sponsors/adaures.svg" alt="Ad Aures Logo" style="height:4rem;" /></a> + <a href="https://nlnet.nl/project/Castopod/" target="_blank" rel="noopener noreferrer"><img src="https://docs.castopod.org/images/sponsors/adaures.svg" alt="NLnet Logo" style="height:4rem;" /></a> + <a href="https://opencollective.com/castopod/contribute" target="_blank" rel="noopener noreferrer">Become a sponsor</a> +</div> + +[release]: https://code.castopod.org/ad-aures/castopod/-/releases +[release-badge]: + https://img.shields.io/gitlab/v/release/2?color=brightgreen&gitlab_url=https%3A%2F%2Fcode.castopod.org%2F&include_prereleases&label=release +[license]: https://code.castopod.org/ad-aures/castopod/-/blob/beta/LICENSE.md +[license-badge]: + https://img.shields.io/github/license/ad-aures/castopod?color=blue +[semantic-release]: https://github.com/semantic-release/semantic-release +[semantic-release-badge]: + https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg +[discord]: https://castopod.org/discord +[discord-badge]: https://img.shields.io/badge/chat-on%20discord-7389D8 +[stars]: https://github.com/ad-aures/castopod/stargazers +[stars-badge]: + https://img.shields.io/github/stars/ad-aures/castopod?style=social diff --git a/app/Config/App.php b/app/Config/App.php index 5d8d00d619749eeec553ff1fb24931c60a6ae19e..f79a00ca0ba95142025c0fa5343799cda822283a 100644 --- a/app/Config/App.php +++ b/app/Config/App.php @@ -437,7 +437,7 @@ class App extends BaseConfig public string $siteTitleSeparator = ' | '; - public string $siteDescription = 'Castopod Host is an open-source hosting platform made for podcasters who want engage and interact with their audience.'; + public string $siteDescription = 'Castopod is an open-source hosting platform made for podcasters who want engage and interact with their audience.'; /** * @var array<int|string, string> diff --git a/app/Config/Fediverse.php b/app/Config/Fediverse.php index 64494907f450679df13a4ae087352d5889e49439..6e82183aeb72548d50db06db16f73f67bf195b9e 100644 --- a/app/Config/Fediverse.php +++ b/app/Config/Fediverse.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2022 Podlibre + * @copyright 2022 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/ActivityPubController.php b/app/Controllers/ActivityPubController.php index a735e886c9503d1c950ccd4e10abe30c296f18b4..9ea6bc00e5be59d90004881ae3b516ea2ec98369 100644 --- a/app/Controllers/ActivityPubController.php +++ b/app/Controllers/ActivityPubController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/ActorController.php b/app/Controllers/ActorController.php index b7233df4decfa05880c0879454455c73d17bf507..5f97e469b6ac6a4d72439e6af61d2cd62efc854d 100644 --- a/app/Controllers/ActorController.php +++ b/app/Controllers/ActorController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/ColorsController.php b/app/Controllers/ColorsController.php index 62955edaa2f3a84553b4fe927cf41b5eb8b3f1d0..92fc4de58e4021e6d611367e77bf55faa62242ec 100644 --- a/app/Controllers/ColorsController.php +++ b/app/Controllers/ColorsController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/CreditsController.php b/app/Controllers/CreditsController.php index 5d20669ea34a893ab4a6b6765d9fa8e363887138..a96015610d0fc48ffa9434d329ab84d1a68d7b7c 100644 --- a/app/Controllers/CreditsController.php +++ b/app/Controllers/CreditsController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/EpisodeCommentController.php b/app/Controllers/EpisodeCommentController.php index 702452a72bfe407781c6ae450067c96724fd1e65..fbb3452fc7e1d7d393fbffd8fb3be2e1cb024f11 100644 --- a/app/Controllers/EpisodeCommentController.php +++ b/app/Controllers/EpisodeCommentController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/EpisodeController.php b/app/Controllers/EpisodeController.php index 1e8a114d74d9a1faa32f303b01254a2426026cb2..3f3c3be4fd0710f96d1972063c51bf924f4d3192 100644 --- a/app/Controllers/EpisodeController.php +++ b/app/Controllers/EpisodeController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/FeedController.php b/app/Controllers/FeedController.php index 552105829c1eb868caa5226bb3872d9b7164c9a3..6f970ee278b54dfe982a9615885fd8eb54fb7788 100644 --- a/app/Controllers/FeedController.php +++ b/app/Controllers/FeedController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/HomeController.php b/app/Controllers/HomeController.php index 54abb0ff8afd2b476a59f63eec312b0ef283437d..724a274aad010a04b8a1b0ce0a0793cce09d36de 100644 --- a/app/Controllers/HomeController.php +++ b/app/Controllers/HomeController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ @@ -21,7 +21,7 @@ class HomeController extends BaseController $db = db_connect(); if ($db->getDatabase() === '' || ! $db->tableExists('podcasts')) { // Database connection has not been set or could not find the podcasts table - // Redirecting to install page because it is likely that Castopod Host has not been installed yet. + // Redirecting to install page because it is likely that Castopod has not been installed yet. // NB: as base_url wouldn't have been defined here, redirect to install wizard manually $route = Services::routes()->reverseRoute('install'); return redirect()->to(rtrim(host_url(), '/') . $route); diff --git a/app/Controllers/MapController.php b/app/Controllers/MapController.php index 4e468389715610fbbdbaf93a36da1bac01d8ec14..a5e0108c9b192e2420ce96cbf5cb976ac0b99533 100644 --- a/app/Controllers/MapController.php +++ b/app/Controllers/MapController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/PageController.php b/app/Controllers/PageController.php index 03773921137d8c7d642770599f387d6c14b88541..7fc1424ab3918c6f9b3ae4f0f442fb1b3bb37d4d 100644 --- a/app/Controllers/PageController.php +++ b/app/Controllers/PageController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/PlatformController.php b/app/Controllers/PlatformController.php index 812bacaf35590cb9b52bb09acf85e01929ffc791..1f325efb473c5c5be220a75453b3ae48794d2c2a 100644 --- a/app/Controllers/PlatformController.php +++ b/app/Controllers/PlatformController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/PodcastController.php b/app/Controllers/PodcastController.php index 75b78def4d8f2c18825f0a364b47ecc79db15a4f..6af8890e03507f3a49a73eb8cb4dacd8ba39b47d 100644 --- a/app/Controllers/PodcastController.php +++ b/app/Controllers/PodcastController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/PostController.php b/app/Controllers/PostController.php index 33a0e0af27b91933c3f97d1af4e9a392e53ae18a..e79501aa9b9304a8c08ef300934c48e3333c2409 100644 --- a/app/Controllers/PostController.php +++ b/app/Controllers/PostController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Controllers/WebmanifestController.php b/app/Controllers/WebmanifestController.php index 97f7262187672708a427578b6da0d23a282a9ec1..1bf20ce76b914a71ec7d53f0d95ca78076dd9f9b 100644 --- a/app/Controllers/WebmanifestController.php +++ b/app/Controllers/WebmanifestController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-05-29-120000_add_media.php b/app/Database/Migrations/2020-05-29-120000_add_media.php index b05ef54a460ba2aff89a41acf9ab5908990eca77..af6c4aabd8f849116d7ebe1d8adc76b7549fb314 100644 --- a/app/Database/Migrations/2020-05-29-120000_add_media.php +++ b/app/Database/Migrations/2020-05-29-120000_add_media.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-05-29-152000_add_categories.php b/app/Database/Migrations/2020-05-29-152000_add_categories.php index 78412417226f23645c7c3adb24623d63444f192c..82119e060df0f90ec3da55eaaa0ba20500807c44 100644 --- a/app/Database/Migrations/2020-05-29-152000_add_categories.php +++ b/app/Database/Migrations/2020-05-29-152000_add_categories.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddCategories Creates categories table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-05-30-101000_add_languages.php b/app/Database/Migrations/2020-05-30-101000_add_languages.php index ee287a302d767fe0ba5a532e4712affc5ed7e3a1..2effbd623e5db7c60ccef5580f9c3b203c99a350 100644 --- a/app/Database/Migrations/2020-05-30-101000_add_languages.php +++ b/app/Database/Migrations/2020-05-30-101000_add_languages.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddLanguages Creates languages table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-05-30-101500_add_podcasts.php b/app/Database/Migrations/2020-05-30-101500_add_podcasts.php index 65913aee8e5479b212c3812bfeef32a4640f46de..82b9552abb4651c085b05506b49112dab1caf121 100644 --- a/app/Database/Migrations/2020-05-30-101500_add_podcasts.php +++ b/app/Database/Migrations/2020-05-30-101500_add_podcasts.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddPodcasts Creates podcasts table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-06-05-170000_add_episodes.php b/app/Database/Migrations/2020-06-05-170000_add_episodes.php index bbbad3f8dade4fc861aea76ebc8d28a0591d31d5..522400a867ec81f29ca221925dab7035e92b3c39 100644 --- a/app/Database/Migrations/2020-06-05-170000_add_episodes.php +++ b/app/Database/Migrations/2020-06-05-170000_add_episodes.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddEpisodes Creates episodes table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-06-05-190000_add_platforms.php b/app/Database/Migrations/2020-06-05-190000_add_platforms.php index 7cc3231e360c312dc4ade70cfbfc918318a3a3a6..7e9da4d5c9e7a6735eca02146ca16ff24d467433 100644 --- a/app/Database/Migrations/2020-06-05-190000_add_platforms.php +++ b/app/Database/Migrations/2020-06-05-190000_add_platforms.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddPlatforms Creates platforms table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-06-05-200000_add_podcasts_platforms.php b/app/Database/Migrations/2020-06-05-200000_add_podcasts_platforms.php index 8476dc0efbbf873d4b380d83eb0f163d6a8baf57..b859de0b916a914bc44d26d0a69a71bf1996604f 100644 --- a/app/Database/Migrations/2020-06-05-200000_add_podcasts_platforms.php +++ b/app/Database/Migrations/2020-06-05-200000_add_podcasts_platforms.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAddPodcastsPlatforms Creates podcasts_platforms table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-08-17-150000_add_pages.php b/app/Database/Migrations/2020-08-17-150000_add_pages.php index ef5e2a3b9b0b7ef3122a56dab388abd484e15347..35eb249c90d73b20889c036e18a8aabdab435e00 100644 --- a/app/Database/Migrations/2020-08-17-150000_add_pages.php +++ b/app/Database/Migrations/2020-08-17-150000_add_pages.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddPages Creates pages table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-09-29-150000_add_podcasts_categories.php b/app/Database/Migrations/2020-09-29-150000_add_podcasts_categories.php index 1b16cc25bc1a3a8a86144f212eaa0e916de294d0..de02829b377297cfa0d35ef95dfe235ac6af77e6 100644 --- a/app/Database/Migrations/2020-09-29-150000_add_podcasts_categories.php +++ b/app/Database/Migrations/2020-09-29-150000_add_podcasts_categories.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddPodcastsCategories Creates podcasts_categories table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-12-25-120000_add_persons.php b/app/Database/Migrations/2020-12-25-120000_add_persons.php index f7515ed49974dbafc8f6922c3499e67af0627301..d39fc34ca99d58188a8a00f9990f7f93a0806f11 100644 --- a/app/Database/Migrations/2020-12-25-120000_add_persons.php +++ b/app/Database/Migrations/2020-12-25-120000_add_persons.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class Persons Creates persons table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-12-25-130000_add_podcasts_persons.php b/app/Database/Migrations/2020-12-25-130000_add_podcasts_persons.php index 6b758dc3b9a63564e3674812ea3d89d3bc6330c0..0fa58ae9682d0c5dd65ce1047bef2f0a1123b1c7 100644 --- a/app/Database/Migrations/2020-12-25-130000_add_podcasts_persons.php +++ b/app/Database/Migrations/2020-12-25-130000_add_podcasts_persons.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddPodcastsPersons Creates podcasts_persons table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-12-25-140000_add_episodes_persons.php b/app/Database/Migrations/2020-12-25-140000_add_episodes_persons.php index c52f8c15b48efe3f88a0ec14b21b993c5fac8541..4f92a48ee1cc133d8e85bba58eb535c1adb5e87c 100644 --- a/app/Database/Migrations/2020-12-25-140000_add_episodes_persons.php +++ b/app/Database/Migrations/2020-12-25-140000_add_episodes_persons.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddEpisodesPersons Creates episodes_persons table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2020-12-25-150000_add_credit_view.php b/app/Database/Migrations/2020-12-25-150000_add_credit_view.php index 11029be264b09a6ebdc0abe73bb4986aef654f3d..631c50751629f58fe5a4a7923bfa57bb7bd8804e 100644 --- a/app/Database/Migrations/2020-12-25-150000_add_credit_view.php +++ b/app/Database/Migrations/2020-12-25-150000_add_credit_view.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddCreditView Creates Credit View in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2021-02-23-100000_add_episode_id_to_posts.php b/app/Database/Migrations/2021-02-23-100000_add_episode_id_to_posts.php index 1b3929cbb0bad7f6762a04c6248cf3e13dc44b1a..812f7220574f8142ab5099827d26ca8b725ca119 100644 --- a/app/Database/Migrations/2021-02-23-100000_add_episode_id_to_posts.php +++ b/app/Database/Migrations/2021-02-23-100000_add_episode_id_to_posts.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddEpisodeIdToPosts Adds episode_id field to posts table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2021-03-09-113000_add_created_by_to_posts.php b/app/Database/Migrations/2021-03-09-113000_add_created_by_to_posts.php index c10d9fb7a7a4b946432cb4303934fe512db63404..aad0e240e999d2cb0e65de3250b835b00a0c4a96 100644 --- a/app/Database/Migrations/2021-03-09-113000_add_created_by_to_posts.php +++ b/app/Database/Migrations/2021-03-09-113000_add_created_by_to_posts.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddCreatedByToPosts Adds created_by field to posts table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2021-08-12-150000_add_episode_comments.php b/app/Database/Migrations/2021-08-12-150000_add_episode_comments.php index 156bd2f6356c99bae70de1d6eaa16f7da507d22b..b1601cfec5c186fe78a5e970567bd5d662c1a8ea 100644 --- a/app/Database/Migrations/2021-08-12-150000_add_episode_comments.php +++ b/app/Database/Migrations/2021-08-12-150000_add_episode_comments.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddEpisodeComments creates episode_comments table in database * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2021-08-12-160000_add_likes.php b/app/Database/Migrations/2021-08-12-160000_add_likes.php index 841037adf56fc06e13a3d4f3c44a88f9a6263ce9..d73f098349ffe38041394e6aa0c2897702f62ed9 100644 --- a/app/Database/Migrations/2021-08-12-160000_add_likes.php +++ b/app/Database/Migrations/2021-08-12-160000_add_likes.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddLikes Creates likes table in database * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Migrations/2021-12-09-130000_add_clips.php b/app/Database/Migrations/2021-12-09-130000_add_clips.php index cf5a24fd543b3aa857e9384637098008201c1278..92b2312dd24d58a4bbb4c8bc80308a079b056cb1 100644 --- a/app/Database/Migrations/2021-12-09-130000_add_clips.php +++ b/app/Database/Migrations/2021-12-09-130000_add_clips.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Seeds/AppSeeder.php b/app/Database/Seeds/AppSeeder.php index 5101c8e24bd85414456f5c6337ffa3f607b6080e..4be06109d211cb8bfe5383241aeac49062a6ef43 100644 --- a/app/Database/Seeds/AppSeeder.php +++ b/app/Database/Seeds/AppSeeder.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AppSeeder Calls all required seeders for castopod to work properly * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Seeds/AuthSeeder.php b/app/Database/Seeds/AuthSeeder.php index a887cf210f907c1abd5e8a1792c6e530bb837ce9..965c110104119ca719060f37f6a77533755da2d1 100644 --- a/app/Database/Seeds/AuthSeeder.php +++ b/app/Database/Seeds/AuthSeeder.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class PermissionSeeder Inserts permissions * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Seeds/CategorySeeder.php b/app/Database/Seeds/CategorySeeder.php index bc365b521657cd3cb3d8e75d8c7ed08d043269ff..00a00c3dd08fe239395d39d2b182c950289d4f69 100644 --- a/app/Database/Seeds/CategorySeeder.php +++ b/app/Database/Seeds/CategorySeeder.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class CategorySeeder Inserts values in categories table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Seeds/FakePodcastsAnalyticsSeeder.php b/app/Database/Seeds/FakePodcastsAnalyticsSeeder.php index b97c1c9da0fb31bcc722c0552ba565a822179fca..fe87bd4c03ff1379133eacc7ffe5e73a5ca9a505 100644 --- a/app/Database/Seeds/FakePodcastsAnalyticsSeeder.php +++ b/app/Database/Seeds/FakePodcastsAnalyticsSeeder.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class FakePodcastsAnalyticsSeeder Inserts Fake Analytics in the database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Seeds/FakeWebsiteAnalyticsSeeder.php b/app/Database/Seeds/FakeWebsiteAnalyticsSeeder.php index ce982432d5d3fc3bcd4fe94d6cbcee075b0aaef6..9cf5f80ca81d477ab111f9415cec5ca6cceb13f2 100644 --- a/app/Database/Seeds/FakeWebsiteAnalyticsSeeder.php +++ b/app/Database/Seeds/FakeWebsiteAnalyticsSeeder.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class FakeWebsiteAnalyticsSeeder Inserts Fake Analytics in the database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Seeds/LanguageSeeder.php b/app/Database/Seeds/LanguageSeeder.php index aae362227cc57943bd74322f4f84d9b814766cab..ce13c4e56b845fff6ff6dc4836ec4fb78aba532b 100644 --- a/app/Database/Seeds/LanguageSeeder.php +++ b/app/Database/Seeds/LanguageSeeder.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class LanguageSeeder Inserts values in languages table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Seeds/PlatformSeeder.php b/app/Database/Seeds/PlatformSeeder.php index 3153d47a70cd068b55da0b57bfecf7ac94d0229c..9c3fc960e0ebdf4c5b6e84c4c2510d8f905c5a94 100644 --- a/app/Database/Seeds/PlatformSeeder.php +++ b/app/Database/Seeds/PlatformSeeder.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class PlatformsSeeder Inserts values in platforms table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Database/Seeds/TestSeeder.php b/app/Database/Seeds/TestSeeder.php index c9c682ec5dd8997d74e081f00f45e1dc15c13432..e37198db2b0abdbc707e7926cde471b174c6a6ae 100644 --- a/app/Database/Seeds/TestSeeder.php +++ b/app/Database/Seeds/TestSeeder.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class TestSeeder Inserts a superadmin user in the database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Actor.php b/app/Entities/Actor.php index c91179374d4920bc782d67a3e00927970171dd1a..4a9cba9a2ee2c46592f5bb02cf8d682cf85a2db5 100644 --- a/app/Entities/Actor.php +++ b/app/Entities/Actor.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Category.php b/app/Entities/Category.php index c29e37d243239ba072981547d7732206e5d41cd5..d7f577361c7d8cbf5f642f49698e59a90689c5be 100644 --- a/app/Entities/Category.php +++ b/app/Entities/Category.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Clip/BaseClip.php b/app/Entities/Clip/BaseClip.php index e989d865423865e50e52bf5898f1b40b6a9c230a..efe88b4e614db2ac6d1da2e4730f1278cd7dfecc 100644 --- a/app/Entities/Clip/BaseClip.php +++ b/app/Entities/Clip/BaseClip.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Clip/Soundbite.php b/app/Entities/Clip/Soundbite.php index fea08e09154c278fa4669df9e1dbaba1f4f597d6..3e7b0f7f06fc33b67727510f909718cf90a73f33 100644 --- a/app/Entities/Clip/Soundbite.php +++ b/app/Entities/Clip/Soundbite.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Clip/VideoClip.php b/app/Entities/Clip/VideoClip.php index c8cc3b6bbfe6da7b7381d9fa444a6d64bf5863fd..a4add00824e1df7cb8280edf5ac2cfc05d35d86a 100644 --- a/app/Entities/Clip/VideoClip.php +++ b/app/Entities/Clip/VideoClip.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Credit.php b/app/Entities/Credit.php index 8286a6542cead943157003aed2133e290b42723e..358578b6344516098bd3a7bf0f36427a6229b64a 100644 --- a/app/Entities/Credit.php +++ b/app/Entities/Credit.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Episode.php b/app/Entities/Episode.php index 3f1d33ff42a61f73db7d203b37403fff09935a59..ebd648fd5c94c75b65bd05d096c40bc9c6c787e6 100644 --- a/app/Entities/Episode.php +++ b/app/Entities/Episode.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/EpisodeComment.php b/app/Entities/EpisodeComment.php index 9160a0203efa7126db0879e3896a1eadb7c747b9..85e57b3f60c09106f9e521d7df923aa12329be11 100644 --- a/app/Entities/EpisodeComment.php +++ b/app/Entities/EpisodeComment.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Language.php b/app/Entities/Language.php index f8cf6dafd5a5a63704164c47acbc174ebb82af9b..df4fb6f00df86b833408847cd5b79f4476f5486e 100644 --- a/app/Entities/Language.php +++ b/app/Entities/Language.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Like.php b/app/Entities/Like.php index ab9f3893f77af168dda05563c111d7f572fc98b2..ad52d2d002307bae0a8b0ae00905937bf97bf7ec 100644 --- a/app/Entities/Like.php +++ b/app/Entities/Like.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Location.php b/app/Entities/Location.php index 470eec8856b8142f61692e8bb78734a447da6303..08956419893afa12b4b52fffe1745ce22ed3ef15 100644 --- a/app/Entities/Location.php +++ b/app/Entities/Location.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Media/Audio.php b/app/Entities/Media/Audio.php index 6cb2c20b02e5041caab54cdf20173279e058347f..7b0a289a4b8928bc3130d88eccddf7e15b7a030c 100644 --- a/app/Entities/Media/Audio.php +++ b/app/Entities/Media/Audio.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Media/BaseMedia.php b/app/Entities/Media/BaseMedia.php index c348b250a7059bcc01d3ccc3e3688bf64faa9f9d..a45ede67af978e73c62a211013086556729bc084 100644 --- a/app/Entities/Media/BaseMedia.php +++ b/app/Entities/Media/BaseMedia.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Media/Chapters.php b/app/Entities/Media/Chapters.php index 48e7fc744d789b4bb5b6717dc6544446d173dc66..227cb5afbd20afd4cd86e0969b1fbebc0f004909 100644 --- a/app/Entities/Media/Chapters.php +++ b/app/Entities/Media/Chapters.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Media/Document.php b/app/Entities/Media/Document.php index dc7c3e903e1ac167637e0dd548ae8f27e2c3ccc5..705f2a3addfb0a2ce65a098fa3a50322123714e5 100644 --- a/app/Entities/Media/Document.php +++ b/app/Entities/Media/Document.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Media/Image.php b/app/Entities/Media/Image.php index 4c51498bb0751f626b2cb3ed77ec73cc3c3f9998..754ce86fc9ac8c2d8e57edfbbdb88467d3464297 100644 --- a/app/Entities/Media/Image.php +++ b/app/Entities/Media/Image.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Media/Transcript.php b/app/Entities/Media/Transcript.php index 8dc8ce12268bae2bc038dbbc822f7940d8bbb6d3..a0dbebdf303fb69118e1f541368e75626fb0ec1d 100644 --- a/app/Entities/Media/Transcript.php +++ b/app/Entities/Media/Transcript.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Media/Video.php b/app/Entities/Media/Video.php index f003283bd711da95b393022c000dab3451304f48..dd7f8658c227b1020dac3857a4de308c366e043c 100644 --- a/app/Entities/Media/Video.php +++ b/app/Entities/Media/Video.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Page.php b/app/Entities/Page.php index 1628a787b3938c00bb116e7b22eeea19398da227..df89dcfa781581fd7d24770c649e2ccc321f55b1 100644 --- a/app/Entities/Page.php +++ b/app/Entities/Page.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Person.php b/app/Entities/Person.php index d13e614e304e703093171a89573da5c5bcbe896f..75e3edbfbffe40de56bf047323d6fa7158381ddc 100644 --- a/app/Entities/Person.php +++ b/app/Entities/Person.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Platform.php b/app/Entities/Platform.php index 899e9afcac89ce1835b21b3c08499ab76ebcdbb3..8f03a58b7ef73fad946943ba298c46aa2e2dc983 100644 --- a/app/Entities/Platform.php +++ b/app/Entities/Platform.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Podcast.php b/app/Entities/Podcast.php index f0a4c810feeb8ebe00efd811f9360f9887f7effb..4553b1d3f9fd2f187aadf48fe16dd7f23b9b7938 100644 --- a/app/Entities/Podcast.php +++ b/app/Entities/Podcast.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Entities/Post.php b/app/Entities/Post.php index 0f4c4654c9803646aa362253303b82959efae963..b68968affd4979a2b91fa08bba59cc06956ece68 100644 --- a/app/Entities/Post.php +++ b/app/Entities/Post.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Helpers/auth_helper.php b/app/Helpers/auth_helper.php index 15d5739a650c9ddc4f8e156be291e1b7be270ea3..e31df3352d9d6edb8d5ac5dca7b0d104489f88dd 100644 --- a/app/Helpers/auth_helper.php +++ b/app/Helpers/auth_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Helpers/breadcrumb_helper.php b/app/Helpers/breadcrumb_helper.php index 4e9b6a2e4881d08bef407765051e898dd8e08b43..718f831009c86a33d8f3de407ec718ed141c86bb 100644 --- a/app/Helpers/breadcrumb_helper.php +++ b/app/Helpers/breadcrumb_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Helpers/components_helper.php b/app/Helpers/components_helper.php index 57c4ead5b781e8d06f878ba556309abc351883c7..cb61ae4471522c3690fdc2ad5fa6a4cf495edff7 100644 --- a/app/Helpers/components_helper.php +++ b/app/Helpers/components_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Helpers/id3_helper.php b/app/Helpers/id3_helper.php index 8b36879ff3db7a4968589b000aa616ec2be1fbee..1d8b107e018355c347c2d9b51ee24b0ebdf512d7 100644 --- a/app/Helpers/id3_helper.php +++ b/app/Helpers/id3_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Helpers/media_helper.php b/app/Helpers/media_helper.php index b9a1c65bf72abef3e410c4d517bd802d3c7c6582..5ca25bf1b6a50df034940bf35e123b7ba976fbdb 100644 --- a/app/Helpers/media_helper.php +++ b/app/Helpers/media_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Helpers/misc_helper.php b/app/Helpers/misc_helper.php index 133302e3d581336c025091bcc4f7d6ce6c6747b6..813102abb7a00d0cf04482e478f6fa6b582385eb 100644 --- a/app/Helpers/misc_helper.php +++ b/app/Helpers/misc_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Helpers/page_helper.php b/app/Helpers/page_helper.php index 7817a4d9398cc72fa140438c735625c22d0b8c48..41f082063ec79490d6381cd01b3f001f92066d75 100644 --- a/app/Helpers/page_helper.php +++ b/app/Helpers/page_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Helpers/rss_helper.php b/app/Helpers/rss_helper.php index d26cf756bd68cf4d645f61f48832226c7c1b3b43..355460d04fc47d211ac2ee8e16a2b3f443227677 100644 --- a/app/Helpers/rss_helper.php +++ b/app/Helpers/rss_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ @@ -47,7 +47,7 @@ if (! function_exists('get_rss_feed')) { // the last build date corresponds to the creation of the feed.xml cache $channel->addChild('lastBuildDate', (new Time('now'))->format(DATE_RFC1123)); - $channel->addChild('generator', 'Castopod Host - https://castopod.org/'); + $channel->addChild('generator', 'Castopod - https://castopod.org/'); $channel->addChild('docs', 'https://cyber.harvard.edu/rss/rss.html'); $channel->addChild('guid', $podcast->guid, $podcastNamespace); diff --git a/app/Helpers/seo_helper.php b/app/Helpers/seo_helper.php index c24ac4c3b4d240ed37c10c62860c82916932432e..dc6bbe84979a0923bae06c82c4d01c85ac87f2ea 100644 --- a/app/Helpers/seo_helper.php +++ b/app/Helpers/seo_helper.php @@ -13,7 +13,7 @@ use Melbahja\Seo\Schema; use Melbahja\Seo\Schema\Thing; /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Helpers/svg_helper.php b/app/Helpers/svg_helper.php index a187e40011dda64b244d1ee54051ebc646ee848e..e65f28d437a09c6b47d510a2260998c543697ac3 100644 --- a/app/Helpers/svg_helper.php +++ b/app/Helpers/svg_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Helpers/url_helper.php b/app/Helpers/url_helper.php index 09bb644b81eaa6e8291f3f3d6d8f997dac7af9fa..4e1b41a3aabb58a1f9d80c2f961cf8e43c27ac79 100644 --- a/app/Helpers/url_helper.php +++ b/app/Helpers/url_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/en/Comment.php b/app/Language/en/Comment.php index 06a2fc1d3c0f13f40e66dbdb541334643d4eb46a..c9012c27da160052ab4e812f495f844691075598 100644 --- a/app/Language/en/Comment.php +++ b/app/Language/en/Comment.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/en/Common.php b/app/Language/en/Common.php index a29d9e6ce1bd3676db02c3c45f614c177d69e32c..aff8136b83076d86f2d1ace1dffbeeaca050f7ac 100644 --- a/app/Language/en/Common.php +++ b/app/Language/en/Common.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/en/Episode.php b/app/Language/en/Episode.php index dbb96bf02f765c7b24f28e828595fe3872bf8b1c..ebe39336fc45d6f567b74c6a03c131b981afdc36 100644 --- a/app/Language/en/Episode.php +++ b/app/Language/en/Episode.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/en/Fediverse.php b/app/Language/en/Fediverse.php index 6477b70ec8daf46b9c179b23f3b39055bf7a067a..d1faa771af5166e4b068acf5aef706b4dd0696de 100644 --- a/app/Language/en/Fediverse.php +++ b/app/Language/en/Fediverse.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/en/Home.php b/app/Language/en/Home.php index 26d83502314c526e85870aee83c8058c21ab0205..1518239bd96c926ebab363ac66ff32b364789743 100644 --- a/app/Language/en/Home.php +++ b/app/Language/en/Home.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/en/Page.php b/app/Language/en/Page.php index 9a255bda06546fb8d683d1d7f7f5cb9fecdead92..7cd606694eb09eaf9c60ba274336970a8e1a3c77 100644 --- a/app/Language/en/Page.php +++ b/app/Language/en/Page.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/en/Podcast.php b/app/Language/en/Podcast.php index 3aef56e5a0868ae622a6f9530f7190c15bc72d98..d69cd86dafdbd8aa501ee9ba7abd79cf3644f214 100644 --- a/app/Language/en/Podcast.php +++ b/app/Language/en/Podcast.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/en/Post.php b/app/Language/en/Post.php index dc348d91bd9edb60d424d7ab4080de37477499fc..489d3e1474b87aad79d01d7734c4b22e2e73a301 100644 --- a/app/Language/en/Post.php +++ b/app/Language/en/Post.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/fr/Comment.php b/app/Language/fr/Comment.php index ce5fab4f288b4dea5a39337862a31e278632d4d1..476e42972dadc295e2145c63b266a7a98022300b 100644 --- a/app/Language/fr/Comment.php +++ b/app/Language/fr/Comment.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/fr/Common.php b/app/Language/fr/Common.php index 6c28fe3f314167842eef221a3cacfb93490782fc..1fa3cd06dc34aee1e2bb0b3ccfbf92bc41a4b90e 100644 --- a/app/Language/fr/Common.php +++ b/app/Language/fr/Common.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/fr/Episode.php b/app/Language/fr/Episode.php index 7805ab93cd42e60aac5e0fe270934459f9dcc98a..e273bd754475684c9264356bc1bb4b7519a987aa 100644 --- a/app/Language/fr/Episode.php +++ b/app/Language/fr/Episode.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/fr/Fediverse.php b/app/Language/fr/Fediverse.php index 886181be3b02bb197a85f277c8f87a39bf41b2f4..0baa767c58bc82150ebf1755f19716e8203b21e5 100644 --- a/app/Language/fr/Fediverse.php +++ b/app/Language/fr/Fediverse.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/fr/Home.php b/app/Language/fr/Home.php index 6a0627c5f0df945852851fdf0c76de1304d2c5c1..5a8f5f8a2855279acd283ccaab642c8883f802a3 100644 --- a/app/Language/fr/Home.php +++ b/app/Language/fr/Home.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/fr/Page.php b/app/Language/fr/Page.php index 8ad3f5d1134dfee336c0ebc5e6e1263c3919b1b9..a3b7c4ab9acf5415f3675b00a35c0b010f997ff7 100644 --- a/app/Language/fr/Page.php +++ b/app/Language/fr/Page.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/fr/Podcast.php b/app/Language/fr/Podcast.php index c876515eeddf661b816cb434f24d70af9ffd02ba..28a92914097a873c6a34c4922d176558528699dd 100644 --- a/app/Language/fr/Podcast.php +++ b/app/Language/fr/Podcast.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Language/fr/Post.php b/app/Language/fr/Post.php index 2981a4be9a34fd3b9311c4d2e3b69c03f777213f..16846fe580c75b3e8d5d7e587a0e96692c247f79 100644 --- a/app/Language/fr/Post.php +++ b/app/Language/fr/Post.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Libraries/Breadcrumb.php b/app/Libraries/Breadcrumb.php index a07cbe6d9ef7d5ed4d8a81f1256fc7c38f8dfde4..2c46bd82980c2423f0fd5c25aa5413b8fd36bfc4 100644 --- a/app/Libraries/Breadcrumb.php +++ b/app/Libraries/Breadcrumb.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Generates and renders a breadcrumb based on the current url segments * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Libraries/CommentObject.php b/app/Libraries/CommentObject.php index e7fcac7ffb82a27aed508ab5474b3ac5089e058f..20ca892e6b486bbf2613fa0012be70dd629072e2 100644 --- a/app/Libraries/CommentObject.php +++ b/app/Libraries/CommentObject.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Libraries/MediaClipper/VideoClipper.php b/app/Libraries/MediaClipper/VideoClipper.php index da6debceaa094a0b65640b4b7ad5b6a860721ea7..11c8d2ddd28281b99d9a1bda8b461f2f5e2ed51a 100644 --- a/app/Libraries/MediaClipper/VideoClipper.php +++ b/app/Libraries/MediaClipper/VideoClipper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Libraries/NoteObject.php b/app/Libraries/NoteObject.php index 4f27a0416f9b902cd97a896094fe3b5ee2084275..2154d8e63d77e8232fc946528e5d19da3e798d88 100644 --- a/app/Libraries/NoteObject.php +++ b/app/Libraries/NoteObject.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Libraries/PodcastActor.php b/app/Libraries/PodcastActor.php index ac12be1c32d70e6d0c23036bf01aa015e282c526..a395a36f0d23b3a1bdb368559482e7139af0ee3f 100644 --- a/app/Libraries/PodcastActor.php +++ b/app/Libraries/PodcastActor.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Libraries/PodcastEpisode.php b/app/Libraries/PodcastEpisode.php index 71e3dd36de4e7a5a36abc09d02b243b6f9fbb2c8..8e7dc0988481416fc199e0f9765139f593ca717e 100644 --- a/app/Libraries/PodcastEpisode.php +++ b/app/Libraries/PodcastEpisode.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Libraries/Router.php b/app/Libraries/Router.php index 3f59a70bb9c7b20fbdd33cbdc05a7b9a1775dcfc..e693dbdd1fc2f5dcb201e28d148c86488abbc823 100644 --- a/app/Libraries/Router.php +++ b/app/Libraries/Router.php @@ -7,7 +7,7 @@ declare(strict_types=1); * * It introduces the alternate-content option for a route. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Libraries/SimpleRSSElement.php b/app/Libraries/SimpleRSSElement.php index b3006bd53e80866d501dfe3d6f625762c781e6a8..30ae1103dc631fbce30b810c3573920529eba866 100644 --- a/app/Libraries/SimpleRSSElement.php +++ b/app/Libraries/SimpleRSSElement.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Libraries/TranscriptParser.php b/app/Libraries/TranscriptParser.php index fe316b2136a534176e6cdfd58168d652761a2c05..8e9335a6ba21d2bcb531d1ac0c2cdadb0c2abd3d 100644 --- a/app/Libraries/TranscriptParser.php +++ b/app/Libraries/TranscriptParser.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Generates and renders a breadcrumb based on the current url segments * - * @copyright 2022 Podlibre + * @copyright 2022 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/ActorModel.php b/app/Models/ActorModel.php index ae519f5cd972a1d27432b7c394815816a8767aca..68f24194b352fdfdeb65eafa6956adea9d05c8f2 100644 --- a/app/Models/ActorModel.php +++ b/app/Models/ActorModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/CategoryModel.php b/app/Models/CategoryModel.php index a343c78fafd57e90011ff07de8711f1f91857271..e5ef3d9f9ba716cf25851d949d41a2ff55770667 100644 --- a/app/Models/CategoryModel.php +++ b/app/Models/CategoryModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/ClipModel.php b/app/Models/ClipModel.php index 253568e24f42d4647883a9b7a9fb245321ff74dc..3fd4ca32fe6a8a39037f31939561da8937efe6a9 100644 --- a/app/Models/ClipModel.php +++ b/app/Models/ClipModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class SoundbiteModel Model for podcasts_soundbites table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/CreditModel.php b/app/Models/CreditModel.php index b8b73fddd8c040939867b95cd0f12ac524630770..021b81d613374a6e2c94653572553af913778f6e 100644 --- a/app/Models/CreditModel.php +++ b/app/Models/CreditModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/EpisodeCommentModel.php b/app/Models/EpisodeCommentModel.php index 8310f02c3d69194528f6a41a04c62b8023477bd3..c8830c160495adf18a77185ddf3353e83ee0f37b 100644 --- a/app/Models/EpisodeCommentModel.php +++ b/app/Models/EpisodeCommentModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/EpisodeModel.php b/app/Models/EpisodeModel.php index 10277643b634e80f2c384d975d7b6802a7466cb3..b0b716aceac1d58e85e6a11f3178dca95179511a 100644 --- a/app/Models/EpisodeModel.php +++ b/app/Models/EpisodeModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/LanguageModel.php b/app/Models/LanguageModel.php index 83e68e59c3ed4474ca04bab7802d3f1298f4c614..0e0b1dff5bc4d30b8f77355b805472c87b433f93 100644 --- a/app/Models/LanguageModel.php +++ b/app/Models/LanguageModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/LikeModel.php b/app/Models/LikeModel.php index 7c0335165b44a6b5b232ac5c7188c8a866063c20..0c763ce0a71e9ed865005b75aa965561fd07c849 100644 --- a/app/Models/LikeModel.php +++ b/app/Models/LikeModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/MediaModel.php b/app/Models/MediaModel.php index b3900618a30c548f8684cb541568b2246d4d9359..e56f60b753b812a6ef61b4de4e1fee57eae83919 100644 --- a/app/Models/MediaModel.php +++ b/app/Models/MediaModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/PageModel.php b/app/Models/PageModel.php index 49726c7f46c5b3838932d5b34a2da058550e8c6c..664196f2923c98286cbb4ce0ee6ec162a1c8f282 100644 --- a/app/Models/PageModel.php +++ b/app/Models/PageModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/PersonModel.php b/app/Models/PersonModel.php index 9a64585e87ee716dd9216f8d29fd0b4d5902ad2e..66789062015cdbec691f9e672850b810f2800134 100644 --- a/app/Models/PersonModel.php +++ b/app/Models/PersonModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/PlatformModel.php b/app/Models/PlatformModel.php index 652f664dbe89870e8e0722edb5373cb94086b237..fb0be902c947bf3f7a1a5ba2a82207f3a326ffdd 100644 --- a/app/Models/PlatformModel.php +++ b/app/Models/PlatformModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class PlatformModel Model for platforms table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/PodcastModel.php b/app/Models/PodcastModel.php index 6b1806330b31fd6f9393b0642f554c56297eead3..1c7e5db58a81b683f77e9ce9aaaa8afd3a84be74 100644 --- a/app/Models/PodcastModel.php +++ b/app/Models/PodcastModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/PostModel.php b/app/Models/PostModel.php index 12d0e82600b87069376f177d851e8905d228c337..66cdcba2160e87b1beddb55f7a68cb2748fe51b5 100644 --- a/app/Models/PostModel.php +++ b/app/Models/PostModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Models/UserModel.php b/app/Models/UserModel.php index 1da09221f54118c2e7debebf5528d2cc71a9bfa3..6449526d32046c7475615e36bacfa9ca208f9dc1 100644 --- a/app/Models/UserModel.php +++ b/app/Models/UserModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Validation/FileRules.php b/app/Validation/FileRules.php index e56fd0923ce3e7da0ed7ac908fcc76c77b6b8efd..16b90a2a84c8956e80f1a8c4aec2da6b81c55c3f 100644 --- a/app/Validation/FileRules.php +++ b/app/Validation/FileRules.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/app/Validation/Rules.php b/app/Validation/Rules.php index eab37ce8530f90507b5d1dbcf2a61f694aadf6fc..6ef0984ec1294224c432d223297db9fd19f48397 100644 --- a/app/Validation/Rules.php +++ b/app/Validation/Rules.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/composer.json b/composer.json index 95aa74d22ec55312bea796d55909833c7b4feab7..e2a116ed45dba48fe32031e117b79271f486398f 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "podlibre/castopod-host", "version": "1.0.0-beta8", "type": "project", - "description": "Castopod Host is an open-source hosting platform made for podcasters who want engage and interact with their audience.", + "description": "Castopod is an open-source hosting platform made for podcasters who want engage and interact with their audience.", "homepage": "https://castopod.org", "license": "AGPL-3.0-or-later", "require": { @@ -16,8 +16,8 @@ "vlucas/phpdotenv": "^v5.3.0", "league/html-to-markdown": "^v5.0.1", "opawg/user-agents-php": "^v1.0", - "podlibre/ipcat": "^v1.0", - "podlibre/podcast-namespace": "^v1.0.6", + "adaures/ipcat-php": "^1.0", + "adaures/podcast-persons-taxonomy": "^1.0", "phpseclib/phpseclib": "~2.0.30", "michalsn/codeigniter4-uuid": "dev-develop", "essence/essence": "^3.5.4", @@ -59,25 +59,25 @@ "style": "vendor/bin/ecs check --ansi", "style:fix": "vendor/bin/ecs check --fix --ansi", "post-install-cmd": [ - "@php vendor/opawg/user-agents-php/src/UserAgentsGenerate.php > vendor/opawg/user-agents-php/src/UserAgents.php", - "@php vendor/opawg/user-agents-php/src/UserAgentsRSSGenerate.php > vendor/opawg/user-agents-php/src/UserAgentsRSS.php", - "@php vendor/podlibre/ipcat/IpDbGenerate.php > vendor/podlibre/ipcat/IpDb.php", - "@php vendor/podlibre/podcast-namespace/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > modules/Admin/Language/en/PersonsTaxonomy.php", - "@php vendor/podlibre/podcast-namespace/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-fr.json > modules/Admin/Language/fr/PersonsTaxonomy.php", - "@php vendor/podlibre/podcast-namespace/src/ReversedTaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > vendor/podlibre/podcast-namespace/src/ReversedTaxonomy.php" + "@php vendor/opawg/user-agents-php/src/UserAgentsGenerate.php > vendor/opawg/user-agents-php/src/UserAgents.php", + "@php vendor/opawg/user-agents-php/src/UserAgentsRSSGenerate.php > vendor/opawg/user-agents-php/src/UserAgentsRSS.php", + "@php vendor/adaures/ipcat-php/src/IpDbGenerate.php > vendor/adaures/ipcat-php/src/IpDb.php", + "@php vendor/adaures/podcast-persons-taxonomy/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > modules/Admin/Language/en/PersonsTaxonomy.php", + "@php vendor/adaures/podcast-persons-taxonomy/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-fr.json > modules/Admin/Language/fr/PersonsTaxonomy.php", + "@php vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomy.php" ], "post-update-cmd": [ "@composer dump-autoload", - "@php vendor/opawg/user-agents-php/src/UserAgentsGenerate.php > vendor/opawg/user-agents-php/src/UserAgents.php", - "@php vendor/opawg/user-agents-php/src/UserAgentsRSSGenerate.php > vendor/opawg/user-agents-php/src/UserAgentsRSS.php", - "@php vendor/podlibre/ipcat/IpDbGenerate.php > vendor/podlibre/ipcat/IpDb.php", - "@php vendor/podlibre/podcast-namespace/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > modules/Admin/Language/en/PersonsTaxonomy.php", - "@php vendor/podlibre/podcast-namespace/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-fr.json > modules/Admin/Language/fr/PersonsTaxonomy.php", - "@php vendor/podlibre/podcast-namespace/src/ReversedTaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > vendor/podlibre/podcast-namespace/src/ReversedTaxonomy.php" + "@php vendor/opawg/user-agents-php/src/UserAgentsGenerate.php > vendor/opawg/user-agents-php/src/UserAgents.php", + "@php vendor/opawg/user-agents-php/src/UserAgentsRSSGenerate.php > vendor/opawg/user-agents-php/src/UserAgentsRSS.php", + "@php vendor/adaures/ipcat-php/src/IpDbGenerate.php > vendor/adaures/ipcat-php/src/IpDb.php", + "@php vendor/adaures/podcast-persons-taxonomy/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > modules/Admin/Language/en/PersonsTaxonomy.php", + "@php vendor/adaures/podcast-persons-taxonomy/src/TaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-fr.json > modules/Admin/Language/fr/PersonsTaxonomy.php", + "@php vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomyGenerate.php https://raw.githubusercontent.com/Podcastindex-org/podcast-namespace/main/taxonomy-en.json > vendor/adaures/podcast-persons-taxonomy/src/ReversedTaxonomy.php" ] }, "support": { - "source": "https://code.podlibre.org/podlibre/castopod-host.git", + "source": "https://code.castopod.org/ad-aures/castopod.git", "discord": "https://castopod.org/discord" }, "minimum-stability": "dev", diff --git a/composer.lock b/composer.lock index 91ca6af6afe3cffe1531fca3f0fbf3ef361b9db0..297d9284934024c05c7784e5fe4448b05a87cd78 100644 --- a/composer.lock +++ b/composer.lock @@ -4,8 +4,75 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "bf66875f72680d0f5953f03bf31c8612", + "content-hash": "ec7b17f7a9846c6f31606bcd2dea17ab", "packages": [ + { + "name": "adaures/ipcat-php", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://code.castopod.org/ad-aures/ipcat-php", + "reference": "478a121cc32147359df27d2f5d087595ddcdc8b4" + }, + "require": { + "php": ">=5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "AdAures\\Ipcat\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": ["GPL-3.0-only"], + "authors": [ + { + "name": "Benjamin Bellamy", + "email": "ben@castopod.org", + "homepage": "https://code.castopod.org/benjamin" + }, + { + "name": "Yassine Doghri", + "email": "yassine@doghri.fr", + "homepage": "https://code.castopod.org/yassine" + } + ], + "description": "Categorization of IP Addresses adapted to PHP 5.4+ from https://github.com/client9/ipcat", + "homepage": "https://code.castopod.org/ad-aures/ipcat-php", + "time": "2022-02-12T10:19:28+00:00" + }, + { + "name": "adaures/podcast-persons-taxonomy", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://code.castopod.org/ad-aures/podcast-persons-taxonomy", + "reference": "9cb2bc9a36700f28ae907482a6ee2017aa4c38b0" + }, + "type": "library", + "autoload": { + "psr-4": { + "AdAures\\PodcastPersonsTaxonomy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": ["MIT"], + "authors": [ + { + "name": "Benjamin Bellamy", + "email": "ben@castopod.org", + "homepage": "https://code.castopod.org/benjamin" + }, + { + "name": "Yassine Doghri", + "email": "yassine@doghri.fr", + "homepage": "https://code.castopod.org/yassine" + } + ], + "description": "Generate PHP translation files for CodeIgniter4 from the podcast-namespace's Persons Taxonomy json files.", + "homepage": "https://code.castopod.org/ad-aures/podcast-persons-taxonomy", + "time": "2022-02-12T10:45:50+00:00" + }, { "name": "brick/math", "version": "0.9.2", @@ -1724,69 +1791,6 @@ ], "time": "2021-04-06T13:56:45+00:00" }, - { - "name": "podlibre/ipcat", - "version": "v1.0", - "source": { - "type": "git", - "url": "https://github.com/podlibre/ipcat.git", - "reference": "1adfc821be508ddc8a742f6a5d5e6e42fdf28e86" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/podlibre/ipcat/zipball/1adfc821be508ddc8a742f6a5d5e6e42fdf28e86", - "reference": "1adfc821be508ddc8a742f6a5d5e6e42fdf28e86", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Podlibre\\Ipcat\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": ["GPL-3.0-only"], - "authors": [ - { - "name": "Benjamin Bellamy", - "email": "ben@podlibre.org", - "homepage": "https://podlibre.org/" - } - ], - "description": "Categorization of IP Addresses forked from https://github.com/client9/ipcat", - "homepage": "https://github.com/podlibre/ipcat", - "support": { - "source": "https://github.com/podlibre/ipcat/tree/v1.0" - }, - "time": "2020-10-05T17:15:07+00:00" - }, - { - "name": "podlibre/podcast-namespace", - "version": "v1.0.6", - "source": { - "type": "git", - "url": "https://code.podlibre.org/podlibre/podcastnamespace", - "reference": "4525c06ee9dd95bb745ee875d55b64a053c74cd6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Podlibre\\PodcastNamespace\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], - "authors": [ - { - "name": "Benjamin Bellamy", - "email": "ben@podlibre.org", - "homepage": "https://podlibre.org/" - } - ], - "description": "PHP implementation for the Podcast Namespace.", - "homepage": "https://code.podlibre.org/podlibre/podcastnamespace", - "time": "2021-01-14T15:47:06+00:00" - }, { "name": "psr/cache", "version": "1.0.1", diff --git a/crontab b/crontab index 3ad6aeb4c33a617ca889eee105886d40ef83c03d..b1e03dbb20b368b378a8822a180f266b1dfa6a3a 100644 --- a/crontab +++ b/crontab @@ -1,2 +1,2 @@ -* * * * * /usr/local/bin/php /castopod-host/public/index.php scheduled-activities -* * * * * /usr/local/bin/php /castopod-host/public/index.php scheduled-video-clips +* * * * * /usr/local/bin/php /castopod/public/index.php scheduled-activities +* * * * * /usr/local/bin/php /castopod/public/index.php scheduled-video-clips diff --git a/docker-compose.yml b/docker-compose.yml index 4142285e4963551604d2a018776149b5916982a0..156539b2a3925802c40040a808b4fb05ef0a7b9e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,12 +8,12 @@ services: build: context: . dockerfile: Dockerfile - container_name: castopod-host - command: /bin/sh -c "crontab ./crontab && cron && service cron reload && php spark serve --host 0.0.0.0" + container_name: app + command: /bin/sh -c "crontab ./crontab && cron && service cron reload && php spark serve - 0.0.0.0" ports: - 8080:8080 volumes: - - .:/castopod-host + - .:/castopod depends_on: - redis - mariadb @@ -22,7 +22,7 @@ services: redis: image: redis:alpine - container_name: castopod-host_redis + container_name: castopod_redis ports: - 6379:6379 volumes: @@ -32,7 +32,7 @@ services: mariadb: image: mariadb:latest - container_name: castopod-host_mariadb + container_name: castopod_mariadb ports: - 3306:3306 volumes: @@ -40,14 +40,14 @@ services: environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: castopod - MYSQL_USER: podlibre + MYSQL_USER: castopod MYSQL_PASSWORD: castopod networks: - castopod phpmyadmin: image: phpmyadmin/phpmyadmin:latest - container_name: castopod-host_phpmyadmin + container_name: castopod_phpmyadmin environment: PMA_HOST: mariadb PMA_PORT: 3306 diff --git a/docs/.gitlab-ci.yml b/docs/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..965f468bf9102d1cdb0d982df3ed8f7d882114fe --- /dev/null +++ b/docs/.gitlab-ci.yml @@ -0,0 +1,76 @@ +image: node:16 + +stages: + - build + - deploy + +.documentation-setup: + before_script: + - cd docs + - npm ci + +cache: + paths: + - docs/node_modules/ + +# This job only serves for validating that the docs builds correctly on all non deployment branches +build: + extends: .documentation-setup + stage: build + script: + - npm run build + except: + - develop + - main + - beta + - alpha + +build-production: + extends: .documentation-setup + stage: build + environment: + name: production + url: https://docs.castopod.org/ + script: + - npm run build + artifacts: + paths: + - docs/.vitepress/dist + expire_in: 30 mins + only: + - develop + - main + - beta + - alpha + +deploy: + stage: deploy + environment: + name: production + url: https://docs.castopod.org/ + variables: + HOST: $DOCS_HOST + USER: $DOCS_USER + TEMP_DIRECTORY: $DOCS_TEMP_DIRECTORY + DIRECTORY: $DOCS_DIRECTORY + SSH_PORT: 3242 + SOURCE_FOLDER: "docs/.vitepress/dist/" + before_script: + # install rsync for file transfers + - apt-get update && apt-get install rsync -y + # ssh config + - "which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )" + # Run ssh-agent (inside the build environment) + - eval $(ssh-agent -s) + # Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store + - ssh-add <(echo "$SSH_PRIVATE_KEY" | base64 --decode) + - mkdir -p ~/.ssh + - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' + script: + - rsync -avzuh -e "ssh -p $SSH_PORT" $SOURCE_FOLDER $USER@$HOST:$TEMP_DIRECTORY --progress + - ssh $USER@$HOST -p $SSH_PORT "rsync -rtv $TEMP_DIRECTORY $DIRECTORY" + only: + - develop + - main + - beta + - alpha diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts new file mode 100644 index 0000000000000000000000000000000000000000..bd1892370575ee5a3cd4ef6f2c8e2088c2659939 --- /dev/null +++ b/docs/.vitepress/config.ts @@ -0,0 +1,74 @@ +import { defineConfig } from "vitepress"; + +export default defineConfig({ + title: "Castopod docs", + description: + "Get started with Castopod, install it, contribute and learn more!", + srcDir: "src", + + head: [ + ["link", { rel: "icon", type: "image/x-icon", href: "/favicon.ico" }], + ["meta", { name: "twitter:site", content: "@castopod" }], + ["meta", { name: "twitter:card", content: "summary" }], + [ + "meta", + { + name: "twitter:image", + content: "https://docs.castopod.org/images/logo.png", + }, + ], + [ + "script", + { + defer: "defer", + "data-domain": "docs.castopod.org", + src: "https://analytics.castopod.org/js/plausible.js", + }, + ], + ], + + themeConfig: { + nav: [ + { + text: "Home", + link: "https://castopod.org/", + }, + { + text: "Blog", + link: "https://blog.castopod.org/", + }, + { + text: "Github", + link: "https://github.com/ad-aures/castopod", + }, + ], + + sidebar: { + "/": getGuideSidebar(), + }, + }, +}); + +function getGuideSidebar() { + return [ + { + text: "Introduction", + link: "/", + }, + { + text: "Getting started", + children: [ + { text: "Install", link: "/getting-started/install" }, + { text: "Security", link: "/getting-started/security" }, + { text: "Update", link: "/getting-started/update" }, + ], + }, + { + text: "Contributing", + children: [ + { text: "Guide", link: "/contributing/guidelines" }, + { text: "Dev Setup", link: "/contributing/setup-development" }, + ], + }, + ]; +} diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..a60960f754777eefed32888b79cd59adf04c5899 --- /dev/null +++ b/docs/.vitepress/theme/index.ts @@ -0,0 +1,6 @@ +import Theme from "vitepress/theme"; +import "./tailwind.css"; + +export default { + ...Theme, +}; diff --git a/docs/.vitepress/theme/tailwind.css b/docs/.vitepress/theme/tailwind.css new file mode 100644 index 0000000000000000000000000000000000000000..7c05d4ddc469a3fff12310af97d7bf7b1e8209c8 --- /dev/null +++ b/docs/.vitepress/theme/tailwind.css @@ -0,0 +1,2 @@ +@tailwind components; +@tailwind utilities; diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..938352f9e8edeca33be297527e1b9ebbb4c3d2b3 --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,3552 @@ +{ + "name": "castopod-docs", + "version": "0.0.0-development", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "castopod-docs", + "version": "0.0.0-development", + "license": "AGPL-3.0-or-later", + "devDependencies": { + "tailwindcss": "^3.0.22", + "vitepress": "^0.22.2" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.5.2.tgz", + "integrity": "sha512-DY0bhyczFSS1b/CqJlTE/nQRtnTAHl6IemIkBy0nEWnhDzRDdtdx4p5Uuk3vwAFxwEEgi1WqKwgSSMx6DpNL4A==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.5.2" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.5.2.tgz", + "integrity": "sha512-3MRYnYQFJyovANzSX2CToS6/5cfVjbLLqFsZTKcvF3abhQzxbqwwaMBlJtt620uBUOeMzhdfasKhCc40+RHiZw==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-shared": "1.5.2" + }, + "peerDependencies": { + "@algolia/client-search": "^4.9.1", + "algoliasearch": "^4.9.1" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.5.2.tgz", + "integrity": "sha512-ylQAYv5H0YKMfHgVWX0j0NmL8XBcAeeeVQUmppnnMtzDbDnca6CzhKj3Q8eF9cHCgcdTDdb5K+3aKyGWA0obug==", + "dev": true + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.12.1.tgz", + "integrity": "sha512-ERFFOnC9740xAkuO0iZTQqm2AzU7Dpz/s+g7o48GlZgx5p9GgNcsuK5eS0GoW/tAK+fnKlizCtlFHNuIWuvfsg==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.12.1" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.12.1.tgz", + "integrity": "sha512-UugTER3V40jT+e19Dmph5PKMeliYKxycNPwrPNADin0RcWNfT2QksK9Ff2N2W7UKraqMOzoeDb4LAJtxcK1a8Q==", + "dev": true + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.12.1.tgz", + "integrity": "sha512-U6iaunaxK1lHsAf02UWF58foKFEcrVLsHwN56UkCtwn32nlP9rz52WOcHsgk6TJrL8NDcO5swMjtOQ5XHESFLw==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.12.1" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.12.1.tgz", + "integrity": "sha512-jGo4ConJNoMdTCR2zouO0jO/JcJmzOK6crFxMMLvdnB1JhmMbuIKluOTJVlBWeivnmcsqb7r0v7qTCPW5PAyxQ==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.12.1", + "@algolia/client-search": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.12.1.tgz", + "integrity": "sha512-h1It7KXzIthlhuhfBk7LteYq72tym9maQDUsyRW0Gft8b6ZQahnRak9gcCvKwhcJ1vJoP7T7JrNYGiYSicTD9g==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.12.1", + "@algolia/client-search": "4.12.1", + "@algolia/requester-common": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.12.1.tgz", + "integrity": "sha512-obnJ8eSbv+h94Grk83DTGQ3bqhViSWureV6oK1s21/KMGWbb3DkduHm+lcwFrMFkjSUSzosLBHV9EQUIBvueTw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.12.1.tgz", + "integrity": "sha512-sMSnjjPjRgByGHYygV+5L/E8a6RgU7l2GbpJukSzJ9GRY37tHmBHuvahv8JjdCGJ2p7QDYLnQy5bN5Z02qjc7Q==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.12.1", + "@algolia/requester-common": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.12.1.tgz", + "integrity": "sha512-MwwKKprfY6X2nJ5Ki/ccXM2GDEePvVjZnnoOB2io3dLKW4fTqeSRlC5DRXeFD7UM0vOPPHr4ItV2aj19APKNVQ==", + "dev": true, + "dependencies": { + "@algolia/client-common": "4.12.1", + "@algolia/requester-common": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.12.1.tgz", + "integrity": "sha512-fCgrzlXGATNqdFTxwx0GsyPXK+Uqrx1SZ3iuY2VGPPqdt1a20clAG2n2OcLHJpvaa6vMFPlJyWvbqAgzxdxBlQ==", + "dev": true + }, + "node_modules/@algolia/logger-console": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.12.1.tgz", + "integrity": "sha512-0owaEnq/davngQMYqxLA4KrhWHiXujQ1CU3FFnyUcMyBR7rGHI48zSOUpqnsAXrMBdSH6rH5BDkSUUFwsh8RkQ==", + "dev": true, + "dependencies": { + "@algolia/logger-common": "4.12.1" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.12.1.tgz", + "integrity": "sha512-OaMxDyG0TZG0oqz1lQh9e3woantAG1bLnuwq3fmypsrQxra4IQZiyn1x+kEb69D2TcXApI5gOgrD4oWhtEVMtw==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.12.1" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.12.1.tgz", + "integrity": "sha512-XWIrWQNJ1vIrSuL/bUk3ZwNMNxl+aWz6dNboRW6+lGTcMIwc3NBFE90ogbZKhNrFRff8zI4qCF15tjW+Fyhpow==", + "dev": true + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.12.1.tgz", + "integrity": "sha512-awBtwaD+s0hxkA1aehYn8F0t9wqGoBVWgY4JPHBmp1ChO3pK7RKnnvnv7QQa9vTlllX29oPt/BBVgMo1Z3n1Qg==", + "dev": true, + "dependencies": { + "@algolia/requester-common": "4.12.1" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.12.1.tgz", + "integrity": "sha512-BGeNgdEHc6dXIk2g8kdlOoQ6fQ6OIaKQcplEj7HPoi+XZUeAvRi3Pff3QWd7YmybWkjzd9AnTzieTASDWhL+sQ==", + "dev": true, + "dependencies": { + "@algolia/cache-common": "4.12.1", + "@algolia/logger-common": "4.12.1", + "@algolia/requester-common": "4.12.1" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.0.tgz", + "integrity": "sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.0.0-alpha.50", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0-alpha.50.tgz", + "integrity": "sha512-QeWFCQOtS9D+Fi20liKsPXF2j/xWKh52e+P2Z1UATIdPMqmH6zoB2lcUz+cgv6PPVgWUtECeR6VSSUm71LT94w==", + "dev": true + }, + "node_modules/@docsearch/js": { + "version": "3.0.0-alpha.50", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.0.0-alpha.50.tgz", + "integrity": "sha512-1ap9Wz5oR/Z8yybaCZhsptXU43es3H52eEQUZtmzb8dUWyCW+3iXaKVB/qeMJOQWtggZ/WvZV3YknVIbCMR2dQ==", + "dev": true, + "dependencies": { + "@docsearch/react": "3.0.0-alpha.50", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.0.0-alpha.50", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0-alpha.50.tgz", + "integrity": "sha512-oDGV1zZCRYv7MWsh6CyQVthYTRc3b4q+6kKwNYb1/g/Wf/4nJHutpxolFLHdEUDhrJ4Xi8wxwQG+lEwAVBTHPg==", + "dev": true, + "dependencies": { + "@algolia/autocomplete-core": "1.5.2", + "@algolia/autocomplete-preset-algolia": "1.5.2", + "@docsearch/css": "3.0.0-alpha.50", + "algoliasearch": "^4.0.0" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 18.0.0", + "react": ">= 16.8.0 < 18.0.0", + "react-dom": ">= 16.8.0 < 18.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.4", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/react": { + "version": "17.0.39", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.39.tgz", + "integrity": "sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==", + "dev": true, + "peer": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true, + "peer": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.2.0.tgz", + "integrity": "sha512-wXigM1EwN2G7rZcwG6kLk9ivvIMhx2363tCEvMBiXcTu5nePM/12hUPVzPb83Uugt6U+zom1gTpJopi/Ow/jwg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "vite": "^2.5.10", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.31.tgz", + "integrity": "sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.31", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz", + "integrity": "sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==", + "dev": true, + "dependencies": { + "@vue/compiler-core": "3.2.31", + "@vue/shared": "3.2.31" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.31.tgz", + "integrity": "sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.31", + "@vue/compiler-dom": "3.2.31", + "@vue/compiler-ssr": "3.2.31", + "@vue/reactivity-transform": "3.2.31", + "@vue/shared": "3.2.31", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.31.tgz", + "integrity": "sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.31", + "@vue/shared": "3.2.31" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.31.tgz", + "integrity": "sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==", + "dev": true, + "dependencies": { + "@vue/shared": "3.2.31" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.31.tgz", + "integrity": "sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.31", + "@vue/shared": "3.2.31", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.31.tgz", + "integrity": "sha512-Kcog5XmSY7VHFEMuk4+Gap8gUssYMZ2+w+cmGI6OpZWYOEIcbE0TPzzPHi+8XTzAgx1w/ZxDFcXhZeXN5eKWsA==", + "dev": true, + "dependencies": { + "@vue/reactivity": "3.2.31", + "@vue/shared": "3.2.31" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.31.tgz", + "integrity": "sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==", + "dev": true, + "dependencies": { + "@vue/runtime-core": "3.2.31", + "@vue/shared": "3.2.31", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/runtime-dom/node_modules/csstype": { + "version": "2.6.19", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.19.tgz", + "integrity": "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==", + "dev": true + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.31.tgz", + "integrity": "sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.2.31", + "@vue/shared": "3.2.31" + }, + "peerDependencies": { + "vue": "3.2.31" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.31.tgz", + "integrity": "sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/algoliasearch": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.12.1.tgz", + "integrity": "sha512-c0dM1g3zZBJrkzE5GA/Nu1y3fFxx3LCzxKzcmp2dgGS8P4CjszB/l3lsSh2MSrrK1Hn/KV4BlbBMXtYgG1Bfrw==", + "dev": true, + "dependencies": { + "@algolia/cache-browser-local-storage": "4.12.1", + "@algolia/cache-common": "4.12.1", + "@algolia/cache-in-memory": "4.12.1", + "@algolia/client-account": "4.12.1", + "@algolia/client-analytics": "4.12.1", + "@algolia/client-common": "4.12.1", + "@algolia/client-personalization": "4.12.1", + "@algolia/client-search": "4.12.1", + "@algolia/logger-common": "4.12.1", + "@algolia/logger-console": "4.12.1", + "@algolia/requester-browser-xhr": "4.12.1", + "@algolia/requester-common": "4.12.1", + "@algolia/requester-node-http": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", + "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", + "dev": true, + "peer": true, + "dependencies": { + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001297", + "fraction.js": "^4.1.2", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "dev": true, + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001312", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz", + "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==", + "dev": true, + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", + "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==", + "dev": true, + "peer": true + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "node_modules/detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "dependencies": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.71", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz", + "integrity": "sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==", + "dev": true, + "peer": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/esbuild": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.21.tgz", + "integrity": "sha512-7WEoNMBJdLN993dr9h0CpFHPRc3yFZD+EAVY9lg6syJJ12gc5fHq8d75QRExuhnMkT2DaRiIKFThRvDWP+fO+A==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "esbuild-android-arm64": "0.14.21", + "esbuild-darwin-64": "0.14.21", + "esbuild-darwin-arm64": "0.14.21", + "esbuild-freebsd-64": "0.14.21", + "esbuild-freebsd-arm64": "0.14.21", + "esbuild-linux-32": "0.14.21", + "esbuild-linux-64": "0.14.21", + "esbuild-linux-arm": "0.14.21", + "esbuild-linux-arm64": "0.14.21", + "esbuild-linux-mips64le": "0.14.21", + "esbuild-linux-ppc64le": "0.14.21", + "esbuild-linux-riscv64": "0.14.21", + "esbuild-linux-s390x": "0.14.21", + "esbuild-netbsd-64": "0.14.21", + "esbuild-openbsd-64": "0.14.21", + "esbuild-sunos-64": "0.14.21", + "esbuild-windows-32": "0.14.21", + "esbuild-windows-64": "0.14.21", + "esbuild-windows-arm64": "0.14.21" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.21.tgz", + "integrity": "sha512-Bqgld1TY0wZv8TqiQmVxQFgYzz8ZmyzT7clXBDZFkOOdRybzsnj8AZuK1pwcLVA7Ya6XncHgJqIao7NFd3s0RQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.21.tgz", + "integrity": "sha512-j+Eg+e13djzyYINVvAbOo2/zvZ2DivuJJTaBrJnJHSD7kUNuGHRkHoSfFjbI80KHkn091w350wdmXDNSgRjfYQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.21.tgz", + "integrity": "sha512-nDNTKWDPI0RuoPj5BhcSB2z5EmZJJAyRtZLIjyXSqSpAyoB8eyAKXl4lB8U2P78Fnh4Lh1le/fmpewXE04JhBQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.21.tgz", + "integrity": "sha512-zIurkCHXhxELiDZtLGiexi8t8onQc2LtuE+S7457H/pP0g0MLRKMrsn/IN4LDkNe6lvBjuoZZi2OfelOHn831g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.21.tgz", + "integrity": "sha512-wdxMmkJfbwcN+q85MpeUEamVZ40FNsBa9mPq8tAszDn8TRT2HoJvVRADPIIBa9SWWwlDChIMjkDKAnS3KS/sPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.21.tgz", + "integrity": "sha512-fmxvyzOPPh2xiEHojpCeIQP6pXcoKsWbz3ryDDIKLOsk4xp3GbpHIEAWP0xTeuhEbendmvBDVKbAVv3PnODXLg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.21.tgz", + "integrity": "sha512-edZyNOv1ql+kpmlzdqzzDjRQYls+tSyi4QFi+PdBhATJFUqHsnNELWA9vMSzAaInPOEaVUTA5Ml28XFChcy4DA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.21.tgz", + "integrity": "sha512-aSU5pUueK6afqmLQsbU+QcFBT62L+4G9hHMJDHWfxgid6hzhSmfRH9U/f+ymvxsSTr/HFRU4y7ox8ZyhlVl98w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.21.tgz", + "integrity": "sha512-t5qxRkq4zdQC0zXpzSB2bTtfLgOvR0C6BXYaRE/6/k8/4SrkZcTZBeNu+xGvwCU4b5dU9ST9pwIWkK6T1grS8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.21.tgz", + "integrity": "sha512-jLZLQGCNlUsmIHtGqNvBs3zN+7a4D9ckf0JZ+jQTwHdZJ1SgV9mAjbB980OFo66LoY+WeM7t3WEnq3FjI1zw4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.21.tgz", + "integrity": "sha512-4TWxpK391en2UBUw6GSrukToTDu6lL9vkm3Ll40HrI08WG3qcnJu7bl8e1+GzelDsiw1QmfAY/nNvJ6iaHRpCQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.21.tgz", + "integrity": "sha512-fElngqOaOfTsF+u+oetDLHsPG74vB2ZaGZUqmGefAJn3a5z9Z2pNa4WpVbbKgHpaAAy5tWM1m1sbGohj6Ki6+Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.21.tgz", + "integrity": "sha512-brleZ6R5fYv0qQ7ZBwenQmP6i9TdvJCB092c/3D3pTLQHBGHJb5zWgKxOeS7bdHzmLy6a6W7GbFk6QKpjyD6QA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.21.tgz", + "integrity": "sha512-nCEgsLCQ8RoFWVV8pVI+kX66ICwbPP/M9vEa0NJGIEB/Vs5sVGMqkf67oln90XNSkbc0bPBDuo4G6FxlF7PN8g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.21.tgz", + "integrity": "sha512-h9zLMyVD0T73MDTVYIb/qUTokwI6EJH9O6wESuTNq6+XpMSr6C5aYZ4fvFKdNELW+Xsod+yDS2hV2JTUAbFrLA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.21.tgz", + "integrity": "sha512-Kl+7Cot32qd9oqpLdB1tEGXEkjBlijrIxMJ0+vlDFaqsODutif25on0IZlFxEBtL2Gosd4p5WCV1U7UskNQfXA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.21.tgz", + "integrity": "sha512-V7vnTq67xPBUCk/9UtlolmQ798Ecjdr1ZoI1vcSgw7M82aSSt0eZdP6bh5KAFZU8pxDcx3qoHyWQfHYr11f22A==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.21.tgz", + "integrity": "sha512-kDgHjKOHwjfJDCyRGELzVxiP/RBJBTA+wyspf78MTTJQkyPuxH2vChReNdWc+dU2S4gIZFHMdP1Qrl/k22ZmaA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.21.tgz", + "integrity": "sha512-8Sbo0zpzgwWrwjQYLmHF78f7E2xg5Ve63bjB2ng3V2aManilnnTGaliq2snYg+NOX60+hEvJHRdVnuIAHW0lVw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fraction.js": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.3.tgz", + "integrity": "sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg==", + "dev": true, + "peer": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/lilconfig": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", + "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "dev": true, + "peer": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", + "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", + "dev": true, + "dependencies": { + "nanoid": "^3.2.0", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.3.3" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz", + "integrity": "sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.4", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.6" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", + "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/preact": { + "version": "10.6.6", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.6.6.tgz", + "integrity": "sha512-dgxpTFV2vs4vizwKohYKkk7g7rmp1wOOcfd4Tz3IB3Wi+ivZzsn/SpeKJhRENSE+n8sUfsAl4S3HiCVT923ABw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/prismjs": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.26.0.tgz", + "integrity": "sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + }, + "peerDependencies": { + "react": "17.0.2" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "2.67.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.67.2.tgz", + "integrity": "sha512-hoEiBWwZtf1QdK3jZIq59L0FJj4Fiv4RplCO4pvCRC86qsoFurWB4hKQIjoRf3WvJmk5UZ9b0y5ton+62fC7Tw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dev": true, + "peer": true, + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.22.tgz", + "integrity": "sha512-F8lt74RlNZirnkaSk310+vGQta7c0/hgx7/bqxruM4wS9lp8oqV93lzavajC3VT0Lp4UUtUVIt8ifKcmGzkr0A==", + "dev": true, + "dependencies": { + "arg": "^5.0.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss": "^8.4.6", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "autoprefixer": "^10.0.2", + "postcss": "^8.0.9" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/vite": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.8.2.tgz", + "integrity": "sha512-zawfykcPVPYva4KusIWORNLr324Qx86/3NpfQSIOJdjnL5pYhwDoImLYMOh4lFLcP/7//tNuWM2vx2F5OSVC9w==", + "dev": true, + "dependencies": { + "esbuild": "^0.14.14", + "postcss": "^8.4.6", + "resolve": "^1.22.0", + "rollup": "^2.59.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": ">=12.2.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "less": "*", + "sass": "*", + "stylus": "*" + }, + "peerDependenciesMeta": { + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + } + } + }, + "node_modules/vitepress": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-0.22.2.tgz", + "integrity": "sha512-L6ykQzBXKzLTSU3zZbILeF1TONO6juV/RrL0DsA9OayomVQjEOoFY7cVdKOpIBb3T5Jy/GAAVxcvWtU/XJ5k4g==", + "dev": true, + "dependencies": { + "@docsearch/css": "^3.0.0-alpha.41", + "@docsearch/js": "^3.0.0-alpha.41", + "@vitejs/plugin-vue": "^2.2.0", + "prismjs": "^1.25.0", + "vite": "^2.8.1", + "vue": "^3.2.31" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/vue": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.31.tgz", + "integrity": "sha512-odT3W2tcffTiQCy57nOT93INw1auq5lYLLYtWpPYQQYQOOdHiqFct9Xhna6GJ+pJQaF67yZABraH47oywkJgFw==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.31", + "@vue/compiler-sfc": "3.2.31", + "@vue/runtime-dom": "3.2.31", + "@vue/server-renderer": "3.2.31", + "@vue/shared": "3.2.31" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + } + }, + "dependencies": { + "@algolia/autocomplete-core": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.5.2.tgz", + "integrity": "sha512-DY0bhyczFSS1b/CqJlTE/nQRtnTAHl6IemIkBy0nEWnhDzRDdtdx4p5Uuk3vwAFxwEEgi1WqKwgSSMx6DpNL4A==", + "dev": true, + "requires": { + "@algolia/autocomplete-shared": "1.5.2" + } + }, + "@algolia/autocomplete-preset-algolia": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.5.2.tgz", + "integrity": "sha512-3MRYnYQFJyovANzSX2CToS6/5cfVjbLLqFsZTKcvF3abhQzxbqwwaMBlJtt620uBUOeMzhdfasKhCc40+RHiZw==", + "dev": true, + "requires": { + "@algolia/autocomplete-shared": "1.5.2" + } + }, + "@algolia/autocomplete-shared": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.5.2.tgz", + "integrity": "sha512-ylQAYv5H0YKMfHgVWX0j0NmL8XBcAeeeVQUmppnnMtzDbDnca6CzhKj3Q8eF9cHCgcdTDdb5K+3aKyGWA0obug==", + "dev": true + }, + "@algolia/cache-browser-local-storage": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.12.1.tgz", + "integrity": "sha512-ERFFOnC9740xAkuO0iZTQqm2AzU7Dpz/s+g7o48GlZgx5p9GgNcsuK5eS0GoW/tAK+fnKlizCtlFHNuIWuvfsg==", + "dev": true, + "requires": { + "@algolia/cache-common": "4.12.1" + } + }, + "@algolia/cache-common": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.12.1.tgz", + "integrity": "sha512-UugTER3V40jT+e19Dmph5PKMeliYKxycNPwrPNADin0RcWNfT2QksK9Ff2N2W7UKraqMOzoeDb4LAJtxcK1a8Q==", + "dev": true + }, + "@algolia/cache-in-memory": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.12.1.tgz", + "integrity": "sha512-U6iaunaxK1lHsAf02UWF58foKFEcrVLsHwN56UkCtwn32nlP9rz52WOcHsgk6TJrL8NDcO5swMjtOQ5XHESFLw==", + "dev": true, + "requires": { + "@algolia/cache-common": "4.12.1" + } + }, + "@algolia/client-account": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.12.1.tgz", + "integrity": "sha512-jGo4ConJNoMdTCR2zouO0jO/JcJmzOK6crFxMMLvdnB1JhmMbuIKluOTJVlBWeivnmcsqb7r0v7qTCPW5PAyxQ==", + "dev": true, + "requires": { + "@algolia/client-common": "4.12.1", + "@algolia/client-search": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "@algolia/client-analytics": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.12.1.tgz", + "integrity": "sha512-h1It7KXzIthlhuhfBk7LteYq72tym9maQDUsyRW0Gft8b6ZQahnRak9gcCvKwhcJ1vJoP7T7JrNYGiYSicTD9g==", + "dev": true, + "requires": { + "@algolia/client-common": "4.12.1", + "@algolia/client-search": "4.12.1", + "@algolia/requester-common": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "@algolia/client-common": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.12.1.tgz", + "integrity": "sha512-obnJ8eSbv+h94Grk83DTGQ3bqhViSWureV6oK1s21/KMGWbb3DkduHm+lcwFrMFkjSUSzosLBHV9EQUIBvueTw==", + "dev": true, + "requires": { + "@algolia/requester-common": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "@algolia/client-personalization": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.12.1.tgz", + "integrity": "sha512-sMSnjjPjRgByGHYygV+5L/E8a6RgU7l2GbpJukSzJ9GRY37tHmBHuvahv8JjdCGJ2p7QDYLnQy5bN5Z02qjc7Q==", + "dev": true, + "requires": { + "@algolia/client-common": "4.12.1", + "@algolia/requester-common": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "@algolia/client-search": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.12.1.tgz", + "integrity": "sha512-MwwKKprfY6X2nJ5Ki/ccXM2GDEePvVjZnnoOB2io3dLKW4fTqeSRlC5DRXeFD7UM0vOPPHr4ItV2aj19APKNVQ==", + "dev": true, + "requires": { + "@algolia/client-common": "4.12.1", + "@algolia/requester-common": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "@algolia/logger-common": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.12.1.tgz", + "integrity": "sha512-fCgrzlXGATNqdFTxwx0GsyPXK+Uqrx1SZ3iuY2VGPPqdt1a20clAG2n2OcLHJpvaa6vMFPlJyWvbqAgzxdxBlQ==", + "dev": true + }, + "@algolia/logger-console": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.12.1.tgz", + "integrity": "sha512-0owaEnq/davngQMYqxLA4KrhWHiXujQ1CU3FFnyUcMyBR7rGHI48zSOUpqnsAXrMBdSH6rH5BDkSUUFwsh8RkQ==", + "dev": true, + "requires": { + "@algolia/logger-common": "4.12.1" + } + }, + "@algolia/requester-browser-xhr": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.12.1.tgz", + "integrity": "sha512-OaMxDyG0TZG0oqz1lQh9e3woantAG1bLnuwq3fmypsrQxra4IQZiyn1x+kEb69D2TcXApI5gOgrD4oWhtEVMtw==", + "dev": true, + "requires": { + "@algolia/requester-common": "4.12.1" + } + }, + "@algolia/requester-common": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.12.1.tgz", + "integrity": "sha512-XWIrWQNJ1vIrSuL/bUk3ZwNMNxl+aWz6dNboRW6+lGTcMIwc3NBFE90ogbZKhNrFRff8zI4qCF15tjW+Fyhpow==", + "dev": true + }, + "@algolia/requester-node-http": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.12.1.tgz", + "integrity": "sha512-awBtwaD+s0hxkA1aehYn8F0t9wqGoBVWgY4JPHBmp1ChO3pK7RKnnvnv7QQa9vTlllX29oPt/BBVgMo1Z3n1Qg==", + "dev": true, + "requires": { + "@algolia/requester-common": "4.12.1" + } + }, + "@algolia/transporter": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.12.1.tgz", + "integrity": "sha512-BGeNgdEHc6dXIk2g8kdlOoQ6fQ6OIaKQcplEj7HPoi+XZUeAvRi3Pff3QWd7YmybWkjzd9AnTzieTASDWhL+sQ==", + "dev": true, + "requires": { + "@algolia/cache-common": "4.12.1", + "@algolia/logger-common": "4.12.1", + "@algolia/requester-common": "4.12.1" + } + }, + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true + }, + "@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.0.tgz", + "integrity": "sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==", + "dev": true + }, + "@docsearch/css": { + "version": "3.0.0-alpha.50", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.0.0-alpha.50.tgz", + "integrity": "sha512-QeWFCQOtS9D+Fi20liKsPXF2j/xWKh52e+P2Z1UATIdPMqmH6zoB2lcUz+cgv6PPVgWUtECeR6VSSUm71LT94w==", + "dev": true + }, + "@docsearch/js": { + "version": "3.0.0-alpha.50", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.0.0-alpha.50.tgz", + "integrity": "sha512-1ap9Wz5oR/Z8yybaCZhsptXU43es3H52eEQUZtmzb8dUWyCW+3iXaKVB/qeMJOQWtggZ/WvZV3YknVIbCMR2dQ==", + "dev": true, + "requires": { + "@docsearch/react": "3.0.0-alpha.50", + "preact": "^10.0.0" + } + }, + "@docsearch/react": { + "version": "3.0.0-alpha.50", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.0.0-alpha.50.tgz", + "integrity": "sha512-oDGV1zZCRYv7MWsh6CyQVthYTRc3b4q+6kKwNYb1/g/Wf/4nJHutpxolFLHdEUDhrJ4Xi8wxwQG+lEwAVBTHPg==", + "dev": true, + "requires": { + "@algolia/autocomplete-core": "1.5.2", + "@algolia/autocomplete-preset-algolia": "1.5.2", + "@docsearch/css": "3.0.0-alpha.50", + "algoliasearch": "^4.0.0" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/prop-types": { + "version": "15.7.4", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", + "dev": true, + "peer": true + }, + "@types/react": { + "version": "17.0.39", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.39.tgz", + "integrity": "sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==", + "dev": true, + "peer": true, + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true, + "peer": true + }, + "@vitejs/plugin-vue": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.2.0.tgz", + "integrity": "sha512-wXigM1EwN2G7rZcwG6kLk9ivvIMhx2363tCEvMBiXcTu5nePM/12hUPVzPb83Uugt6U+zom1gTpJopi/Ow/jwg==", + "dev": true, + "requires": {} + }, + "@vue/compiler-core": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.31.tgz", + "integrity": "sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.31", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz", + "integrity": "sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==", + "dev": true, + "requires": { + "@vue/compiler-core": "3.2.31", + "@vue/shared": "3.2.31" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.31.tgz", + "integrity": "sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.31", + "@vue/compiler-dom": "3.2.31", + "@vue/compiler-ssr": "3.2.31", + "@vue/reactivity-transform": "3.2.31", + "@vue/shared": "3.2.31", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.31.tgz", + "integrity": "sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.31", + "@vue/shared": "3.2.31" + } + }, + "@vue/reactivity": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.31.tgz", + "integrity": "sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==", + "dev": true, + "requires": { + "@vue/shared": "3.2.31" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.31.tgz", + "integrity": "sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.31", + "@vue/shared": "3.2.31", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/runtime-core": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.31.tgz", + "integrity": "sha512-Kcog5XmSY7VHFEMuk4+Gap8gUssYMZ2+w+cmGI6OpZWYOEIcbE0TPzzPHi+8XTzAgx1w/ZxDFcXhZeXN5eKWsA==", + "dev": true, + "requires": { + "@vue/reactivity": "3.2.31", + "@vue/shared": "3.2.31" + } + }, + "@vue/runtime-dom": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.31.tgz", + "integrity": "sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==", + "dev": true, + "requires": { + "@vue/runtime-core": "3.2.31", + "@vue/shared": "3.2.31", + "csstype": "^2.6.8" + }, + "dependencies": { + "csstype": { + "version": "2.6.19", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.19.tgz", + "integrity": "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==", + "dev": true + } + } + }, + "@vue/server-renderer": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.31.tgz", + "integrity": "sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==", + "dev": true, + "requires": { + "@vue/compiler-ssr": "3.2.31", + "@vue/shared": "3.2.31" + } + }, + "@vue/shared": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.31.tgz", + "integrity": "sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==", + "dev": true + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "algoliasearch": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.12.1.tgz", + "integrity": "sha512-c0dM1g3zZBJrkzE5GA/Nu1y3fFxx3LCzxKzcmp2dgGS8P4CjszB/l3lsSh2MSrrK1Hn/KV4BlbBMXtYgG1Bfrw==", + "dev": true, + "requires": { + "@algolia/cache-browser-local-storage": "4.12.1", + "@algolia/cache-common": "4.12.1", + "@algolia/cache-in-memory": "4.12.1", + "@algolia/client-account": "4.12.1", + "@algolia/client-analytics": "4.12.1", + "@algolia/client-common": "4.12.1", + "@algolia/client-personalization": "4.12.1", + "@algolia/client-search": "4.12.1", + "@algolia/logger-common": "4.12.1", + "@algolia/logger-console": "4.12.1", + "@algolia/requester-browser-xhr": "4.12.1", + "@algolia/requester-common": "4.12.1", + "@algolia/requester-node-http": "4.12.1", + "@algolia/transporter": "4.12.1" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", + "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", + "dev": true, + "peer": true, + "requires": { + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001297", + "fraction.js": "^4.1.2", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "dev": true, + "peer": true, + "requires": { + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001312", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz", + "integrity": "sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==", + "dev": true, + "peer": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csstype": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", + "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==", + "dev": true, + "peer": true + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.71", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz", + "integrity": "sha512-Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==", + "dev": true, + "peer": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "esbuild": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.21.tgz", + "integrity": "sha512-7WEoNMBJdLN993dr9h0CpFHPRc3yFZD+EAVY9lg6syJJ12gc5fHq8d75QRExuhnMkT2DaRiIKFThRvDWP+fO+A==", + "dev": true, + "requires": { + "esbuild-android-arm64": "0.14.21", + "esbuild-darwin-64": "0.14.21", + "esbuild-darwin-arm64": "0.14.21", + "esbuild-freebsd-64": "0.14.21", + "esbuild-freebsd-arm64": "0.14.21", + "esbuild-linux-32": "0.14.21", + "esbuild-linux-64": "0.14.21", + "esbuild-linux-arm": "0.14.21", + "esbuild-linux-arm64": "0.14.21", + "esbuild-linux-mips64le": "0.14.21", + "esbuild-linux-ppc64le": "0.14.21", + "esbuild-linux-riscv64": "0.14.21", + "esbuild-linux-s390x": "0.14.21", + "esbuild-netbsd-64": "0.14.21", + "esbuild-openbsd-64": "0.14.21", + "esbuild-sunos-64": "0.14.21", + "esbuild-windows-32": "0.14.21", + "esbuild-windows-64": "0.14.21", + "esbuild-windows-arm64": "0.14.21" + } + }, + "esbuild-android-arm64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.21.tgz", + "integrity": "sha512-Bqgld1TY0wZv8TqiQmVxQFgYzz8ZmyzT7clXBDZFkOOdRybzsnj8AZuK1pwcLVA7Ya6XncHgJqIao7NFd3s0RQ==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.21.tgz", + "integrity": "sha512-j+Eg+e13djzyYINVvAbOo2/zvZ2DivuJJTaBrJnJHSD7kUNuGHRkHoSfFjbI80KHkn091w350wdmXDNSgRjfYQ==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.21.tgz", + "integrity": "sha512-nDNTKWDPI0RuoPj5BhcSB2z5EmZJJAyRtZLIjyXSqSpAyoB8eyAKXl4lB8U2P78Fnh4Lh1le/fmpewXE04JhBQ==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.21.tgz", + "integrity": "sha512-zIurkCHXhxELiDZtLGiexi8t8onQc2LtuE+S7457H/pP0g0MLRKMrsn/IN4LDkNe6lvBjuoZZi2OfelOHn831g==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.21.tgz", + "integrity": "sha512-wdxMmkJfbwcN+q85MpeUEamVZ40FNsBa9mPq8tAszDn8TRT2HoJvVRADPIIBa9SWWwlDChIMjkDKAnS3KS/sPA==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.21.tgz", + "integrity": "sha512-fmxvyzOPPh2xiEHojpCeIQP6pXcoKsWbz3ryDDIKLOsk4xp3GbpHIEAWP0xTeuhEbendmvBDVKbAVv3PnODXLg==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.21.tgz", + "integrity": "sha512-edZyNOv1ql+kpmlzdqzzDjRQYls+tSyi4QFi+PdBhATJFUqHsnNELWA9vMSzAaInPOEaVUTA5Ml28XFChcy4DA==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.21.tgz", + "integrity": "sha512-aSU5pUueK6afqmLQsbU+QcFBT62L+4G9hHMJDHWfxgid6hzhSmfRH9U/f+ymvxsSTr/HFRU4y7ox8ZyhlVl98w==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.21.tgz", + "integrity": "sha512-t5qxRkq4zdQC0zXpzSB2bTtfLgOvR0C6BXYaRE/6/k8/4SrkZcTZBeNu+xGvwCU4b5dU9ST9pwIWkK6T1grS8g==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.21.tgz", + "integrity": "sha512-jLZLQGCNlUsmIHtGqNvBs3zN+7a4D9ckf0JZ+jQTwHdZJ1SgV9mAjbB980OFo66LoY+WeM7t3WEnq3FjI1zw4A==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.21.tgz", + "integrity": "sha512-4TWxpK391en2UBUw6GSrukToTDu6lL9vkm3Ll40HrI08WG3qcnJu7bl8e1+GzelDsiw1QmfAY/nNvJ6iaHRpCQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.21.tgz", + "integrity": "sha512-fElngqOaOfTsF+u+oetDLHsPG74vB2ZaGZUqmGefAJn3a5z9Z2pNa4WpVbbKgHpaAAy5tWM1m1sbGohj6Ki6+Q==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.21.tgz", + "integrity": "sha512-brleZ6R5fYv0qQ7ZBwenQmP6i9TdvJCB092c/3D3pTLQHBGHJb5zWgKxOeS7bdHzmLy6a6W7GbFk6QKpjyD6QA==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.21.tgz", + "integrity": "sha512-nCEgsLCQ8RoFWVV8pVI+kX66ICwbPP/M9vEa0NJGIEB/Vs5sVGMqkf67oln90XNSkbc0bPBDuo4G6FxlF7PN8g==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.21.tgz", + "integrity": "sha512-h9zLMyVD0T73MDTVYIb/qUTokwI6EJH9O6wESuTNq6+XpMSr6C5aYZ4fvFKdNELW+Xsod+yDS2hV2JTUAbFrLA==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.21.tgz", + "integrity": "sha512-Kl+7Cot32qd9oqpLdB1tEGXEkjBlijrIxMJ0+vlDFaqsODutif25on0IZlFxEBtL2Gosd4p5WCV1U7UskNQfXA==", + "dev": true, + "optional": true + }, + "esbuild-windows-32": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.21.tgz", + "integrity": "sha512-V7vnTq67xPBUCk/9UtlolmQ798Ecjdr1ZoI1vcSgw7M82aSSt0eZdP6bh5KAFZU8pxDcx3qoHyWQfHYr11f22A==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.21.tgz", + "integrity": "sha512-kDgHjKOHwjfJDCyRGELzVxiP/RBJBTA+wyspf78MTTJQkyPuxH2vChReNdWc+dU2S4gIZFHMdP1Qrl/k22ZmaA==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.14.21", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.21.tgz", + "integrity": "sha512-8Sbo0zpzgwWrwjQYLmHF78f7E2xg5Ve63bjB2ng3V2aManilnnTGaliq2snYg+NOX60+hEvJHRdVnuIAHW0lVw==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "peer": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fraction.js": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.3.tgz", + "integrity": "sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg==", + "dev": true, + "peer": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "lilconfig": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", + "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "dev": true + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "peer": true, + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "nanoid": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", + "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "dev": true + }, + "node-releases": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==", + "dev": true, + "peer": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "peer": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "peer": true + }, + "object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "postcss": { + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", + "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", + "dev": true, + "requires": { + "nanoid": "^3.2.0", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-js": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz", + "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1" + } + }, + "postcss-load-config": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz", + "integrity": "sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==", + "dev": true, + "requires": { + "lilconfig": "^2.0.4", + "yaml": "^1.10.2" + } + }, + "postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.6" + } + }, + "postcss-selector-parser": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", + "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "preact": { + "version": "10.6.6", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.6.6.tgz", + "integrity": "sha512-dgxpTFV2vs4vizwKohYKkk7g7rmp1wOOcfd4Tz3IB3Wi+ivZzsn/SpeKJhRENSE+n8sUfsAl4S3HiCVT923ABw==", + "dev": true + }, + "prismjs": { + "version": "1.26.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.26.0.tgz", + "integrity": "sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "react": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "react-dom": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "scheduler": "^0.20.2" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rollup": { + "version": "2.67.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.67.2.tgz", + "integrity": "sha512-hoEiBWwZtf1QdK3jZIq59L0FJj4Fiv4RplCO4pvCRC86qsoFurWB4hKQIjoRf3WvJmk5UZ9b0y5ton+62fC7Tw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "scheduler": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz", + "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==", + "dev": true, + "peer": true, + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "tailwindcss": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.22.tgz", + "integrity": "sha512-F8lt74RlNZirnkaSk310+vGQta7c0/hgx7/bqxruM4wS9lp8oqV93lzavajC3VT0Lp4UUtUVIt8ifKcmGzkr0A==", + "dev": true, + "requires": { + "arg": "^5.0.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "color-name": "^1.1.4", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss": "^8.4.6", + "postcss-js": "^4.0.0", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0", + "quick-lru": "^5.1.1", + "resolve": "^1.22.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "vite": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.8.2.tgz", + "integrity": "sha512-zawfykcPVPYva4KusIWORNLr324Qx86/3NpfQSIOJdjnL5pYhwDoImLYMOh4lFLcP/7//tNuWM2vx2F5OSVC9w==", + "dev": true, + "requires": { + "esbuild": "^0.14.14", + "fsevents": "~2.3.2", + "postcss": "^8.4.6", + "resolve": "^1.22.0", + "rollup": "^2.59.0" + } + }, + "vitepress": { + "version": "0.22.2", + "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-0.22.2.tgz", + "integrity": "sha512-L6ykQzBXKzLTSU3zZbILeF1TONO6juV/RrL0DsA9OayomVQjEOoFY7cVdKOpIBb3T5Jy/GAAVxcvWtU/XJ5k4g==", + "dev": true, + "requires": { + "@docsearch/css": "^3.0.0-alpha.41", + "@docsearch/js": "^3.0.0-alpha.41", + "@vitejs/plugin-vue": "^2.2.0", + "prismjs": "^1.25.0", + "vite": "^2.8.1", + "vue": "^3.2.31" + } + }, + "vue": { + "version": "3.2.31", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.31.tgz", + "integrity": "sha512-odT3W2tcffTiQCy57nOT93INw1auq5lYLLYtWpPYQQYQOOdHiqFct9Xhna6GJ+pJQaF67yZABraH47oywkJgFw==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.31", + "@vue/compiler-sfc": "3.2.31", + "@vue/runtime-dom": "3.2.31", + "@vue/server-renderer": "3.2.31", + "@vue/shared": "3.2.31" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + } + } +} diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000000000000000000000000000000000000..474bb428d453623dc8e1e142cbb56002929fe83d --- /dev/null +++ b/docs/package.json @@ -0,0 +1,21 @@ +{ + "name": "castopod-docs", + "version": "0.0.0-development", + "description": "Castopod documentation using vitepress", + "main": "index.js", + "scripts": { + "dev": "vitepress --port=3050", + "build": "vitepress build", + "serve": "vitepress serve" + }, + "author": { + "name": "Yassine Doghri", + "email": "yassine@doghri.fr", + "url": "https://code.castopod.org/yassine" + }, + "license": "AGPL-3.0-or-later", + "devDependencies": { + "tailwindcss": "^3.0.22", + "vitepress": "^0.22.2" + } +} diff --git a/docs/postcss.config.js b/docs/postcss.config.js new file mode 100644 index 0000000000000000000000000000000000000000..b9f6f4b14ea1c275eb419cf22a31eb4ad8bf9746 --- /dev/null +++ b/docs/postcss.config.js @@ -0,0 +1,5 @@ +/* eslint-disable */ + +module.exports = { + plugins: [require("tailwindcss")], +}; diff --git a/docs/src/contributing/_category_.json b/docs/src/contributing/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..e12f1ce53d7c581ed4040807bb317be8f17cce61 --- /dev/null +++ b/docs/src/contributing/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Contributing", + "position": 3 +} diff --git a/CONTRIBUTING.md b/docs/src/contributing/guidelines.md similarity index 88% rename from CONTRIBUTING.md rename to docs/src/contributing/guidelines.md index f2eba802550ef5da9fb494a480fa3f5bb9bf827e..80286ae5660e0e0b3f4a5cef4fd42c8341484778 100644 --- a/CONTRIBUTING.md +++ b/docs/src/contributing/guidelines.md @@ -1,6 +1,10 @@ -# Contributing to Castopod Host +--- +title: Guidelines +--- -Love Castopod Host and want to help? Thanks so much, there's something to do for +# Contributing to Castopod + +Love Castopod and want to help? Thanks so much, there's something to do for everybody! Please take a moment to review this document in order to make the contribution @@ -12,13 +16,13 @@ should reciprocate that respect in addressing your issue or assessing patches and features. âš ï¸ Note that **any** contribution made on a repository other than -[the original repository](https://code.podlibre.org/podlibre/castopod-host) will -not be accepted. +[the original repository](https://code.castopod.org/ad-aures/castopod) will not +be accepted. ## Using the issue tracker -The [issue tracker](https://code.podlibre.org/podlibre/castopod-host/-/issues) -is the preferred channel for [bug reports](#bug-reports), +The [issue tracker](https://code.castopod.org/ad-aures/castopod/-/issues) is the +preferred channel for [bug reports](#bug-reports), [features requests](#feature-requests) and [submitting pull requests](#pull-requests). @@ -77,13 +81,13 @@ the project: ```bash # Clone your fork of the repo into the current directory -git clone https://code.podlibre.org/<your-username>/castopod-host.git +git clone https://code.castopod.org/<your-username>/castopod.git # Navigate to the newly cloned directory -cd castopod-host +cd castopod # Assign the original repo to a remote called "upstream" -git remote add upstream https://code.podlibre.org/podlibre/castopod-host.git +git remote add upstream https://code.castopod.org/ad-aures/castopod.git ``` 2. If you cloned a while ago, get the latest changes from upstream: @@ -123,7 +127,7 @@ git push origin <topic-branch-name> **IMPORTANT**: By submitting a patch, you agree to allow the project owners to license your work under the terms of the -[GNU AGPLv3](https://code.podlibre.org/podlibre/castopod-host/-/blob/main/LICENSE). +[GNU AGPLv3](https://code.castopod.org/ad-aures/castopod/-/blob/main/LICENSE). ## Collaborating guidelines diff --git a/docs/setup-development.md b/docs/src/contributing/setup-development.md similarity index 63% rename from docs/setup-development.md rename to docs/src/contributing/setup-development.md index 6887349b7708d51bd8d5c9b7dfe62e958a120f30..d3be39c451cc9b7cb572a56fcc2d67e60c85673a 100644 --- a/docs/setup-development.md +++ b/docs/src/contributing/setup-development.md @@ -1,40 +1,32 @@ -# Setup your development environment <!-- omit in toc --> - -## Table of contents <!-- omit in toc --> - -- [Introduction](#introduction) -- [Pre-requisites](#pre-requisites) -- [(recommended) Develop inside the app Container with VSCode](#recommended-develop-inside-the-app-container-with-vscode) -- [(not-recommended) Develop outside the app container](#not-recommended-develop-outside-the-app-container) -- [Install Castopod Host's dependencies](#install-castopod-hosts-dependencies) -- [Initialize and populate database](#initialize-and-populate-database) -- [Start hacking](#start-hacking) -- [Going Further](#going-further) - - [Useful docker / docker-compose commands](#useful-docker--docker-compose-commands) -- [Known issues](#known-issues) - - [Allocation failed - JavaScript heap out of memory](#allocation-failed---javascript-heap-out-of-memory) - - [Files created inside container are attributed to root locally (Linux)](#files-created-inside-container-are-attributed-to-root-locally-linux) +--- +title: Development setup +sidebarDepth: 3 +--- + +# Setup your development environment ## Introduction -Castopod Host is a web app based on the `php` framework +Castopod is a web app based on the `php` framework [CodeIgniter 4](https://codeigniter.com). -To setup a dev environment, we use [Docker](https://www.docker.com/). A +We use [Docker](https://www.docker.com/) quickly setup a dev environment. A `docker-compose.yml` and `Dockerfile` are included in the project's root folder to help you kickstart your contribution. -> Know that you don't need any prior knowledge of Docker to follow the next -> steps. However, if you wish to use your own environment, feel free to do so! +> You don't need any prior knowledge of Docker to follow the next steps. +> However, if you wish to use your own environment, feel free to do so! -## Pre-requisites +## Setup instructions + +### 1. Pre-requisites 0. Install [docker](https://docs.docker.com/get-docker). -1. Clone Castopod Host project by running: +1. Clone Castopod project by running: ```bash - git clone https://code.podlibre.org/podlibre/castopod-host.git + git clone https://code.castopod.org/ad-aures/castopod.git ``` 2. Create a `.env` file with the minimum required config to connect the app to @@ -58,7 +50,7 @@ to help you kickstart your contribution. database.default.hostname="mariadb" database.default.database="castopod" - database.default.username="podlibre" + database.default.username="castopod" database.default.password="castopod" cache.handler="redis" @@ -78,12 +70,12 @@ to help you kickstart your contribution. 3. (for docker desktop) Add the repository you've cloned to docker desktop's `Settings` > `Resources` > `File Sharing` -## (recommended) Develop inside the app Container with VSCode +### 2. (recommended) Develop inside the app Container with VSCode If you're working in VSCode, you can take advantage of the `.devcontainer/` folder. It defines a development environment (dev container) with preinstalled requirements and VSCode extensions so you don't have to worry about them. All -required services will be loaded automagically! +required services will be loaded automagically! 🪄 1. Install the VSCode extension [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) @@ -92,7 +84,7 @@ required services will be loaded automagically! > The VSCode window will reload inside the dev container. Expect several > minutes during first load as it is building all necessary services. - **Note**: The dev container will start by running Castopod Host's php server. + **Note**: The dev container will start by running Castopod's php server. During development, you will have to start [Vite](https://vitejs.dev)'s dev server for compiling the typescript code and styles: @@ -105,8 +97,8 @@ required services will be loaded automagically! using the following commands: ```bash - # run Castopod host server - php spark serve --host 0.0.0.0 + # run Castopod server + php spark serve - 0.0.0.0 ``` 3. You're all set! 🎉 @@ -131,7 +123,22 @@ required services will be loaded automagically! For more info, see [VSCode Remote Containers](https://code.visualstudio.com/docs/remote/containers) -## (not-recommended) Develop outside the app container +### 3. Start hacking + +You're all set! Start working your magic by updating the project's files! Help +yourself to the +[CodeIgniter4 User Guide](https://codeigniter.com/user_guide/index.html) for +more insights. + +To see your changes, go to: + +- `http://localhost:8080/` for the Castopod app +- `http://localhost:8888/` for the phpmyadmin interface: + + - username: **castopod** + - password: **castopod** + +### 2-alt. Develop outside the app container You do not wish to use the VSCode devcontainer? No problem! @@ -155,16 +162,17 @@ You do not wish to use the VSCode devcontainer? No problem! > The `docker-compose up -d` command will boot 4 containers in the > background: > - > - `castopod-host_app`: a php based container with Castopod Host - > requirements installed - > - `castopod-host_redis`: a [redis](https://redis.io/) database to handle - > queries and pages caching - > - `castopod-host_mariadb`: a [mariadb](https://mariadb.org/) server for + > - `castopod_app`: a php based container with Castopod requirements + > installed + > - `castopod_redis`: a [redis](https://redis.io/) database to handle queries + > and pages caching + > - `castopod_mariadb`: a [mariadb](https://mariadb.org/) server for > persistent data - > - `castopod-host_phpmyadmin`: a phpmyadmin server to visualize the mariadb + > - `castopod_phpmyadmin`: a phpmyadmin server to visualize the mariadb > database. -2. Run any command by prefixing them with `docker-compose run --rm app`: +2. Run any command inside the containers by prefixing them with + `docker-compose run --rm app`: ```bash # use PHP @@ -180,7 +188,11 @@ You do not wish to use the VSCode devcontainer? No problem! docker-compose run --rm app git version ``` -## Install Castopod Host's dependencies +--- + +## Going Further + +### Install Castopod's dependencies 1. Install php dependencies with [Composer](https://getcomposer.org/) @@ -188,13 +200,15 @@ You do not wish to use the VSCode devcontainer? No problem! composer install ``` - > **Note:** - > - > The php dependencies aren't included in the repository. Composer will check - > the `composer.json` and `composer.lock` files to download the packages with - > the right versions. The dependencies will live under the `vendor/` folder. - > For more info, check out the - > [Composer documentation](https://getcomposer.org/doc/). + ::: info Note + + The php dependencies aren't included in the repository. Composer will check + the `composer.json` and `composer.lock` files to download the packages with + the right versions. The dependencies will live under the `vendor/` folder. + For more info, check out the + [Composer documentation](https://getcomposer.org/doc/). + + ::: 2. Install javascript dependencies with [npm](https://www.npmjs.com/) @@ -202,13 +216,14 @@ You do not wish to use the VSCode devcontainer? No problem! npm install ``` - > **Note:** - > - > The javascript dependencies aren't included in the repository. Npm will - > check the `package.json` and `package.lock` files to download the packages - > with the right versions. The dependencies will live under the `node_module` - > folder. For more info, check out the - > [NPM documentation](https://docs.npmjs.com/). + ::: info Note + + The javascript dependencies aren't included in the repository. Npm will check + the `package.json` and `package.lock` files to download the packages with the + right versions. The dependencies will live under the `node_module` folder. + For more info, check out the [NPM documentation](https://docs.npmjs.com/). + + ::: 3. Generate static assets: @@ -221,17 +236,21 @@ You do not wish to use the VSCode devcontainer? No problem! npm run build:svg ``` - > **Note:** - > - > The static assets generated live under the `public/assets` folder, it - > includes javascript, styles, images, fonts, icons and svg files. + ::: info Note + + The static assets generated live under the `public/assets` folder, it + includes javascript, styles, images, fonts, icons and svg files. + + ::: -## Initialize and populate database +### Initialize and populate database -> **Note:** -> -> You may skip this section if you go through the install wizard (go to -> `/cp-install`). +::: tip + +You may skip this section if you go through the install wizard (go to +`/cp-install`). + +::: 1. Build the database with the migrate command: @@ -272,14 +291,21 @@ You do not wish to use the VSCode devcontainer? No problem! 3. (optionnal) Populate the database with test data: + - Populate test data (login: admin / password: AGUehL3P) + ```bash - # Populates test data (login: admin / password: AGUehL3P) php spark db:seed TestSeeder + ``` + + - Populate with fake podcast analytics: - # Populates with fake podcast analytics + ```bash php spark db:seed FakePodcastsAnalyticsSeeder + ``` - # Populates with fake website analytics + - Populate with fake website analytics: + + ```bash php spark db:seed FakeWebsiteAnalyticsSeeder ``` @@ -288,50 +314,53 @@ You do not wish to use the VSCode devcontainer? No problem! - username: **admin** - password: **AGUehL3P** -## Start hacking - -You're all set! Start working your magic by updating the project's files! Help -yourself to the -[CodeIgniter4 User Guide](https://codeigniter.com/user_guide/index.html) for -more insights. - -To see your changes, go to: - -- [localhost:8080](http://localhost:8080/) for the Castopod Host app -- [localhost:8888](http://localhost:8888/) for the phpmyadmin interface: - - - username: **podlibre** - - password: **castopod** +### Useful docker / docker-compose commands ---- +- Monitor the app container: -## Going Further +```bash +docker-compose logs --tail 50 --follow --timestamps app +``` -### Useful docker / docker-compose commands +- Interact with redis server using included redis-cli command: ```bash -# monitor the app container -docker-compose logs --tail 50 --follow --timestamps app +docker exec -it castopod_redis redis-cli +``` -# interact with redis server using included redis-cli command -docker exec -it castopod-host_redis redis-cli +- Monitor the redis container: -# monitor the redis container +```bash docker-compose logs --tail 50 --follow --timestamps redis +``` + +- Monitor the mariadb container: -# monitor the mariadb container +```bash docker-compose logs --tail 50 --follow --timestamps mariadb +``` -# monitor the phpmyadmin container +- Monitor the phpmyadmin container: + +```bash docker-compose logs --tail 50 --follow --timestamps phpmyadmin +``` + +- Restart docker containers: -# restart docker containers +```bash docker-compose restart +``` + +- Destroy all containers, opposite of `up` command: -# Destroy all containers, opposite of `up` command +```bash docker-compose down +``` -# Rebuild app container +- Rebuild app container: + +```bash docker-compose build app ``` @@ -348,13 +377,15 @@ This happens when running `npm install`. 👉 By default, docker might not have access to enough RAM. Allocate more memory and run `npm install` again. -### Files created inside container are attributed to root locally (Linux) +### (Linux) Files created inside container are attributed to root locally You may use Linux user namespaces to fix this on your machine: -> **Note:** -> -> Replace "username" with your local username +::: info Note + +Replace "username" with your local username + +::: 1. Go to `/etc/docker/daemon.json` and add: diff --git a/docs/src/getting-started/_category_.json b/docs/src/getting-started/_category_.json new file mode 100644 index 0000000000000000000000000000000000000000..877a378f70891edc9f386115fd88f24c90b0c0af --- /dev/null +++ b/docs/src/getting-started/_category_.json @@ -0,0 +1,4 @@ +{ + "label": "Getting Started", + "position": 2 +} diff --git a/docs/src/getting-started/install.md b/docs/src/getting-started/install.md new file mode 100644 index 0000000000000000000000000000000000000000..4fadfa08764e7b884c2bf833889cf51f9beb6eaa --- /dev/null +++ b/docs/src/getting-started/install.md @@ -0,0 +1,154 @@ +--- +title: Installation +sidebarDepth: 3 +--- + +# How to install Castopod? + +Castopod was thought-out to be easy to install. Whether using dedicated or +shared hosting, you can install it on most PHP-MySQL compatible web servers. + +## Requirements + +- PHP v8.0 or higher +- MySQL version 5.7 or higher or MariaDB version 10.2 or higher +- HTTPS support + +### PHP v8.0 or higher + +PHP version 8.0 or higher is required, with the following extensions installed: + +- [intl](https://php.net/manual/en/intl.requirements.php) +- [libcurl](https://php.net/manual/en/curl.requirements.php) +- [mbstring](https://php.net/manual/en/mbstring.installation.php) +- [gd](https://www.php.net/manual/en/image.installation.php) with **JPEG**, + **PNG** and **WEBP** libraries. + +Additionally, make sure that the following extensions are enabled in your PHP: + +- json (enabled by default - don't turn it off) +- xml (enabled by default - don't turn it off) +- [mysqlnd](https://php.net/manual/en/mysqlnd.install.php) + +### MySQL compatible database + +> We recommend using [MariaDB](https://mariadb.org). + +::: warning + +Castopod only works with supported MySQL 5.7 or higher compatible databases. It +will break with the previous MySQL v5.6 for example as its end of life was on +February 5, 2021. + +::: + +You will need the server hostname, database name, username and password to +complete the installation process. If you do not have these, please contact your +server administrator. + +#### Privileges + +User must have at least these privileges on the database for Castopod to work: +`CREATE`, `ALTER`, `DELETE`, `EXECUTE`, `INDEX`, `INSERT`, `SELECT`, `UPDATE`. + +### (Optional) FFmpeg v4.1.8 or higher for Video Clips + +[FFmpeg](https://www.ffmpeg.org/) version 4.1.8 or higher is required if you +want to generate Video Clips. The following extensions must be installed: + +- **FreeType 2** library for + [gd](https://www.php.net/manual/en/image.installation.php). + +### (Optional) Other recommendations + +- Redis for better cache performances. +- CDN for static files caching and better performances. +- e-mail gateway for lost passwords. + +## Install instructions + +### Pre-requisites + +0. Get a Web Server with [requirements](#requirements) installed +1. Create a MySQL database for Castopod with a user having access and + modification privileges (for more info, see + [MySQL compatible database](#mysql-compatible-database)). +2. Activate HTTPS on your domain with an _SSL certificate_. +3. Download and unzip the latest [Castopod Package](https://castopod.org/) onto + the web server if you haven’t already. + - âš ï¸ Set the web server document root to the `public/` sub-folder within the + `castopod` folder. +4. Add **cron tasks** on your web server for various background processes + (replace the paths accordingly): + + - For social features to work properly, this task is used to broadcast social + activities to your followers on the fediverse: + + ```bash + * * * * * /path/to/php /path/to/castopod/public/index.php scheduled-activities + ``` + + - For Video Clips to be created (see + [FFmpeg requirements](#ffmpeg-v418-or-higher-for-video-clips)): + + ```bash + * * * * * /path/to/php /path/to/castopod/public/index.php scheduled-video-clips + ``` + + > These tasks run **every minute**. You may set the frequency depending on + > your needs: every 5, 10 minutes or more. + +### (recommended) Install Wizard + +1. Run the Castopod install script by going to the install wizard page + (`https://your_domain_name.com/cp-install`) in your favorite web browser. +2. Follow the instructions on your screen. +3. Start podcasting! + +::: info Note + +The install script writes a `.env` file in the package root. If you cannot go +through the install wizard, you can +[create and update the `.env` file manually](#alternative-manual-configuration). + +::: + +## Community packages + +If you don't want to bother with installing Castopod manually, you may use one +of the packages created and maintained by the open-source community. + +### Install with YunoHost + +[YunoHost](https://yunohost.org/) is a distribution based on Debian GNU/Linux +made up of free and open-source software packages. It manages the hardships of +self-hosting for you. + +<div class="flex flex-wrap items-center gap-4"> + +<a href="https://install-app.yunohost.org/?app=castopod" target="_blank" rel="noopener noreferrer"> + <img src="https://install-app.yunohost.org/install-with-yunohost.svg" alt="Install Castopod with YunoHost" class="align-middle" /> +</a> + +<a href="https://github.com/YunoHost-Apps/castopod_ynh" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-[.3rem] mx-auto font-semibold text-center text-black rounded-md gap-x-1 border-2 border-solid border-[#333] hover:no-underline hover:bg-gray-100"><svg + xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="1em" height="1em" + class="text-xl"><path fill="none" d="M0 0h24v24H0z"/><path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 6.84 9.49c.5.09.69-.21.69-.48l-.02-1.86c-2.51.46-3.16-.61-3.36-1.18-.11-.28-.6-1.17-1.02-1.4-.35-.2-.85-.66-.02-.67.79-.01 1.35.72 1.54 1.02.9 1.52 2.34 1.1 2.91.83a2.1 2.1 0 0 1 .64-1.34c-2.22-.25-4.55-1.11-4.55-4.94A3.9 3.9 0 0 1 6.68 8.8a3.6 3.6 0 0 1 .1-2.65s.83-.27 2.75 1.02a9.28 9.28 0 0 1 2.5-.34c.85 0 1.7.12 2.5.34 1.9-1.3 2.75-1.02 2.75-1.02.54 1.37.2 2.4.1 2.65.63.7 1.02 1.58 1.02 2.68 0 3.84-2.34 4.7-4.56 4.94.36.31.67.91.67 1.85l-.01 2.75c0 .26.19.58.69.48A10.02 10.02 0 0 0 22 12 10 10 0 0 0 12 2z"/></svg>Github +Repo</a> + +</div> + +### Install with Docker + +I you wish to use Docker to install Castopod, it is possible thanks to +[Romain de Laage](https://podcastindex.social/web/@rdelaage@mamot.fr)! + +<a href="https://gitlab.utc.fr/picasoft/projets/services/castopod" target="_blank" rel="noopener noreferrer" class="inline-flex items-center px-4 py-2 mx-auto font-semibold text-center text-white rounded-md shadow gap-x-1 bg-[#1282d7] hover:no-underline hover:bg-[#0f6eb5]">Install +with +Docker<svg viewBox="0 0 24 24" width="1em" height="1em" class="text-xl text-pine-200"><path fill="currentColor" d="m16.172 11-5.364-5.364 1.414-1.414L20 12l-7.778 7.778-1.414-1.414L16.172 13H4v-2z"></path></svg></a> + +::: info Note + +Given high demand for docker, we are planning on maintaining an official Docker +image directly into the Castopod repository. + +::: diff --git a/docs/src/getting-started/security.md b/docs/src/getting-started/security.md new file mode 100644 index 0000000000000000000000000000000000000000..e205698df8a8029f080840922a212f01da1baa7e --- /dev/null +++ b/docs/src/getting-started/security.md @@ -0,0 +1,26 @@ +--- +title: Security +--- + +# Security concerns + +Castopod is built on top of [CodeIgniter4](https://codeigniter.com/), a PHP +framework that encourages +[good security practices](https://codeigniter.com/user_guide/concepts/security.html). + +To maximize your instance's safety and prevent any malicious attack, we +recommend you update all your Castopod files permissions after installation or +updates (to avoid any prior permission error): + +- `writable/` folder must be **readable** and **writable**. +- `public/media/` folder must be **readable** and **writable**. +- any other file must be set to **readonly**. + +For instance, if you are using Apache or NGINX with Ubuntu you may do the +following: + +```bash +sudo chown -R root:root /path/to/castopod +sudo chown -R www-data:www-data /path/to/castopod/writable +sudo chown -R www-data:www-data /path/to/castopod/public/media +``` diff --git a/UPDATE.md b/docs/src/getting-started/update.md similarity index 50% rename from UPDATE.md rename to docs/src/getting-started/update.md index a7cafe6d80c2b50b5a67ee14ec00831aec597722..940e7543d447301f085c49d242f7a5d8bc198251 100644 --- a/UPDATE.md +++ b/docs/src/getting-started/update.md @@ -1,44 +1,46 @@ -# How to update Castopod Host <!-- omit in toc --> +--- +title: Update +sidebarDepth: 3 +--- -After installing _Castopod Host_, you may want to update your instance to the -latest version in order to enjoy the latest features ✨, bug fixes 🛠and -performance improvements âš¡. +# How to update Castopod? -## Table of contents <!-- omit in toc --> +After installing Castopod, you may want to update your instance to the latest +version in order to enjoy the latest features ✨, bug fixes 🛠and performance +improvements âš¡. -- [Manual update instructions](#manual-update-instructions) -- [Automatic update instructions](#automatic-update-instructions) -- [Frequently asked questions (FAQ)](#frequently-asked-questions-faq) - - [Where can I find my _Castopod Host_ version?](#where-can-i-find-my-castopod-host-version) - - [I haven't updated my instance in a long time… What should I do?](#i-havent-updated-my-instance-in-a-long-time-what-should-i-do) - - [Should I make a backup before updating?](#should-i-make-a-backup-before-updating) +## Automatic update instructions + +> Coming soon... 👀 ## Manual update instructions 1. Go to the - [releases page](https://code.podlibre.org/podlibre/castopod-host/-/releases) - and see if your instance is up to date with the latest _Castopod Host_ - version + [releases page](https://code.castopod.org/ad-aures/castopod/-/releases) and + see if your instance is up to date with the latest Castopod version - cf. - [Where can I find my _Castopod Host_ version?](#where-can-i-find-my-castopod-host-version) + [Where can I find my Castopod version?](#where-can-i-find-my-castopod-version) -2. Download the latest release package named `Castopod Host Package`, you may - choose between the `zip` or `tar.gz` archives +2. Download the latest release package named `Castopod Package`, you may choose + between the `zip` or `tar.gz` archives - - âš ï¸ Make sure you download the Castopod Host Package and **NOT** the Source - Code + - âš ï¸ Make sure you download the Castopod Package and **NOT** the Source Code 3. On your server: - Remove all files except `.env` and `public/media` - Copy the new files from the downloaded package into your server - - Note: you may need to reset files permissions as during the install - process. Check - [Security Concerns section in INSTALL.md](./INSTALL.md#security-concerns). + + ::: info Note + + You may need to reset files permissions as during the install process. + Check [Security Concerns](./security.md). + + ::: 4. Releases may come with additional update instructions (see - [releases page](https://code.podlibre.org/podlibre/castopod-host/-/releases)). + [releases page](https://code.castopod.org/ad-aures/castopod/-/releases)). They are usually database migration scripts in `.sql` format to update your database schema. @@ -50,16 +52,12 @@ performance improvements âš¡. 5. If you are using redis, clear your cache. 6. ✨ Enjoy your fresh instance, you're all done! -## Automatic update instructions - -> Coming soon... 👀 - ## Frequently asked questions (FAQ) -### Where can I find my _Castopod Host_ version? +### Where can I find my Castopod version? -Go to your _Castopod Host_ admin panel, the version is displayed on the bottom -left corner. +Go to your Castopod admin panel, the version is displayed on the bottom left +corner. Alternatively, you can find the version in the `app > Config > Constants.php` file. @@ -71,12 +69,12 @@ through the release instructions (4), perform them sequentially, from the oldest to the newest. > You may want to backup your instance depending on how long you haven't updated -> _Castopod Host_. +> Castopod. For example, if you're on `v1.0.0-alpha.42` and would like to upgrade to `v1.0.0-beta.1`: -0. (recommended) Make a backup of your files and database. +0. (highly recommended) Make a backup of your files and database. 1. Download the latest release, overwrite your files whilst keeping `.env` and `public/media`. @@ -91,5 +89,5 @@ For example, if you're on `v1.0.0-alpha.42` and would like to upgrade to We advise you do, so you don't lose everything if anything goes wrong! -More generally, we advise you make regular backups of your Castopod Host files -and database to prevent you from losing it all… +More generally, we advise you make regular backups of your Castopod files and +database to prevent you from losing it all… diff --git a/docs/src/index.md b/docs/src/index.md new file mode 100644 index 0000000000000000000000000000000000000000..a82ce8558f299ff9e1abae01f8befad48f6008ee --- /dev/null +++ b/docs/src/index.md @@ -0,0 +1,207 @@ +--- +sidebarDepth: 2 +--- + +# Welcome 👋 + +[![release-badge]][release] [![license-badge]][license] [![semantic-release-badge]][semantic-release] [![discord-badge]][discord] [![stars-badge]][stars] + +Castopod is a free & open-source hosting platform made for podcasters who want +engage and interact with their audience. + +Castopod is easy to install and was built on top of +[CodeIgniter4](https://codeigniter.com/), a powerful PHP framework with a very +small footprint. + +::: info Note + +Castopod is currently in **beta** but already quite stable and used by +podcasters around the world! + +::: + +<div class="flex items-center"> + <a href="/getting-started/install" class="inline-flex items-center px-4 py-2 mx-auto font-semibold text-center text-white rounded-full shadow gap-x-1 bg-pine-500 hover:no-underline hover:bg-pine-600">Install<svg viewBox="0 0 24 24" width="1em" height="1em" class="text-xl text-pine-200"><path fill="currentColor" d="m16.172 11-5.364-5.364 1.414-1.414L20 12l-7.778 7.778-1.414-1.414L16.172 13H4v-2z"></path></svg></a> +</div> + +## Features + +- 🌱 Free & open-source (AGPL v3 License) +- 🔠Focused on data sovereignty: your content, audience, and analytics + belong to you, and you only +- 🪄 Podcasting 2.0 features: GUID, locked, transcripts, funding, chapters, + location, persons, soundbites, … +- 💬 Built-in social network: + - 🚀 Castopod is part of the Fediverse, a decentralized social network + - â¤ï¸ Create posts, share, favourite, and comment on episodes +- 📈 Built-in analytics: + - âš–ï¸ GDPR / CCPA / LGPD compliant + - 🪙 Standard IABv2 audience measurement + - 🡠On-premises analytics, no third party involved +- 📢 Built-in marketing tools: + - ✅ SEO ready (open-graph meta-tags, JSON-LD, …) + - 📱 PWA: install as a standalone app + - 🎨 Customizable theme colors + - 🎬 Generate ready-to-share Video clips from episodes + - 🎵 Generate Soundbites + - â–¶ï¸ Embeddable player, embed your episodes on any website +- 💸 Monetization + - 🔗 Funding links + - 📲 listen-to-click ads + - 🤠value4value / WebMonetization +- 📡 Publish and broadcast everywhere with RSS: Podcast Index, Apple + Podcasts, Spotify, Google Podcasts, Deezer, Podcast Addict, Podfriend, … +- 📥 Podcast import: move your existing podcast into Castopod +- 📤 Move your podcast out of Castopod +- 🔀 Multi-tenant: host as many podcasts as you want +- 👥 Multi-user: add contributors and set roles +- 🌎 i18n support: translated in English & French, and more to come! + +## Motivation + +The podcasting ecosystem is decentralized by nature: you can create your podcast +as an RSS file, publish it on the web and have it shared everywhere online. + +It is in fact one of the only media to have stayed this way for a long time. + +As usages are evolving, more and more people are getting into podcasts: whether +it is creators finding new ways to share their ideas, or listeners in the search +for better content. + +With podcasting becoming more widely used, some companies are trying to shift it +towards a more controlled and centralized medium. + +Castopod was created in an effort to provide an open and sustainable alternative +to hosting your podcasts, promoting decentralization to ensure that podcasters +creativity can express itself. + +This project is pushed by the open-source community, and specifically by the +[Fediverse](https://fediverse.party/en/fediverse/) and +[Podcasting 2.0](https://podcastindex.org/) movements. + +## Comparison with other solutions + +We believe that a solution is not necessarily right for everyone, it highly +depends on your needs. So, here are comparisons with other tools to help you to +gauge whether Castopod is the right fit for you. + +### Castopod vs Wordpress + +Castopod is often referred to as "the Wordpress for podcasts" because of the +similarities between the two. In some ways this is true. And actually, Castopod +was greatly inspired by the Wordpress ecosystem, seeing the ease of adoption +from the community and the number of websites running it. + +Just like Wordpress, Castopod is free & open source, built using PHP with a +MySQL database and is packaged in a way that you can easily install on most web +servers. + +Wordpress is a great way to create your website and extend it with plugins to +get what you want. It is a full fledged CMS that helps you get any type of +website online. + +On the other hand, Castopod is meant to address the podcasters needs +specifically, focusing on podcasting, and nothing else. You don't need any +plugin to get you started on your podcasting journey. + +This allows optimizing the processes specific to podcasting: ranging from the +creation of your podcasts and the publication of new episodes all the way to +broadcasting, marketing and analytics. + +Finally, depending on your needs, Wordpress and Castopod can even live side by +side as they share the same requirements! + +### Castopod vs Funkwhale + +Funkwhale is a self-hosted, modern free and open-source music server. Just as +Castopod, Funkwhale is on the fediverse, a decentralized social network allowing +interoperability between the two. + +Funkwhale was initially built around music. And later on, as the project +evolved, the ability to host podcasts was introduced. + +Unlike Funkwhale, Castopod has been designed and built around podcasting +exclusively. This allows easier implementation for features related to the +podcasting ecosystem, such as the podcasting 2.0 features (transcripts, +chapters, locations, persons, …). + +So, you should probably use Funkwhale if you want to host your music, and use +Castopod if you want to host your podcasts. + +### Castopod vs other podcast hosts + +There are many solutions for you to host your podcasts, some of which are really +great and [a lot of them](https://podcastindex.org/apps) are jumping into the +Podcasting 2.0 wagon just like Castopod! + +Each of these solutions differ from one another, you may compare with the +[list of features](#features). + +That being said, there are two main differences with any other podcasting +solution: + +- Castopod can be self-hosted and is the only solution that allows you to keep + full control over what you produce. Also, as it is open-source, you can even + customize it as you wish. + +- Castopod is the only solution that currently integrates both a decentralized + social network with ActivityPub as well as many of the podcasting 2.0 + features, hoping to bridge the gap between the two. + +## Contributing + +Love Castopod and would like to help? Take a look at the following documentation +to get you started. + +### Code of conduct + +Castopod has adopted a Code of Conduct that we expect project participants to +adhere to. Please read the +[CODE_OF_CONDUCT manual](https://code.castopod.org/ad-aures/castopod/-/blob/beta/CODE_OF_CONDUCT.md) +so that you can understand what actions will and will not be tolerated. + +### Contributing guide + +Read our [contributing guide](./contributing/guidelines.md) to learn about our +development process, how to propose bugfixes and improvements, and how to build +and test your changes to Castopod. + +## Contact + +You may reach us for help or ask any question you have on: + +- [Discord](https://castopod.org/discord) (for direct interaction with + developers and the community) +- [Issue tracker](https://code.castopod.org/ad-aures/castopod/-/issues) (for + feature requests & bug reports) + +Alternatively, you can follow us on social media platforms to get news about +Castopod: + +- [podlibre.social](https://podlibre.social/@Castopod) (Mastodon instance) +- [Twitter](https://twitter.com/castopod) +- [LinkedIn](https://linkedin.com/company/castopod) +- [Facebook](https://www.facebook.com/castopod) + +## Sponsors + +<div class="flex flex-wrap gap-x-16 gap-y-8"> + <a href="https://adaures.com/" target="_blank" rel="noopener noreferrer"><img src="/images/sponsors/adaures.svg" alt="Ad Aures Logo" class="h-16" /></a> + <a href="https://nlnet.nl/project/Castopod/" target="_blank" rel="noopener noreferrer"><img src="/images/sponsors/nlnet.svg" alt="NLnet Logo" class="h-16" /></a> + <a href="https://opencollective.com/castopod/contribute" class="inline-flex items-center font-semibold text-black underline gap-x-1 decoration-pine-500 decoration-4 hover:no-underline" target="_blank" rel="noopener noreferrer">Become a sponsor<svg viewBox="0 0 24 24" class="h-6"><path fill="currentColor" d="m16.172 11-5.364-5.364 1.414-1.414L20 12l-7.778 7.778-1.414-1.414L16.172 13H4v-2z"></path></svg></a> +</div> + +[release]: https://code.castopod.org/ad-aures/castopod/-/releases +[release-badge]: + https://img.shields.io/gitlab/v/release/2?color=brightgreen&gitlab_url=https%3A%2F%2Fcode.castopod.org%2F&include_prereleases&label=release +[license]: https://code.castopod.org/ad-aures/castopod/-/blob/beta/LICENSE.md +[license-badge]: + https://img.shields.io/github/license/ad-aures/castopod?color=blue +[semantic-release]: https://github.com/semantic-release/semantic-release +[semantic-release-badge]: + https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg +[discord]: https://castopod.org/discord +[discord-badge]: https://img.shields.io/badge/chat-on%20discord-7389D8 +[stars]: https://github.com/ad-aures/castopod/stargazers +[stars-badge]: + https://img.shields.io/github/stars/ad-aures/castopod?style=social diff --git a/docs/src/public/favicon.ico b/docs/src/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..9bf9b97aa31acf5e8dc1c93087eaa79b80d60396 Binary files /dev/null and b/docs/src/public/favicon.ico differ diff --git a/docs/src/public/images/logo-inline.svg b/docs/src/public/images/logo-inline.svg new file mode 100644 index 0000000000000000000000000000000000000000..c73008400b0f0a83ec8800debd01c1598aa80f68 --- /dev/null +++ b/docs/src/public/images/logo-inline.svg @@ -0,0 +1,5 @@ +<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 324 65"> + <path fill="#009486" d="M26.6 40.2c-1.4 1.3-3 2.3-4.9 3.1-1.9.7-4 1.1-6.2 1.1-3 0-5.6-.6-8-1.9-2.3-1.3-4.2-3-5.5-5.2-1.3-2.2-2-4.7-2-7.5s.7-5.3 2-7.5 3.2-3.9 5.5-5.2c2.3-1.3 5-1.9 8-1.9 2.2 0 4.3.4 6.2 1.1 1.9.7 3.5 1.7 4.9 3.1l-5.7 5.4c-1.3-1.7-3.1-2.5-5.4-2.5-2.1 0-3.8.7-5.1 2.2-1.3 1.4-2 3.2-2 5.4s.7 4 2 5.4c1.3 1.4 3 2.2 5.1 2.2 2.2 0 4-.8 5.4-2.5l5.7 5.2ZM31.1 36.1c0-1.9.5-3.5 1.6-5s2.6-2.6 4.4-3.5c1.9-.9 4.1-1.3 6.5-1.3a23.36 23.36 0 0 1 5 .5c-.6-3.1-2.8-4.6-6.7-4.6-2.3 0-4.5.9-6.8 2.6L32.3 18c1.9-.9 3.9-1.6 5.8-2.1 1.9-.4 3.7-.7 5.4-.7 2.7 0 5.1.5 7.1 1.5s3.5 2.5 4.6 4.3c1.1 1.9 1.7 4 1.7 6.6v16.2h-6.8l-.5-3c-1 1.1-2.3 2-3.8 2.6-1.5.6-3.2 1-5 1-2.8 0-5.2-.8-7-2.3a7.42 7.42 0 0 1-2.7-6Zm8-1.8c0 .9.4 1.7 1.1 2.3.7.6 1.7.9 2.8.9 1.6 0 3-.5 4.1-1.5 1.1-1 1.6-2.2 1.6-3.6v-.6c-.7-.2-1.4-.4-2.2-.5-.8-.1-1.6-.2-2.3-.2-1.6 0-2.8.3-3.7.8-.9.5-1.4 1.3-1.4 2.4ZM61.9 40.3l3.8-6.1c1.6 1.1 3.1 1.9 4.4 2.5 1.4.6 2.6.9 3.6.9.8 0 1.5-.2 2-.6.5-.4.8-.9.8-1.4 0-.8-.5-1.5-1.4-2-.9-.5-2-1-3.3-1.5-1.3-.5-2.6-1.2-3.9-1.8-1.3-.7-2.4-1.6-3.3-2.7a6.4 6.4 0 0 1-1.3-4.2c0-2.4.9-4.3 2.8-5.9 1.9-1.5 4.5-2.3 8-2.3 1.7 0 3.5.2 5.3.6 1.9.4 3.6 1.1 5.1 2l-3.6 6.1c-.8-.5-1.9-1-3.2-1.4-1.3-.4-2.4-.6-3.4-.6-.5 0-1.1.1-1.7.3-.6.2-.9.6-.9 1.2 0 .7.4 1.3 1.3 1.7.9.4 1.9.9 3.1 1.4 1.3.5 2.6 1.1 4 1.8s2.5 1.6 3.5 2.7c.9 1.1 1.4 2.6 1.4 4.4 0 1.8-.5 3.4-1.5 4.7-1 1.3-2.4 2.3-4 3-1.7.7-3.5 1.1-5.6 1.1-1.9 0-3.9-.3-6-1-2.1-.5-4.1-1.5-6-2.9ZM88.6 15.8h4.6v-7h8.1v7h6.8v7h-6.8v10.3c0 1.3.4 2.4 1.3 3.1.9.8 1.9 1.1 3.2 1.1 1 0 2-.2 3-.6v6.6c-1.8.7-3.5 1-5.2 1-3.3 0-5.9-.9-7.7-2.7-1.8-1.8-2.7-4.3-2.7-7.7V22.5h-4.6v-6.7ZM113.1 29.8c0-2.8.6-5.3 2-7.5 1.3-2.2 3.1-3.9 5.3-5.2 2.3-1.3 4.8-1.9 7.7-1.9 2.9 0 5.4.6 7.7 1.9 2.2 1.3 4 3 5.3 5.2 1.3 2.2 2 4.7 2 7.5s-.7 5.3-2 7.5-3.1 3.9-5.3 5.2c-2.2 1.3-4.8 1.9-7.7 1.9-2.9 0-5.5-.6-7.7-1.9-2.3-1.3-4-3-5.3-5.2-1.4-2.2-2-4.7-2-7.5Zm7.8 0c0 2.2.7 4 2 5.4 1.3 1.4 3 2.2 5.1 2.2 2.1 0 3.8-.7 5.1-2.2 1.3-1.4 2-3.2 2-5.4s-.7-4-2-5.4a6.87 6.87 0 0 0-5.1-2.2c-2.1 0-3.8.7-5.1 2.2-1.3 1.4-2 3.2-2 5.4ZM148.4 15.8h7.6l.2 3c1.2-1.1 2.6-2 4.1-2.7 1.6-.6 3.3-.9 5.1-.9 2.6 0 5 .6 7 1.9 2.1 1.3 3.7 3 4.9 5.2 1.2 2.2 1.8 4.7 1.8 7.5s-.6 5.3-1.8 7.5c-1.2 2.2-2.8 3.9-4.9 5.2-2.1 1.3-4.4 1.9-7 1.9-1.8 0-3.4-.3-4.9-.9-1.5-.6-2.9-1.4-4-2.5v23.8h-8.1v-49Zm15.2 6.4c-2.1 0-3.8.7-5.1 2.2-1.3 1.4-2 3.2-2 5.4s.7 4 2 5.4c1.3 1.4 3 2.2 5.1 2.2 2.1 0 3.8-.7 5.1-2.2 1.3-1.4 2-3.2 2-5.4s-.7-4-2-5.4a6.67 6.67 0 0 0-5.1-2.2ZM182.4 29.8c0-2.8.6-5.3 2-7.5 1.3-2.2 3.1-3.9 5.3-5.2 2.3-1.3 4.8-1.9 7.7-1.9 2.9 0 5.4.6 7.7 1.9 2.2 1.3 4 3 5.3 5.2 1.3 2.2 2 4.7 2 7.5s-.7 5.3-2 7.5-3.1 3.9-5.3 5.2c-2.2 1.3-4.8 1.9-7.7 1.9-2.9 0-5.5-.6-7.7-1.9-2.3-1.3-4-3-5.3-5.2-1.3-2.2-2-4.7-2-7.5Zm7.9 0c0 2.2.7 4 2 5.4 1.3 1.4 3 2.2 5.1 2.2 2.1 0 3.8-.7 5.1-2.2 1.3-1.4 2-3.2 2-5.4s-.7-4-2-5.4a6.87 6.87 0 0 0-5.1-2.2c-2.1 0-3.8.7-5.1 2.2-1.3 1.4-2 3.2-2 5.4ZM215.8 29.8c0-2.8.6-5.3 1.8-7.5 1.2-2.2 2.8-3.9 4.9-5.2 2.1-1.3 4.4-1.9 7-1.9 1.8 0 3.4.3 4.9.9 1.5.6 2.9 1.4 4 2.5V0h8.1v43.9h-7.6l-.2-3c-1.2 1.1-2.6 2-4.1 2.7-1.6.6-3.3.9-5.1.9-2.6 0-5-.6-7-1.9-2.1-1.3-3.7-3-4.9-5.2-1.2-2.3-1.8-4.8-1.8-7.6Zm8.3 0c0 2.2.7 4 2 5.4 1.3 1.4 3 2.2 5.1 2.2 2.1 0 3.8-.7 5.1-2.2 1.3-1.4 2-3.2 2-5.4s-.7-4-2-5.4a6.87 6.87 0 0 0-5.1-2.2c-2.1 0-3.8.7-5.1 2.2-1.3 1.4-2 3.2-2 5.4ZM318.7 44h-10.82s-1.13-2.41-1.6-3.26c-.45-.86-1.55-.82-1.55-.82h-29.38s-1.07-.14-1.6.82c-.57.95-1.63 3.26-1.63 3.26h-10.65a4.47 4.47 0 0 1-4.47-4.44V4.47A4.47 4.47 0 0 1 261.44 0h57.23a4.47 4.47 0 0 1 4.47 4.44v35.09a4.45 4.45 0 0 1-4.43 4.47Z"></path> + <path fill="#E7F9E4" d="M274.95 9.51h30.2a9.34 9.34 0 0 1 9.4 9.44c0 5.18-4.22 9.4-9.4 9.4h-30.2a9.42 9.42 0 0 1 0-18.84Z"></path> + <path fill="#009486" d="M302.77 15.36a4.61 4.61 0 0 0-3.64 7.46s1.58-1.18 3.8-1.18c1.67 0 3.6 1.01 3.6 1.01a4.61 4.61 0 0 0-3.76-7.29ZM277.23 15.36a4.61 4.61 0 0 0-3.77 7.3s1.94-1.02 3.6-1.02c2.23 0 3.8 1.18 3.8 1.18a4.61 4.61 0 0 0-3.64-7.45Z"></path> +</svg> \ No newline at end of file diff --git a/docs/src/public/images/logo.png b/docs/src/public/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b15f1baf304fb24002af844e588111f9d3311996 Binary files /dev/null and b/docs/src/public/images/logo.png differ diff --git a/docs/src/public/images/sponsors/adaures.svg b/docs/src/public/images/sponsors/adaures.svg new file mode 100644 index 0000000000000000000000000000000000000000..62e18ed223ca5038f330eff6552f24c4eb294a02 --- /dev/null +++ b/docs/src/public/images/sponsors/adaures.svg @@ -0,0 +1,10 @@ +<svg + xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 104 20" + fill="#2A2D7C" + height="4rem" +> + <path + d="M38.56 6.39v9.18h-2.44l-.27-.65a4.35 4.35 0 01-2.77 1A4.68 4.68 0 0128.26 11a4.66 4.66 0 014.82-4.86 4.37 4.37 0 012.8 1l.33-.71zm-3 4.6a2.06 2.06 0 10-4.11 0 2.06 2.06 0 104.11 0zM50.25 3.09v12.49h-2.34l-.3-.68a4.22 4.22 0 01-2.77 1A4.68 4.68 0 0140 11a4.68 4.68 0 014.84-4.9 4.25 4.25 0 012.28.64V3.09zM47.32 11a2.06 2.06 0 10-4.11 0 2.06 2.06 0 104.11 0zM65.69 6.39v9.18h-2.44l-.25-.65a4.33 4.33 0 01-2.77 1A4.67 4.67 0 0155.4 11a4.65 4.65 0 014.81-4.86 4.35 4.35 0 012.8 1l.33-.71zm-3 4.6a2.06 2.06 0 10-4.11 0 2.06 2.06 0 104.11 0zM67.57 11.64V6.4h3.16v5.1c0 1 .52 1.54 1.37 1.54s1.35-.58 1.35-1.54V6.4h3.16v5.24c0 2.57-1.8 4.24-4.51 4.24s-4.53-1.67-4.53-4.24zM84.46 6.36v2.89h-1.23c-1.12 0-1.59.49-1.59 1.66v4.67h-3.16V6.4h2.12l.49 1a3.07 3.07 0 012.53-1.06zM95 10.91a5.9 5.9 0 01-.06.83h-6.86a1.79 1.79 0 001.92 1.6 1.85 1.85 0 001.66-.86h3.14A5 5 0 0185 11a5 5 0 0110-.08zM88.14 10h3.71A1.84 1.84 0 0090 8.58 1.77 1.77 0 0088.14 10zM99.94 15.88c-2.5 0-4-1.32-4-3.31h3a.94.94 0 001.07 1c.46 0 .9-.23.9-.71s-.69-.68-1.57-.82C97.9 11.79 96 11.36 96 9.13c0-1.84 1.57-3 3.92-3s3.86 1.25 3.89 3.11h-3c0-.59-.39-.86-1-.86s-.85.25-.85.67.7.65 1.57.8c1.45.26 3.38.56 3.38 2.89 0 1.92-1.62 3.17-4.06 3.17zM0 0v20h20V0zm13.34 12.66a3.84 3.84 0 01-2.51 3.6 3.9 3.9 0 01-1.33.24 3.84 3.84 0 01-1.33-7.44 1 1 0 011.32.61A1 1 0 018.88 11a1.78 1.78 0 001.24 3.34 1.76 1.76 0 001.16-1.67V7.19a1.64 1.64 0 00-3.28 0 1 1 0 11-2 0 3.69 3.69 0 017.38 0z" + ></path> +</svg> diff --git a/docs/src/public/images/sponsors/nlnet.svg b/docs/src/public/images/sponsors/nlnet.svg new file mode 100644 index 0000000000000000000000000000000000000000..dc5d3e5265c735859176b3f0b37e3d45aaf9d529 --- /dev/null +++ b/docs/src/public/images/sponsors/nlnet.svg @@ -0,0 +1,64 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 449 168" height="4rem"> + <path + fill="#98bf00" + d="m446.6 73.88 2.5-13.65h-12.9l3.76-20.08-15.45 6.04-2.5 14.04h-9.4l-2.5 13.65h9.25l-3.15 17.3c-.14.94-.4 2.34-.64 4.14-.25 1.8-.4 3.4-.4 4.75.04 6.25 1.54 11.4 4.5 15.45 2.94 4.14 7.74 6.59 14.44 7.34l6.44-13.3c-3.44-.44-6.04-1.8-7.89-4.1-1.85-2.34-2.75-5.3-2.75-8.89 0-.7.1-1.7.25-3.05.15-1.35.3-2.45.45-3.3l3-16.34h13ZM310.7 72.33c2.4-.85 4.5-1.3 6.26-1.3 1.9 0 3.5.55 4.8 1.65 1.24 1.05 1.84 2.6 1.84 4.75 0 .6-.1 1.5-.3 2.75-.2 1.15-.35 2.2-.5 3.1l-3.6 16.89-.75 4.05c-.25 1.45-.34 2.7-.34 3.75 0 4.05 1.1 7.44 3.34 10.14 2.15 2.7 6 4.3 11.55 4.75l6.35-12.84c-2.16-.35-3.7-1.15-4.65-2.4-1-1.2-1.5-2.9-1.5-5.05 0-.5.05-1.1.15-1.75.05-.65.15-1.2.2-1.6l3.64-17.2c.3-1.44.56-2.9.75-4.34.2-1.4.3-2.8.3-4.15 0-4.95-1.44-8.94-4.34-11.9-2.95-2.94-7.05-4.44-12.3-4.44-3.05 0-5.94.5-8.8 1.5-2.8.95-6.2 2.54-10.14 4.9a17.35 17.35 0 0 0-2.8-6.75l-13.4 5.75a20.5 20.5 0 0 1 2.6 5.5 21.16 21.16 0 0 1 .56 8.4c-.1 1.14-.25 2.04-.4 2.69l-7.95 42.33h14.4l8.44-45.68a23.33 23.33 0 0 1 6.6-3.5Z" + ></path> + <path + fill="#98bf00" + fill-rule="evenodd" + d="M350.74 80.08c-1.55 4.6-2.3 9.5-2.3 14.64 0 4.5.6 8.5 1.75 12s2.8 6.44 4.9 8.8a20.1 20.1 0 0 0 7.55 5.44 25.05 25.05 0 0 0 9.84 1.9c4.35 0 8.65-.8 12.95-2.4a30.3 30.3 0 0 0 11.4-7.44l-5.4-12.5c-2.5 2.8-5.25 4.9-8.3 6.35a21.07 21.07 0 0 1-9.1 2.15c-3.5 0-6.24-1.1-8.24-3.3a12.35 12.35 0 0 1-2.95-8.35v-.95c0-.4.05-.8.15-1.2a203.42 203.42 0 0 0 19.19-3.5c3.45-.84 6.8-1.8 10.1-2.8 3.24-1 6.14-2.05 8.6-3.1v-5.74c0-3.55-.56-6.75-1.66-9.6a23.32 23.32 0 0 0-4.6-7.2c-1.94-2-4.3-3.5-6.94-4.5a22.59 22.59 0 0 0-8.5-1.6c-4.45 0-8.6 1-12.34 2.96a28.48 28.48 0 0 0-9.7 8.1 38.55 38.55 0 0 0-6.4 11.84Zm21.64-10.1c1.55-.85 3.3-1.25 5.25-1.25 2.65 0 4.85.85 6.6 2.6 1.75 1.7 2.65 4.25 2.65 7.7-1.45.45-3.15 1-5.15 1.55-2.05.5-4.1 1-6.2 1.45-2.15.45-4.2.9-6.24 1.3l-5.3.9c.24-2.1.7-4.1 1.4-5.95.75-1.85 1.7-3.5 2.84-4.9 1.25-1.4 2.6-2.55 4.15-3.4Z" + ></path> + <path + fill-rule="evenodd" + d="M404.17 140.45c0-1.25-.2-2.4-.6-3.4-.4-1-.95-1.84-1.6-2.6-.7-.7-1.5-1.24-2.45-1.6-.95-.34-2-.54-3.1-.54a9.95 9.95 0 0 0-7.34 3.2 11.49 11.49 0 0 0-3.1 7.9c0 1.24.2 2.34.6 3.4.35 1 .9 1.84 1.6 2.54.65.75 1.5 1.3 2.44 1.7.95.35 2 .55 3.15.55a9.87 9.87 0 0 0 7.3-3.2c.95-.95 1.7-2.15 2.25-3.5s.85-2.84.85-4.45Zm-13.9-.05c.3-.9.7-1.7 1.2-2.4.55-.7 1.2-1.25 1.96-1.7a4.66 4.66 0 0 1 2.5-.64c1.44 0 2.5.45 3.24 1.34.75.86 1.15 2.1 1.15 3.65 0 .95-.15 1.9-.45 2.85a6.75 6.75 0 0 1-3.15 4.1c-.75.4-1.6.6-2.5.6-1.45 0-2.5-.45-3.24-1.3a5.5 5.5 0 0 1-1.16-3.65c0-.94.16-1.9.46-2.85Z" + ></path> + <path + d="M434.56 132.56H431l-1.9 11.04c-.05.15-.1.4-.1.75v.85h-.15l-6.4-12.64h-3.35l-3.34 18.74h3.6l2-11.3c.04-.14.04-.4.04-.64v-.86h.15l6.55 12.95 3.2-.3 3.25-18.6ZM374.38 132.56h-3.65l-3.34 18.74h3.7l3.3-18.74Z" + ></path> + <path + fill-rule="evenodd" + d="M328.95 132.56h-4.25c-.8 1.35-1.65 2.9-2.6 4.55-.95 1.64-1.85 3.34-2.75 5.04-.9 1.7-1.7 3.35-2.44 4.95-.75 1.6-1.36 3-1.8 4.2h3.84c.16-.35.3-.8.5-1.25.2-.45.4-.95.66-1.4l.6-1.35c.2-.45.4-.85.54-1.2h6.5c.05.45.05.9.1 1.4l.15 1.45.15 1.35c.05.45.05.8.05 1.15l3.7-.3c0-.7-.05-1.5-.15-2.45-.05-.95-.2-1.95-.35-3-.15-1.05-.3-2.2-.5-3.35-.15-1.15-.35-2.3-.6-3.44-.2-1.16-.4-2.25-.65-3.35-.25-1.05-.45-2.05-.7-3Zm-2.35 5.55.3 1.8c.1.6.2 1.2.25 1.74.1.55.15.95.2 1.3h-4.65c.25-.45.5-.95.75-1.5.3-.55.6-1.14.9-1.75.35-.6.65-1.14.95-1.7.3-.55.55-1.04.8-1.4h.2c.1.4.2.9.3 1.5Z" + ></path> + <path + d="m357.64 135.96.55-3.4h-12.8l-.55 3.4h4.55l-2.65 15.34h3.65l2.7-15.34h4.55Z" + ></path> + <path + fill-rule="evenodd" + d="M297.46 132.3c-1.05 0-2.1.06-3.15.16-1.04.15-2.04.3-3 .55l-3.14 17.84c.95.25 2.04.4 3.24.55 1.16.15 2.25.2 3.3.2a11.19 11.19 0 0 0 7.85-2.95c1-.95 1.8-2.1 2.4-3.45.55-1.35.85-2.9.85-4.6 0-1.35-.2-2.5-.6-3.54a7.4 7.4 0 0 0-1.75-2.6 7.56 7.56 0 0 0-2.65-1.6 10.5 10.5 0 0 0-3.35-.55Zm-.8 3.4c.75 0 1.45.1 2.1.26.65.15 1.2.45 1.65.84.5.4.9.9 1.15 1.56.25.6.4 1.34.4 2.3 0 1.2-.15 2.24-.5 3.2a5.79 5.79 0 0 1-3.5 3.85 7.1 7.1 0 0 1-2.8.49c-.45 0-.9 0-1.45-.05-.55-.05-1.05-.1-1.4-.15l2.15-12.1 1.15-.15c.45-.04.8-.04 1.05-.04Z" + ></path> + <path + d="M185.8 62.59a20.53 20.53 0 0 1 2.6 5.5 21.16 21.16 0 0 1 .56 8.4c-.1 1.14-.25 2.04-.4 2.69l-7.95 42.33H195l8.44-45.68a23.33 23.33 0 0 1 6.6-3.5c2.4-.85 4.5-1.3 6.25-1.3 1.9 0 3.5.55 4.8 1.65 1.24 1.05 1.84 2.6 1.84 4.75 0 .6-.1 1.5-.3 2.75-.2 1.15-.35 2.2-.5 3.1l-3.6 16.89-.75 4.05c-.24 1.45-.34 2.7-.34 3.75 0 4.05 1.1 7.44 3.34 10.14 2.15 2.7 6 4.3 11.55 4.75l6.35-12.84c-2.15-.35-3.7-1.15-4.65-2.4-1-1.2-1.5-2.9-1.5-5.05 0-.5.05-1.1.15-1.75.05-.65.15-1.2.2-1.6l3.65-17.2c.3-1.44.55-2.9.75-4.34.2-1.4.3-2.8.3-4.15 0-4.95-1.45-8.94-4.35-11.9-2.95-2.94-7.05-4.44-12.3-4.44-3.04 0-5.94.5-8.8 1.5-2.8.95-6.2 2.54-10.14 4.9a17.35 17.35 0 0 0-2.8-6.75l-13.4 5.75ZM276.82 31.55h-14.14l-10.8 58.47c-.45 1.95-.8 4-1.05 6.15-.25 2.1-.4 4.05-.4 5.85 0 5.8 1.1 10.55 3.35 14.24 2.25 3.7 6.05 5.9 11.4 6.6l6.5-13.3a18.96 18.96 0 0 1-2.8-1.64 7.2 7.2 0 0 1-2.1-2.15 8.1 8.1 0 0 1-1.3-3.05c-.25-1.2-.4-2.7-.4-4.45 0-.85.05-1.8.15-2.8l.45-3.2 11.14-60.72ZM246.43 132.56h-3.65l-2.4 13.69a5.7 5.7 0 0 1-4.3 1.95c-.9 0-1.6-.2-2.1-.6-.54-.45-.8-1.15-.8-2.2 0-.2.06-.5.1-.9.06-.35.06-.7.1-1l2-10.94h-3.7l-1.94 10.9-.15 1.34c-.05.45-.05.8-.05 1.15 0 1 .15 1.85.45 2.6a4.55 4.55 0 0 0 3 2.75 7.94 7.94 0 0 0 7.15-1.4c0 .25 0 .55.05.85 0 .25 0 .5.04.75l3.65-.25c-.04-.25-.04-.5-.04-.8-.06-.25-.06-.55-.06-.9 0-.6.06-1.25.1-1.9.05-.7.1-1.35.25-1.95l2.3-13.14ZM276.62 132.56h-3.55l-1.9 11.04c-.05.15-.1.4-.1.75v.85h-.15l-6.4-12.64h-3.34l-3.35 18.74h3.6l2-11.3c.05-.14.05-.4.05-.64v-.86h.14l6.56 12.95 3.2-.3 3.24-18.6Z" + ></path> + <path + fill-rule="evenodd" + d="M214.8 134.46c-.7-.7-1.5-1.25-2.45-1.6-.95-.35-2-.55-3.1-.55a9.97 9.97 0 0 0-7.35 3.2 11.5 11.5 0 0 0-3.1 7.9c0 1.24.2 2.34.6 3.4.35 1 .9 1.84 1.6 2.54.65.75 1.5 1.3 2.45 1.7.95.35 2 .55 3.15.55a9.87 9.87 0 0 0 7.3-3.2 10.5 10.5 0 0 0 2.25-3.5c.54-1.35.85-2.84.85-4.45 0-1.25-.2-2.4-.6-3.4a9.1 9.1 0 0 0-1.6-2.6ZM204.3 138c.55-.7 1.2-1.25 1.95-1.7a4.68 4.68 0 0 1 2.5-.64c1.45 0 2.5.45 3.25 1.34.75.86 1.15 2.1 1.15 3.65 0 .95-.15 1.9-.46 2.85a6.75 6.75 0 0 1-3.14 4.1c-.75.4-1.6.6-2.5.6-1.45 0-2.5-.45-3.25-1.3a5.5 5.5 0 0 1-1.15-3.65 8.99 8.99 0 0 1 1.65-5.25Z" + ></path> + <path + d="M188.26 132.56h-10.3l-3.35 18.74h3.7l1.25-7.15h6.75l.6-3.4h-6.75l.85-4.8h6.65l.6-3.4Z" + ></path> + <path + fill="#98bf00" + d="M127.08 44.9c1.35-10.95-1.4-20.8-8.2-29.5C112.08 6.7 103.2 1.66 92.25.3c-10.95-1.34-20.8 1.41-29.5 8.2-8.04 6.25-12.94 14.3-14.69 24.15-.15.85-.3 1.65-.4 2.5-.1.85-.15 1.65-.2 2.44-.35 4.6.1 9 1.3 13.2a39.3 39.3 0 0 0 7.1 13.84 40.1 40.1 0 0 0 11.75 10.3c3.74 2.15 7.89 3.6 12.44 4.4.8.15 1.6.25 2.45.4l1.35.15A42.3 42.3 0 0 1 89 67.53c-1.55.05-3.15 0-4.75-.15-.1-.05-.15-.05-.2-.05-1.85-.25-3.65-.6-5.3-1.15a26.51 26.51 0 0 1-13.04-9.24 26.5 26.5 0 0 1-5.6-20.24v-.2c.95-7.45 4.4-13.5 10.34-18.15 6-4.65 12.75-6.55 20.3-5.6a26.2 26.2 0 0 1 18.29 10.35c4.65 6 6.55 12.74 5.65 20.3-.25 1.7-.55 3.3-1 4.84a41.3 41.3 0 0 1 13.2-2c.04-.45.14-.9.2-1.35Z" + ></path> + <path + fill="#98bf00" + d="M132.33 51.49c-.85-.1-1.65-.2-2.5-.25-4.6-.3-9 .15-13.2 1.3a39.42 39.42 0 0 0-13.84 7.15 38.4 38.4 0 0 0-14.7 24.14c4.36.74 8.36 2 12.05 3.85a26.53 26.53 0 0 1 10.35-18.14 26.59 26.59 0 0 1 20.3-5.66h.14c7.44.96 13.5 4.45 18.14 10.4 4.7 5.95 6.6 12.7 5.65 20.24a26.77 26.77 0 0 1-10.34 18.34 26.42 26.42 0 0 1-20.15 5.6c.85 4.05 1.1 8.3.8 12.7 9.95.65 18.94-2.2 26.99-8.45 8.7-6.8 13.75-15.7 15.1-26.64 1.34-10.94-1.4-20.79-8.2-29.49-6.3-8.05-14.35-12.94-24.14-14.69-.85-.15-1.65-.3-2.45-.4Z" + ></path> + <path + d="M128.93 78.73c-3.45-.4-6.5.45-9.25 2.6a11.9 11.9 0 0 0-4.7 8.3c-.45 3.44.4 6.5 2.55 9.24a11.9 11.9 0 0 0 8.35 4.7c3.4.45 6.45-.4 9.2-2.55 2.75-2.15 4.3-4.9 4.74-8.35.4-3.4-.44-6.44-2.6-9.2a12.15 12.15 0 0 0-8.29-4.74Z" + ></path> + <path + fill="#98bf00" + d="M12.83 73.63c.95-7.55 4.4-13.7 10.4-18.34a26.12 26.12 0 0 1 20.09-5.6 44.33 44.33 0 0 1-.8-12.7c-9.95-.65-18.95 2.16-27 8.45C6.79 52.24 1.79 61.14.44 72.08c-1.35 10.95 1.35 20.74 8.2 29.49 6.24 8.05 14.3 12.95 24.14 14.7.8.14 1.6.24 2.45.4.85.1 1.65.2 2.5.24 4.6.3 9-.15 13.19-1.3 4.85-1.4 9.5-3.8 13.85-7.14 4.3-3.4 7.7-7.3 10.24-11.7a39.2 39.2 0 0 0 4.45-12.44 44.68 44.68 0 0 1-12.04-3.85c-.25 1.75-.6 3.45-1.1 5.1a26.53 26.53 0 0 1-9.25 13.04 26.59 26.59 0 0 1-20.3 5.65c-.04 0-.1 0-.14-.05a26.46 26.46 0 0 1-18.15-10.35 26.3 26.3 0 0 1-5.64-20.24Z" + ></path> + <path + d="M32.47 67.13c-2.75 2.1-4.3 4.9-4.75 8.35a12 12 0 0 0 2.6 9.14 12 12 0 0 0 8.3 4.8 12.55 12.55 0 0 0 13.94-10.9c.45-3.44-.4-6.54-2.55-9.24a11.9 11.9 0 0 0-8.35-4.7c-3.45-.45-6.5.4-9.2 2.55ZM97.3 32.35a12 12 0 0 0-8.35-4.7c-3.45-.45-6.5.4-9.2 2.55A11.84 11.84 0 0 0 75 38.54c-.45 3.4.45 6.45 2.6 9.2a12.1 12.1 0 0 0 8.3 4.75c3.4.35 6.44-.5 9.2-2.6a12.26 12.26 0 0 0 4.74-8.3c.4-3.45-.45-6.54-2.55-9.24Z" + ></path> + <path + fill="#98bf00" + d="m85.05 88.43-1.35-.16a42.3 42.3 0 0 1-5.15 12.35c1.55-.1 3.15-.05 4.8.15.05 0 .1 0 .15.05 1.85.2 3.6.55 5.3 1.1a26.63 26.63 0 0 1 13.04 9.3 26.23 26.23 0 0 1 5.6 20.24v.2a26.47 26.47 0 0 1-10.35 18.14 26.52 26.52 0 0 1-20.29 5.6 26.56 26.56 0 0 1-18.3-10.35c-4.7-6-6.59-12.74-5.64-20.29.2-1.7.55-3.3 1.05-4.85a43.3 43.3 0 0 1-13.25 2c-.04.45-.14.9-.2 1.35-1.34 10.95 1.36 20.74 8.2 29.49 6.8 8.7 15.7 13.74 26.64 15.1 10.95 1.34 20.74-1.4 29.49-8.2 8.05-6.3 12.94-14.35 14.7-24.2.14-.8.24-1.6.4-2.44.04-.85.14-1.65.2-2.45.3-4.65-.16-9.05-1.3-13.2a40.16 40.16 0 0 0-7.1-13.84 39.9 39.9 0 0 0-11.7-10.3 38.72 38.72 0 0 0-12.5-4.4c-.8-.14-1.6-.3-2.44-.4Z" + ></path> + <path + d="M90 120.41a12.14 12.14 0 0 0-8.35-4.75c-3.45-.4-6.5.45-9.2 2.6a12.14 12.14 0 0 0-4.75 8.3c-.45 3.45.46 6.5 2.6 9.25 2.1 2.75 4.85 4.3 8.3 4.7 3.45.44 6.5-.4 9.25-2.56 2.7-2.14 4.24-4.9 4.7-8.34.4-3.4-.46-6.45-2.55-9.2Z" + ></path> +</svg> diff --git a/docs/tailwind.config.js b/docs/tailwind.config.js new file mode 100644 index 0000000000000000000000000000000000000000..1c21ee6ed1e0d02f29df35a37066c5189a7df836 --- /dev/null +++ b/docs/tailwind.config.js @@ -0,0 +1,24 @@ +/* eslint-disable */ + +module.exports = { + content: ["./src/**/*.md"], + theme: { + extend: { + colors: { + pine: { + 50: "#F2FAF9", + 100: "#E7F9E4", + 200: "#bfe4e1", + 300: "#99d4cf", + 400: "#4db4aa", + 500: "#009486", + 600: "#008579", + 700: "#006D60", + 800: "#00564A", + 900: "#003D0B", + }, + }, + }, + }, + plugins: [], +}; diff --git a/docs/tsconfig.json b/docs/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..53a88761fb1684e558fbb6b1d1cfb14969a9fda0 --- /dev/null +++ b/docs/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "outDir": "dist", + "target": "esnext", + "moduleResolution": "node", + "esModuleInterop": true, + "resolveJsonModule": true, + "allowJs": true, + "strict": true, + "baseUrl": ".", + "paths": { + "/@theme/*": [".vitepress/theme/*"] + } + }, + "include": ["src/**/*", ".vitepress/**/*"] +} diff --git a/modules/Admin/Controllers/ContributorController.php b/modules/Admin/Controllers/ContributorController.php index 07bfd114acaadbcca2b11a2e7cbfddea28632e1f..c5d09fd5e00aea4efb70f3e4ad47ddbccbf9a500 100644 --- a/modules/Admin/Controllers/ContributorController.php +++ b/modules/Admin/Controllers/ContributorController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/EpisodeController.php b/modules/Admin/Controllers/EpisodeController.php index 2594972ea4fd4ff4ba51338b3da88f4eb854cdcd..a91139c169fa7dfdb4e3dcea0bb58772c76b3c9a 100644 --- a/modules/Admin/Controllers/EpisodeController.php +++ b/modules/Admin/Controllers/EpisodeController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/EpisodePersonController.php b/modules/Admin/Controllers/EpisodePersonController.php index 1749157ef3e117b773d2955ef8923fe35ca824d6..ee46c04d78baf3ff93f5c363ad9a86b104584f53 100644 --- a/modules/Admin/Controllers/EpisodePersonController.php +++ b/modules/Admin/Controllers/EpisodePersonController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/FediverseController.php b/modules/Admin/Controllers/FediverseController.php index 82a5e1e11465cb934c584c06d706f22aa07e8376..d7cd40f521b0188e40e235e06039f73c07b7028d 100644 --- a/modules/Admin/Controllers/FediverseController.php +++ b/modules/Admin/Controllers/FediverseController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/HomeController.php b/modules/Admin/Controllers/HomeController.php index 776b58299a58ca0ff655609b691770e0a033e6b1..9248cb4c221bb035339bd1d79ee55db7b3f3f796 100644 --- a/modules/Admin/Controllers/HomeController.php +++ b/modules/Admin/Controllers/HomeController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/MyAccountController.php b/modules/Admin/Controllers/MyAccountController.php index 696f5bff76c46f26efe5e4d2424dc5b720811456..8ffa0247fca93ee1dc721456399e9c213707bf2c 100644 --- a/modules/Admin/Controllers/MyAccountController.php +++ b/modules/Admin/Controllers/MyAccountController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/PageController.php b/modules/Admin/Controllers/PageController.php index 1a13abcc469bc0055743249b56478634fd1d7534..464f13f702a26ccf120e42d91f920a92f36e122d 100644 --- a/modules/Admin/Controllers/PageController.php +++ b/modules/Admin/Controllers/PageController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/PersonController.php b/modules/Admin/Controllers/PersonController.php index a62914a4a406f9db7d9fc0de34541d20ba03f691..9c0ffcfe4055d5d0e04b5aaa674e8f4fe91c02e7 100644 --- a/modules/Admin/Controllers/PersonController.php +++ b/modules/Admin/Controllers/PersonController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/PodcastController.php b/modules/Admin/Controllers/PodcastController.php index f1e6aa8794f51f9338a7abaa36f775fb263544bc..9c27a603a297dba8c7da23f462147a6d3a72855a 100644 --- a/modules/Admin/Controllers/PodcastController.php +++ b/modules/Admin/Controllers/PodcastController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/PodcastImportController.php b/modules/Admin/Controllers/PodcastImportController.php index e57487d638e7cae6a17b6596297d7e0cdf09157a..3b0dba764836a8c34d28a292f7a3f0aa9fbe884a 100644 --- a/modules/Admin/Controllers/PodcastImportController.php +++ b/modules/Admin/Controllers/PodcastImportController.php @@ -3,13 +3,14 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ namespace Modules\Admin\Controllers; +use AdAures\PodcastPersonsTaxonomy\ReversedTaxonomy; use App\Entities\Episode; use App\Entities\Location; use App\Entities\Person; @@ -25,7 +26,6 @@ use CodeIgniter\HTTP\RedirectResponse; use Config\Services; use ErrorException; use League\HTMLToMarkdown\HtmlConverter; -use Podlibre\PodcastNamespace\ReversedTaxonomy; class PodcastImportController extends BaseController { diff --git a/modules/Admin/Controllers/PodcastPersonController.php b/modules/Admin/Controllers/PodcastPersonController.php index 371c624625c1215943cb2af7aefb799187e65c16..722ba28affe50a6c984ad97bbe3375a776ca39b2 100644 --- a/modules/Admin/Controllers/PodcastPersonController.php +++ b/modules/Admin/Controllers/PodcastPersonController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/PodcastPlatformController.php b/modules/Admin/Controllers/PodcastPlatformController.php index 28879beb16f94b4e733a9ed14b374129ce773582..76b5346a87cb8a0f044bfbc69bf5279fc0655042 100644 --- a/modules/Admin/Controllers/PodcastPlatformController.php +++ b/modules/Admin/Controllers/PodcastPlatformController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/SchedulerController.php b/modules/Admin/Controllers/SchedulerController.php index 2a00204d1850f2807ff173f477f33a50c64a2b17..209979da9c44b506bb83ec4fdd090ac8c10fcf4b 100644 --- a/modules/Admin/Controllers/SchedulerController.php +++ b/modules/Admin/Controllers/SchedulerController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/SettingsController.php b/modules/Admin/Controllers/SettingsController.php index 58571176fbffd080f794d7dcd726fc21fbea6ef2..348d0c751175395c8b1289d5bc41c05276838be6 100644 --- a/modules/Admin/Controllers/SettingsController.php +++ b/modules/Admin/Controllers/SettingsController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/SoundbiteController.php b/modules/Admin/Controllers/SoundbiteController.php index e14805caa819331dba71200c5c5126f964a5ec04..9d8e8a376e1c705240a4b072a0513269e47809f9 100644 --- a/modules/Admin/Controllers/SoundbiteController.php +++ b/modules/Admin/Controllers/SoundbiteController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/UserController.php b/modules/Admin/Controllers/UserController.php index 15f2c661d556b11531d810d485f816fc896621b3..85aa24cf9cf3c42d64a7dbe3199a56c181f5fe87 100644 --- a/modules/Admin/Controllers/UserController.php +++ b/modules/Admin/Controllers/UserController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Controllers/VideoClipsController.php b/modules/Admin/Controllers/VideoClipsController.php index c971d09b5e13892a06d1b6e3096e8b21e4e9929a..267845cbd627fb9a1bc805872e38e0073ba1c045 100644 --- a/modules/Admin/Controllers/VideoClipsController.php +++ b/modules/Admin/Controllers/VideoClipsController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Admin.php b/modules/Admin/Language/en/Admin.php index 944e7af2b6d1cd0500155e1549d468820c79f93c..5e3942371fb59c6cbc560b147310907cedd3696f 100644 --- a/modules/Admin/Language/en/Admin.php +++ b/modules/Admin/Language/en/Admin.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Breadcrumb.php b/modules/Admin/Language/en/Breadcrumb.php index ebebdb0e9e1a20be59bd8b2ccc609ec95d61d609..d9400ca786ad22820c4bda166f6f11e61a0cb199 100644 --- a/modules/Admin/Language/en/Breadcrumb.php +++ b/modules/Admin/Language/en/Breadcrumb.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Charts.php b/modules/Admin/Language/en/Charts.php index 2bc933ef280659a76095b6957442c8cda203a258..d9a75a1d8455cf9f83bb562a2988adc5e75a3674 100644 --- a/modules/Admin/Language/en/Charts.php +++ b/modules/Admin/Language/en/Charts.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Common.php b/modules/Admin/Language/en/Common.php index 58a0a48667fb90c795f6bf1a31d488e6eb482fdf..634769db3585cab4748bb078e03d9dadfec30214 100644 --- a/modules/Admin/Language/en/Common.php +++ b/modules/Admin/Language/en/Common.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Contributor.php b/modules/Admin/Language/en/Contributor.php index 7d9c99b4b8187cd45fd4cfd1d102e3de7419f9a4..d0f3b93d9ff29bbf2086380e374c7e35b5c7539a 100644 --- a/modules/Admin/Language/en/Contributor.php +++ b/modules/Admin/Language/en/Contributor.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Countries.php b/modules/Admin/Language/en/Countries.php index b682d306f711ccac6068ded43a8538494ebdcb16..4cd5d9c857baf9bb5f255aafe2b66d915dabebde 100644 --- a/modules/Admin/Language/en/Countries.php +++ b/modules/Admin/Language/en/Countries.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * ISO 3166 country codes * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Episode.php b/modules/Admin/Language/en/Episode.php index 7188b60c924df6a57258ee42ec302b14369bb444..d4ebf203a7de2bf624775dd46b996f439c30d17b 100644 --- a/modules/Admin/Language/en/Episode.php +++ b/modules/Admin/Language/en/Episode.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/EpisodeNavigation.php b/modules/Admin/Language/en/EpisodeNavigation.php index 8eb2b1b5f66ed1e51b58110ffdd255c1badd5982..1406e3010ef4383a6d8ef32ff88497e7bdeb9fa4 100644 --- a/modules/Admin/Language/en/EpisodeNavigation.php +++ b/modules/Admin/Language/en/EpisodeNavigation.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Fediverse.php b/modules/Admin/Language/en/Fediverse.php index 6ef8d71dd4247bf7f69a0345e478a7921e7538ac..3718c8e93aa4eb29400e458ac358f8d3d102677d 100644 --- a/modules/Admin/Language/en/Fediverse.php +++ b/modules/Admin/Language/en/Fediverse.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Home.php b/modules/Admin/Language/en/Home.php index eda08142ef15ee9a08ff7529369a07fc079fa2b8..3ff4c04dc8a8f2576b3e04638184ae375f488a54 100644 --- a/modules/Admin/Language/en/Home.php +++ b/modules/Admin/Language/en/Home.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Install.php b/modules/Admin/Language/en/Install.php index c70faf69a56ec390d3bba9653a5d68bdfee36ba2..36e373a2858779a2deb77f1cbc6f629dda223f19 100644 --- a/modules/Admin/Language/en/Install.php +++ b/modules/Admin/Language/en/Install.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/MyAccount.php b/modules/Admin/Language/en/MyAccount.php index 68e79e82d9ca18adb73a5664e381b11b07d263ec..6ebbb30ef70a5e3e86a9bab867f7c732ce79db26 100644 --- a/modules/Admin/Language/en/MyAccount.php +++ b/modules/Admin/Language/en/MyAccount.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Navigation.php b/modules/Admin/Language/en/Navigation.php index 6d171d55301f13cfa2c41e69851f1df5e8443d6e..68d4609d5d94a5770f237ee23207ad47d1262c70 100644 --- a/modules/Admin/Language/en/Navigation.php +++ b/modules/Admin/Language/en/Navigation.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Page.php b/modules/Admin/Language/en/Page.php index c6b4b8fe87625face7e45e5e1c5030b9f619b945..b6f49de57496ec4830246641f0bf8897e7c9a2f9 100644 --- a/modules/Admin/Language/en/Page.php +++ b/modules/Admin/Language/en/Page.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Pager.php b/modules/Admin/Language/en/Pager.php index 3b6fb25355873701d1689eac70e8ad1c99262376..e25ee638108dba1e0bfa602b45969381dd8ebd57 100644 --- a/modules/Admin/Language/en/Pager.php +++ b/modules/Admin/Language/en/Pager.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Person.php b/modules/Admin/Language/en/Person.php index 114597ccbb2151eb1223aed33bacf6f6993bfac0..fa9bba211896b6ff9670ca46df0e36667e5a5af3 100644 --- a/modules/Admin/Language/en/Person.php +++ b/modules/Admin/Language/en/Person.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Platforms.php b/modules/Admin/Language/en/Platforms.php index 98180c13e52194cc422b4d1109551b26c086ef4a..ab17d5999b1626535499464902c12f5c3bcb7aa8 100644 --- a/modules/Admin/Language/en/Platforms.php +++ b/modules/Admin/Language/en/Platforms.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Podcast.php b/modules/Admin/Language/en/Podcast.php index 21bd5ac04723fe66551a5654cedf131cbf6ad122..d9d0d11b03a161266966fdfd0c2897df3b5c218e 100644 --- a/modules/Admin/Language/en/Podcast.php +++ b/modules/Admin/Language/en/Podcast.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/PodcastImport.php b/modules/Admin/Language/en/PodcastImport.php index 8c70b892c7a4f0c127f41290dd052714d922b87c..e9cfc1c4ceb8cc1efcac98540a65a5d8481716e9 100644 --- a/modules/Admin/Language/en/PodcastImport.php +++ b/modules/Admin/Language/en/PodcastImport.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/PodcastNavigation.php b/modules/Admin/Language/en/PodcastNavigation.php index 94f15538cc9f710f3fbc2e9909a3dc79807cfe2b..b619573154735a9370f5c222b74bf39acc09c8c8 100644 --- a/modules/Admin/Language/en/PodcastNavigation.php +++ b/modules/Admin/Language/en/PodcastNavigation.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Settings.php b/modules/Admin/Language/en/Settings.php index a4ace0d7929774cccaba9dca1b1005cb255adccc..0d6368ccd2ee625e9cf6e7b718e9c235672d3358 100644 --- a/modules/Admin/Language/en/Settings.php +++ b/modules/Admin/Language/en/Settings.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Soundbite.php b/modules/Admin/Language/en/Soundbite.php index 059cb1bc720bacba912f9fc8adcbfe32a27ce3ac..a3f828fe09fa68f902251e7438bb54a2727ac8cb 100644 --- a/modules/Admin/Language/en/Soundbite.php +++ b/modules/Admin/Language/en/Soundbite.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/User.php b/modules/Admin/Language/en/User.php index 97cfe2f73cb726e713c2e7b8a26c21b089cd64e9..8b2e478bf7b6c5d97364e6888e9724b8fa24188f 100644 --- a/modules/Admin/Language/en/User.php +++ b/modules/Admin/Language/en/User.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/Validation.php b/modules/Admin/Language/en/Validation.php index eb04b85ff0ed2fdfd0f7f88f2821211ec239cfba..750b19688f973df85a6ebdc861745225b28d0c54 100644 --- a/modules/Admin/Language/en/Validation.php +++ b/modules/Admin/Language/en/Validation.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/en/VideoClip.php b/modules/Admin/Language/en/VideoClip.php index e7845852e625a4907fd03a455dd8b0ee522b20db..638de697bba7f2c0fbc240dace9dd73bfeb77615 100644 --- a/modules/Admin/Language/en/VideoClip.php +++ b/modules/Admin/Language/en/VideoClip.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Admin.php b/modules/Admin/Language/fr/Admin.php index 5c0d82e17b2545ded5a38673e24454355a4f8b29..bb8e874895d5afaa2fb619d2be469fe7c6774f04 100644 --- a/modules/Admin/Language/fr/Admin.php +++ b/modules/Admin/Language/fr/Admin.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Breadcrumb.php b/modules/Admin/Language/fr/Breadcrumb.php index d1bfa0fc95d25f6437ab95f88db1378e7047b465..9a223e51fc560916871455eaed1d51ddc1c7a8f6 100644 --- a/modules/Admin/Language/fr/Breadcrumb.php +++ b/modules/Admin/Language/fr/Breadcrumb.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Charts.php b/modules/Admin/Language/fr/Charts.php index 071918ae78042cd672826bc61fb1fc38d302184d..6da83b829bfe097c75d41bd65d9c60957e49ac62 100644 --- a/modules/Admin/Language/fr/Charts.php +++ b/modules/Admin/Language/fr/Charts.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Common.php b/modules/Admin/Language/fr/Common.php index 531a8e5920c87c7996c947f3fc0bb9d007df1fdc..23580a7b1a06e824dfa2a24faab79eb33b95c282 100644 --- a/modules/Admin/Language/fr/Common.php +++ b/modules/Admin/Language/fr/Common.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Contributor.php b/modules/Admin/Language/fr/Contributor.php index 1e73e9a11cc6d4327d44f11254d8835652307b56..fa2973fb2bbff9669ed4f0f47cd511e4ce1e62c5 100644 --- a/modules/Admin/Language/fr/Contributor.php +++ b/modules/Admin/Language/fr/Contributor.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Countries.php b/modules/Admin/Language/fr/Countries.php index f1974eee7d3948045fc71ea5dc7c88641c0ae56d..68cf7ed5aac6d14c8e64b04c3fcae5870fae577a 100644 --- a/modules/Admin/Language/fr/Countries.php +++ b/modules/Admin/Language/fr/Countries.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * ISO 3166 country codes * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Episode.php b/modules/Admin/Language/fr/Episode.php index 610bb35f3a360d35412913c2032bf1c7bc16aa54..f71524c3ae7e28c0b71623573cbda78a0a595c93 100644 --- a/modules/Admin/Language/fr/Episode.php +++ b/modules/Admin/Language/fr/Episode.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/EpisodeNavigation.php b/modules/Admin/Language/fr/EpisodeNavigation.php index ac8ca8bf14142cd6fd195b406e983ebcfedcafd1..95602013507f8cbed43705f76bc5ef46874ae40c 100644 --- a/modules/Admin/Language/fr/EpisodeNavigation.php +++ b/modules/Admin/Language/fr/EpisodeNavigation.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Fediverse.php b/modules/Admin/Language/fr/Fediverse.php index 1d647d3dc757dc765bff7e023d77a411af2765e3..c7d34bbabfeff700989d19c4acd5b700426fcb42 100644 --- a/modules/Admin/Language/fr/Fediverse.php +++ b/modules/Admin/Language/fr/Fediverse.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Home.php b/modules/Admin/Language/fr/Home.php index ab847e8f412484def718d5c7f5724c427fac4faf..0ec83396de929cc15df91380700d3b355b88a138 100644 --- a/modules/Admin/Language/fr/Home.php +++ b/modules/Admin/Language/fr/Home.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Install.php b/modules/Admin/Language/fr/Install.php index 64eebae16403a1e33ef5bbe53f95cd2c66be700a..862a1e7d28e2e2025676990b273e12f40d81d498 100644 --- a/modules/Admin/Language/fr/Install.php +++ b/modules/Admin/Language/fr/Install.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/MyAccount.php b/modules/Admin/Language/fr/MyAccount.php index 837b04f4604ab6ddc9614dd8d396c6a1781e9937..013d26f914500b1f6a41403fa8b33ffdb8e402e4 100644 --- a/modules/Admin/Language/fr/MyAccount.php +++ b/modules/Admin/Language/fr/MyAccount.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Navigation.php b/modules/Admin/Language/fr/Navigation.php index aca491a9d4b5097e536b71f7884aa4c85324234b..052dfc26281c75a8734b1d5e0dac8faee2997733 100644 --- a/modules/Admin/Language/fr/Navigation.php +++ b/modules/Admin/Language/fr/Navigation.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Page.php b/modules/Admin/Language/fr/Page.php index 6993274cb18004faac17505ccedf9c16df7690cb..32a032ff112d579b6ffaf44d2f97d5c0fb10a316 100644 --- a/modules/Admin/Language/fr/Page.php +++ b/modules/Admin/Language/fr/Page.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Pager.php b/modules/Admin/Language/fr/Pager.php index 4dcbffa71abed817cef2048e0aba1b5f7930380e..8a5dd2e27c1bbe12e8289b3f2677d7d909046184 100644 --- a/modules/Admin/Language/fr/Pager.php +++ b/modules/Admin/Language/fr/Pager.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Person.php b/modules/Admin/Language/fr/Person.php index 241e5dfee0e2e0199db1e16c87f6b2bd527ab94e..874c44f80281a783721a4afb7911e8668c144c3f 100644 --- a/modules/Admin/Language/fr/Person.php +++ b/modules/Admin/Language/fr/Person.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Platforms.php b/modules/Admin/Language/fr/Platforms.php index 0c149715f2d19ede290ddfa91f89d82e0f6b9d25..e66055329d7a57326922d29f38c71d39e84df84f 100644 --- a/modules/Admin/Language/fr/Platforms.php +++ b/modules/Admin/Language/fr/Platforms.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Podcast.php b/modules/Admin/Language/fr/Podcast.php index 01e2aebf6f5abbec1c6a8a505197b59d2722e522..0315c469b209f7e00252fe681c14e5fa79faf10d 100644 --- a/modules/Admin/Language/fr/Podcast.php +++ b/modules/Admin/Language/fr/Podcast.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/PodcastImport.php b/modules/Admin/Language/fr/PodcastImport.php index eca85d4d849b2ef365c919d912c75cdf81fcbac1..837a1bf9e738d679d4810ac546f6d89793a199f7 100644 --- a/modules/Admin/Language/fr/PodcastImport.php +++ b/modules/Admin/Language/fr/PodcastImport.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/PodcastNavigation.php b/modules/Admin/Language/fr/PodcastNavigation.php index af1b62a7824f9d5f95c9c06fa9513b6a843734c2..ddce3a3147d5f7eec253266c960c5da1a957e904 100644 --- a/modules/Admin/Language/fr/PodcastNavigation.php +++ b/modules/Admin/Language/fr/PodcastNavigation.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Settings.php b/modules/Admin/Language/fr/Settings.php index 98bf5b159178a76bc1191d14595615e3dba95442..db0a570e25c3b3a411136d220258151096510f5e 100644 --- a/modules/Admin/Language/fr/Settings.php +++ b/modules/Admin/Language/fr/Settings.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Soundbite.php b/modules/Admin/Language/fr/Soundbite.php index 0445a06180c124b2e2e8d4cac64430cddfeacf64..bb1514931427fd265a75f6a44155cc278d7741d2 100644 --- a/modules/Admin/Language/fr/Soundbite.php +++ b/modules/Admin/Language/fr/Soundbite.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/User.php b/modules/Admin/Language/fr/User.php index ccb262b15853d1e3434875226850a786277c06c8..d5af0047cb0b88e1062db1a87b0fa3228861fec3 100644 --- a/modules/Admin/Language/fr/User.php +++ b/modules/Admin/Language/fr/User.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/Validation.php b/modules/Admin/Language/fr/Validation.php index ec1d4f130d7e91be3c48682874b33b83577f1001..e9989330edde0242aae01f9786e9ca724bba67a7 100644 --- a/modules/Admin/Language/fr/Validation.php +++ b/modules/Admin/Language/fr/Validation.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Admin/Language/fr/VideoClip.php b/modules/Admin/Language/fr/VideoClip.php index a7d1069b24176fcaa3ea30f3929429a056acef26..3a89680a1c0b3c1191473132cf4f806e14244f54 100644 --- a/modules/Admin/Language/fr/VideoClip.php +++ b/modules/Admin/Language/fr/VideoClip.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/AnalyticsTrait.php b/modules/Analytics/AnalyticsTrait.php index 44b5718c4e0179c306aa6465a9d960fddc49fd60..7d1680b4bfda5ecdb40ba2102834502c72e520d0 100644 --- a/modules/Analytics/AnalyticsTrait.php +++ b/modules/Analytics/AnalyticsTrait.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Config/Routes.php b/modules/Analytics/Config/Routes.php index cd43dca19e5e49788eaca8b8d00f57dda7e4e553..1261e9abeb1f1eeba153560dd8df50bf4da14bd6 100644 --- a/modules/Analytics/Config/Routes.php +++ b/modules/Analytics/Config/Routes.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Controllers/AnalyticsController.php b/modules/Analytics/Controllers/AnalyticsController.php index e9ac5078d1f385b93c1c0adeca7257db34a850ec..06dfd1802b59211f3278b763af2aaf67c477c665 100644 --- a/modules/Analytics/Controllers/AnalyticsController.php +++ b/modules/Analytics/Controllers/AnalyticsController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Controllers/EpisodeAnalyticsController.php b/modules/Analytics/Controllers/EpisodeAnalyticsController.php index 3a97bd82963d616198a0656d207ebbd1e002c5bb..5d7ec14024851b7a41c148dcc01df9100cd60ce9 100644 --- a/modules/Analytics/Controllers/EpisodeAnalyticsController.php +++ b/modules/Analytics/Controllers/EpisodeAnalyticsController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Controllers/UnknownUserAgentsController.php b/modules/Analytics/Controllers/UnknownUserAgentsController.php index ca50bcb9185646f3e8a66a2fcff89d96ca318f99..2c4ad0bce2f25aa857709e5fff06889fd67e2083 100644 --- a/modules/Analytics/Controllers/UnknownUserAgentsController.php +++ b/modules/Analytics/Controllers/UnknownUserAgentsController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-120000_add_analytics_podcasts.php b/modules/Analytics/Database/Migrations/2017-12-01-120000_add_analytics_podcasts.php index 8ac6f944f6fe5f672f2e871b655eb1ec37bbe3c3..f921aa245d6813e61e0f5ebe90998c82a37a8381 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-120000_add_analytics_podcasts.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-120000_add_analytics_podcasts.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsPodcasts Creates analytics_podcasts table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-130000_add_analytics_podcasts_by_episode.php b/modules/Analytics/Database/Migrations/2017-12-01-130000_add_analytics_podcasts_by_episode.php index 9343c6c42fb0fb39c3c249143ec6bfa41cf15613..de03aab9e734a0d105ddbb941471dd199508d2d7 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-130000_add_analytics_podcasts_by_episode.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-130000_add_analytics_podcasts_by_episode.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsPodcastsByEpisode Creates analytics_episodes_by_episode table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-130000_add_analytics_podcasts_by_hour.php b/modules/Analytics/Database/Migrations/2017-12-01-130000_add_analytics_podcasts_by_hour.php index 7a8ea647b1ab05c67c89a0874dc3fd4c308da403..d3edf0ce62a16d398f77ac9b3689b081caf71298 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-130000_add_analytics_podcasts_by_hour.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-130000_add_analytics_podcasts_by_hour.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsPodcastsByHour Creates analytics_podcasts_by_hour table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-140000_add_analytics_podcasts_by_player.php b/modules/Analytics/Database/Migrations/2017-12-01-140000_add_analytics_podcasts_by_player.php index a29357a50994625abe5d5d360968ad50f6772a49..e12481eba68946f8b89e44e58d2a5e4e6e0f9c33 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-140000_add_analytics_podcasts_by_player.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-140000_add_analytics_podcasts_by_player.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsPodcastsByPlayer Creates analytics_podcasts_by_player table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-150000_add_analytics_podcasts_by_country.php b/modules/Analytics/Database/Migrations/2017-12-01-150000_add_analytics_podcasts_by_country.php index c202d7f52bdd16c8434749642aae516d61787c26..2290dd035527339a9a247d1704a2a61ee1e77391 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-150000_add_analytics_podcasts_by_country.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-150000_add_analytics_podcasts_by_country.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsPodcastsByCountry Creates analytics_podcasts_by_country table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-160000_add_analytics_podcasts_by_region.php b/modules/Analytics/Database/Migrations/2017-12-01-160000_add_analytics_podcasts_by_region.php index 3c68b50a818c7c00c7ebe3e8ecb1c368dc6b392a..fd9a8bac580e6c2bde4334a34920afa1f3b7e8e7 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-160000_add_analytics_podcasts_by_region.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-160000_add_analytics_podcasts_by_region.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsPodcastsByRegion Creates analytics_podcasts_by_region table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-170000_add_analytics_website_by_browser.php b/modules/Analytics/Database/Migrations/2017-12-01-170000_add_analytics_website_by_browser.php index 72fd99b0eccaea248c4b34ba5d9281f12cbef7b2..4f7ecbc7ef03f382e4a432b6693b97de60e8ef27 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-170000_add_analytics_website_by_browser.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-170000_add_analytics_website_by_browser.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsWebsiteByBrowser Creates analytics_website_by_browser table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-180000_add_analytics_website_by_referer.php b/modules/Analytics/Database/Migrations/2017-12-01-180000_add_analytics_website_by_referer.php index fb75e882a84dc60f8d3ad2be2d57dfc0735474f4..6b6b4db6be282429fd37491195c0b752c9defc7a 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-180000_add_analytics_website_by_referer.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-180000_add_analytics_website_by_referer.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsWebsiteByReferer Creates analytics_website_by_referer table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-190000_add_analytics_website_by_entry_page.php b/modules/Analytics/Database/Migrations/2017-12-01-190000_add_analytics_website_by_entry_page.php index 6817ee7b70d393f4d63d478d5f664aa062e536b8..b15766897b95568881e403afd486055d44ae13aa 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-190000_add_analytics_website_by_entry_page.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-190000_add_analytics_website_by_entry_page.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsWebsiteByEntryPage Creates analytics_website_by_entry_page table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-200000_add_analytics_unknown_useragents.php b/modules/Analytics/Database/Migrations/2017-12-01-200000_add_analytics_unknown_useragents.php index 3c6bb27b232254460ba50396772ba8043511a623..ab1f1eb90d17c4153fa7197af09ce6bcfc4911c4 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-200000_add_analytics_unknown_useragents.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-200000_add_analytics_unknown_useragents.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsUnknownUseragents Creates analytics_unknown_useragents table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_podcasts_procedure.php b/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_podcasts_procedure.php index b69bf127b629761dd5904bb972792c5a55b1b4cf..a1d7867f6567f0214abfc6bd75bfc57b5dcefcc3 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_podcasts_procedure.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_podcasts_procedure.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsPodcastsProcedure Creates analytics_podcasts procedure in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_unknown_useragents_procedure.php b/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_unknown_useragents_procedure.php index 21d6299adc8a094474cad199914b7fca7a56d8b5..13a3003de67813f3cf3a413ab707a19a8e007ba4 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_unknown_useragents_procedure.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_unknown_useragents_procedure.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsUnknownUseragentsProcedure Creates analytics_unknown_useragents procedure in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_website_procedure.php b/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_website_procedure.php index 4eda40cc1dd02d25f4b9f6fca20c3e369224ac88..69c62f467b7488ffcdfe5f4639899b2d3d155d82 100644 --- a/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_website_procedure.php +++ b/modules/Analytics/Database/Migrations/2017-12-01-210000_add_analytics_website_procedure.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddAnalyticsWebsiteProcedure Creates analytics_website stored procedure in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsPodcasts.php b/modules/Analytics/Entities/AnalyticsPodcasts.php index 4d9d31a3fb2487f15bec58f9313f6bbc9ff7b649..5b312210c2f87682c01af31d37026516627c0035 100644 --- a/modules/Analytics/Entities/AnalyticsPodcasts.php +++ b/modules/Analytics/Entities/AnalyticsPodcasts.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcasts Entity for AnalyticsPodcasts * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByCountry.php b/modules/Analytics/Entities/AnalyticsPodcastsByCountry.php index 9af24d83dc679e835cfea41f074894895c83cfad..60f9883d60d5ddc0d6c37cfd02ea912be5384a26 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByCountry.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByCountry.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastsByCountry Entity for AnalyticsPodcastsByCountry * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByEpisode.php b/modules/Analytics/Entities/AnalyticsPodcastsByEpisode.php index e1e627fe28b38f4374aadbe2ca81804f58517d41..cb4614542b886d2a53266bab17c36aebd1e511ca 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByEpisode.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByEpisode.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastsByEpisode Entity for AnalyticsPodcastsByEpisode * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByHour.php b/modules/Analytics/Entities/AnalyticsPodcastsByHour.php index cac57719b46a813e5c16706851d56f9ae68bbd7b..091fc72048d85ca2c5046a27d7fddfb657a59029 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByHour.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByHour.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastsByHour Entity for AnalyticsPodcastsByHour * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByPlayer.php b/modules/Analytics/Entities/AnalyticsPodcastsByPlayer.php index cd11bd3e19dda1592b02e575dc9876b7b5b87391..7c7faf156d3499e04f8562b082eba96d7e962bdb 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByPlayer.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByPlayer.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastsByPlayer Entity for AnalyticsPodcastsByPlayer * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByRegion.php b/modules/Analytics/Entities/AnalyticsPodcastsByRegion.php index 9af222183f79654b628629f7fd390922cc0e684f..d359890e0a8eff8acea64e1d8da35c6711fc46c5 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByRegion.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByRegion.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastsByRegion Entity for AnalyticsPodcastsByRegion * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsPodcastsByService.php b/modules/Analytics/Entities/AnalyticsPodcastsByService.php index 034e8bc33f0562673c183bbe881ed70ce8198fb3..51c19f8a3aec06c818e30991df6447cea57a555a 100644 --- a/modules/Analytics/Entities/AnalyticsPodcastsByService.php +++ b/modules/Analytics/Entities/AnalyticsPodcastsByService.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastsByService Entity for AnalyticsPodcastsByService * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsUnknownUserAgent.php b/modules/Analytics/Entities/AnalyticsUnknownUserAgent.php index 95675809991e7aa82aa03e4a4c722bb651d07987..34e85cae7a2029469b4e99a81855c7ab96215bea 100644 --- a/modules/Analytics/Entities/AnalyticsUnknownUserAgent.php +++ b/modules/Analytics/Entities/AnalyticsUnknownUserAgent.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsUnknownUseragents Entity for AnalyticsUnknownUseragents * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsWebsiteByBrowser.php b/modules/Analytics/Entities/AnalyticsWebsiteByBrowser.php index 7e997bd3b93de1570f348b067e216055e9a4475f..48ce16a1bebd84ed9fe80ed08476ebfc0840bb8a 100644 --- a/modules/Analytics/Entities/AnalyticsWebsiteByBrowser.php +++ b/modules/Analytics/Entities/AnalyticsWebsiteByBrowser.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsWebsiteByBrowser Entity for AnalyticsWebsiteByBrowser * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsWebsiteByEntryPage.php b/modules/Analytics/Entities/AnalyticsWebsiteByEntryPage.php index 8257d86e3e0e28f10c4e9f95dbea2f6aa8bcee3b..f270c6c2280a1d38273af8ae9b970806b969dd12 100644 --- a/modules/Analytics/Entities/AnalyticsWebsiteByEntryPage.php +++ b/modules/Analytics/Entities/AnalyticsWebsiteByEntryPage.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsWebsiteByEntryPage Entity for AnalyticsWebsiteByEntryPage * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Entities/AnalyticsWebsiteByReferer.php b/modules/Analytics/Entities/AnalyticsWebsiteByReferer.php index 3a4f77179d58c834013b3e73f447ee20156b5cd6..ef612549ef5059b97baa5f421867a90820399dda 100644 --- a/modules/Analytics/Entities/AnalyticsWebsiteByReferer.php +++ b/modules/Analytics/Entities/AnalyticsWebsiteByReferer.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class class AnalyticsWebsiteByReferer Entity for AnalyticsWebsiteByReferer * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Helpers/analytics_helper.php b/modules/Analytics/Helpers/analytics_helper.php index d6433d87277805be8a511edc2eec40bc58066d2c..399fe2e0ce23336ea9c84f34dda054fcd6c26e3f 100644 --- a/modules/Analytics/Helpers/analytics_helper.php +++ b/modules/Analytics/Helpers/analytics_helper.php @@ -2,14 +2,13 @@ declare(strict_types=1); +use AdAures\Ipcat\IpDb; use CodeIgniter\Router\Exceptions\RouterException; -use Config\Database; use Config\Services; use GeoIp2\Database\Reader; use Opawg\UserAgentsPhp\UserAgents; -use Podlibre\Ipcat\IpDb; /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsPodcastByCountryModel.php b/modules/Analytics/Models/AnalyticsPodcastByCountryModel.php index 52844b4b15ced5f92b5a81cd0958d20aeb19a723..110706912ebb33de62af31cad03a71e6b0d76417 100644 --- a/modules/Analytics/Models/AnalyticsPodcastByCountryModel.php +++ b/modules/Analytics/Models/AnalyticsPodcastByCountryModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastByCountryModel Model for analytics_podcasts_by_country table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsPodcastByEpisodeModel.php b/modules/Analytics/Models/AnalyticsPodcastByEpisodeModel.php index 8d20ab4b8a1d8ea77b2b85dd9f3860e3e7de493a..fa2e1fd73a724d6d47ba3b24a7094a1f45f4e516 100644 --- a/modules/Analytics/Models/AnalyticsPodcastByEpisodeModel.php +++ b/modules/Analytics/Models/AnalyticsPodcastByEpisodeModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastByEpisodeModel Model for analytics_podcasts_by_episodes table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsPodcastByHourModel.php b/modules/Analytics/Models/AnalyticsPodcastByHourModel.php index e70225f15bd969fa33ce98292a88466614229855..5e627a75b9a6c0fdab144df453c6b7a14adcee55 100644 --- a/modules/Analytics/Models/AnalyticsPodcastByHourModel.php +++ b/modules/Analytics/Models/AnalyticsPodcastByHourModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastByHour Model for analytics_podcasts_by_hour table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsPodcastByPlayerModel.php b/modules/Analytics/Models/AnalyticsPodcastByPlayerModel.php index 8050401190a379d8e64315d94317bb153a492d0b..84e385c0e59d688764047a4a160ba80756ca052b 100644 --- a/modules/Analytics/Models/AnalyticsPodcastByPlayerModel.php +++ b/modules/Analytics/Models/AnalyticsPodcastByPlayerModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastByPlayerModel Model for analytics_podcasts_by_player table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsPodcastByRegionModel.php b/modules/Analytics/Models/AnalyticsPodcastByRegionModel.php index b21f1a5a10a61e711827757fe6fe75c5226ee33c..1258d7ec875b2d8158b0ea8188045286a76d15f1 100644 --- a/modules/Analytics/Models/AnalyticsPodcastByRegionModel.php +++ b/modules/Analytics/Models/AnalyticsPodcastByRegionModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastByRegionModel Model for analytics_podcasts_by_region table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsPodcastByServiceModel.php b/modules/Analytics/Models/AnalyticsPodcastByServiceModel.php index b71ee0ca1370e3fc6bfe773be4bcfb9df19e329b..0742319c29b5bd2b4d31fca30c4776fcb4a9d838 100644 --- a/modules/Analytics/Models/AnalyticsPodcastByServiceModel.php +++ b/modules/Analytics/Models/AnalyticsPodcastByServiceModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastByServiceModel Model for analytics_podcasts_by_player table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsPodcastModel.php b/modules/Analytics/Models/AnalyticsPodcastModel.php index 893d3cf8b293642336e7eb9408692d2bb570f5cc..7bc0c782b2e2d3ab667fb8e3eeffc7511786004c 100644 --- a/modules/Analytics/Models/AnalyticsPodcastModel.php +++ b/modules/Analytics/Models/AnalyticsPodcastModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsPodcastModel Model for analytics_podcasts table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsUnknownUseragentsModel.php b/modules/Analytics/Models/AnalyticsUnknownUseragentsModel.php index ad96ee03360f8accbf866c1054228b4705047b81..21cf11d278ff0c5e1899c89e077d259b66e4aedf 100644 --- a/modules/Analytics/Models/AnalyticsUnknownUseragentsModel.php +++ b/modules/Analytics/Models/AnalyticsUnknownUseragentsModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsUnknownUseragentsModel Model for analytics_unknown_useragents table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsWebsiteByBrowserModel.php b/modules/Analytics/Models/AnalyticsWebsiteByBrowserModel.php index 326aa7f015223e43930785255c0484905f82232f..bd4ee34c49f78359de74088b919100b70430d99a 100644 --- a/modules/Analytics/Models/AnalyticsWebsiteByBrowserModel.php +++ b/modules/Analytics/Models/AnalyticsWebsiteByBrowserModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsWebsiteByBrowserModel Model for analytics_website_by_browser table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsWebsiteByEntryPageModel.php b/modules/Analytics/Models/AnalyticsWebsiteByEntryPageModel.php index 367a965c0fe7eb3288b2690127edb91abb66b176..25b569eb5fc9dbf9edca4677479504903b823372 100644 --- a/modules/Analytics/Models/AnalyticsWebsiteByEntryPageModel.php +++ b/modules/Analytics/Models/AnalyticsWebsiteByEntryPageModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsWebsiteByEntryPageModel Model for analytics_website_by_entry_page table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Analytics/Models/AnalyticsWebsiteByRefererModel.php b/modules/Analytics/Models/AnalyticsWebsiteByRefererModel.php index 8e64d78da306fa3e1bc646c4b624fe0ce78c2633..f7a165d83ec98b2070ff1e5abd6b5b467e575b7c 100644 --- a/modules/Analytics/Models/AnalyticsWebsiteByRefererModel.php +++ b/modules/Analytics/Models/AnalyticsWebsiteByRefererModel.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AnalyticsWebsiteByRefererModel Model for analytics_website_by_referer table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Auth/Controllers/AuthController.php b/modules/Auth/Controllers/AuthController.php index 10c23d7a25c15d701445e037b7f383aee94b1c19..cac50385a22c4a24956917fc5339f6ceaff0ba04 100644 --- a/modules/Auth/Controllers/AuthController.php +++ b/modules/Auth/Controllers/AuthController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Auth/Database/Migrations/2020-07-03-191500_add_podcasts_users.php b/modules/Auth/Database/Migrations/2020-07-03-191500_add_podcasts_users.php index 75810948c8e5491f8dd078178ec8c9bdf773466c..222eead7338b71657ad8cb5c0d85cc66c18816b7 100644 --- a/modules/Auth/Database/Migrations/2020-07-03-191500_add_podcasts_users.php +++ b/modules/Auth/Database/Migrations/2020-07-03-191500_add_podcasts_users.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddPodcastUsers Creates podcast_users table in database * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Auth/Database/Seeds/AuthSeeder.php b/modules/Auth/Database/Seeds/AuthSeeder.php index 2deabcd0f77c290a34293b84778b3438fde1882b..87e2bfcdae702c4ea3a73093b667cd790ea80a61 100644 --- a/modules/Auth/Database/Seeds/AuthSeeder.php +++ b/modules/Auth/Database/Seeds/AuthSeeder.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class PermissionSeeder Inserts permissions * - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Auth/Entities/User.php b/modules/Auth/Entities/User.php index 9858db0bbe4c45817f243d0aecc9c3cd798c7457..37805b20f0b0c781ab735591488621c4bc5c1165 100644 --- a/modules/Auth/Entities/User.php +++ b/modules/Auth/Entities/User.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Activities/AcceptActivity.php b/modules/Fediverse/Activities/AcceptActivity.php index 174460476f01ba60280da99d373b18bdb0b16818..b13063f3c3cfbcd06557e7e729a4d056a7ec31ea 100644 --- a/modules/Fediverse/Activities/AcceptActivity.php +++ b/modules/Fediverse/Activities/AcceptActivity.php @@ -6,7 +6,7 @@ declare(strict_types=1); * Activity objects are specializations of the base Object type that provide information about actions that have either * already occurred, are in the process of occurring, or may occur in the future. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Activities/AnnounceActivity.php b/modules/Fediverse/Activities/AnnounceActivity.php index c67839106636b3075f952bec8842fcc776bef7dc..cb262de4486cf8458e49ad7f31abd31b6b671408 100644 --- a/modules/Fediverse/Activities/AnnounceActivity.php +++ b/modules/Fediverse/Activities/AnnounceActivity.php @@ -6,7 +6,7 @@ declare(strict_types=1); * Activity objects are specializations of the base Object type that provide information about actions that have either * already occurred, are in the process of occurring, or may occur in the future. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Activities/CreateActivity.php b/modules/Fediverse/Activities/CreateActivity.php index 5509263b8b1a3a64551ea4fff866785badf65d9e..1af38fa0d2058d22f8b596dd6f31d956169c9e05 100644 --- a/modules/Fediverse/Activities/CreateActivity.php +++ b/modules/Fediverse/Activities/CreateActivity.php @@ -6,7 +6,7 @@ declare(strict_types=1); * Activity objects are specializations of the base Object type that provide information about actions that have either * already occurred, are in the process of occurring, or may occur in the future. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Activities/DeleteActivity.php b/modules/Fediverse/Activities/DeleteActivity.php index 39aea24715a284b94b4edb45ff02d3224bd1ef2a..e7454bd66c2200ab6c05ab0fc57d3395bff84769 100644 --- a/modules/Fediverse/Activities/DeleteActivity.php +++ b/modules/Fediverse/Activities/DeleteActivity.php @@ -6,7 +6,7 @@ declare(strict_types=1); * Activity objects are specializations of the base Object type that provide information about actions that have either * already occurred, are in the process of occurring, or may occur in the future. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Activities/FollowActivity.php b/modules/Fediverse/Activities/FollowActivity.php index d640771610e58832ab60ac6c299a78cf953b10c7..5bdee93460966a089abe17a65999b22f06f8cd72 100644 --- a/modules/Fediverse/Activities/FollowActivity.php +++ b/modules/Fediverse/Activities/FollowActivity.php @@ -6,7 +6,7 @@ declare(strict_types=1); * Activity objects are specializations of the base Object type that provide information about actions that have either * already occurred, are in the process of occurring, or may occur in the future. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Activities/LikeActivity.php b/modules/Fediverse/Activities/LikeActivity.php index 1fe440462a6d67f868557966d4df803e5188efe4..13e98b4f4d260f2192a7bb7bfa6331312ccdfd38 100644 --- a/modules/Fediverse/Activities/LikeActivity.php +++ b/modules/Fediverse/Activities/LikeActivity.php @@ -6,7 +6,7 @@ declare(strict_types=1); * Activity objects are specializations of the base Object type that provide information about actions that have either * already occurred, are in the process of occurring, or may occur in the future. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Activities/UndoActivity.php b/modules/Fediverse/Activities/UndoActivity.php index 66935b05cfd36001bcb937e90ddb170c4a5a5e79..482aa9ce3d938495af3d1265cb72bd414957a4af 100644 --- a/modules/Fediverse/Activities/UndoActivity.php +++ b/modules/Fediverse/Activities/UndoActivity.php @@ -6,7 +6,7 @@ declare(strict_types=1); * Activity objects are specializations of the base Object type that provide information about actions that have either * already occurred, are in the process of occurring, or may occur in the future. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/ActivityRequest.php b/modules/Fediverse/ActivityRequest.php index aad8d48a8d2f592bf8595db273654cd08cfb6cb1..cfd268abaef86a8b192ca01dbd64ebf8100876da 100644 --- a/modules/Fediverse/ActivityRequest.php +++ b/modules/Fediverse/ActivityRequest.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Config/Fediverse.php b/modules/Fediverse/Config/Fediverse.php index 6b052df7d15ad9306bdc3504666e17141dc1810f..382153a871a6f6c374c7bab48669cfea29aa79d8 100644 --- a/modules/Fediverse/Config/Fediverse.php +++ b/modules/Fediverse/Config/Fediverse.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Config/Routes.php b/modules/Fediverse/Config/Routes.php index 33d70220c4b7eb7bdad9df3ce129f38592d76077..bab82acd0656a52ada1f276b96747e1c6bb2d7a0 100644 --- a/modules/Fediverse/Config/Routes.php +++ b/modules/Fediverse/Config/Routes.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Controllers/ActorController.php b/modules/Fediverse/Controllers/ActorController.php index 329c725df33b4b3995028924f9fea5abb59c9cb2..9e14a7a0a5b166c65ad764d4e906150aa5be292f 100644 --- a/modules/Fediverse/Controllers/ActorController.php +++ b/modules/Fediverse/Controllers/ActorController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Controllers/BlockController.php b/modules/Fediverse/Controllers/BlockController.php index fe3e59068e1dd03103a3dae802ea393e28efada9..088d270e2e2eff72f434928e2c915afd2ba58111 100644 --- a/modules/Fediverse/Controllers/BlockController.php +++ b/modules/Fediverse/Controllers/BlockController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Controllers/NodeInfo2Controller.php b/modules/Fediverse/Controllers/NodeInfo2Controller.php index 2a3c7cb1ef03bea25550251ff28a5789881a9568..f5fbf00ed73380714a7d5c7bb4a0e42da82594a9 100644 --- a/modules/Fediverse/Controllers/NodeInfo2Controller.php +++ b/modules/Fediverse/Controllers/NodeInfo2Controller.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ @@ -32,7 +32,7 @@ class NodeInfo2Controller extends Controller 'baseUrl' => base_url(), 'name' => service('settings') ->get('App.siteName'), - 'software' => 'Castopod Host', + 'software' => 'Castopod', 'version' => CP_VERSION, ], 'protocols' => ['activitypub'], diff --git a/modules/Fediverse/Controllers/PostController.php b/modules/Fediverse/Controllers/PostController.php index 733ee436b55b2e420058b27fb54f75256ea6b7fc..a29d23b5f594123bb1ea67d886732e22ba3d0ef1 100644 --- a/modules/Fediverse/Controllers/PostController.php +++ b/modules/Fediverse/Controllers/PostController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Controllers/SchedulerController.php b/modules/Fediverse/Controllers/SchedulerController.php index d7b93ff63f20b02c3e9ffe93417d28cd9d1ea145..15a02c0bb610564971b51c1d8d18eb6d3f1945e1 100644 --- a/modules/Fediverse/Controllers/SchedulerController.php +++ b/modules/Fediverse/Controllers/SchedulerController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Controllers/WebFingerController.php b/modules/Fediverse/Controllers/WebFingerController.php index bd42a8dc0f1a8f5a393cca67ff33621a65c4daa8..a4e2bf41c2cac5b10f5e9229a3f089c7f6851d2d 100644 --- a/modules/Fediverse/Controllers/WebFingerController.php +++ b/modules/Fediverse/Controllers/WebFingerController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Core/AbstractObject.php b/modules/Fediverse/Core/AbstractObject.php index 4abd2c942a110ee4b242ef2d3bc49e45c5e55974..c7b8780a8b451cba67384f1b3cdc01e38a99cb67 100644 --- a/modules/Fediverse/Core/AbstractObject.php +++ b/modules/Fediverse/Core/AbstractObject.php @@ -7,7 +7,7 @@ declare(strict_types=1); * * Object is a reserved word in php, so the class is named ObjectType. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Core/Activity.php b/modules/Fediverse/Core/Activity.php index c9039a51f5e863d827437646de3cf6c0aabbc557..eb70e07ae2f1d8643e648c65cbdacaa8c51fd644 100644 --- a/modules/Fediverse/Core/Activity.php +++ b/modules/Fediverse/Core/Activity.php @@ -6,7 +6,7 @@ declare(strict_types=1); * Activity objects are specializations of the base Object type that provide information about actions that have either * already occurred, are in the process of occurring, or may occur in the future. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Core/ObjectType.php b/modules/Fediverse/Core/ObjectType.php index 2a10ddd5a733296871e5cd19eb0cdd14c46c747d..f03cfad69ec31b9536596634c39ff92e76f6153d 100644 --- a/modules/Fediverse/Core/ObjectType.php +++ b/modules/Fediverse/Core/ObjectType.php @@ -7,7 +7,7 @@ declare(strict_types=1); * * Object is a reserved word in php, so the class is named ObjectType. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Database/Migrations/2018-01-01-010000_add_actors.php b/modules/Fediverse/Database/Migrations/2018-01-01-010000_add_actors.php index ee629647e022ba3ee11adc9f847614f6d227f2f8..0293c1b9e565965cb138e34721ced020c1109992 100644 --- a/modules/Fediverse/Database/Migrations/2018-01-01-010000_add_actors.php +++ b/modules/Fediverse/Database/Migrations/2018-01-01-010000_add_actors.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddActors Creates actors table in database * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Database/Migrations/2018-01-01-020000_add_posts.php b/modules/Fediverse/Database/Migrations/2018-01-01-020000_add_posts.php index a514c2e6fd351a742692d39d296539635aabf598..e69e6bfa18112ff4d14e24e25e16ab327dab377d 100644 --- a/modules/Fediverse/Database/Migrations/2018-01-01-020000_add_posts.php +++ b/modules/Fediverse/Database/Migrations/2018-01-01-020000_add_posts.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddPosts Creates posts table in database * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_activities.php b/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_activities.php index 417e809d355b908d0a9714d7a82044f8dc395445..eccc8026782a61b67cfdeb605cc5aceb6492641c 100644 --- a/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_activities.php +++ b/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_activities.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddActivities Creates activities table in database * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_favourites.php b/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_favourites.php index d89ad195ffb53e970a142511d88cbfcc7e6e3786..235540470746700a6b2d48f89cd9d36aa11cf7c2 100644 --- a/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_favourites.php +++ b/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_favourites.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddFavourites Creates favourites table in database * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_follows.php b/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_follows.php index 46e3a4bb4b309378d88d030a3af276335f9ea10d..8f7c6f2d42baace3e9439c69b9ce9fc1006e9e26 100644 --- a/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_follows.php +++ b/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_follows.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddFollowers Creates followers table in database * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_preview_cards.php b/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_preview_cards.php index 29b7d9dd0d578fee84911f50d6ae78983becd28b..a2b1d51d7ed2e2ddff1b9137739079a4c92a3dec 100644 --- a/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_preview_cards.php +++ b/modules/Fediverse/Database/Migrations/2018-01-01-100000_add_preview_cards.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddPreviewCards Creates preview_cards table in database * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Database/Migrations/2018-01-01-110000_add_posts_preview_cards.php b/modules/Fediverse/Database/Migrations/2018-01-01-110000_add_posts_preview_cards.php index bbd4b1afe221ec37c42747e20867a465708dbfda..df0eab8d53231bb71406b42c47d48d89a93f1009 100644 --- a/modules/Fediverse/Database/Migrations/2018-01-01-110000_add_posts_preview_cards.php +++ b/modules/Fediverse/Database/Migrations/2018-01-01-110000_add_posts_preview_cards.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddPostsPreviewCards Creates posts_preview_cards table in database * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Database/Migrations/2018-01-01-120000_add_blocked_domains.php b/modules/Fediverse/Database/Migrations/2018-01-01-120000_add_blocked_domains.php index 8243aa85df8877f05273c2547bbdb549b18f81bb..6906866f75bc5f2a06b976b0076d7922e5acfc0c 100644 --- a/modules/Fediverse/Database/Migrations/2018-01-01-120000_add_blocked_domains.php +++ b/modules/Fediverse/Database/Migrations/2018-01-01-120000_add_blocked_domains.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * Class AddBlockedDomains Creates blocked_domains table in database * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Entities/Activity.php b/modules/Fediverse/Entities/Activity.php index 52f23fff342786aff9266765ef1779530df4c48e..3e2107f7fe07cf2c09f7fad904b82289119506e2 100644 --- a/modules/Fediverse/Entities/Activity.php +++ b/modules/Fediverse/Entities/Activity.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Entities/Actor.php b/modules/Fediverse/Entities/Actor.php index 97f53f7480589d6b55ed7e6f62f16b0ef69d752b..260fd3365dc7a65c075f45ef2f5285ac437fcab3 100644 --- a/modules/Fediverse/Entities/Actor.php +++ b/modules/Fediverse/Entities/Actor.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Entities/BlockedDomain.php b/modules/Fediverse/Entities/BlockedDomain.php index af3f721f49ae80527b8607f67ef218ba3c808112..adf0ca8d870cc31dd48989d792c1387be2d47810 100644 --- a/modules/Fediverse/Entities/BlockedDomain.php +++ b/modules/Fediverse/Entities/BlockedDomain.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Entities/Favourite.php b/modules/Fediverse/Entities/Favourite.php index 999af12f6d16b58752bfe47fa19d46bc6fc2909e..2625e6cb7c928c6117fff40d66d62f81fbaa2ab0 100644 --- a/modules/Fediverse/Entities/Favourite.php +++ b/modules/Fediverse/Entities/Favourite.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Entities/Follow.php b/modules/Fediverse/Entities/Follow.php index 46e4023ed33e83f7c549c2a435b2d52492a1abea..2a415e8984a5423d8476b520ee7458123d13b23e 100644 --- a/modules/Fediverse/Entities/Follow.php +++ b/modules/Fediverse/Entities/Follow.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Entities/Post.php b/modules/Fediverse/Entities/Post.php index a54466154ee19189773f6f0a624eae1bc92e4790..45aab89e2a39cd6a90f629c959d91a0fe434a43e 100644 --- a/modules/Fediverse/Entities/Post.php +++ b/modules/Fediverse/Entities/Post.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Entities/PreviewCard.php b/modules/Fediverse/Entities/PreviewCard.php index 36bec4b60ef1f7554b95a9b05ccde05d9aaf9e68..ba8d8b884aff508b05451398711061152d6b4537 100644 --- a/modules/Fediverse/Entities/PreviewCard.php +++ b/modules/Fediverse/Entities/PreviewCard.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Helpers/fediverse_helper.php b/modules/Fediverse/Helpers/fediverse_helper.php index 7a7ec1372ed9cdc19a8d279cafdc87a60ddb1da6..7ef5608939c1265339d3d728eed91c536b2c95ab 100644 --- a/modules/Fediverse/Helpers/fediverse_helper.php +++ b/modules/Fediverse/Helpers/fediverse_helper.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/HttpSignature.php b/modules/Fediverse/HttpSignature.php index b0f489182e6ee299c913ebc8913ab63ea02a22f1..f5d08e43bfe9a54e45598a036bad9c86166b77fa 100644 --- a/modules/Fediverse/HttpSignature.php +++ b/modules/Fediverse/HttpSignature.php @@ -7,7 +7,7 @@ declare(strict_types=1); * * More info: https://github.com/landrok/activitypub * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Models/ActivityModel.php b/modules/Fediverse/Models/ActivityModel.php index 542f81f9f721969f0829ed8045e1286565449f82..23945ca80e938abdda6bce7d991ac1534519c8ec 100644 --- a/modules/Fediverse/Models/ActivityModel.php +++ b/modules/Fediverse/Models/ActivityModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Models/ActorModel.php b/modules/Fediverse/Models/ActorModel.php index 2608df67bfe36bea6a345e3f35a31a5d499e56a0..05eef1d1fb7d90336293f786e6b27cb72377d9c6 100644 --- a/modules/Fediverse/Models/ActorModel.php +++ b/modules/Fediverse/Models/ActorModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Models/BlockedDomainModel.php b/modules/Fediverse/Models/BlockedDomainModel.php index eb7c612597903821437c707ddf54302b8f954152..34e2915ef70c060a11605a8260348c569f5d0df1 100644 --- a/modules/Fediverse/Models/BlockedDomainModel.php +++ b/modules/Fediverse/Models/BlockedDomainModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Models/FavouriteModel.php b/modules/Fediverse/Models/FavouriteModel.php index e08395dc1552434a601b3c23c48c652510e1e3c3..d8ef76de3ccc7fd609a002cbdf510b1f72d0d2b9 100644 --- a/modules/Fediverse/Models/FavouriteModel.php +++ b/modules/Fediverse/Models/FavouriteModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Models/FollowModel.php b/modules/Fediverse/Models/FollowModel.php index 831dd4a8dbd3d769cfddc44ead324ab70ef3380f..4a2bdf8f8f470997cd32ccac66f62ba0ed0fedf6 100644 --- a/modules/Fediverse/Models/FollowModel.php +++ b/modules/Fediverse/Models/FollowModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Models/PostModel.php b/modules/Fediverse/Models/PostModel.php index 41540f80748a7feea0f39e0ef51ee4908bed9e44..4d2e9840e33d4e11aa66edc511efe0458200bc1b 100644 --- a/modules/Fediverse/Models/PostModel.php +++ b/modules/Fediverse/Models/PostModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Models/PreviewCardModel.php b/modules/Fediverse/Models/PreviewCardModel.php index 55f017f1e00fd56648fe5bdc8c472b9ca86bcd61..fb9c028eaa07c3f250f3fc42a4e40ecd9fffdef2 100644 --- a/modules/Fediverse/Models/PreviewCardModel.php +++ b/modules/Fediverse/Models/PreviewCardModel.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Objects/ActorObject.php b/modules/Fediverse/Objects/ActorObject.php index ee1c389030aec4f21911bc4014319261867a86af..99f84f5e2c1a1f8b933e967d33f665381369a3df 100644 --- a/modules/Fediverse/Objects/ActorObject.php +++ b/modules/Fediverse/Objects/ActorObject.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Objects/NoteObject.php b/modules/Fediverse/Objects/NoteObject.php index e9da65d61487ecabccab957caabfca6ceaae441b..70c56f3eb313f5d09e96920a055139a2f4009c7d 100644 --- a/modules/Fediverse/Objects/NoteObject.php +++ b/modules/Fediverse/Objects/NoteObject.php @@ -7,7 +7,7 @@ declare(strict_types=1); * * Object is a reserved word in php, so the class is named ObjectType. * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Objects/OrderedCollectionObject.php b/modules/Fediverse/Objects/OrderedCollectionObject.php index ddfb0cbbe56457b7a971969365227ce850052006..8012d226681dfba2c5ca3e4e6aa54a1e4ab70824 100644 --- a/modules/Fediverse/Objects/OrderedCollectionObject.php +++ b/modules/Fediverse/Objects/OrderedCollectionObject.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * This class defines a Paginated OrderedCollection based on CodeIgniter4 Pager to get the pagination metadata * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Objects/OrderedCollectionPage.php b/modules/Fediverse/Objects/OrderedCollectionPage.php index ae4f939951f3beee3d6f79339e3f74de71c12c1a..c9774d17458ba032945b6672234462ec7423d1c2 100644 --- a/modules/Fediverse/Objects/OrderedCollectionPage.php +++ b/modules/Fediverse/Objects/OrderedCollectionPage.php @@ -5,7 +5,7 @@ declare(strict_types=1); /** * This class defines a Paginated OrderedCollection based on CodeIgniter4 Pager to get the pagination metadata * - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/Objects/TombstoneObject.php b/modules/Fediverse/Objects/TombstoneObject.php index 337424ff5dd4a7d82616163be8f4edb66f2279cb..f86b9c975e3ab539ee1ca5437b33d938f2645843 100644 --- a/modules/Fediverse/Objects/TombstoneObject.php +++ b/modules/Fediverse/Objects/TombstoneObject.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Fediverse/WebFinger.php b/modules/Fediverse/WebFinger.php index 97dd6eae476d28073dd72928450916e9320a539f..69164cdf6aafa73acffc4d8dbfafe686f8bb5510 100644 --- a/modules/Fediverse/WebFinger.php +++ b/modules/Fediverse/WebFinger.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2021 Podlibre + * @copyright 2021 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Install/Controllers/InstallController.php b/modules/Install/Controllers/InstallController.php index 5a65ce4475c05dd9db6d370d455254bba59e3b1e..2068ef566142cd129cb1ee18729e1d308e6a4996 100644 --- a/modules/Install/Controllers/InstallController.php +++ b/modules/Install/Controllers/InstallController.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Install/Language/en/Install.php b/modules/Install/Language/en/Install.php index 33101373b0815c6fe7e960e6f81e71624551233c..1f66ef118fd188c73e37e5009c5cdd22c7fdd3f2 100644 --- a/modules/Install/Language/en/Install.php +++ b/modules/Install/Language/en/Install.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/modules/Install/Language/fr/Install.php b/modules/Install/Language/fr/Install.php index 38cc18a79705b967791b48d972444bec45b5fd71..dca74769168dd8b5260c6762dd6423db85523ea2 100644 --- a/modules/Install/Language/fr/Install.php +++ b/modules/Install/Language/fr/Install.php @@ -3,7 +3,7 @@ declare(strict_types=1); /** - * @copyright 2020 Podlibre + * @copyright 2020 Ad Aures * @license https://www.gnu.org/licenses/agpl-3.0.en.html AGPL3 * @link https://castopod.org/ */ diff --git a/package.json b/package.json index 390e2ceb8cc190f12815c3cc6587a25b0193f089..0067bb9b6bcd82a2410d9c5e8346071fc33482f7 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "license": "AGPL-3.0-or-later", "repository": { "type": "git", - "url": "https://code.podlibre.org/podlibre/castopod-host.git" + "url": "https://code.castopod.org/ad-aures/castopod.git" }, "scripts": { "dev": "vite", diff --git a/public/.htaccess b/public/.htaccess index f2be5c76cb590db1a7baf8dba72424af4122e98b..9fe973824ff09bdb50ecc0b9f8c1edea50230383 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -11,7 +11,7 @@ Options All -Indexes Options +FollowSymlinks RewriteEngine On - # If you installed Castopod Host in a subfolder, you will need to + # If you installed Castopod in a subfolder, you will need to # change the following line to match the subfolder you need. # http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase # RewriteBase / diff --git a/scripts/bundle.sh b/scripts/bundle.sh index f3bed6d83a7f7155f6145d6f187751ececed8810..baf9a84f73a3675b920e73f3bf791c6e6ef22df9 100644 --- a/scripts/bundle.sh +++ b/scripts/bundle.sh @@ -23,5 +23,5 @@ mv ./writable/uploads/GeoLite2-City* ./writable/uploads/GeoLite2-City # install rsync for file transfers apt-get install rsync -y -# create castopo-host folder bundle: uses .rsync-filter (-F) file to copy only needed files -rsync -aF --progress . ./castopod-host +# create castopod folder bundle: uses .rsync-filter (-F) file to copy only needed files +rsync -aF --progress . ./castopod diff --git a/scripts/package.sh b/scripts/package.sh index 89269fe79c6ea51b42e2bf34dc8de46e65157a70..c36c8cf5d666afb3f1b7b3183e333d0100fdae93 100644 --- a/scripts/package.sh +++ b/scripts/package.sh @@ -6,5 +6,5 @@ VERSION=$1 apt-get install zip -y # create zip and tar.gz packages for release upload -zip -r castopod-host-$VERSION.zip castopod-host -tar -zcvf castopod-host-$VERSION.tar.gz castopod-host +zip -r castopod-$VERSION.zip castopod +tar -zcvf castopod-$VERSION.tar.gz castopod