PieFed now includes a simple plugin engine so third parties can extend PieFed functionality without adding their code to the main PieFed project. It’s pretty simple and bare-bones at the moment and is more of a ‘tech preview’ stage rather than something to get too serious about.
Each plugin is a directory under app/plugins and must include a init.py file. In that file there must be a plugin_info() function. Plugins can have their code executed by adding a @hook decorator to a function, as in the image above.
The example plugin that comes with PieFed just prints some debugging messages to the console before and after a post is created but the sky is the limit. Eventually plugins could modify data at any stage of the content lifecycle, react to people joining or leaving a community, votes, send email, etc etc.
What I’ve built today is just the beginning and I’m hoping other contributors will take this framework and add more hooks and incorporate it into the rest of the system.
Wow ! Awesome ! I hope more and more people will be interested :)
That’s pretty good!
whoa, nice! :D
Would this enable something like Lemmy Webhook or other kinds of automod plugins then if I am understanding this right?
This seems to be intended for instance owners rather than users of the instance. Though you definitely could send that
post_data
to some webhook.
This is a great direction to go
@rimu Looking forward to checking this out. Piefed is amazing, thank you for making it!
In the future i think there should be a nice store with reviews like wordpress plugins or discourse plugins .
Having a great UX which will motivate people to extend piefed (like firefox addons website) can be really a killer feature .
The link for example plugin gives me broken github link :)