From 99b1d551e61adb5cbd014677f151f443b0c6c35f Mon Sep 17 00:00:00 2001 From: hkcomori Date: Thu, 6 Jun 2024 03:58:19 +0900 Subject: Add core extensions: UserCSS, UserJS (#6267) * Copy CustomCSS and CustomJS Original: FreshRSS/Extensions@9f21984 * Rename CustomCSS -> UserCSS * Rename CustomJS -> UserJS * Change metadata The name is used for the directory where the configuration is stored and should not contain spaces. Since the name was changed, I reset the version number and changed to semantic versioning. * Change data directory Changed the location of the configuration file to the user data directory, because it is not `static`. That way, the user's configurations are gathered in the user directory, which makes it easier to backup them. * Edit documentations Remove procedures to install the extension because it is no longer necessary. * Fix wrong variables in the configuration page Remove permission error indication because the storage location is now in the user data directory managed by the application. * Remove the `xExtension-` prefix for core extensions * Set version to 1.0.0 for UserCSS, UserJS * Refactoring * Remove unused variables * Remove version 0.0.1 in Changelog Version 0.0.1 will not be merged, so only version 1.0.0 will remain. * public getFileUrl * Revert more protected * Use entrypoint for extension user path instead of name * Add space to extension name * Add `#[\Override]` * Add explains of User CSS and User JS to docs * Remove README of User CSS and User JS * Add migration code for extension user path --------- Co-authored-by: Alexandre Alapetite --- docs/en/developers/03_Backend/05_Extensions.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'docs/en/developers') diff --git a/docs/en/developers/03_Backend/05_Extensions.md b/docs/en/developers/03_Backend/05_Extensions.md index 164a309ed..f83d8eef7 100644 --- a/docs/en/developers/03_Backend/05_Extensions.md +++ b/docs/en/developers/03_Backend/05_Extensions.md @@ -56,8 +56,11 @@ If you want to write a `HelloWorld` extension, the directory name should be `xEx In the file `freshrss/extensions/xExtension-HelloWorld/extension.php` you need the structure: ```php -class HelloWorldExtension extends Minz_Extension { - public function init() { +final class HelloWorldExtension extends Minz_Extension { + #[\Override] + public function init(): void { + parent::init(); + // your code here } } @@ -136,6 +139,8 @@ final class HelloWorldExtension extends Minz_Extension { #[\Override] public function init(): void { + parent::init(); + $this->registerHook('entry_before_display', [$this, 'renderEntry']); $this->registerHook('check_url_before_add', [self::class, 'checkUrl']); } -- cgit v1.2.3