Code Monkey home page Code Monkey logo

reading-pagination's Introduction

reading-pagination

Usage

// acceptable source data format just like this
var data = [
  {
    id: '1',
    type: 'headline',
    data: {
      level: '1', // one of ['1', '2', '3']
      text: 'Chapter 1'
    }
  },
  {
    id: '2',
    type: 'paragraph',
    data: {
      text: 'This is a normal paragraph.'
    }
  },
  {
    id: '3',
    type: 'illus',
    data: {
      img: {
        src: 'https://www.something.com/test.png',
        origWidth: 400,
        origHeight: 200
      }
    }
  },
  {
    id: '4',
    type: 'pagebreak'
  }
]

// craete instance
const layout = new Layout();

// `render` method make the data divided by page
const htmlPageGroup = layout.render(data);

/**
 * rendered pageInfo like this:
 * {
 *    index: 0,
 *    boundaryFrom: { id: '1', type: 'headline' }
 *    bouddaryTo: { id: '3', type: 'illus' }
 *    html: '......',
 *    height: 396,
 *    items: [...],
 * }
 */
htmlPageGroup.forEach(pageInfo => document.body.insertAdjacentHTML('beforeend', pageInfo.html));

API

  • render(data) create paginated content from source data.

  • renderWithoutPagination(data) compose data without pagination.

  • updateSize(newSize) update layout size. accept: ['xs', 's', 'm', 'l', 'xl']

  • findItem(itemId, charOffset) find a paragraph in which page.

  • extractFromPage(pageIndex) extract detailed textual content from a page.

  • highlightKeywordFromPage(pageIndex, keyword) highlight keyword in rendered html.

reading-pagination's People

Contributors

wrxpowered avatar

Watchers

 avatar

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.