@ocelot-consulting/hummus-toc
Version:
An extension for HummusJS to add Table of Contents (including bookmarks).
23 lines (18 loc) • 556 B
JavaScript
const {verticalMax, verticalMargin, lineSpacing} = require('../config')
module.exports = itemCount => {
const verticalTextStart = verticalMax - verticalMargin
let pageSize = 0
let pages = 1
for (let i = 0; i < itemCount; i++) {
const pageIndex = pageSize ? i % pageSize : i
const verticalOffset = lineSpacing * (pageIndex + 1)
const verticalLineStart = verticalTextStart - verticalOffset
if (verticalLineStart <= verticalMargin) {
pages++
if (!pageSize) {
pageSize = i + 1
}
}
}
return pages
}