outline.js - 自动生成文章导读导航 nodejs


https://github.com/yaohaixiao/outline.js

https://gitee.com/yaohaixiao/outline.js


-sticky 定位:

https://yaohaixiao.github.io/outline.js/examples/sticky.html

-fixed 定位(不显示按钮工具栏):

https://yaohaixiao.github.io/outline.js/examples/fixed.html

-flex 布局(超长文章):

https://yaohaixiao.github.io/outline.js/examples/flex.html


---

<!DOCTYPE html>
<!--[if IE 8]>
<html class="ie8 no-js"> <![endif]-->
<!--[if IE 9]>
<html class="ie9 no-js"> <![endif]-->
<!--[if !IE]><!-->
<html>
<!--<![endif]-->
<!-- BEGIN HEAD -->
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="webkit" name="renderer">
        <title>outline.js - 自动生成文章导读(Table of Contents)导航的 JavaScript 工具
        </title>
<link href="https://static.htmltoo.com/master/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<script src="https://static.htmltoo.com/master/jquery/main/jquery.min.js"></script>
        <link href="https://static.htmltoo.com/master/static/outline/outline.min.css" rel="stylesheet">
    </head>
    <body>
        <div>
            <div class="row position-fixed">
                <div class="d-flex align-content-center flex-wrap" ><h1>Outline.js Outline.js Outline.js Outline.js  Outline.jsOutline.jsOutline.jsOutline.jsOutline.jsOutline.jsOutline.jsOutline.js</h1></div>
            </div>
            <div>
                <div class="h-auto my-5 col  col-lg-9 main" id="main">
                    <p>outline.js - 自动生成文章导读(Table of Contents)导航的 JavaScript 工具。会自动分析文章中的标题( h1~h6 )标签,并生成文章段落层次结构的导读导航菜单。
                    </p><h2>创作灵感</h2>
                    <p>AnchorJS 是 outline.js 的创作灵感来源。既然 AnchorJS 可创建标题的链接,为什么不直接给文章生成一个文章导读(Table of Contents)导航呢? 于是就有了outline.js。
                    </p><h2>特点</h2>
                    <ul>
                        <li>原生 JavaScript 编写,无需任何依赖;
                        </li>
                        <li>支持 UMD 规范;
                        </li>
                        <li>支持 E6 模块,提供功能独立的 ES6 模块;
                        <ul>
                            <li>Anchors 模块:类似 AnchorJS 基础功能模块,自动分析段落层级;
                            </li>
                            <li>Drawer 模块:独立的侧滑窗口模块;
                            </li>
                            <li>Chapters 模块:独立的导航菜单模块;
                            </li>
                            <li>Toolbar 模块:独立的固定定位的工具栏模块;
                            </li>
                        </ul>
                        </li>
                        <li>拥有 AnchorJS 基础功能;
                        </li>
                        <li>支持中文和英文标题文字生成ID;
                        </li>
                        <li>支持生成独立的侧边栏导航菜单;
                        </li>
                        <li>支持直接在文章中生成文章导读导航;
                        </li>
                        <li>自动分析标题关系,生成段落层级索引值;
                        </li>
                        <li>可以作为 jQuery 插件使用;
                        </li>
                        <li>界面简洁大方;
                        </li>
                        <li>配置灵活,丰富,让你随心所欲掌控 outline.js;
                        </li>
                    </ul><h2>安装说明</h2>
                    <p>outline.js 提供多种安装方式的支持: npm 安装、加载 CDN 资源、以及本地资源调用。
                    </p>
                    </p><h2>特点</h2>
                    <ul>
                        <li>原生 JavaScript 编写,无需任何依赖;
                        </li>
                        <li>支持 UMD 规范;
                        </li>
                        <li>支持 E6 模块,提供功能独立的 ES6 模块;
                        <ul>
                            <li>Anchors 模块:类似 AnchorJS 基础功能模块,自动分析段落层级;
                            </li>
                            <li>Drawer 模块:独立的侧滑窗口模块;
                            </li>
                            <li>Chapters 模块:独立的导航菜单模块;
                            </li>
                            <li>Toolbar 模块:独立的固定定位的工具栏模块;
                            </li>
                        </ul>
                        </li>
                        <li>拥有 AnchorJS 基础功能;
                        </li>
                        <li>支持中文和英文标题文字生成ID;
                        </li>
                        <li>支持生成独立的侧边栏导航菜单;
                        </li>
                        <li>支持直接在文章中生成文章导读导航;
                        </li>
                        <li>自动分析标题关系,生成段落层级索引值;
                        </li>
                        <li>可以作为 jQuery 插件使用;
                        </li>
                        <li>界面简洁大方;
                        </li>
                        <li>配置灵活,丰富,让你随心所欲掌控 outline.js;
                        </li>
                    </ul><h2>安装说明</h2>
                    <p>outline.js 提供多种安装方式的支持: npm 安装、加载 CDN 资源、以及本地资源调用。
                    </p>
                    </p><h2>特点</h2>
                    <ul>
                        <li>原生 JavaScript 编写,无需任何依赖;
                        </li>
                        <li>支持 UMD 规范;
                        </li>
                        <li>支持 E6 模块,提供功能独立的 ES6 模块;
                        <ul>
                            <li>Anchors 模块:类似 AnchorJS 基础功能模块,自动分析段落层级;
                            </li>
                            <li>Drawer 模块:独立的侧滑窗口模块;
                            </li>
                            <li>Chapters 模块:独立的导航菜单模块;
                            </li>
                            <li>Toolbar 模块:独立的固定定位的工具栏模块;
                            </li>
                        </ul>
                        </li>
                        <li>拥有 AnchorJS 基础功能;
                        </li>
                        <li>支持中文和英文标题文字生成ID;
                        </li>
                        <li>支持生成独立的侧边栏导航菜单;
                        </li>
                        <li>支持直接在文章中生成文章导读导航;
                        </li>
                        <li>自动分析标题关系,生成段落层级索引值;
                        </li>
                        <li>可以作为 jQuery 插件使用;
                        </li>
                        <li>界面简洁大方;
                        </li>
                        <li>配置灵活,丰富,让你随心所欲掌控 outline.js;
                        </li>
                    </ul><h2>安装说明</h2>
                    <p>outline.js 提供多种安装方式的支持: npm 安装、加载 CDN 资源、以及本地资源调用。
                    </p>
                </div>
                <div class="col  col-lg-3 d-lg-block aside" id="aside">
                </div>
            </div>
            <div class="row fixed-bottom">
            <footer class="footer mt-5">
                <footer class="align-middle text-center mt-2" id="footer">
                    <p>Copyright &copy; 2023 
                </footer>
            </footer>
            </div>
        </div>
<script src="https://static.htmltoo.com/master/static/outline/outline.min.js"></script>
<script>const defaults = Outline.DEFAULTS
let outline
defaults.position = 'sticky'
defaults.stickyHeight = '90'
defaults.articleElement='#main'
defaults.parentElement = '#aside'
defaults.animationCurrent = 'false'
defaults.hasToolbar = 'true'
defaults.homepage = '../index.html'
defaults.selector = 'h1,h2,h3,h4,h5,h6'
outline = new Outline(defaults)
</script>
<script src="https://static.htmltoo.com/master/bootstrap/js/bootstrap.bundle.min.js">
</script>
    </body>
</html>

---

<!DOCTYPE html>
<html>
  <head>
  <meta charset="UTF-8">
  <title>Outline.js</title>
  <link href="https://cdn.jsdelivr.net/gh/yaohaixiao/outline.js/outline.min.css" rel="stylesheet" />
</head>
<body>
<main>
  <!--这里 outline.js 会生成导航菜单-->
  <aside id="aside">
    
  </aside>
  <article id="article">
  ---文章内容---
    <h1>Outline.js</h1>
    <p>xxx</p>
    <h2>Features</h2>
    <p>xxx</p>
    <h2>Usage</h2>
    <p>xxx</p>
    <h2>Examples</h2>
    <p>xxx</p>
  ---文章内容--- 
  </article>
</main>
<script src="https://cdn.jsdelivr.net/gh/yaohaixiao/outline.js/outline.min.js"></script>
<script>
  (function(){
    const defaults = Outline.DEFAULTS
    let outline
    defaults.position = 'flex'
    defaults.stickyHeight = 86
    // position 的值为 sticky 或者 fixed 时需要指定
    // parentElement 参数,即文章导航菜单插入的 DOM 位置
    // 可以时 dom 元素,也可以是 DOM 元素的选择器字符串
    defaults.parentElement = '#aside'
    defaults.articleElement = '#article'
    defaults.homepage = './index.html'
    // Outline.DEFAULTS 是对象,应用类型的
    // defaults 的属性操作,就是在修改 Outline.DEFAULTS
    outline = new Outline(Outline.DEFAULTS)
  })()
</script>
</body>
</html>


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回