Hi Stephan

Hi, I've been working on this mockup
> <https://dl.dropboxusercontent.com/u/14610481/mockup/index.html> (also
> attached for posterity) and, now that I've properly realized how high-level
> TW5's APIs actually are, I'd like to convert it to a set of
> mutually-cooperative TiddlyWiki plugins before I go any further. (so I've
> also attached my TODO.md in case anyone wants more context for what I
> intend to to)
>

It looks like you are trying to write a jQuery+Handlebars application that
behaves like a TiddlyWiki but isn't actually based on TiddlyWiki code, is
that right? I can see the comment in tw5_mock.js about needing to work
around the lack of documentation, but am a bit confused about the approach
you are taking.

In terms of the technical documentation, have you read this:

http://tiddlywiki.com/#TiddlyWiki%20for%20Developers

It may not explain everything, but hopefully sets your expectations for how
radically the TiddlyWiki architecture departs from expectations set by
jQuery. It's much more like Angular. The big change is that TiddlyWiki (and
Angular) eschew storing state data in the DOM.

>
> 2. As you might have guessed from the mockup, tiddler ordering is almost
> as important to preserve as tiddler contents in this UI. What's the most
> proper way to store an ordered list of tiddlers where a ListWidget can
> access them and a drag-and-drop reordering plugin can easily hook in to
> persist state? (I've been trying to mock up tiddler store APIs as closely
> as possible but, at the moment, it's just relying on the ordering guarantee
> of the Array() underlying the mock implementation.)
>

TW5 has a mechanism for ordering the tiddlers with a particular tag (see
"tag ordering" on http://tiddlywiki.com/#TiddlerTags).

The plan is to extend the list widget to allow entries to be dragged and
dropped, but it's not implemented in the core yet. BJ has a plugin
implementation, though:

http://bjhacks.tiddlyspot.com/#TagList

3. While I've decided not to implement it in the mockup now that I know how
> many wheels I've already reinvented, I want two separate story-river
> streams: One where tiddlers cannot be opened or closed except by changing
> the ordered list to which they belong (the one I mocked up) and a normal
> TiddlyWiki story-river in an overlay which either slides out or pops up
> when the clicked link isn't in the fixed story-river.
>

The story river is just the list widget:

https://github.com/Jermolene/TiddlyWiki5/blob/master/core%2Fui%2FPageTemplate%2Fstory.tid#L16

You can easily have as many story rivers as you like - the easiest way is
another tiddler tagged $:/tags/PageTemplate.


> Aside from knowing that I want to implement a custom StoryView (both
> because that seems to be the most sane way and because it gives users an
> easy way to switch between a normal TiddlyWiki and this UI) I wouldn't know
> how to go about that.
>
> 4. Could someone explain the under-the-hood differences between the
> different namespaces in "Naming of System Tiddlers"?
>

That tiddler is describing the conventions that were used to devise the
various system tiddler names. Those conventions are not enforced in any way.

Having said that, there are features like the suppression of $:/temp/
tiddlers when saving, which relies on specialised treatment of a certain
prefix.


> 5. What would be the least face-meltingly horrible way to monkey-patch the
> search field so that Ctrl+Enter treats the contents as a literal tiddler
> name and opens it directly?
>

I don't think that that can be done right now without some core changes.
We'd want something like this:

<$keyboard key="ctrl-enter" message="tw-navigate"
param={{!!$:/temp/search}}>
<$edit-text tiddler="$:/temp/search" tag="input"/>
</$keyboard>

But the trouble is that the tw-navigate event currently uses a non-standard
parameter name for the tiddler title, and this cannot be set by the
keyboard widget.


>
> 6. I'd really appreciate not having to trial-and-error my way to an answer
> for the questions in Issue #683
> <https://github.com/Jermolene/TiddlyWiki5/issues/683> on the GitHub issue
> tracker.
>

I'll have a look at the ticket now,

Best wishes

Jeremy


>  --
> You received this message because you are subscribed to the Google Groups
> "TiddlyWikiDev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/tiddlywikidev.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Jeremy Ruston
mailto:[email protected]

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWikiDev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.

Reply via email to