nb-mapper test

What is this?

This is an in-browser test of next-book's nb-mapper — it breaks element's content into „ideas“ and „chunks“ that may be then used for enhanced display or interactivity within a larger bulk of text.

In following examples, only elements with class map are mapped and there's some border-bottom and :hover CSS apllied to them to higlight the mapped structure. Both mapped and plain elements should otherwise look the same.

See API docs for a rough idea of how nb-mapper works. (Still battling with documentation of ES6 modules that do not use classes internally.)


Mapped

Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris massa. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora. Torquent per conubia nostra, per inceptos himenaeos. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sodales ligula in libero.

Original

Integer nec odio. Praesent libero. Sed cursus ante dapibus diam. Sed nisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla quis sem at nibh elementum imperdiet. Duis sagittis ipsum. Praesent mauris. Fusce nec tellus sed augue semper porta. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris massa. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum lacinia arcu eget nulla. Class aptent taciti sociosqu ad litora. Torquent per conubia nostra, per inceptos himenaeos. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sodales ligula in libero.


Mapped

Sed dignissim lacinia nunc.
Curabitur tortor.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Pellentesque nibh.
Aenean quam.
In scelerisque sem at dolor.
Maecenas mattis.
Sed convallis tristique sem.
Proin ut ligula vel nunc egestas porttitor.
Curabitur tortor.
Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa.
Fusce ac turpis quis ligula lacinia aliquet.
Mauris ipsum.
Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh.
Quisque volutpat condimentum velit.

Original

Sed dignissim lacinia nunc.
Curabitur tortor.
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Pellentesque nibh.
Aenean quam.
In scelerisque sem at dolor.
Maecenas mattis.
Sed convallis tristique sem.
Proin ut ligula vel nunc egestas porttitor.
Curabitur tortor.
Morbi lectus risus, iaculis vel, suscipit quis, luctus non, massa.
Fusce ac turpis quis ligula lacinia aliquet.
Mauris ipsum.
Nulla metus metus, ullamcorper vel, tincidunt sed, euismod in, nibh.
Quisque volutpat condimentum velit.


Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam nec ante. Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Nulla facilisi. Proin ut ligula vel nunc egestas porttitor. Ut fringilla. Suspendisse potenti. Nunc feugiat mi a tellus consequat imperdiet. Vestibulum sapien. Proin quam. Sed lacinia, urna non tincidunt mattis. Tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Etiam ultrices. Suspendisse in justo eu magna luctus suscipit. Sed lectus.

Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam nec ante. Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Nulla facilisi. Proin ut ligula vel nunc egestas porttitor. Ut fringilla. Suspendisse potenti. Nunc feugiat mi a tellus consequat imperdiet. Vestibulum sapien. Proin quam. Sed lacinia, urna non tincidunt mattis, tortor neque adipiscing diam, a cursus ipsum ante quis turpis. Etiam ultrices. Suspendisse in justo eu magna luctus suscipit. Sed lectus.


Higlighting CSS

p.map :not(.idea) { outline: 1px solid var(--col0); }

.idea { border-bottom: 4px solid; }

[id^="idea"][id$="1"],
[id^="idea"][id$="3"],
[id^="idea"][id$="5"],
[id^="idea"][id$="7"],
[id^="idea"][id$="9"] { border-color: var(--col1); }

[id^="idea"][id$="0"],
[id^="idea"][id$="2"],
[id^="idea"][id$="4"],
[id^="idea"][id$="6"],
[id^="idea"][id$="8"] { border-color: var(--col2); }

.chunk:hover { background: #ffc; }

.idea:hover { background: #faa; }

next-book / nb-mapper