Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docsify规范文档名称,限制只能使用 html和md后缀的标识,这个特征弊大于利 ,内详~~ #340

Closed
wsd1 opened this issue Jan 5, 2018 · 1 comment
Milestone

Comments

@wsd1
Copy link

wsd1 commented Jan 5, 2018

docsify为了规范文档名称,限制只能使用 html和md后缀的标识,这个特征带来不少的麻烦。

现象

现有文档系统后端用 id 来索取md文件,类如:

https://domain.com/api/v1/docs/:docID

形式上很普遍

docsify配置文件,类如:

    window.$docsify = {
      homepage: 'qFgsBeR290',  //<-- 入口文档
      loadSidebar: 'qFMQRlZ624', //<-- 边栏文档
      basePath: 'https://domain.com/api/v1/docs/',  //文档系统的base url
    ....
}

如此配置,我无法使用 docsify,ajax请求期望的是:

GET https://domain.com/api/v1/docs/qFgsBeR290

实际会变为:

GET https://domain.com/api/v1/docs/qFgsBeR290.md

建议修改位置

有个位置,造成了不必要的限制。

https://github.com/QingWei-Li/docsify/blob/a12d3930e4343fa53c6d9686a0c4eb5f1e7bf5aa/src/core/router/history/base.js#L20

function getFileName (path) {
  return /\.(md|html)$/g.test(path)
    ? path
    : /\/$/g.test(path) ? 
        `${path}README.md` :  //试图规范路径名称,会将 ‘/’  转换为  ‘/README.md’,这是合理的
        `${path}.md` // <--- 不必要,请改为`${path}`
}

上述代码,会将所有不是html或md后缀的标识都加上md后缀,这个特征觉得不必要。

不管是配置中 或 是markdown的链接中,大家一般都会在资源名称后主动加上后缀,为没有后缀的资源标识强加md后缀,不合理。

希望能如代码中所示,将最后一个 ${path}.md 改为 ${path}

我在这个位置做了修改,配合 basePath 参数,可以正常使用,非常流畅。

其他的需求

docsify设计非常好,我最近几天都在把玩它,放弃docute的原因就在于docsify的真正的灵活,不仅在于其生命周期设计的插件机制,还是其能直接嵌入vue组件的设计,都让我看到了docsify无与伦比的可扩展性。

好的设计,让我不愿轻易去改动它的代码。为了适配自己后端系统,我尽量的使用插件,但是唯一遇到不能跨越的部分就是这个issue。

另外,之前我还提了一个issue,是关于ajax.js部分的,详见:#336

能够在这个部位让用户自定义一些请求规则(自己构造请求url,自己构造请求header,自己分解response),或者干脆将获取md数据部分放给用户自定义,那就太棒了。

docsify除了能够作为文档前端系统之外,还有很强的潜力能够作为 CMS的前端系统存在,前后端分离的思路在这个实现上是非常好的体现,我就是准备这样用的,请作者考虑下 ~

@QingWei-Li
Copy link
Member

后续开放选项自定义后缀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants