I’ve been thinking about this problem for a while, and not quite sure the best way to go about it.
In a rails app I have books, which have many chapters, which have many sections. Chapters are basically just containers for sections, though may contain strings of text themselves. The sections hold most of the book text.
I’m planning to build an HTML 5 ebook reader that works in a mobile browser, and I don’t want the user to have to scroll down — I want the text to break at the end of the page.
I’d assumed using split might be the way to go, but I’m not sure there’s a way to break at regular intervals? Would a javascript option work better here?
I’d looked at this: Dividing text article to smaller parts with paging in Ruby on Rails but can’t feasibly insert manual break marks in the text, some of which are 90,000+ words.
Any ideas would be appreciated.
I think the main problem here is that the page length will depend on the device (and possibly the text size, if that is feature of your app). You should probably send large chunks that are sure to be at least say 5 pages long, at a time and then let the javascript do the paging. Rails has no access, nor should it, to the size of the display.
Text requires very little data, you shouldn’t worry about transmitting more than you need or keeping too much in memory.