Skip to content

Introduce a new docsify config for markdown enrichment #2476

Open
@Koooooo-7

Description

@Koooooo-7

Feature request

Currently, the docsify config is sticky to each special key rules and losses match via regex and there is no a config block to distinguish the docsify config part nor the markdown attrs, which is hard to maintained.
It doesn't support multi value groups also, and can not extend new functions with flexibilities.
So we proposal to introduce a new config system of docsify regarding attributes and multiple values.

Problem or desire

Such as the class configs, it only allows to specific the single class instead of a value group.

Proposal

For the values group supporting and easy to parse the configs.
There has two possible solution.

  • Colon Style
    [Text](page.md ':[foo target=_blank class=bar baz] This is the title')
  • Bracket Style
    [Text](page.md '{{ foo: true, target: _blank, class: bar baz }} This is the title')

For the unified configs, there may have some breaking change for current config, need to resort current behaviors first.

Current possible configs:

  • Single Key
    ':ignore title'

  • Single Key value
    ':type=code'
    ':size=widthXheight'

  • Single Key value with multi following key value.
    ':type=iframe width=100% height=400px'.

  • Single Key value not in a quoto block
    # Heading1 :id=customId

more details see #2472

Implementation

For the both suitable and comfortable for docsify and users.
Temperately,we prefer to the single Bracket Style rules. and we also support the both configs rules (< v5 and v5+) in v5 also.

By default, we will handle the two configs in docsify itself. and also consider introduce a userNewConfig = true/false (default ture) option for the manually disable in some reason.

NOTE: both the useNewConfig option and the config rules (< v5) will be removed in v6.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions