Wrapper function for creating plugins
Mantenedores costumam responder em até 8 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- javascript
- Domínio
- tooling
Direção de pesquisa
Comece revisando a arquitetura de plugins existente e as discussões relacionadas nas issues #1061 e #780. A issue propõe várias mudanças possíveis — documentação inicial, critérios de aceitação, isolamento de erros, exposição da versão e verificações de compatibilidade —, portanto o escopo e os critérios de conclusão precisam ser acordados antes da implementação.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- JavaScript
- Estrelas
- 31.6k
- Forks
- 5.8k
- Merge médio
- 7d 18h
- PRs com merge (30d)
- 9
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de docsifyjs/docsify
-
Query parameter values are truncated at a second equals signTalvez já em andamento @xu91102 assumiu há 25 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 8 dias
-
Bullet points beginning with inline math: subsequent text formatting not recognised correctlyAbertabug Triage
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 66/100
docsifyjs/docsify#2839 · 1 comentário ·
Mantenedores costumam responder em até 8 dias
-
Cached AJAX responses lose status metadata exposed through vm.route.responseTalvez já em andamento @xu91102 assumiu há 25 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 8 dias
-
In the Edge browser, the character `{docsify-updated}` is not replacedTalvez livre de novo @AmanUllah687 assumiu há 78 dias e não há nenhum pull request aberto. Abertawait for information
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
docsifyjs/docsify#2681 · 11 comentários ·
Mantenedores costumam responder em até 8 dias
-
Nested/Recursive includesAbertafeature request Triage
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
docsifyjs/docsify#2643 · 5 comentários ·
Mantenedores costumam responder em até 8 dias
Todas as issues de docsifyjs/docsify
Issues semelhantes
-
⚠ needs intervention document not found
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
OpenTermsArchive/contrib-declarations#4151 ·
Mantenedores costumam responder em até 1 dia
-
Correction: IMOU Cruiser 4MPAbertacorrection via-web
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
ch-bas/cctv-camera-database#416 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
jeremysball/taskferry#622 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
coollabsio/openclaw#114 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
bug effort:medium model:light tests
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia