novel.tmlib.js