Wrapper function for creating plugins
Los mantenedores suelen responder en 2 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- tooling
Línea de trabajo
Comienza revisando la arquitectura de plugins existente y las discusiones relacionadas en los issues #1061 y #780. El issue propone varios cambios posibles —documentación inicial, criterios de aceptación, aislamiento de errores, exposición de la versión y comprobaciones de compatibilidad—, por lo que el alcance y los criterios de finalización deben acordarse antes de la implementación.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- JavaScript
- Estrellas
- 31.5k
- Forks
- 5.8k
- Merge medio
- 2 d 14 h
- PR fusionados (30 d)
- 5
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de docsifyjs/docsify
-
Query parameter values are truncated at a second equals signPosiblemente ocupada @xu91102 la tomó hace 23 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 2 días
-
Bullet points beginning with inline math: subsequent text formatting not recognised correctlyAbiertobug Triage
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
Los mantenedores suelen responder en 2 días
-
Cached AJAX responses lose status metadata exposed through vm.route.responsePosiblemente ocupada @xu91102 la tomó hace 23 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
In the Edge browser, the character `{docsify-updated}` is not replacedQuizá libre de nuevo @AmanUllah687 la tomó hace 76 días y no hay ningún pull request abierto. Abiertowait for information
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
docsifyjs/docsify#2681 · 11 comentarios ·
Los mantenedores suelen responder en 2 días
-
Nested/Recursive includesAbiertofeature request Triage
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
docsifyjs/docsify#2643 · 5 comentarios ·
Los mantenedores suelen responder en 2 días
Todos los issues de docsifyjs/docsify
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
taskcluster/taskcluster#9284 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Xvesa 24bbp incorrect info?Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Spomky-Labs/pwa-bundle#476 ·
-
[feart] 支持 MiMo 类型模型的关闭思考识别Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
speced/respec#5504 · 1 comentario ·
Los mantenedores suelen responder en 1 día