文章首发于szhshp的第三边境研究所(szhshp.org), 转载请注明

一个让Markdown-Post的标题拥有Collapse功能的JS

直接把鼠标放在这篇文章下方的header上,点击标题左侧的icon就可以看到效果

Requirements

  1. Bootstrap
  2. 标准的基于Markdown的Jekyll/Hexo Post

Installation

导入JS和CSS就行

建议将JS 放在最后,可能其他相关JS的导入会影响Collapse功能

Setting

BreakId

某些时候文章没有特定的结尾,因此可能需要设定特定的结尾elem来进行判断,否则会将最后一个Header后面的所有内容都collapse掉

例如此处我将友言评论的框作为结尾elem,因此到友言评论之后就不会被collapse

1
var arrBreakId =  new Array("uyan");

Collapsible Header Level

设置Collapsible的Header的Level

默认是H1-H3

1
2
3
var arrCollapsableTag = new Array("H1","H2","H3");
// var excludeTagList = new Array("");
$('h1, h2, h3').each(function(index, el)……

修改的时候也需要将CSS进行一定的修改

1
2
3
4
5
6
h1:hover span.headerbtn,
h2:hover span.headerbtn,
h3:hover span.headerbtn{
    opacity: 1;
    visibility: visible;
}

把H4加到后面就能实现H1-H4实现Collapse

Github & Bug Report

Github: https://github.com/szhielelp/md-post-header-collapse

遇到Bug可以提交到本页面

Markdown渲染后文章标题收缩控件的更多相关文章

  1. Duilib 鼠标在某控件例如按钮上悬停后,对目标控件操作

    其实对WM_MOUSEHOVER消息的处理,因为WindowImplBase基类中对此消息未处理,所以在自己的窗口类中实现: .h文件中加入 LRESULT OnMouseHover( UINT uM ...

  2. winform在设置控件enabled=false后,无法更改控件字体颜色的问题

    项目界面设计的时候,发现在设置button的enabled=false后,原本设计的字体颜色跟预设的不一样,查了一些资料后,在网上看到这样一段代码: [System.Runtime.InteropSe ...

  3. TGraphicControl(自绘就2步,直接自绘自己,不需要调用VCL框架提供的函数重绘所有子控件,也不需要自己来提供PaintWindow函数让管理框架来调用)与TControl关键属性方法速记(Repaint要求父控件执行详细代码来重绘自己,还是直接要求Invalidate无效后Update刷新父控件,就看透明不透明这个属性,因为计算显示的区域有所不同)

    TGraphicControl = class(TControl) private FCanvas: TCanvas; procedure WMPaint(var Message: TWMPaint) ...

  4. ASP.NET MVC加载用户控件后并获取其内控件值或赋值

    有网友看了这篇<ASP.NET MVC加载ASCX之后,并为之赋值>http://www.cnblogs.com/insus/p/3643254.html 之后,问及Insus.NET,不 ...

  5. 02 . Vue入门基础之条件渲染,列表渲染,事件处理器,表单控件绑定

    vue基础 声明式渲染 Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统 Example1 <!DOCTYPE html> <html> ...

  6. 安装SqlServer2008后vs中dev控件消失

    点击红的的

  7. Flutter ExpansionPanel 可展开的收缩控件

    文档:https://api.flutter.dev/flutter/material/ExpansionPanel-class.html demo: import 'package:flutter/ ...

  8. Qt5 UI信号、槽自动连接的控件重名大坑(UI生成的槽函数存在一个隐患,即控件重名。对很复杂的控件,不要在 designer 里做提升,而是等到程序启动后,再动态创建,可以避免很多问题)

    对Qt5稍有熟悉的童鞋都知道信号.槽的自动连接机制.该机制使得qt designer 设计的UI中包含的控件,可以不通过显式connect,直接和cpp中的相应槽相关联.该机制的详细文章见 http: ...

  9. PropertyGrid控件由浅入深(一):文章大纲

    Winform中PropertyGrid控件是一个非常好用的对象属性编辑工具,对于Key-Value形式的数据的处理也是非常的好用. 因为Property控件设计良好,在很小的空间内可以展示很多的内容 ...

随机推荐

  1. Web.config配置详解

    一.认识Web.config文件 Web.config   文件是一个XML文本文件,它用来储存   ASP.NET   Web   应用程序的配置信息(如最常用的设置ASP.NET   Web   ...

  2. MySQL使用规范

    一.    表设计类 强制类规范 1. 创建表的存储引擎必须是InnoDB. 2. 每个表必须显式的指定一个主键. 3. 不允许使用联合主键. 4. 不允许使用外键. 5. 不允许存在和主键重复的索引 ...

  3. vue.js实现添加删除

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. js如何判断获取到的值是否在数组中

    很简单,定义一个数组,判断下就得了. var arrayList = [1,2,3,4]; arrayList .indexOf(2); 返回0 arrayList .indexOf(6); 返回1 ...

  5. Mybatis框架基于映射文件和配置文件的方式,实现增删改查,可以打印日志信息

    首先在lib下导入: 与打印日志信息有关的架包 log4j-1.2.16.jar mybatis架包:mybatis-3.1.1.jar 连接数据库的架包:mysql-connector-java-5 ...

  6. Network Wars-ZOJ2676最小割+01规划

    Time Limit: 5 Seconds Memory Limit: 32768 KB Special Judge Network of Byteland consists of n servers ...

  7. CSS2中基本属性的介绍

    这是继上一篇的选择器的总结,对css2基本属性的小结!

  8. webstorm2016.2 for mac 安装

    文件来自斯蒂芬周: http://www.sdifenzhou.com/?p=6941&jdfwkey=jmnzy 附上详细安装步骤:

  9. libevent源码分析:signal-test例子

    signal-test是libevent自带的一个例子,展示了libevent对于信号事件的处理方法. #include <sys/types.h> #include <event2 ...

  10. Spring获取bean的工具类

    package com.tech.jin.util; import org.springframework.context.ApplicationContext; import org.springf ...