Wrapper function for creating plugins
Maintainer thường phản hồi trong vòng 8 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript
- Lĩnh vực
- tooling
Hướng nghiên cứu
Bắt đầu bằng việc xem xét kiến trúc plugin hiện có và các cuộc thảo luận liên quan trong các issue #1061 và #780. Issue này đề xuất một số thay đổi có thể thực hiện — tài liệu hướng dẫn bắt đầu, tiêu chí nghiệm thu, cô lập lỗi, hiển thị phiên bản và kiểm tra khả năng tương thích — vì vậy cần thống nhất về phạm vi và tiêu chí hoàn thành trước khi triển khai.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- JavaScript
- Star
- 31.6k
- Fork
- 5.8k
- Merge trung bình
- 7 ngày 18 giờ
- Pull request đã merge (30 ngày)
- 9
Chuẩn bị môi trường
- Có Dockerfile hoặc tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của docsifyjs/docsify
-
Query parameter values are truncated at a second equals signCó thể đã có người làm @xu91102 đã nhận 24 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 8 ngày
-
Bullet points beginning with inline math: subsequent text formatting not recognised correctlyĐang mởbug Triage
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 66/100
docsifyjs/docsify#2839 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 8 ngày
-
Cached AJAX responses lose status metadata exposed through vm.route.responseCó thể đã có người làm @xu91102 đã nhận 24 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 8 ngày
-
In the Edge browser, the character `{docsify-updated}` is not replacedCó thể làm lại được @AmanUllah687 đã nhận 77 ngày trước và không có pull request nào đang mở. Đang mởwait for information
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
docsifyjs/docsify#2681 · 11 bình luận ·
Maintainer thường phản hồi trong vòng 8 ngày
-
Nested/Recursive includesĐang mởfeature request Triage
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
docsifyjs/docsify#2643 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 8 ngày
Tất cả issue của docsifyjs/docsify
Issue tương tự
-
release-followup
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Workspace secrets/constants containing "$" are corrupted when resolved in data source optionsĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: right sidebar
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
zulip/zulip#40449 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
cleanup
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
uclaacm/membership-portal-ui#409 ·
Maintainer thường phản hồi trong vòng 1 ngày