Hi Smandoli, Ok, so instead of Level 3 Verse, you have Level 3 Passage while a Level 4 Verse would be somewhere inside a Level 3 Passage tiddler's body. You also have a lookup makro that allows you to find a corresponding Level 3 Passage tiddler to a corresponding verse.
As for your bookdex makro, I still have no clue what purpose those numbers serve. Am I right that you want to use your book array for navigation? As for your Previous and Next links, you could extend your MakroLinkText such that it additionally renders both when you provide a "nav" parameter. You can use your existing loops to figure out the previous tiddler... only your terminal conditions would change. For the Next link you would need to implement equivalent loops in a forward direction. If you want your tiddlers opened at a certain place, you would not render simple TiddlyLinks, but rather use CreateTiddlyButton() with an onClick handler with a dedicated call to story.displayTiddler() in order to open the tiddler where you want to. I hope, the core code explains to you what is required. It might also be nice to not only navigate passages back and forth but also chapters and books... which you can achieve likewise. For these purposes, it looks like it were most helpful if you had a helper object, where you would have one sorted array of all books, and then for each book an array of the number of verses for each chapter. You could simply put something like this somewhere into your MakroLinkText: window.bible = { books:[ [ John, Mark, Mathew ], [ 123, 321, ... ], [ 64, 128, ... ], [ 66, 99, ... ] ] } So, bible.books[0] would give you a sorted array of all book titles while bible.books[1][3] would give you the number of verses in chapter 3 of book 1 or bible.books[2].length would give you the number of chapters in book 2, etc... If you needed to store more information about a chapter, you could either turn that into an object, instead of merely an array or invent some separator by which you split the string. For example, with this pattern "chapterTitle>numVerses" and... chap=bible.books[1][3].split('>'); ...chap[0] would refer to the title of book 1 chapter and chap[1].parseInt() would give you the number of verses for said chapter as an integer. Also, you don't seem to need any "order" field as the tiddler names already come ordered, do they not? Finally, you also have note tiddlers. Currently they only seem to relate to a Level 3 tiddler. I can imagine that you might also want notes for entire books or chapters, so a "n" parameter might be good that works regardless of whether it is the fourth parameter or the second, in other words, to check if it is the not tiddler that is wanted you would check for params.contains['n']. Let me know if that helped any. tb. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to tiddlywiki@googlegroups.com. To unsubscribe from this group, send email to tiddlywiki+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/tiddlywiki?hl=en.