Markdown 标记为html的可折叠标题

Markdown 标记为html的可折叠标题,markdown,wiki,collapse,fold,Markdown,Wiki,Collapse,Fold,我们的内部git lab wiki与Markdown一起工作。我做了几篇文章的摘要,想把它们发布在我们的维基上,这样如果我点击标题,它就会展开,文本就会变得可见,基本上就像这样 Markdown有这种展开/折叠/折叠功能吗?简短回答:没有,Markdown没有直接提供这样的功能,但通过一些工作,您可能能够构建出一些有效的功能 对于这样的功能,您需要一些CSS和/或JavaScript来控制动画等。虽然您可能能够在任何HTML上使用这样的功能,但在标记输出上并不特别容易 理想情况下,每个可折叠部分

我们的内部git lab wiki与Markdown一起工作。我做了几篇文章的摘要,想把它们发布在我们的维基上,这样如果我点击标题,它就会展开,文本就会变得可见,基本上就像这样


Markdown有这种展开/折叠/折叠功能吗?

简短回答:没有,Markdown没有直接提供这样的功能,但通过一些工作,您可能能够构建出一些有效的功能

对于这样的功能,您需要一些CSS和/或JavaScript来控制动画等。虽然您可能能够在任何HTML上使用这样的功能,但在标记输出上并不特别容易

理想情况下,每个可折叠部分将包裹在一个div中:

<div id="section1">
  <h1>Section 1</h1>
  <p>Section 1 content</p>
  <div id="section1-1">
    <h2>Section1-1</h2>
    <p>section 1-1 content</p>
  </div>
    <div id="section1-2">
    <h2>Section1-2</h2>
    <p>section 1-2 content</p>
  </div>
</div>

第一节
第一节内容

第1-1节 第1-1节内容

第1-2节 第1-2节内容

然后可以使用一些CSS/JavaScript折叠各个部分。然而,降价并没有节的概念。与上述内容不同,Markdown将为您提供以下简单文档:

<h1>Section 1</h1>
<p>Section 1 content</p>
<h2>Section1-1</h2>
<p>section 1-1 content</p>
<h2>Section1-2</h2>
<p>section 1-2 content</p>
第1节
第一节内容

第1-1节 第1-1节内容

第1-2节 第1-2节内容

解决方案需要遍历整个文档,将其分解为不同的部分,并将每个部分包装在div中。您可以将其作为Python标记解析器的扩展找到。然而,有了关于您工作环境的任何信息,要为您指出正确的方向就有点困难了。此外,Stackoverflow不应该是一个工具推荐站点。然而,通过观察其他人是如何解决问题的(在我提到的例子中),你应该能够找到类似的解决方案

一旦正确地包装了各个部分,那么使用一点JavaScript来折叠/折叠各个部分就可以处理其余部分了。然而,这是一个单独的问题,在这里已经被多次询问和回答。请参阅侧栏上列出的一些“相关”问题,以了解该部分问题的解决方案

甚至有可能存在一些JavaScript库,这些库将接受普通HTML内容,完成部分包装,并实现折叠/折叠功能。但是,这样的库可能有点重,会减慢您的站点速度,因此请继续使用阳离子。

尝试:

<details>
  <summary>Your header here! (Click to expand)</summary>
  Your content here...
  > markup like blockquote's should even work on github!
  more content here...
</details>

你的头球在这里!(单击展开)
你的内容在这里。。。
>像blockquote这样的标记甚至应该在github上工作!
更多内容在这里。。。
您可以在这里尝试这种方法:

你的头球在这里!(单击展开)
你的内容在这里
(仅在支持的情况下使用标记)
更多内容在这里

存在一个github回购协议,它可以满足您的需求:

一个jquery工具,用于在markdown post中使标题可折叠

这是一个文档,你可以看看这个插件的功能

基本思想是在每次单击标题时反转标题的所有子元素的显示/隐藏状态

let collapse=函数(headerlem){
让isShow=headerlem.hasClass('headerCollapsed')?true:false;
国际单项体育联合会(isShow){
//崩溃
HeaderRelem.removeClass(“headerCollapsed”);
}否则{
headerlem.addClass(“headerCollapsed”);
}
/*折叠所有标题的子项*/
headerCollapse(headerlem,headerlem.next(),isShow);
}
让headerCollapse=函数(headerElem、currentElem、isShow){
/*我删除结束条件*/
国际单项体育联合会(isShow){
当前元素显示(400);
/*重置状态*/
currentElem.removeClass('headerCollapsed')
}否则{
当前元素隐藏(400);
}
headerCollapse(headerElem,currentElem.next(),isShow)
}
}

太好了,谢谢你的回答!通常我使用R来编写标记文件,然后我只需将.md文件上传到git lab存储库。但在这种情况下,当我在wiki中发表文章时,我只需在浏览器中工作并保存页面。想知道4.5年后的今天,是否有一种简单的方法可以将所有标题转换为html中的折叠部分?:)在Chrome和iOS Safari上对我有效,但在Firefox或IE上不行。对我来说已经足够好了,真的。