# autocjs **Repository Path**: softwyy/AutocJS ## Basic Information - **Project Name**: autocjs - **Description**: AutocJS - 为你的文章自动创建目录导航菜单。 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 33 - **Created**: 2021-01-25 - **Last Updated**: 2021-01-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AutocJs AutocJs 是一个专门用来生成文章导读(Table of Contents)导航的 JavaScript 工具(原 autocjs 的重构版本,不依赖任何JS库)。AutocJs 会查找文章指定区域中的所有 h1~h6 的标签,并自动分析文章段落间的层次结构,生成文章的导读导航。 ## 创作灵感 AnchorJS 是 AutocJs 的创作灵感来源。既然 AnchorJS 可创建标题的链接,为什么不直接给文章生成一个文章导读(Table of Contents)导航呢? 于是就有了 AutocJs。 ## 特点 - 支持 UMD 规范; - 拥有 AnchorJS 基础功能; - 支持中文和英文标题文字生成ID; - 支持生成独立的侧边栏导航菜单; - 支持直接在文章中生成文章导读导航; - 自动分析标题关系,生成段落层级索引值; - 可以作为 jQuery 插件使用; - 界面简洁大方; - 配置灵活,丰富,让你随心所欲掌控 AutocJs; ## 安装说明 ### npm install ```sh $ npm install -S autoc.js ``` ### CDN 调用 ```html ``` ### 调用本地JS文件 ```html ``` ## 使用说明 ```js let AutocJs = require('autocjs'); // 创建 Outline 实例 let navigation = new AutocJs({ // 文章正文 DOM 节点的 ID 选择器 article: '#article', // 要收集的标题选择器 selector: 'h1,h2,h3,h4,h5,h6', // 侧边栏导航的标题 title: '文章导读', // 文章导读导航的位置 // outside - 以侧边栏菜单形式显示(默认值) // inside - 在文章正文一开始的地方显示 position: 'outside', // 标题图标链接的 URL 地址 // (默认)没有设置定制,点击链接页面滚动到标题位置 // 设置了链接地址,则不会滚动定位 anchorURL: '', // 链接的显示位置 // front - 在标题最前面(默认值) // back - 在标题后面 anchorAt: 'front', // 是否生成文章导读导航 isGenerateOutline: true, // 是否在文章导读导航中显示段落章节编号 isGenerateOutlineChapterCode: true, // 是否在正文的文章标题中显示段落章节编号 isGenerateHeadingChapterCode: false, // 是否在正文的文章标题中创建锚点 isGenerateHeadingAnchor: true }); // 可以在创建导航后,重置配置信息,重新生成新的导航 navigation.reload({ // 调整位直接在文章内生成导航 position: 'outside', // 并且在文章标题前显示段落的章节层次索引值 isGenerateHeadingChapterCode: true }) ``` ## Options ### article Type: `String` Default: `'#article'` 可选,用来指定页面中显示文章正文的 DOM 节点的 ID 选择器。 ### selector Type: `String` Default: `'h1,h2,h3,h4,h5,h6'` 可选,用来指定 article 节点下,要生成导航的标题标签的选择器。 ### title Type: `String` Default: `'文章导读'` 可选,用来指定文章导读导航菜单的标题文字。 ### position Type: `String` Default: `'outside'` 可选,用来指定文章导读导航菜单的显示位置:outside - 生成侧边栏菜单,inside - 直接在文章正文区域的开始位置生成导航菜单。 只有设置了 isGenerateOutline 为 true,position 参数才会起效。 ### anchorURL Type: `String` Default: `''` 可选,用来指定文章标题锚点链接图标的链接地址:'' - 点击链接页面滚动到标题位置,其它 URL 值 - 就直接跳转到指定页面了 ### anchorAt Type: `String` Default: `'front'` 可选,用来指定文章标题锚点链接图标的显示位置:'front' - 现在在文章标题前面,'end' - 显示到标题末尾。 ### isGenerateOutline Type: `Boolean` Default: `false` 可选,用来指定是否文章导读导航菜单:true - 生成菜单,false - 不生成菜单(这样配置基本和 AnchorJS 功能一样了)。 ### isGenerateOutlineChapterCode Type: `Boolean` Default: `true` 可选,用来指定是否文章导读导航菜单是否显示文章段落层次的索引编号:true - 显示编号,false - 不显示编号。 ### isGenerateHeadingChapterCode Type: `Boolean` Default: `false` 可选,用来指定是否在文章标题前面显示文章段落层次的索引编号:true - 显示编号,false - 不显示编号。 ### isGenerateHeadingAnchor Type: `Boolean` Default: `true` 可选,用来指定是否在文章标题位置生成锚点链接图标:true - 生成锚点链接图标,并给标题添加 ID 属性,false - 不生成锚点链接图标,仅给标题添加 ID 属性。 ## Properties ### defaults Type: `Objects` 静态属性,存储的是 AutocJs 对象默认配置信息。 ### attributes Type: `Objects` 存储的是 AutocJs 对象当前使用中的配置选项。 ### elements Type: `Objects` 存储的是 AutocJs 对象(创建的)相关的 DOM 元素。 ### data Type: `Objects` 存储的是 AutocJs 根据标题 DOM 元素分析的数据。 ## Example 演示地址:[https://yaohaixiao.github.io/autocjs/example.html](https://yaohaixiao.github.io/autocjs/example.html) ## License JavaScript Code Licensed under [MIT License](http://opensource.org/licenses/mit-license.html). API Documentation Licensed under [CC BY 3.0](http://creativecommons.org/licenses/by/3.0/)