文章首发于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. 2.多线程-GCD

    1.基本概念 同步任务:在当前线程按顺序执行,不开启新的线程 异步任务:有开新线程的欲望   串行队列:一个一个执行 并行队列:多个任务同时执行 --------------------------- ...

  2. js中进行金额计算parseFloat

    在js中进行以元为单位进行金额计算时 使用parseFloat会产生精度问题var price = 10.99;var quantity = 7;var needPay = parseFloat(pr ...

  3. 中文乱码~Windows 7

    1.安装匹配的中文语言包 2.安装中文字体

  4. Ruby中 Include, Extend, Import, Require 的使用区别

    Include 如下例当你Include一个模块到某个类时, 相当于把模块中定义的方法插入到类中.它允许使用 mixin.它用来 DRY 你的代码, 避免重复.例如, 当你有多个类时, 需要相同的函数 ...

  5. data([key],[value])

    概述 在元素上存放或读取数据,返回jQuery对象. 当参数只有一个key的时候,为读取该jQuery对象对应DOM中存储的key对应的值,值得注意的是,如果浏览器支持HTML5,同样可以读取该DOM ...

  6. [Solved]bcdedit.exe文件权限问题

    最近在项目开发过程中,要使用到C:\Windows\system32\bcdedit.exe 但是在使用过程中,发现了一个问题.在命令行下面使用bcdedit.exe,如果是以管理员方式运行的命令行就 ...

  7. 阿里巴巴矢量图标的使用Demo

    一.html网页的使用步骤: 1. 登录进入阿里巴巴矢量图标库中,选择自己喜欢的图标,放到购物车,http://www.iconfont.cn/plus/manage/index?manage_typ ...

  8. 【转】创建SVN仓库的步骤

    转载地址:http://www.cnblogs.com/ivan0626/p/3783053.html   今天在客户现场联调,两个开发人员之间的代码想用SVN来管理,所以就临时在本地机器上搭建一个S ...

  9. [课程设计]任务进度条&开发日志目录

    任务进度条&开发日志目录 周期 时间 任务 Sprint One   11.14     ●  Scrum团队分工及明确任务1.0    Sprint One   11.15   ●  Scr ...

  10. 20161014001 DataGridView 单元格内容 自动计算

    private void T_Form_CY_CBD_D_CellValueChanged(object sender, DataGridViewCellEventArgs e)        {   ...