Coder Social home page Coder Social logo

yaohaixiao / outline.js Goto Github PK

View Code? Open in Web Editor NEW
124.0 0.0 17.0 11.14 MB

outline.js - 自动生成文章导读(Table of Contents)导航的 JavaScript 工具。会自动分析文章中的标题( h1~h6 )标签,并生成文章段落层次结构的导读导航菜单。

Home Page: https://yaohaixiao.github.io/outline.js/

License: MIT License

JavaScript 60.98% Pug 28.44% Shell 0.04% Less 10.53%
javascript outline

outline.js's People

Contributors

yaohaixiao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

outline.js's Issues

遇到一个问题

你好,这里有一个问题。
文章内容中存在h1-h6标签
目录导读也可以准确识别
但在阅读模式中只获取到了h2和h4标签
这个问题请问如何解决呢。

Vue2中这个报错怎么解决

ERROR Failed to compile with 1 error 17:02:39

error in ./node_modules/@yaohaixiao/outline.js/outline.js

Module parse failed: Unexpected token (347:14)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| }
| }

if (tools?.length > 0) {

| buttons.push(...tools)
| }

@ ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/blog/detail.vue?vue&type=script&lang=js 12:38-79
@ ./src/views/blog/detail.vue?vue&type=script&lang=js
@ ./src/views/blog/detail.vue
@ ./src/router/index.js
@ ./src/main.js
@ multi (webpack)-dev-server/client?http://192.168.8.16:81&sockPath=/sockjs-node (webpack)/hot/dev-server.js ./src/main.js

highlight 函数报错

JS代码如下

(function(){
  		var asideElement = document.getElementById("aside");
  		if(asideElement){
  		  const defaults = Outline.DEFAULTS
          let outline
          defaults.position = 'sticky'
          defaults.stickyHeight = 86
          defaults.parentElement = '#aside'
          defaults.articleElement = '.blog-content'
          outline = new Outline(Outline.DEFAULTS)
          outline.reload({
            title: 'Contents',
            hasToolbar: false,
  			showCode: false,
          })
  		}else{
  			
  		}
        
  })()

代码中的第三行报错, this.$el为null

 highlight(t) {
            const e = this.attr("animationCurrent")
              , s = this.$el.querySelector(`#chapter__anchor-${t}`)
              , i = "outline-chapters_active"
              , r = "outline-chapters_highlight";
            return s ? (this.active = parseInt(s.getAttribute("data-id"), 10),
            this.$active && (u(this.$active, r),
            u(this.$active, i)),
            this.$active = s,
            a(this.$active, i),
            e ? this.positionPlaceholder(this.active) : a(this.$active, r),
            this) : this
        }

微信截图_20231207163826

vue3使用 css文件缺失

”vue中使用示例“好像从来没有提到过样式文件的引用,因此在vue2项目中使用效果是这样的:
image
在另外引用了 @yaohaixiao/outline.js/outline.css后,样式才正常:
image

但是在vue3项目按照依赖之后好像没有对应的outline.css文件:
image
所以样式是这样的:
image

你好,这里有两个问题需要咨询一下

首先感谢提供如此方便的插件,点个赞~
这里有两个问题想咨询一下
1、在不直接修改代码的情况下,有没有内置方法可以添加右侧独立菜单栏的按钮,并可添加点击该按钮的方法呢
2、当文章没有h1-h6标签时右侧底部菜单栏是没有导航目录图标的,但跳转到顶部和底部的按钮还是存在的,但js中似乎有判断当没有h1-h6标签时其他按钮的点击事件失效,有办法在没有h1-h6标签的情况下让跳转顶部/底部按钮仍旧可用吗。

第二个可能有点啰嗦,简单点说就是没有h1-h6标签时跳转顶部和底部按钮点击不了,这个不知道是否有配置项。

使用DOM元素初始化报错

defaults.scrollElement = '#scroll'
defaults.articleElement = '#content'

正常展示,但是换成DOM元素

defaults.scrollElement = document.getElementById('scroll');
defaults.articleElement = document.getElementById('content');

报错:

outline.js:57  Uncaught DOMException: Failed to execute 'querySelector' on 'Document': '[object HTMLDivElement]' is not a valid selector.
    at st.render (file:///D:/code/outline.js-master/docs/js/outline.min.js:1:34033)
    at st.initialize (file:///D:/code/outline.js-master/docs/js/outline.min.js:1:33860)
    at new st (file:///D:/code/outline.js-master/docs/js/outline.min.js:1:33768)
    at file:///D:/code/outline.js-master/docs/toc.html:153:15

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.