docsifyjs / docsifyjs/docsify

Encapsulating Docsify

未关闭
#2,135 6 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
JavaScript
星标
31.5k
派生
5.8k
平均合并
9 天 8 小时
30 天内合并 PR
2

描述

We need allow the ability to fully encapsulate Docsify features and state.

With encapsulation, it will be possible later on to mount any number of `Docsify` instances anywhere in a web site, as well as become possible to wrap `Docsify` as a React/Vue/Svelte/etc component that can be used in any framework.

Encapsulation changes:

- [ ] progress bar currently appends to body. There should be an option to provide the location where it should be appended. It can default to body for backwards compatibility.
- [ ] Routing: it currently assumes control of the address bar. For backwards compatibility, this can be the default.
- [ ] We need an option to make it route _virtually_, without touching the address bar, for cases when that is desirable
- [ ] Perhaps add the ability to listen to a `Docsify` instance's route changes, so that they can be mapped to the address bar in a custom way. Also allow setting Docsify's route from outside, so that a website managing multiple instances can "paginate" Docsify manually.
- [ ] Some Docsify state is at the module level (singleton), including the aforementioned progress bar, but also including state variables. We should bring state into the `Docsify` class. Some of this this in #2104 in the items where we're bringing some functions into the classes as private methods.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。