Wrapper function for creating plugins
Les mainteneurs répondent en général sous 8 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- À clarifier
- Activité
- À l'abandon
- Stack technique
- javascript
- Domaine
- tooling
Piste de recherche
Commencez par examiner l’architecture de plugins existante et les discussions associées dans les issues #1061 et #780. L’issue propose plusieurs changements possibles — documentation de démarrage, critères d’acceptation, isolation des erreurs, exposition de la version et vérifications de compatibilité — ; le périmètre et les critères d’achèvement doivent donc être convenus avant l’implémentation.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Another v5 feature we should consider is tweaking the docisfy plugin architecture to be more resilient. This warrants further discussion, but here are two ideas worth considering:
-
Provide a docisfy plugin "starter" or a sample repo to use as a starting point.
This would make life much easier for the community and help enforce acceptance criters (below).
-
Define acceptance criteria for all docsify plugins.
This is critical for docsify because unlike static sites, a docsify-powered site requires Javascript to render content. If a docsify plugin throws an error, it is almost certain that site functionality will be broken.
Here are a few idea for acceptance criteria:
- Specify the version of ECMAScript plugin developers should target. For docsify v4.x, ES5 is the required target to ensure IE11 support. This means dev must either author their plugin with ES5 syntax or transpile their code from ES6+ to ES5. For docsify v5, we'll have to look at our supported browser list to determine the appropriate ECMAScript version to target.
- Plugin code must be wrapped in a
try { ... } catch(err) { ...}statement to prevent a plugin error from breaking a site. - Plugins must make their version number accessible to other plugins for interoperability. Docsify addons like docsify-themeable and docsify-tabs already do this by adding an object to the global
$doscifyobject ($docsify.tabsand$docsify.themeable) with avaluekey and value. The goal is to allow both docsify and other plugins to determine which plugins are active and, if necessary, modify their behavior as needed. - Plugins must specify a compatible docsify version to prevent breaking sites when a new version of docsify is released. For example, consider a v4 site that is configured to load the latest version of docsify and multiple plugins. If docsify v5 is released using the same URLs, the v4 site will automatically be "upgraded" to v5 but will likely break as a result of trying to load v4 plugins. This safeguard would allow docsify (or the plugin itself) to determine if it is safe to run the plugin before doing so, which would at least allow the site to load and function properly (albeit without incompatible plugin functionality). This wouldn't be necessary if users locked their docsify, theme, and plugin CDN URLs to a major version (see #780), but since they don't a safeguard like this is necessary.
Just some ideas to get started.
Originally posted by @jhildenbiddle in https://github.com/docsifyjs/docsify/issues/1061#issuecomment-641731543
- Langage dominant
- JavaScript
- Étoiles
- 31.5k
- Forks
- 5.8k
- Merge moyen
- 7 j 18 h
- PR mergées (30 j)
- 9
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de docsifyjs/docsify
-
Query parameter values are truncated at a second equals signPeut-être pris @xu91102 l’a pris il y a 24 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 8 jours
-
Bullet points beginning with inline math: subsequent text formatting not recognised correctlyOuvertebug Triage
Difficulté 3/5 1-2 jours Accessibilité débutants 66/100
Les mainteneurs répondent en général sous 8 jours
-
Cached AJAX responses lose status metadata exposed through vm.route.responsePeut-être pris @xu91102 l’a pris il y a 24 jours. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 8 jours
-
In the Edge browser, the character `{docsify-updated}` is not replacedPeut-être à nouveau libre @AmanUllah687 l’a pris il y a 77 jours, et aucune pull request n’est ouverte. Ouvertewait for information
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
docsifyjs/docsify#2681 · 11 commentaires ·
Les mainteneurs répondent en général sous 8 jours
-
Nested/Recursive includesOuvertefeature request Triage
Difficulté 4/5 3-5 jours Accessibilité débutants 38/100
docsifyjs/docsify#2643 · 5 commentaires ·
Les mainteneurs répondent en général sous 8 jours
Toutes les issues de docsifyjs/docsify
Issues similaires
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 83/100
module-federation/core#5205 ·
Les mainteneurs répondent en général sous 1 jour
-
affects:v0.5.2 area:frontend audit:ui-ux-2026-10 bug priority:P2
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
berntpopp/kidney-genetics-db#326 ·
Les mainteneurs répondent en général sous 1 jour
-
task
Difficulté 1/5 Moins d'une heure Accessibilité débutants 83/100
TAMULib/fw-registry#550 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
-
NWCWalletService.subscribe: response is never published if the handler finishes after unsubscribe (regression in 8.1.0)Peut-être pris @ajaysehwal l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100