Open pachpict opened 1 year ago
Actually there will be no need for creators to pad pages, they can use form breaks, which will be much neater.
When we think about adding 'note taking' there will be another button which creates a linked book called ***.notes.brf which is blank but for the correct number of form breaks. But that is a different issue, for the future. For now this is a passive feature, does not create new books or edit old ones.
Link books together using the books' canute.****.brf.txt file. New field in that file, 'linked_books' which lists other books linked to it. This field can include the book itself (to allow easier copy pasting between linked books).
When a book has its current page changed then the recorded current page of every linked book is updated to be the same.
When a bookmark is created or deleted add/remove the same bookmarks for linked books.
Assign one of the unused line buttons in main library menu to cycle between linked books, choosing alphanumerically, always advancing to next in the list from the current book. This does mean that in practice there is no point linking every book in the collection, just the alphanumerically next book, but that will be discouraged for book creators because how to navigate between linked books may change in future in way thwt requires knowing all the books in the collection.
N.B. Assumptions made about the linked books:
That a link is always reciprocated, i.e. that a collection of linked books have the same list of linked books in their canute.***.brf.txt files. In theory one book could no link back to the book that linked to it. That is an acceptable risk as it only requires moderate care taken by person creating the books. Also this capability could lead to interesting use-cases not yet envisaged, little like hyperlinking.)
That each book will be of the same number of pages in total and that the creator has formatted the books so those pages always related appropriately. This is an acceptable limitation, but it will require creators to pad the pages so they correlate with each other.
This is precursor functionality that is necessary for future more advanced features like language learning software (translation), Braille code learning (transcription), theological study (e.g. switching between Aramaic, King James and New American texts for Bible, or between Arabic, Turkish and English for the Hadiths), and note-taking "in the margins of a book".