40 Star 169 Fork 41

LunarSF / Lunar Markdown Editor

 / 详情

完善对方块区域的标识符锚点支持。

Done
owner
Opened this issue  
2018-11-07 08:47

LME 中的 自定义折叠区 和 方块区域 是用于在视觉上对文档中的某一小段内容进行区隔的。

  • 自定义折叠区默认情况下可以通过点击标头文本和标尾文本来实现 折叠 / 展开。
  • 方块区域不能 折叠 / 展开。

此次主要调整

【1】微调 方块区域 的语法高亮效果,使之更易看出其头尾文本会被忽略;

【2】使 方块区域标头文本支持添加一个形如“(@anchor_id)”的锚,并将 id 值传递给 Html 中由方块区域编译而成的 table 元素——这样,就可以利用“<:anchor_id:>”的形式来方便地创建引用链接了;

【3】使 Markdown 文本格式化功能支持对方块区域标头、标尾文本的格式化。

之前要跳转到某个方块区域,可以手工在方块区域的头部添加一个“锚”。现在可以直接将一个简化版的“锚”写到方块区域标头文本末尾。形如:

[ 方块标头文本 (@anchor_id)
    方块内容
] 方块标尾文本

注意:不能在方块的标头文本、标尾文本中使用正常的“锚”,因为会和方块本身冲突。
“方块标头文本”和“方块标尾文本”这几个字在编译为 Html 时会被忽略掉。
“锚”的简写法目前只支持写在方块区域标头文本中,将来应会推广。

这样写之后,由方块编译生成的 Html <table> 元素本身的 id 是“anchor_id”。——这时就可以方便地引用了。


以下没有耐心可以不看:

之前,没有考虑 通过链接跳转到自定义折叠区或方块区域 的情况——如果用户要实现这个功能,可以通过在自定义折叠区的 开始标记 的前一行添加一个 来实现(方块区域也是如此)。例如下面这样写:

[锚1](@r "指向自定义折叠区的锚")
{ 自定义折叠区标头文本
自定义折叠区内容文本
} 自定义折叠区标尾文本

[锚2](@s "指向方块区域的锚")
[ 方块标头文本(会被忽略)
方块内容文本
] 方块标尾文本(会被忽略)

然后,如果在当前文档的其它位置写上类似下面的文本就可以引用了:

引用自定义折叠区<:r:>、引用方块区域<:s:>。

但这样会使文档显得稍有些乱,而且“锚1”、“锚2”这些文本有些多余。

多余的锚字面值

引用链接在 Html 中则呈现为:

对锚1和锚2的引用

这时候,可以去除“锚1”、“锚2”字样,写成:

[锚1](@r "指向自定义折叠区的锚")
{ 自定义折叠区标头文本
自定义折叠区内容文本
} 自定义折叠区标尾文本

[锚2](@s "指向方块区域的锚")
[ 方块标头文本(会被忽略)
方块内容文本
] 方块标尾文本(会被忽略)

这样编译为 Html 后的效果是:

不要锚字面值的效果

其实还可以直接连 字面值2 都去掉——这时候编译出来引用就是 ID:

没有字面值的锚

Comments (0)

LunarSF createdtask
LunarSF added
 
enhancement
label
LunarSF set assignee to LunarSF
LunarSF set branch to
LunarSF set start time to 2018-11-07
LunarSF set deadline to 2018-11-08
LunarSF changed title
LunarSF changed description
LunarSF changed description
LunarSF changed description
LunarSF changed description
LunarSF changed description
LunarSF changed description
LunarSF changed issue state from 待办的 to 进行中
LunarSF changed deadline from 2018-11-08 to 2018-11-22
LunarSF changed issue state from 进行中 to 已完成
Expand operation logs

Sign in to comment

Status
Assignees
Milestones
Pull Requests
Successfully merging a pull request will close this issue.
Branches
Planed to start   -   Planed to end
-
Top level
Priority
参与者(1)
C#
1
https://gitee.com/lunarsf/Lunar-Markdown-Editor.git
git@gitee.com:lunarsf/Lunar-Markdown-Editor.git
lunarsf
Lunar-Markdown-Editor
Lunar Markdown Editor

Search