diff --git a/packages/web/src/plugins/PluginsList.svelte b/packages/web/src/plugins/PluginsList.svelte index b27d889ef..6e2161ec2 100644 --- a/packages/web/src/plugins/PluginsList.svelte +++ b/packages/web/src/plugins/PluginsList.svelte @@ -30,7 +30,7 @@ {/if}
- {packageManifest.description} + {(packageManifest.description?.indexOf('[![') >= 0 ? null : packageManifest.description) || '(No description)'}
{extractPluginAuthor(packageManifest)} diff --git a/packages/web/src/plugins/manifestExtractors.ts b/packages/web/src/plugins/manifestExtractors.ts index b993f457c..b5545495f 100644 --- a/packages/web/src/plugins/manifestExtractors.ts +++ b/packages/web/src/plugins/manifestExtractors.ts @@ -21,5 +21,21 @@ export function extractPluginIcon(packageManifest) { } export function extractPluginAuthor(packageManifest) { - return _.isPlainObject(packageManifest.author) ? packageManifest.author.name : packageManifest.author; + if (_.isPlainObject(packageManifest.author) && packageManifest.author.name) { + return packageManifest.author.name; + } + if (packageManifest.author) { + return packageManifest.author; + } + if (_.isPlainObject(packageManifest.publisher) && packageManifest.publisher.username) { + return packageManifest.publisher.username; + } + if ( + packageManifest.maintainers && + _.isPlainObject(packageManifest.maintainers[0]) && + packageManifest.maintainers[0].username + ) { + return packageManifest.maintainers[0].username; + } + return '(Unknown author)'; }