typora导出html添加目录

typora导出html添加目录

使用方法
首先要从typora导出html文件,之后用记事本编辑器html文件

找到文档最后面,如图:

请添加图片描述

用文字编辑类工具打开sideBar.txt,复制其中所有内容【内容在下面】
请添加图片描述
在如上图的位置插入所复制的内容

打开修改过的html文件后左上角会出现一个按钮

在这里插入图片描述
点击按钮出现标题的大纲视图

在这里插入图片描述
sideBar.txt

<div class="sideBar">
    <div class="sidebarText"></div>
    <div class="hideBtn">显示目录</div>
    <div class="author">Powered by me</div>
</div>

<script>
    // 隐藏按钮
    var hideBtn = document.querySelector(".hideBtn");
    var hideMain = document.querySelector(".sidebarText");
    var author = document.querySelector(".author");

    var isHide = true;
    var hidFun = () => {
   
        if (isHide) {
   
            hideMain.style.display = "none";
            hideBtn.style.left = "0.5rem";
            hideBtn.innerHTML = "显示目录";
            author.style.display = "none";
        } else {
   
            hideMain.style.display = "block";
            let leftLength = hideMain.offsetWidth/16 + 0.5;
            hideBtn.style.left = `${
    leftLength}rem`;
            hideBtn.innerHTML = "隐藏目录";
            author.style.display = "block";
        }
    }
    // hidFun();
    hideBtn.onclick = function () {
   
        isHide = !isHide;
        hidFun();
    }

    var write = document.querySelector("#write").childNodes;

    //渲染子节点
    var list = [];
    write.forEach((item,index)=>{
      
        if (
            item.localName == 'h1' || item.localName == 'h2' || item.localName == 'h3' || item.localName == 'h4' || item.localName == 'h5' || item.localName == 'h6'
            ) {
   
            let title = "";
            for (let i = 1; i < item.childNodes.length; i++) {
   
                //console.log(item);
                //console.log(item.childNodes[i].data);
                //title = title + item.childNodes[i].innerHTML;
                title = title + item.childNodes[i].data;
            }
            list.push({
   
                text: title,
                a: item.childNodes[0].name,
                tag:item.nodeName
            })
        }
        
    })

    list.forEach((item, index) => {
   
        let sideH1 = document.createElement("div");
        sideH1.setAttribute("class", `side`+`${
    item.tag}`);
        sideH1.setAttribute("id", `${
    item.a}`);
        sideH1.innerHTML = item.text;
        hideMain.appendChild(sideH1);
    })

    // 点击事件
    hideMain.onclick = (event) => {
   
        if (event.target.className != "sidebarText") {
   
            let jumpArr = document.querySelector(`a[name=` + `"${
    event.target.id}"` + `]`);
            jumpArr.scrollIntoView();
        }
    }
</script>

<style>   
	body {
    
		margin: 0px 0px 0px 150px;
	}
    
    .sidebarText{
   
        min-width: 16rem;
        max-width: 25rem;
        height: 100vh;
        background-color: #f3f4f4;
        position: fixed;
        left: 0;
        top: 0;
        display: none;
        overflow-x:auto;
        white-space:nowrap;
        padding: 0.8rem 0.8rem 2.5rem 0.8rem;
        
    }

    .hideBtn{
   
        width: 5rem;
        height: 2rem;
        background-color: #ccc;
        position: fixed;
        left: 0.5rem;
        top: 0.8rem;
        text-align: center;
        color: #595959;
        cursor: pointer;
        line-height: 2rem;
        border-radius: 0.5rem;
        user-select:none;
    }

    .author{
   
        min-width: 16rem;
        max-width: 25rem;
        text-align: center;
        position: fixed;
        left: 0;
        bottom: 0.7rem;
        display: none;
        user-select:none;
    }

    .sideH1{
   
        margin: 0.2rem 0 0.2rem 0;
        cursor: pointer;
    }

    .sideH2{
   
        margin: 0.2rem 0 0.2rem 0.6rem;
        cursor: pointer;
    }

    .sideH3{
   
        margin: 0.2rem 0 0.2rem 1.2rem;
        cursor: pointer;
    }

    .sideH4{
   
        margin: 0.2rem 0 0.2rem 1.8rem;
        cursor: pointer;
    }

    .sideH5{
   
        margin: 0.2rem 0 0.2rem 2.4rem;
        cursor: pointer;
    }

    .sideH6{
   
        margin: 0.2rem 0 0.2rem 3rem;
        cursor: pointer;
    }
</style>

相关推荐

  1. Typora导出word

    2024-01-13 10:46:01       55 阅读
  2. 在Ubuntu下使用Typora导出文档

    2024-01-13 10:46:01       41 阅读
  3. html目录

    2024-01-13 10:46:01       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-13 10:46:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-13 10:46:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-13 10:46:01       87 阅读
  4. Python语言-面向对象

    2024-01-13 10:46:01       96 阅读

热门阅读

  1. spring boot 返回文件流

    2024-01-13 10:46:01       49 阅读
  2. 将抖音视频转成MP3并下载

    2024-01-13 10:46:01       110 阅读
  3. linux下,PC机串口通信开发

    2024-01-13 10:46:01       64 阅读
  4. [MariaDB] 数据库统计插件启用和配置

    2024-01-13 10:46:01       56 阅读
  5. 多节点 docker 部署 elastic 集群

    2024-01-13 10:46:01       51 阅读
  6. Ubuntu搭建OpenCV环境(C++)

    2024-01-13 10:46:01       58 阅读
  7. LocalDateTime与时间戳转换的全局配置

    2024-01-13 10:46:01       58 阅读
  8. golang学习-结构体

    2024-01-13 10:46:01       51 阅读