Yassine Doghri
|
fc9ea7597e
|
feat(plugins): add minCastopodVersion to denote incompatibility with previous Castopod versions
|
2024-07-05 16:47:01 +00:00 |
|
Yassine Doghri
|
fee7905935
|
feat(plugins): load and display LICENSE.md file if found in plugin's directory
|
2024-07-05 16:44:35 +00:00 |
|
crowdin
|
1c5fe1fea6
|
chore(i18n): new Crowdin updates
|
2024-07-04 13:54:43 +00:00 |
|
Yassine Doghri
|
a8c81b3fa1
|
fix(manifest): set repository url as required in docstring typings
|
2024-07-04 13:32:44 +00:00 |
|
Yassine Doghri
|
e9c04548de
|
build: update CI to 4.5.3 + php and js dependencies to latest
|
2024-07-04 13:27:10 +00:00 |
|
Yassine Doghri
|
e417d45b14
|
docs(plugins): fill up rest of manifest and hooks reference + creating a plugin
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
cc6495dc7c
|
refactor(plugins): set settings properties as fields objects
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
8f8c61eaae
|
docs(plugins): add experimental plugins section + plugins:create command to create plugin via CLI
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
91dc8c8325
|
test(plugins): add test suite for Plugins service
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
3a900bbab6
|
feat(plugins): add methods to easily retrieve general, podcast and episode settings in hooks methods
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
2035c39fd1
|
feat(plugins): register plugins using Plugin.php file instead of namespace + simplify i18n structure
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
b5bd2db28f
|
build(php): upgrade min php version to 8.3
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
e2a90def88
|
test(plugins): add test cases for loading manifest data
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
014facd5a1
|
refactor(plugins): rename manifest schema
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
80d2c48ee2
|
feat(plugins): add before channel/item hooks to allow podcast/episode data edit when generating rss
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
8ec79097bb
|
feat(plugins): display errors when plugin is invalid instead of crashing
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
45ac2a4be9
|
feat(plugins): handle empty states and long strings in UI
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
b62b483ad9
|
feat(plugins): abstract settings form for general, podcast and episode types
update filter permission logic for replacing router param
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
6f833fc76a
|
feat(plugins): add new field types + validate & cast user data before storing settings
+ refactor form fields components
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
dfb7888aeb
|
feat(plugins): add aside with plugin metadata next to plugin's readme
- enhance plugin card ui
- refactor components to be more consistent
- invert toggler label for better UX
- edit view components regex
|
2024-06-14 15:53:33 +00:00 |
|
Yassine Doghri
|
e6bfdfc390
|
feat(plugins): load README.md file to view plugin's instructions in UI
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
1510e36c0a
|
feat(plugins): load and validate plugin manifest.json
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
b5eddf351f
|
feat(plugins): add json schema definition for plugin manifest
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
896f00661f
|
refactor(plugins): redefine plugins folder structure to vendor/package
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
9a80de4068
|
feat(plugins): uninstall plugins via CLI and admin UI
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
89ac92fb41
|
feat(plugins): add settings page for podcast and episode if defined in the plugin's manifest
- rename options to settings
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
3d8aedf9c3
|
feat(plugins): add options to manifest for building forms and storing plugin settings
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
e80a33bf2a
|
feat(plugins): add siteHead hook to add custom meta tags to public pages
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
27d2a1b0ff
|
feat(plugins): activate / deactivate plugin using settings table
+ load plugin icon
+ add pagination
+ autoload plugins in Config/Autoload.php to handle plugin
i18n
+ style plugin cards
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
587938d2bf
|
feat(plugins): load plugins using file locator service
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
7253e13ac2
|
feat: add Plugins module with base files for plugins architecture
|
2024-06-14 15:53:32 +00:00 |
|
Yassine Doghri
|
eb7ad2f7e1
|
fix(import): rewrite download_file helper to output curl response directly to file
This prevents memory exhaustion when downloading large files
|
2024-06-05 18:46:34 +00:00 |
|
Yassine Doghri
|
d88b041d2c
|
docs: change vitepress with astro's starlight
- change language keys to kebab-case
- add new languages to docs: ca, de, es, sr-latn, zh-hans
|
2024-05-21 16:07:56 +00:00 |
|
crowdin
|
70f56a73ff
|
chore(i18n): new Crowdin updates
|
2024-05-21 11:16:15 +00:00 |
|
Yassine Doghri
|
bb628f355f
|
refactor: add modules folder to phpstan paths + fix errors
|
2024-04-28 16:41:24 +00:00 |
|
Yassine Doghri
|
fc4f982556
|
fix: set owner email visibility when editing podcast
fixes #473
|
2024-04-28 10:16:23 +00:00 |
|
Yassine Doghri
|
51b064d67a
|
refactor(icons): use php-icons library to load and display icons
|
2024-04-26 17:57:25 +00:00 |
|
Yassine Doghri
|
fe73e9fae9
|
fix(platforms): add platforms service + reduce memory consumption when rendering platform cards
|
2024-04-26 10:45:30 +00:00 |
|
Yassine Doghri
|
d4a36f811b
|
chore: update CodeIgniter to 4.5.1 + other dependencies to latest
|
2024-04-26 09:26:22 +00:00 |
|
Yassine Doghri
|
303a900f66
|
refactor(platforms): move platforms data in code instead of database
refs #457
|
2024-04-24 14:47:05 +00:00 |
|
Guy Martin (Dwev)
|
57e459e187
|
feat: support podcast:txt tag with verify use case
closes #468
|
2024-04-24 10:03:20 +00:00 |
|
crowdin
|
499005d798
|
chore(i18n): new Crowdin updates
|
2024-04-17 09:57:14 +00:00 |
|
Guy Martin (Dwev)
|
4d141fceae
|
feat: add transcript display to episode page
+ fix transcript parser
closes #411
|
2024-04-17 09:13:07 +00:00 |
|
crowdin
|
bd205d56ca
|
chore(i18n): new Crowdin updates
|
2024-03-12 09:32:22 +00:00 |
|
Yassine Doghri
|
c24850bda9
|
build(i18n): include Breton and Serbian (Latin) languages to Castopod bundle
|
2024-03-12 09:32:22 +00:00 |
|
crowdin
|
656627050a
|
chore(i18n): new Crowdin updates
|
2024-03-12 09:32:22 +00:00 |
|
Yassine Doghri
|
6289c42b11
|
fix(file-uploads): validate chapters json content + remove permit_empty rule to uploaded files
refs #445
|
2024-03-12 09:32:22 +00:00 |
|
crowdin
|
83b6571a81
|
chore(i18n): new Crowdin updates
|
2024-02-26 11:09:03 +00:00 |
|
crowdin
|
1e208c55ca
|
chore(i18n): new Crowdin updates
|
2024-02-22 10:11:10 +00:00 |
|
Yassine Doghri
|
dfd66beebf
|
fix(import): set episodes as premium if podcast is set as premium by default
|
2024-02-21 12:57:16 +00:00 |
|