Re: [twdev] Re: Please share your plugin development folder structure

2016-09-07 Thread Felix Küppers
Hola Danielo,

1) "/src" – My tiddlymap gulpfile script reads the src files from this
folder (maybe have a look at the script, you can simply reuse it for
your purpose)

2) "/dist" – here are the minified dist files

3) "/bundle" – all distfiles are wrapped by the gulpfile script to
produce a single json tiddler that can be dropped in a wiki

Hope that helps :)

Greetings

Felix


* I have a bundle folder which contains the plugin compiled into single json

*


On 09/07/2016 07:40 PM, Danielo Rodríguez wrote:
> C'mon guys! 
>
> @Tobias! @Felix!i know you have very efficient structures.. Please share 
> them! 
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/VI1PR05MB10531B305878CE8A7A0880EFCEF80%40VI1PR05MB1053.eurprd05.prod.outlook.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: Github Workflow?

2016-01-30 Thread Felix Küppers
Nice! Glad it helped you.

On 01/30/2016 03:00 PM, Matabele wrote:
> Hi Felix
>
> Many thanks -- perfectly clear :-)
>
> regards
>
> On Saturday, 30 January 2016 14:12:28 UTC+2, Felix Küppers wrote:
>
>
> A detailed example of a PR workflow
>
> -- 
> 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 tiddlywikidev+unsubscr...@googlegroups.com
> <mailto:tiddlywikidev+unsubscr...@googlegroups.com>.
> To post to this group, send email to tiddlywikidev@googlegroups.com
> <mailto:tiddlywikidev@googlegroups.com>.
> Visit this group at https://groups.google.com/group/tiddlywikidev.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tiddlywikidev/fb2cf3bb-a6f7-4371-a329-f340161304ad%40googlegroups.com
> <https://groups.google.com/d/msgid/tiddlywikidev/fb2cf3bb-a6f7-4371-a329-f340161304ad%40googlegroups.com?utm_medium=email_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU437-SMTP526B530D154D22197FD0DCEDC0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: Github Workflow?

2016-01-30 Thread Felix Küppers
Hi Matabele,

> Further to this: I want to craft my commits -- not only squash them.
> In this case, I wanted to split the squashed commits into two separate
> PR. 
>
> An ideal workflow:
> - rebase my branch
> - collapse my commits into one neat commit
> - split the squashed commit back into neat PR's for possible merging

Maybe a misunderstanding, but if you squashed your commits into one, it
makes no sense to create 2 PRs. So if you want to create 2 separate PRs
that deal with separate things, you need to also have at least 2 commits.

A detailed example of a PR workflow

 1. Say you want to do one PR that is a feature and one PR that deals
with a bug.
 2. For every one of the 2 PRs, you ideally create a new branch i.e.
"fixforproblem1" and "newfeature2".
 3. Then when you work on the feature, you checkout "newfeature2"
 4. You do let's say five commits to this branch
 5. Now you start working on the bug and therefore checkout
"fixforproblem1".
 6. You do two commits
 7. Now you remember you forgot something for the feature so you
checkout "newfeature2" again.
 8. Add something and do a commit
 9. So now you have 6 commits for your feature branch and 2 for your bugfix.
10. Now its PR time
11. You first go to your "newfeature2" branch and squash all commits
into one
12. You then go to your "fixforproblem1" branch and also squash all
commits into one
13. Now you do push "newfeature2" to your git repository
14. After that you also push the "fixforproblem1" branch to your remote
(github)
15. Then at Github, you go to each branch and do a PR to Jeremy's
develop branch
16. Done. You have 2 PRs, each flattened to a single commit
17. Now Jeremy says you need to change something in your PR for
"fixforproblem1".
18. On your local repo you checkout "fixforproblem1".
19. You change something and do a commit,
20. Now you have 2 commits in your "fixforproblem1" branch
21. flatten them again
22. do a "push --force" to your repo to completely override
"fixforproblem1" on your remote
23. Done, your PR will only contain one commit with the updated changes

Hope it helps
Felix

>
> regards
>
> On Saturday, 30 January 2016 00:55:58 UTC+2, Felix Küppers wrote:
>
> Hi Matabele,
>
>> 3. Now, when I create a PR on Github, all of my separate commits
>> are included in one PR
>
> Your PR includes all commits you did to your branch "checklist".
> The more commits you add to this branch and push to your remote
> (github), the more will show up in the PR.
>
>> How do I keep my original commits separate through this entire
>> process?
>
> Your commits *are* separated. You did 5 separate commits. Instead,
> of so many commits, you may consider to squash them into a single one:
>
>   * *Why squash git commits for pull requests?*
> http://programmers.stackexchange.com/q/263164
> <http://programmers.stackexchange.com/q/263164>
>   * *Squashing Github pull requests into a single commit*
> 
> http://eli.thegreenplace.net/2014/02/19/squashing-github-pull-requests-into-a-single-commit
> 
> <http://eli.thegreenplace.net/2014/02/19/squashing-github-pull-requests-into-a-single-commit>
>   * *How to Rebase a Pull Request*
> https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request
> 
> <https://github.com/edx/edx-platform/wiki/How-to-Rebase-a-Pull-Request>
>
> -- 
> 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 tiddlywikidev+unsubscr...@googlegroups.com
> <mailto:tiddlywikidev+unsubscr...@googlegroups.com>.
> To post to this group, send email to tiddlywikidev@googlegroups.com
> <mailto:tiddlywikidev@googlegroups.com>.
> Visit this group at https://groups.google.com/group/tiddlywikidev.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tiddlywikidev/1c672076-baee-411c-ad0e-3fdbb6beb762%40googlegroups.com
> <https://groups.google.com/d/msgid/tiddlywikidev/1c672076-baee-411c-ad0e-3fdbb6beb762%40googlegroups.com?utm_medium=email_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP139FD447F8207FCFC163458CEDC0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] How do I add/remove tags from a tiddler inside a JavaScript plugin?

2016-01-21 Thread Felix Küppers
Hi Devin,

you need to create a new tiddler based on the old tiddler and also
override the "tags" field, also you need to clone the array to work with
it using slice. The $tw.Tiddler() constructor accepts tiddler objects as
arguments and "hashmaps" so just do the following (off the top of my head):

var copyOfArray = myOldTiddlerWhichIsFrozen.fields.tags.slice(0)

do your array stuff and then:

var fields = {
  tags: myChangedArray
};

var mod = $tw.Tiddler(myOldTiddlerWhichIsFrozen, fields);

then add this tiddler to the store using $tw.wiki.addTiddler(mod)

-Felix

On 01/21/2016 06:00 PM, Devin Weaver wrote:
> I have a plugin that takes a tiddler which has a known tag and I want
> to remove that tag from the tiddler.
>
> I found out the hard way that tiddler.fields.tags is frozen so I can
> not filter or slice it.
>
> Is there a function in the core that will remove / add tags to a tiddler?
> -- 
> 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 tiddlywikidev+unsubscr...@googlegroups.com
> .
> To post to this group, send email to tiddlywikidev@googlegroups.com
> .
> Visit this group at https://groups.google.com/group/tiddlywikidev.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tiddlywikidev/6a8165b6-d528-41b3-9c5c-0601df4990a9%40googlegroups.com
> .
> For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP203F9549A2CBDF0ADFAEFB1CEC30%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


[twdev] Are tw module closures redundant?

2016-01-12 Thread Felix Küppers
Continued discussion started by Devin from: 
https://groups.google.com/d/msgid/tiddlywiki/1a20b6b7-f7a3-40a0-8712-82a4c6fc86c6%40googlegroups.com?utm_medium=email_source=footer

*Intro:*

While a poll in the tw community reveiled "warm feelings" in connection to 
additional closures – and there are rumors about a study that supports this 
empirical finding – the question is whether they are actually redundant.

Quote from Devin's source 
(http://nodejs.org/api/modules.html#modules_modules):

Variables local to the module will be private, as though the module was 
> wrapped in a function
>

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/65d0c540-5aae-4f52-b883-03b47b6e60eb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Link completion Editor

2015-12-28 Thread Felix Küppers
Hi Alain,

> because, I guess, the global var *window* is only defined if using a
> browser.
>
> What is the usual way of dealing with this within node.js ??

It is not good style that the lib assumes the window object exists while
it is loaded. Not sure how you can solve this.

I would suggest you replace the occurence of isFirefox
(https://github.com/snowgoon88/TW5-extendedit/blob/df28ef2044a24cb4804af2037719ec08c7b68640/files/cursor-position.js#L91)
with window.mozInnerScreenX != null; and remove the variable so it is
only evaluated at runtime.

Maybe @Jeremy or somebody else can provide a better answer.

Also have a look at the use of $tw.browser in some of the tw lib plugins:

https://github.com/Jermolene/TiddlyWiki5/blob/72941f3e9a916948222ff7be540d896e2b1901f6/plugins/tiddlywiki/codemirror/edit-codemirror.js#L31

In startup modules you usually say:

exports.platforms = ["browser"];

Good luck.

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP1918D965DE0BF203778755BCEFB0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Link completion Editor

2015-12-28 Thread Felix Küppers
Hi Alain,

Nice that $tw.browser was what you needed.

Following your instructions using FF and Chrome on Linux didn't work in
your latest demo, nothing happened :(

-Felix

On 12/28/2015 04:48 PM, Alain Dutech wrote:
> @Felix : thank you a lot, indeed. I've used $tw.browser.
>
> And now, the version 1.0 of the plugin is officially available to try
> and download at
> http://snowgoon88.github.io/TW5-extendedit
>
> And the source is at
> https://github.com/snowgoon88/TW5-extendedit/
>
> Enjoy, comment and critic :o)
> Alain
>
>
> On Mon, Dec 28, 2015 at 3:02 PM, Felix Küppers
> <felixkuepp...@hotmail.de <mailto:felixkuepp...@hotmail.de>> wrote:
>
> Hi Alain,
>
>> because, I guess, the global var *window* is only defined if
>> using a browser.
>>
>> What is the usual way of dealing with this within node.js ??
>
> It is not good style that the lib assumes the window object exists
> while it is loaded. Not sure how you can solve this.
>
> I would suggest you replace the occurence of isFirefox
> 
> (https://github.com/snowgoon88/TW5-extendedit/blob/df28ef2044a24cb4804af2037719ec08c7b68640/files/cursor-position.js#L91)
> with window.mozInnerScreenX != null; and remove the variable so it
> is only evaluated at runtime.
>
> Maybe @Jeremy or somebody else can provide a better answer.
>
> Also have a look at the use of $tw.browser in some of the tw lib
> plugins:
>
> 
> https://github.com/Jermolene/TiddlyWiki5/blob/72941f3e9a916948222ff7be540d896e2b1901f6/plugins/tiddlywiki/codemirror/edit-codemirror.js#L31
>
> In startup modules you usually say:
>
> exports.platforms = ["browser"];
>
> Good luck.
>
> -Felix
>
> -- 
> You received this message because you are subscribed to a topic in
> the Google Groups "TiddlyWikiDev" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/tiddlywikidev/BXGldH6YK78/unsubscribe.
> To unsubscribe from this group and all its topics, send an email
> to tiddlywikidev+unsubscr...@googlegroups.com
> <mailto:tiddlywikidev+unsubscr...@googlegroups.com>.
> To post to this group, send email to
> tiddlywikidev@googlegroups.com
> <mailto:tiddlywikidev@googlegroups.com>.
> Visit this group at https://groups.google.com/group/tiddlywikidev.
> To view this discussion on the web visit
> 
> https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP1918D965DE0BF203778755BCEFB0%40phx.gbl
> 
> <https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP1918D965DE0BF203778755BCEFB0%40phx.gbl?utm_medium=email_source=footer>.
>
>
> For more options, visit https://groups.google.com/d/optout.
>
>
> -- 
> 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 tiddlywikidev+unsubscr...@googlegroups.com
> <mailto:tiddlywikidev+unsubscr...@googlegroups.com>.
> To post to this group, send email to tiddlywikidev@googlegroups.com
> <mailto:tiddlywikidev@googlegroups.com>.
> Visit this group at https://groups.google.com/group/tiddlywikidev.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tiddlywikidev/CAFF9YEGd_XDA6H6K6nk33WXNgSPVZSJX0WQmcA1k0VmyCMgbuw%40mail.gmail.com
> <https://groups.google.com/d/msgid/tiddlywikidev/CAFF9YEGd_XDA6H6K6nk33WXNgSPVZSJX0WQmcA1k0VmyCMgbuw%40mail.gmail.com?utm_medium=email_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU437-SMTP93186EF773E9DA7C5E0334CEFB0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Link completion Editor

2015-12-27 Thread Felix Küppers
Hi Alain,

very glad you picked this up.

Would be great if you could also add an autocompletion trigger. When I
am inside a word that starts with `[[abc` and I hit a keycombo, then the
list pops up with tiddler names matching "abc".

In IDEs (Eclipse, Netbeans, Atom, Geany etc.) it is a convention to have
ctrl+space trigger autocompletion. But preferably users could pick their
own hotkey.

For a way to add keycombos, it may be worth considering to extend the
textwidget (have a look at Danielo's hotkeys widget:
https://github.com/danielo515/TW5-KeyboardSnippets/blob/master/wiki/plugins/extendTextWidget/keyboardSnippets.js#L20).
However, the postRender function is a bit problematic as it can only be
overridden once…

> What I will consider in the (near) futur :
>  - using arrows to select one choice among the listed choices. => I
> guess I'll have to dynamically change the css style of the element in
> my popup window to achieve this ?

Yes, and you need to store the selection index internally of course.

> Still a lot to learn :o)

I think this plugin is not easy to implement so take your time! ;)

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP172C5DDED7B1C5C60D1F70CCEFA0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: Latest on a plugin dev structure?

2015-11-13 Thread Felix Küppers
Hi Tobias

> I'm a bit struggling trying to understand this workflow / setup.
>
> Here's a setup I created today for a macro called *dict* that
> I am trying to turn into and publish as my first actual plugin...
Glad you make this step. Given your level of productivity, I expect 100
plugins by the end of this year at GitHub ;)

>
> https://github.com/tobibeer/tw5-dict
>
> *C:/GIT/tw5-dict/*
>
>   * plugins/
>   o dict/
>   + plugin.info
>   + plugin tids
>   * tiddlers/
>   o all tidders for the doc wiki
>   * *tiddlywiki.info*
>   o has build instructions for the doc wiki which contains the plugin
>   + how and when would I minify the plugin? and where do I
> save this? => dist?
>
Minification only works and makes sense with javacript and css. You
cannot minify tid files because wikitext is sensititve to newlines etc.

>   # how and when does that plugin version get incremented?
>
TiddlyWiki uses semantic versioning. See http://semver.org/
I recommend you read the spec, it's not too long.
You need to update the version string manually. As for TiddlyMap, I
wrote as script that appends the build number automatically each time I
run a compilation. Compilation means: Minifaction of code etc. (I use
"gulp" for that). Most TW authors do not compile their plugin.

>   + where to ouput it so *gh-pages* will show it (and at what
> url)?
>

I see that your tiddlywiki.info is a server setup. You need to use
another tiddlywiki.info that compiles your plugin as index.html
standalone and then you need to push the index.html to the gh-pages
branch of your *tw5-dict *repo.

See the scripts in the EnhancedSearchResults repo
https://github.com/Spangenhelm/TW5-EnhancedSearchResults/tree/gh-pages/src
Also note that in the src are two tiddlywiki.info files that are
switched by the scripts.

This is just my workflow. You don't need to do it that way.


>   + how to build the plugin / as a json tiddler?
>

No idea :D

> How exactly do I set my env vars so it can be found when referenced in
> some other tiddlywiki.info in other wiki folders?

Did not undestand this one.

>
> How to make that plugin available for a library repo?

I don't know. I did not dive into this topic as my plugins would require
dependencies to be managed and as long as TW doesn't offer this, I think
it is not a good idea to include them in a library. Maybe others can
help you here.

> Do I need all this at some point within a full copy of the tiddlywiki
> repo?

You never need this within a full copy of TW. Only the people that want
to use your plugin with node need to put it in their TW plugins folder
at some point. These people need to include/reference your "dict" folder
in their TW plugins path and then include it in their tiddlywiki.info to
reference it to use it

> In other words, I'm assuming I can simply run the tiddlywiki commands
> and it knows where to find things.

Almost, see my last comment above.

>
> Right now I would set the output for an *index.html*
> to some folder in this github pages repository:

no, you create another branch on your commandline with checkout -b
gh-pages; there you include the index.html in the root and then do a
"push" to your gh-pages repo.

> I have a hard time understanding this story about some *gh-pages*
> branch
>  for an
> individual repo.
> How will that integrate with the already existing github pages repo above?

Each repo has its own presentation site which is used with the gh-pages
branch.
See

  * http://tqclarkson.com/2012/07/05/github-pages-folder/
  * 
http://onthecode.com/post/2015/06/14/master-and-gh-pages-branches-on-github.html
  * https://gist.github.com/chrisjacob/833223



-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU437-SMTP54B473F0CE2E45527DFBB5CE110%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: Latest on a plugin dev structure?

2015-11-03 Thread Felix Küppers
Hi Phil. 

For bigger projects, I highly recommend you develop plugins not in the 
browser. (although great browser based plugin boilerplates exist like Tinka 
by Andreas Hahn).

Do I just leave out the author name from 
> `wiki\plugins\PhDyellow\pluginname` and just use `wiki\plugins\pluginname`? 
> It will work with travis and I only include files that are part of the 
> plugin or documentation. It does not comply with proper plugin naming 
> though.
>

When actually including your plugin in TW with nodejs you omit the author 
name folder i.e. "wiki/plugins/pluginname".
In contrast, each tiddler included in you plugin should have the prefix "
$:/plugins/PhDyellow/pluginname/…" in its title.

How you store your plugin at github is your choice but I recommend you 
create a dedicated "*dist*" folder that contains required plugin stuff 
only, and preferably minimized js code in contrast to non-minified js code 
in your production environment. The idea of a dist folder is that the 
plugin is quickly importable/employable by others.

For github-tw-plugin-workflow inspiration, maybe these discussions are also 
intersting to you:

   - https://github.com/Spangenhelm/TW5-EnhancedSearchResults/issues/1.
   - https://github.com/danielo515/TW5-contextPlugin/issues/2
   

I am not accustomed to travis, so I cannot help any further.

Good luck!

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/2bbbe8fc-e08a-4276-a035-de5fc2363e50%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] Wrote a new filter operator; please review and see what you think?

2015-10-13 Thread Felix Küppers
Hi Tobias.

> Never seen or generated any performance test results myself however:
> Jeremy claims it will be significantly more performant without the
> extra conditional.

IMO avoiding redundancy is worth more than the minimal speed increment
that results from a single comparison step. On this level one could also
argue that it is not optimal to use ".forEach()" instead of a plain js
for-loop since it will execute a function on every iteration step (in
this case the performance drawback can be reduced by the optimizing
compiler though, but this depends on the browser and whether the
api-user provided callback function can be optimized).

Also what could be done to increment the speed of filters is to cache
all object properties like e.g. "operator.operand.length" and access
them as variables in the iterator function.

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP127B8EEA7905F12B83198CECE300%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] Wrote a new filter operator; please review and see what you think?

2015-10-13 Thread Felix Küppers
Hi Jeremy

> I think filter operators are one place that is absolutely worth the
> effort to do some basic optimisatoin. Filter operators are
> called repeatedly during filter processing; for users with 10,000
> tiddlers then even a modest improvement in filter performance is worth it.

Thinking about it, I agree with you. Sometimes I just forget that TW can
take care of thousands of Tiddlers :) It's just a great piece of software!

> That’s pretty much exactly why we have $tw.utils.each. See the
> following for an interesting perspective:

Thanks for the link.

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP140A3A23645C0E39206FCBACE300%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Suggestions on how to store config data for plugin

2015-07-23 Thread Felix Küppers

 One of the things I am trying to do during this process is to create
 documentation of the subclasses and their methods of $tw. This has
 been useful for me to get an idea of what's out there and what I can
 use. Does such a list already exist anywhere? If not, I'll try to make
 it publically available as soon as the plugin is up on GitHub.

I only know of http://tiddlywiki.com/dev

 I'll also be careful about the capitalization :)

:)

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP8205FA7D5EF2046A568330CE820%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: How can a widget know whether it is inside a draft tiddler's preview?

2015-06-20 Thread Felix Küppers
Servus Mario,

Walking up the dom-node tree and checking for a class is a nice idea. I
initially wanted to extract the information from the widget tree but
your idea is way easier.
If there is no better solution, I'll go with your suggestion! Thanks!

-Felix



On 20.06.2015 00:56, PMario wrote:
 Hi Felix,

 I think a widget doesn't know, if it is in preview mode, because
 preview mode is nothing special. It's a button with a reveal widget.

 I did a short test:

 $edit tiddler=xx ... which produces the textarea

 creates this DOM:

 div class=tc-tiddler-preview-preview
   p
 textarea style=height: 100px;Type the text for the tiddler
 'xx'/textarea
   /p
 /div

 -m

 So imo you need to walk up 2 parent nodes, and check for class
 tc-tiddler-preview-preview. The mechanism is a bit fragile, because it
 depends on the class, but imo it won't change any time soon.

 -m
 -- 
 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 tiddlywikidev+unsubscr...@googlegroups.com
 mailto:tiddlywikidev+unsubscr...@googlegroups.com.
 To post to this group, send email to tiddlywikidev@googlegroups.com
 mailto:tiddlywikidev@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/tiddlywikidev/a3b7dbd0-4d0b-4c67-b0f2-d0fc74965858%40googlegroups.com
 https://groups.google.com/d/msgid/tiddlywikidev/a3b7dbd0-4d0b-4c67-b0f2-d0fc74965858%40googlegroups.com?utm_medium=emailutm_source=footer.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP37B7AB39FFD570F0AFBC50CEA30%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


[twdev] How can a widget know whether it is inside a draft tiddler's preview?

2015-06-19 Thread Felix Küppers
Hi @all

I want to prevent that a widget is displayed in preview when a tiddler is 
edited. Instead I want to display a placeholder.

Is there an easy way or predefined function that I can call from inside a 
widget to find out whether this widget is inside a draft?

Otherwise I would be forced to walk my way up the widget tree I guess. But 
at which level can I check whether I am inside a draft or not?

Many thanks!

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/18ac0ad3-77fa-452e-b402-fde905ba0e62%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] checkbox widget tag check/inversion

2015-06-09 Thread Felix Küppers
Hi,

I once wanted to do a PR for this feature but then solved it in a
different way...

@James maybe have a look at:
https://github.com/Jermolene/TiddlyWiki5/issues/1109

-Felix

On 09.06.2015 19:39, Jeremy Ruston wrote:
 Hi James

 Adding an invert attribute to the checkbox widget is reasonable. It
 would be more consistent with existing widgets for the text to be
 invert='yes'.

 The other possibility is to avoid using the checkbox widget at all,
 and use the reveal widget to flip between Unicode checkboxes.

 Best wishes

 Jeremy.


 On Sun, Jun 7, 2015 at 11:21 PM, James Anderson
 james.w.ander...@gmail.com mailto:james.w.ander...@gmail.com wrote:

 TL;DR: I would like to be able to specify the lack of a tag to
 check a checkbox widget i.e. $checkbox !tag=incomplete 

 I had a couple of helper tiddlers and buttons for generating task
 lists by topic. They were

 *GenericTaskListComplete*
 |
 $list
 filter=[!has[draft.of]tag{!!title}tag[task]tag[complete]sort[created]]
 $checkbox tag=complete$link to={{!!title}}$view
 field=title//$link/$checkboxbr/
 /$list
 |


 *GenericTaskListIncomplete*
 |
 $list
 filter=[!has[draft.of]tag{!!title}tag[task]!tag[complete]sort[created]]
 $checkbox tag=complete $link to={{!!title}}$view
 field=title//$link/$checkboxbr/
 /$list
 |


 *Articles (*for example)

 |
 !ReadMe
 {{||GenericTaskListIncomplete}}
 !Read
 {{||GenericTaskListComplete}}
 !Other
 |{{||GenericList}} //-- anything that is not tagged as a task

 Which was good...Except when I wanted to stop the tiddler from
 being a task and i'd have to remove both the task and complete
 tags. Also complete tags end up littering up my TW. I would
 rather that incomplete tasks stood out and that i only had to
 remove one tag on completed tasks :)

 So I would prefer to do it this way:

 If something is tagged as a task and incomplete it should be
 unchecked and once completed the incomplete tag removed and have
 it checked. this is mostly possible aside from the checked boxes
 being inverted.

 *GenericTaskListComplete*
 |
 $list
 
 filter=[!has[draft.of]tag{!!title}tag[task]!tag[incomplete]sort[created]]
 $checkbox tag=incomplete$link to={{!!title}}$view
 field=title//$link/$checkboxbr/
 /$list
 |


 *GenericTaskListIncomplete*
 |
 $list
 
 filter=[!has[draft.of]tag{!!title}tag[task]tag[incomplete]sort[created]]
 $checkbox tag=incomplete $link to={{!!title}}$view
 field=title//$link/$checkboxbr/
 /$list
 |

 Obviously i could just make a checkbox1 widget and maintain that,
 but would there be any possibility of getting something like a
 tag doesn't contain parameter into the checkbox core? In fact a
 simple invert=`true` param would be even easier.

 Thanks,

 James
 -- 
 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 tiddlywikidev+unsubscr...@googlegroups.com
 mailto:tiddlywikidev+unsubscr...@googlegroups.com.
 To post to this group, send email to
 tiddlywikidev@googlegroups.com
 mailto:tiddlywikidev@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 To view this discussion on the web visit
 
 https://groups.google.com/d/msgid/tiddlywikidev/f53e1396-e0ac-4adb-a316-d4e0e15ee597%40googlegroups.com
 
 https://groups.google.com/d/msgid/tiddlywikidev/f53e1396-e0ac-4adb-a316-d4e0e15ee597%40googlegroups.com?utm_medium=emailutm_source=footer.
 For more options, visit https://groups.google.com/d/optout.




 -- 
 Jeremy Ruston
 mailto:jeremy.rus...@gmail.com mailto:jeremy.rus...@gmail.com
 -- 
 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 tiddlywikidev+unsubscr...@googlegroups.com
 mailto:tiddlywikidev+unsubscr...@googlegroups.com.
 To post to this group, send email to tiddlywikidev@googlegroups.com
 mailto:tiddlywikidev@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/tiddlywikidev/CAPKKYJbOX0%2Bx%3DEYVT7%2Br8%3DjbZH7LJUu_egtAuptbm7t6rx35Yg%40mail.gmail.com
 https://groups.google.com/d/msgid/tiddlywikidev/CAPKKYJbOX0%2Bx%3DEYVT7%2Br8%3DjbZH7LJUu_egtAuptbm7t6rx35Yg%40mail.gmail.com?utm_medium=emailutm_source=footer.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, 

Re: [twdev] Programaticaly set active sidebar tab

2015-06-09 Thread Felix Küppers
Hi Devin.

The problem here is that the tabs macro generates its state hash without
giving the api user any chance to control this. There is no clean way to
retrieve the state tiddler but you could use a prefix to retrieve a
tiddler that starts with $:/state/tab/sidebar-- 
($tw.wiki.filterTiddlers; or  $tw.wiki.compileFilter + filter.call). The
first match should be the sidebar state tiddler...

-Felix


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP2189ED13D4BC4386B9ABB4CCEBE0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] Closing tid should set focus to previous tid - @Felix

2015-05-29 Thread Felix Küppers
God eftermiddag Mat

 To my satisfaction, Felix' proposals for user options on how to open a
 tiddler
 http://tiddlywiki.com/prerelease/#%24%3A%2Fcore%2Fui%2FControlPanel%2FSettings%2FLinkToBehaviour
  seem
 to make it to 5.1.9. Great!

Thanks :)

 IMO we should have some equivalent option for tiddler closing. Quite
 often I wish I would come back to the /previously viewed
 tiddler/ instead of having the tiddler story pulled up into place
 which puts focus on whatever /arbitrary/ tiddler is there...
 distracting my little brain, just a tad.

Yes, that would be nice. But sadly there is no real way to specify which
tiddler you previously viewed - I mean maybe on a larger screen you
looked at a tiddler more below. Is this the tiddler previosly viewed
then? Or do you mean the tiddler previously navigated to? or the one you
scrolled into view?

 Luckily, Felixes opening behaviour mentioned above means that if you
 set new tiddlers to open above the current tiddler, then the
 previous tiddler will be what appears. Still, that is incidental

Incidential or not, it is happening :)


 I propose a $:/core/ui/ControlPanel/Settings/Link*From*Behaviour. It
 should actually save the viewing history a few steps back so that you
 can /close this one... aha, so that is what I was doing previously,
 well I'll close it now... aha, so that is what I did 3 tiddlers ago,
 well I'll close it now... aha/.

This already exists and is what the HistoryList does. The problem with
jumping back on closing is: what if you scrolled down the river and
close some arbitrary tiddler? should it jump back to the link from where
you opened it? What if that tiddler is already closed. what if that
tiddler is far at the top (possible since tiddlers can now also be
opened at bottom, not just above or below or at top)?

 How many steps should be saved? Well, the reasonable answer is as
 many as there are tiddlers open since those are the only titles
 relevant. It would really be the list in tab Open, but in another
 order. (...unless Felixes other invention, Top Story View is used).

Or maybe I misunderstood you and you just want to have an open list that
is sorted by the order of navigation events?


-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP173E72E9EF2CDBFF3101512CEC90%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Getting the tw5visjs plugin to work again.

2015-05-24 Thread Felix Küppers
Hi Kixam,

I am very happy that they released 4.0 and I want to use it as well :)
but here is the problem: I'll need some time to update TiddlyMap because
much of the vis api changed. This means, I cannot update to 4.0 right
away. If you decide to go with 4.0 right away, a user that wants to run
TW5-TiddlyMap and TW5-visjsTimeline will be facing big js errors since
both plugins then expect different vis versions.

Would it be ok for you, if I update vis.js to 4.0 in a month? So I have
enough time to fix TiddlyMap and also I am sure the guys at vis.js will
release a whole bunch of patches/bugfixes in that period as well?

-Felix

On 24.05.2015 00:46, kixam wrote:
 Hi Felix,

 On Friday, May 22, 2015 at 1:31:17 PM UTC+2, Felix Küppers wrote:

 PS: FYI vis.js 3.12.0 is out

 Thanks, I updated the repo! The guys at vis.js are heavily working
 on 4.0 which will bring many improvements but also come with some
 API changes...


 Later the same day, vis.js 4.0.0 was released... I made some
 preliminary tests on timeline localization, and it seems to work
 better than before (at least out of tiddlywiki). I would like to
 implement it in the timeline plugin.
 -- 
 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 tiddlywikidev+unsubscr...@googlegroups.com
 mailto:tiddlywikidev+unsubscr...@googlegroups.com.
 To post to this group, send email to tiddlywikidev@googlegroups.com
 mailto:tiddlywikidev@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/tiddlywikidev/2236d878-d030-4e26-9308-dc5ab6bad089%40googlegroups.com
 https://groups.google.com/d/msgid/tiddlywikidev/2236d878-d030-4e26-9308-dc5ab6bad089%40googlegroups.com?utm_medium=emailutm_source=footer.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP1993B09059541594295864BCECE0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Getting the tw5visjs plugin to work again.

2015-05-24 Thread Felix Küppers
Hi kixam,

 I adapted my plugin to 4.0.0 this morning... there are quite some
 changes indeed. But I sure can wait before I push to the repo - or at
 least before I update the demo website.

That would be great

 I forked your vis.js plugin and posted a pull request, but this can
 wait too...

Just saw it and replied there ;)

 The only feature I feel is missing now on my plugin is localization,
 but I think it might not very urgent for the community to have it.
 Anyway, I still do not understand how I will make it work yet...

Vis.js offers localization but it becomes complex when considering that
TW has its own (modulized) way of dealing with languages. Not that easy
and I haven't tackled this problem yet.

 Also, in the future, I would like the timeline to be editable, but it
 seems quite difficult. I might need time too...

Yes it is :D If you look at tiddlymap, it is offers quite a lot
customization dialogs but really took some time to build it and yet in
many cases, it is not optimal imo. If you need help at some point, just
include me in your repo discussion.

-Felix


 -- 
 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 tiddlywikidev+unsubscr...@googlegroups.com
 mailto:tiddlywikidev+unsubscr...@googlegroups.com.
 To post to this group, send email to tiddlywikidev@googlegroups.com
 mailto:tiddlywikidev@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/tiddlywikidev/10f3e30b-c45c-4869-a3e7-6f0b3a2d5c2b%40googlegroups.com
 https://groups.google.com/d/msgid/tiddlywikidev/10f3e30b-c45c-4869-a3e7-6f0b3a2d5c2b%40googlegroups.com?utm_medium=emailutm_source=footer.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP5768D914AB778DB2599A25CECE0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Getting the tw5visjs plugin to work again.

2015-05-22 Thread Felix Küppers
Hi kixam,

great stuff!

 Here goes...

 - new project repo: https://github.com/kixam/TW5-visjsTimeline
 - new detached plugin repo: https://github.com/kixam/TW5-moment.js
 - new demo/install page: http://kixam.github.io/TW5-visjsTimeline

 I hope I got everything right... please tell me otherwise.

Your demo looks really nice. I registered myself on your plugin's watch
list to stay informed :)

  

 While I think Emkay wanted to freely share his plugin and the code. I
 think this needs to be solved in any case :(


 I selected BSD #2 for my code (blindly trusted you...),

:)

 but no sign from emkay regarding his...


I now tried to email emkay privately...



 No pressure from my side! :)


 None taken, I had fun!

cool


 PS: FYI vis.js 3.12.0 is out

Thanks, I updated the repo! The guys at vis.js are heavily working on
4.0 which will bring many improvements but also come with some API
changes...

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP178616C3F05BB93315D59C5CEC00%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Getting the tw5visjs plugin to work again.

2015-05-22 Thread Felix Küppers
On 22.05.2015 09:34, kixam wrote:
 I am thinking of using the nice nav buttons from felixhayashi's
 tiddlymap though, but first I would rather they would be included in
 the vis.js plugin instead, if possible. I may look into it but it
 seems not very easy.

Anything vis.js ships with is included in the vis.js plugin. But they
only integrate the buttons for the network module not timeline . If you
have a look at http://visjs.org/timeline_examples.html there is one
example named navigation menu. Maybe this is what you want?

http://visjs.org/examples/timeline/16_navigation_menu.html

-Felix



-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU437-SMTP300C47C476AB775495549ECEC00%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Getting the tw5visjs plugin to work again.

2015-05-22 Thread Felix Küppers
Hi kixam,

Martin (Emkay) replied to my private message and kindly added a BSD
license to his repo just a few minutes ago. So its all good now :)

-Felix

Hello,

Thank you for informing me.  Changes in my life mean I have been unable
to carry the visjs timeline forward. 

I am happy with the github Terms of Service allowing anyone to fork the
project, but for anyone uncomfortable with this I have just added a BSD
license.

All the best,

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP546169092C2D71AA522692CEC00%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Getting the tw5visjs plugin to work again.

2015-05-21 Thread Felix Küppers
Nicely done Kixam!

Were you able to contact Emkay about the original code's license? I
couldn't find any license information on his github repo.
Also, if you take over his project (because it looks like he abandoned
it and you are willing to deploy it), maybe you could inform him and
rename the plugin into something like TW5-Timeline or similar (taking
over his project depends on the license he assigned to his work). If he
doesn't know, which license to assign to his work BSD 3-clause or
2-clause would be optimal in combination with Tiddlywiki (which has also
a BSD license), also Apache or MIT is fine.

-Felix

On 21.05.2015 11:34, kixam wrote:
 Hi,

 I made some further improvements:
 - if you pass over items or group boxes with the mouse, their titles
 will appear (useful for big groups, or ranged items that are too short
 relative to time scale)
 - if item or group tiddler has a color field, it will be used to
 render the item
 - if used instead of the groupField tag, the new groupTags field will
 group all tiddlers having the first listed title as a tag

 the update is available at http://vis.js-timeline.tiddlyspot.com/
 -- 
 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 tiddlywikidev+unsubscr...@googlegroups.com
 mailto:tiddlywikidev+unsubscr...@googlegroups.com.
 To post to this group, send email to tiddlywikidev@googlegroups.com
 mailto:tiddlywikidev@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/tiddlywikidev/e9717bcf-c5eb-4406-8267-7b5b2cb57118%40googlegroups.com
 https://groups.google.com/d/msgid/tiddlywikidev/e9717bcf-c5eb-4406-8267-7b5b2cb57118%40googlegroups.com?utm_medium=emailutm_source=footer.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP2115B8F8FCBF6547F531108CEC10%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Getting the tw5visjs plugin to work again.

2015-05-21 Thread Felix Küppers
Hi kixam,

 Initially, I planned to do that, but I thought most of the work was
 made by emkay, and it would be easier for his fans to follow up if my
 updates were just that: updates.

I strongly agree. But it seems that he is not reacting at all and it
would be sad if such a great plugin gets abandoned.

 And not a completely new project. Which would not be new at all.

Emkay named his project vis.js which is not suitable imo because visjs
is the actual library. This is why a new name would make sense.

 Honestly, I did not think about license issues. I do not know about
 emkay code, I assumed he would agree someone would modify it since it
 is all freely available and forkable on github, how candid of me.

While I think Emkay wanted to freely share his plugin and the code. I
think this needs to be solved in any case :(

 As for my code, I clearly give it to the community. I am more familiar
 with GPL, but BSD seems fine too.

GPL is copy left which may prevent the project from spreading.
Tiddlywiki itself is less strict with its BSD license. But do as you wish :)

 I do not know if I want to be more involved than that for the moment,
 like taking the responsibility to maintain a plugin, manage licenses,
 documentation, source comments, and all. I am just a simple user who
 happens to have some computer skills.

No pressure from my side! :)

 In the meantime, I made other updates this afternoon (download from
 same place):
 - groups are now clickable
 - timeline is bounded within a nicely sized box
 - error messages are displayed in a popup instead of statically above
 the timeline
 - time axis is extended a bit before the soonest and after the latest
 items so that these do not appear on the border
 - I improved my layout tweaks a bit
 - I added an icon to the plugin

Nice


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP17E3C63D5FE818F732C72ACEC10%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Getting the tw5visjs plugin to work again.

2015-05-10 Thread Felix Küppers
Hi Ton, Hi kixam,

just wanted to mention that any plugin-module using the TW5 visjs
plugin from my repo (or from the tiddlymap demo site) needs to import
the node module like this:

varvis =require($:/plugins/felixhayashi/vis/vis.js);

Also installing tiddlymap is not needed when you just want the vis.js
library. Tiddlymap is just a separate plugin that imports the vis js
library.

-Felix

On 10.05.2015 16:58, Ton Gerner wrote:
 Hi kixam

 Thanks for answering.
 At first I did not notice the readme at
 https://github.com/kixam/tw5visjs was emkay's readme linking to
 emkay's demo wiki which of course did not work after upgrading.

 Since I do not use the node.js version of TW I tried to make a plugin
 from the stuff given at
 https://github.com/kixam/tw5visjs/tree/master/plugins/visjs

 I performed the following steps:

 1) Installed by drag/drop felixhayashi's
 $:/plugins/felixhayashi/tiddlymap from
 http://felixhayashi.github.io/TW5-TiddlyMap/
 2) Installed by drag/drop Andreas Hahn's $:/plugins/ahahn/tinka from
 http://twguides.org/wiki/tinka.html
 3) Created (by copy/paste and adding type and module-type):

   * $:/plugins/emkay/visjs/help
   * $:/plugins/emkay/visjs/timelinehelp
   * $:/plugins/emkay/visjs/timelinewidget.js
   * $:/plugins/emkay/visjs/widgetutils.js
   * $:/plugins/emkay/visjs/moment.js (= moment-with-locales.min.js
 from https://github.com/moment/moment)

 4) Created - successfully - a plugin from the 5 tiddlers above with
 help of the Tinka plugin
 5) Added some demo timeline files
 6) Saved and reloaded

 And got a red Javascript error: TypeError: moment is not a function.

 I noticed tiddlywiki.files in momentsjs contains:

 |
 prefix:var moment;_save_module_exports =
 module.exports;module.exports=true;,
 suffix:moment = module.exports; module.exports =
 _save_module_exports; exports.moment = moment\n
 |

 but I don't know how to translate these prefix and suffix into the
 plugin (I am not a programmer).

 Any help much appreciated.

 Cheers,

 Ton

 P.S. May be you can make a demo site at TiddlySpot? Then installing
 the timeline plugin can be just a matter of drag and drop.


 On Sunday, May 10, 2015 at 11:30:58 AM UTC+2, kixam wrote:

 Hi Ton,

 On Saturday, May 9, 2015 at 9:15:51 PM UTC+2, Ton Gerner wrote:

 Hi kixam,

 Glad you took the time to fix the emkay plugin.
 I downloaded the demo wiki from
 http://emkayonline.github.io/tw5visjs/
 http://emkayonline.github.io/tw5visjs/ and it worked as
 before (clicking demo of the timeline widget works).
 Then I saw the TW version was *5.0.9-prerelease*.
 After upgrading the demo wiki to 5.1.8 it did not work anymore
 (clicking demo of the timeline widget gives the well-known red
 Javascript error.

 Any idea what is going wrong?


 emkay did not merge my commits to his repository yet, so you have
 to clone mine instead: https://github.com/kixam/tw5visjs
 https://github.com/kixam/tw5visjs

 -- 
 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 tiddlywikidev+unsubscr...@googlegroups.com
 mailto:tiddlywikidev+unsubscr...@googlegroups.com.
 To post to this group, send email to tiddlywikidev@googlegroups.com
 mailto:tiddlywikidev@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/tiddlywikidev/866131ab-1de3-46a8-86ef-20525b348d0f%40googlegroups.com
 https://groups.google.com/d/msgid/tiddlywikidev/866131ab-1de3-46a8-86ef-20525b348d0f%40googlegroups.com?utm_medium=emailutm_source=footer.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP156883D79D70E1FFEE37B6CEDC0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Getting the tw5visjs plugin to work again.

2015-05-08 Thread Felix Küppers
Hi Kixam,


 My mistake, I was missing uglifycss so your build.sh script could not
 process all it should have.

Ah, so you are using the build script I wrote :) If you discover a
problem, please report them at github.

  I got a hit that there is. From your own TiddlyMap plugin's plugin.info:

 |
   dependents:$:/plugins/felixhayashi/vis,
   depends:$:/plugins/felixhayashi/vis,
 |


No, this is not processed in any way by tiddlywiki. It is just
information for the user and maybe it is used in the future by the
core to trackd dependencies.

See also: https://github.com/Jermolene/TiddlyWiki5/issues/1345

 This is what I added to emkay's. I do not know how restrictive it is
 though.

Cannot hurt :)

 Done and pushed to my fork repository.

Nice. Maybe we should rename the vis.js plugin that is currently hosted
at Jeremy's github (https://github.com/Jermolene/tw5visjs) into
something else because it is outdated and does contain more than just
the vis.js library as I host it on my github site
(https://github.com/felixhayashi/TW5-Vis.js)..

-Felix

 -- 
 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 tiddlywikidev+unsubscr...@googlegroups.com
 mailto:tiddlywikidev+unsubscr...@googlegroups.com.
 To post to this group, send email to tiddlywikidev@googlegroups.com
 mailto:tiddlywikidev@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/tiddlywikidev/4cde852f-7238-4a55-8a6d-99f067189e30%40googlegroups.com
 https://groups.google.com/d/msgid/tiddlywikidev/4cde852f-7238-4a55-8a6d-99f067189e30%40googlegroups.com?utm_medium=emailutm_source=footer.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP3053632AD92684CA92B8C2CEDE0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Getting the tw5visjs plugin to work again.

2015-05-07 Thread Felix Küppers
Hi Kixam,

you don't need to install tiddlymap if you just want to use the visjs
library with nodejs just go to
https://github.com/felixhayashi/TW5-Vis.js and grab the stuff in the
dist folder. to drag and drop the plugin, visit the tiddlymap demo
site and just drag the visjs plugin into your wiki.

-Felix

On 07.05.2015 11:38, kixam wrote:
 Hi,

 On Thursday, December 4, 2014 at 6:20:37 PM UTC+1, Jon Richter wrote:

 Could anyone draw me into the right direction to have it running
 with latest TW5 again?


 I am using emkay's plugin rather than felixhayashi's because I need
 the timeline and not the graph from vis.js.

 I have been fixing it for myself to have it work with newer versions
 of TW5, but lately I became ashamed of such selfishness so I forked
 Jeremy's fork and added my own fixes at
 https://github.com/kixam/tw5visjs. I do not now how to distribute
 compiled/packaged version to non-developer users though.
 -- 
 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 tiddlywikidev+unsubscr...@googlegroups.com
 mailto:tiddlywikidev+unsubscr...@googlegroups.com.
 To post to this group, send email to tiddlywikidev@googlegroups.com
 mailto:tiddlywikidev@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/tiddlywikidev/7a9df38e-f6b3-4230-b4cd-55ad9f1ef53e%40googlegroups.com
 https://groups.google.com/d/msgid/tiddlywikidev/7a9df38e-f6b3-4230-b4cd-55ad9f1ef53e%40googlegroups.com?utm_medium=emailutm_source=footer.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/BLU436-SMTP1365A135BAA1310D3601807CEDF0%40phx.gbl.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: New Google Group Settings

2015-04-01 Thread Felix Küppers
Good stuff!

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/f98e534b-a389-4937-931e-89af23803c85%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: New Google Group Settings

2015-04-01 Thread Felix Küppers
I agree with Mat, editing is really useful. Especially adding results that 
emerged in the discussion to the OP.

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywikidev/0b7f1fa8-39c7-4aa8-a3c3-4de740401717%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[twdev] Multiline fields in raw *.tid file

2015-03-11 Thread Felix Küppers
Hi,

anybody knows whether it is somehow possible to put a fields value as 
multiline into a *.tid file (not the text field) so linebreaks are 
considered spaces?

e.g.

field1: bla
field2: blabla
 continued bla -!
fieldx: blub

hsdjkfh fdhjh gjkfdh gjkdfhg fdjkhg d
f jgfdkh gjkfdg 
hfdjgh dfg

Thanks
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Action widgets vs. Messages

2015-03-07 Thread Felix Küppers
Hi

 For something I did recently, I used messages, which are cought and
 processed by widgets surrounding the UI that implements the
 functionality. 

Andreas advice is good. TW allows you to add event properties via widget
attributes and then you can access them from within your handler code
defined in your message catcher widget. I always use this approach
when doing some difficult manipulation stuff and the write the result
back to a field using the wiki.addTiddler function.

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: TiddlyMap enhancement suggestion : WikiText edges definition

2015-02-28 Thread Felix Küppers
Hi Yoann,

TiddlyMap is really a great plugin ! awesome.


Many thanks :) Still undergoing heavy development.

I though it would be interresting, and easier, to add a syntax to allow 
 creating edges inside tiddlers.


Generally speaking, for any ideas you have in mind concerning tiddlymap it 
would be nice if you would file an issue at github (it is easier for me to 
manage and discuss issues there).

Now for your actual suggestion:

When using normal in in-text links in a tiddler body, it means that part of 
the content is related to another tiddler. TiddlyMap links on the other 
hand have a different meaning: They relate a tiddler (the whole entity) to 
anther tiddler. This means, it would not make sense to include tiddlymap 
links in a tiddler's body since this is the job of a normal link.

Would add in readability and keep inside the wiki spirit of describing 
 data and relationship explicitly within the text of the content.


So as I tried to outline above, tiddlymap links are considered meta data, 
meaning they refer to the entity (tiddler) and its content (body) as a 
whole and should not be embedded in the text - For the same reason, you add 
a tiddler color or a tiddler icon not in the text body.

To view the wiki links while viewing a tiddler, open the live map in the 
sidebar. It will show you the meta relationships (needs a large screen).
Also you can use the tiddlymap drop down button in the tiddler's menu to 
display the existing relations of a tiddler (I will improve the dropdown, 
it is not perfect yet).

That said, I am currently working on a solution to automatically generate 
tiddlymap edges/connections from internal tiddler links. These edges would 
be displayed in a different style to symbolize they are actually produced 
from internal links and then displayed together with other tiddlymap 
connections e.g. in the live view.

The plan is to use the existing link structure contained in a user's 
tiddlywiki and display it as a (big) graph. Then you could go on creating 
links like [[A]] and they would be also displayed in a graph. So this would 
be really close to your suggestion in my eyes.

Also see 

https://github.com/felixhayashi/TW5-TiddlyMap/issues/58
https://github.com/felixhayashi/TW5-TiddlyMap/issues/14

-Felix



 regards,
 Yoann


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: TiddlyMap enhancement suggestion : WikiText edges definition

2015-02-28 Thread Felix Küppers


 Sure !
 I perfectly understand that edges are metadata.
 I was only suggesting to auto-generate part of that metadata from WikiText 
 ;-)

 
Ah ok. Well I think this would also create an overhead for me as already 
store edges separately from the tiddler data to allow fast iteration over 
edges without needing to parse the tiddler's body. But thanks for the 
suggestion it is always good to see different approaches.
 

In my (very) old TiddlerGraphPlugin : http://ideia.tiddlyspot.com/#PlotTest
 I was using a very straitforward syntax to create graphs :
 * ''michel'' - [[married to|susan]]
 Allows to create a annotated link.


I see, you are a veteran on the field of graphs :) Thanks for sharing this.
 


 Would you still like me to fill a issue on github BTW ?
 (I didn't notice your code was on github).


Ehm, well I think since this one is already discussed here, it is not 
necessary anymore. But for future issues it would be nice if github is used 
as medium ;)

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] TW5 Plugin Startup Modules Not Loading?

2015-02-18 Thread Felix Küppers
But looking at your previous post it looks like you already had the 
field module-type correctly set to startup...


On 18.02.2015 03:01, yun.zho...@gmail.com wrote:
Ok, figured it out. In case anyone else runs into this issue, there 
needs to be a field called module-type in the tiddler... Should have 
guessed that.


On Tuesday, February 17, 2015 at 5:09:27 PM UTC-6, yun.z...@gmail.com 
wrote:


Hmmm... so I added it but I'm not seeing a change. Just to be
clear, boot.js is supposed to execute the $tw.wiki.addTiddler on
startup in this case right? I don't have to make a reference
somewhere else?

|/*\
title: $:/plugins/name/defineuser/setusername.js
type: application/javascript
module-type: startup

Adds the given username to the username for signing
\*/

(function() {

/*jslint node: true, browser: true */
/*global $tw: false */
use strict;

exports.name  http://exports.name  = setusername;
exports.platforms = [browser];
exports.after = [startup];
exports.before = [rootwidget];
exports.synchronous = true;

 exports.startup = function() {
 $tw.wiki.addTiddler(new $tw.Tiddler({title: $:/status/UserName, text: 
Joel}));
 };
})();|

On Tuesday, February 17, 2015 at 4:59:10 PM UTC-6, Felix Küppers
wrote:

Hi,

I think you need to add some more instructions like

exports.name http://exports.name = blabla;
exports.platforms = [browser];
exports.after = [startup];
exports.before = [rootwidget];
exports.synchronous = true;

-felix

On 17.02.2015 23:38, yun.z...@gmail.com wrote:

Hello all,

I am still very new to TW5 so this might be an easy question.
I am trying to write a plugin that will modify the
$:/status/UserName tiddler based on credentials from a server
but I can't seem to get the boot.js to load this module?
Maybe I just don't understand how startup modules are
supposed to work... any ideas?

|/*\
title: $:/plugins/name/defineuser/setusername.js
type: application/javascript
module-type: startup

Adds the given username to the username for signing
\*/

(function() {

/*jslint node: true, browser: true */
/*global $tw: false */
use strict;

 exports.startup = function() {
 $tw.wiki.addTiddler(new $tw.Tiddler({title: $:/status/UserName, text: 
Joel}));
 };
})();|
-- 
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 tiddlywikide...@googlegroups.com.
To post to this group, send email to tiddly...@googlegroups.com.
Visit this group at
http://groups.google.com/group/tiddlywikidev
http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout
https://groups.google.com/d/optout.


--
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 tiddlywikidev+unsubscr...@googlegroups.com 
mailto:tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com 
mailto:tiddlywikidev@googlegroups.com.

Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


--
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] TW5 Plugin Startup Modules Not Loading?

2015-02-18 Thread Felix Küppers

True

On 18.02.2015 19:07, Tobias Beer wrote:


Actually in TW5 you don't need to add a tiddler field
module-type, it
is automatically recognized when module-type is added as a field in
the comments and the plugin's shadow tiddlers are loaded. But if it
works for you I guess it is fine then :)


That really depends on if you buld it with node or simply edit that 
module in the browser and then reload.


Best wishes, Tobias.
--
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 tiddlywikidev+unsubscr...@googlegroups.com 
mailto:tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com 
mailto:tiddlywikidev@googlegroups.com.

Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


--
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] TW5 Plugin Startup Modules Not Loading?

2015-02-18 Thread Felix Küppers

Hi Yun,

Actually in TW5 you don't need to add a tiddler field module-type, it 
is automatically recognized when module-type is added as a field in 
the comments and the plugin's shadow tiddlers are loaded. But if it 
works for you I guess it is fine then :)


-Felix

On 18.02.2015 15:17, yun.zho...@gmail.com wrote:
Yes, I am more used to TWC where there is just a title and body area. 
I had added the 'module-type: startup' in manually as a comment above 
the main lines of the code but I didn't actually make it a field 
within the tiddler.


--
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] TW5 Plugin Startup Modules Not Loading?

2015-02-17 Thread Felix Küppers

Hi,

I think you need to add some more instructions like

exports.name = blabla;
exports.platforms = [browser];
exports.after = [startup];
exports.before = [rootwidget];
exports.synchronous = true;

-felix

On 17.02.2015 23:38, yun.zho...@gmail.com wrote:

Hello all,

I am still very new to TW5 so this might be an easy question. I am 
trying to write a plugin that will modify the $:/status/UserName 
tiddler based on credentials from a server but I can't seem to get the 
boot.js to load this module? Maybe I just don't understand how startup 
modules are supposed to work... any ideas?


|/*\
title: $:/plugins/name/defineuser/setusername.js
type: application/javascript
module-type: startup

Adds the given username to the username for signing
\*/

(function() {

/*jslint node: true, browser: true */
/*global $tw: false */
use strict;

 exports.startup = function() {
 $tw.wiki.addTiddler(new $tw.Tiddler({title: $:/status/UserName, text: 
Joel}));
 };
})();|
--
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 tiddlywikidev+unsubscr...@googlegroups.com 
mailto:tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com 
mailto:tiddlywikidev@googlegroups.com.

Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


--
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: A couple plugin questions

2015-02-06 Thread Felix Küppers
Hi Stephan
 

 - I understand that the tiddlers inside a plugin are considered shadow 
 tiddlers regardless of the name but I don't understand the why.  Is it 
 simply the fact they are in a plugin that makes them shadow tiddlers? 


It is to keep all tiddlers of a plugin bundled so when dragndropping them 
all plugin tiddlers are transferred.
 

 - If I include a tiddler called GettingStarted in a plugin and bring that 
 plugin into a new, empty tiddler, won't I have two shadow tiddlers with the 
 same name? Does the system crater in confusion? If not, how would the 
 system decide which one to call up? The one with the most recent date?


Tiddlywiki automatically prefixes the plugin tiddlers with the plugin 
prefix so this can't happen.

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: Autogenerating Tiddlywiki API documentation...

2015-02-05 Thread Felix Küppers
Hi Tobi,

I find it difficult to agree. Perhaps that is owed to my not being a 
 hardcore developer but I would think that there factually is no such 
 hardcore documentation standard. There are project guidelines, styles and 
 implementations ...adopting this or that method, maybe jsdoc.


JSDOC is highly similar to PHPDOC 
(http://phpdoc.org/docs/latest/index.html) to JAVADOC 
(http://en.wikipedia.org/wiki/Javadoc)... also it the standard at Google. 
If developers look at the tiddlywiki code they should feel familiar with 
the doc comments and not be scared or confused.
 


 In some distant past, some text editor developer thought it pretty to 
 generate...

 /**
  * @param foo {string} does bar
  * @return {strong} gives blip
  *
  * bing bong
  */

 

 ..I don't agree at all that we need or want to see or write those 
 superfluous asterisks.


 It is a convention so your editor knows how to highlight the 
block-comments and people can see that each line belongs to a comment block 
dedicated to one topic. This has really nothing to do with emacs...

To me, it's quite important that we input the documentation in precisely 
 the way we know it will render as a tiddler. This seems rather important so 
 as to make things right. Doing the mental yoga to anticipate what some 
 parser will do with it seems a rather poor design choice, imho. Let's stick 
 to *.tid* format!


Do you mean the dictionary format? How can I document nested objects with 
that or go multiline? 
 

 Keeping it simple and smart.


Do you want to write a parser that automatically does all the rendering and 
automatic linking?

That's what I'm saying, let's not waste time on writing a jsdoc parser to 
 crank a lot of wheels so as to turn that into tiddlers! Let's use tiddler 
 format, because we sure know how to parse that and we know how those things 
 end up in TiddlyWiki! Simple, straight forward.


Why do you want to do this with tiddlywiki? This is just code documentation 
directed at developers. Joomla and Drupal are Content Management systems. 
Do they say: let's develop and write our code docs in a joomla parsable 
format and publish it as a Joomla or Drupal Website?

So I am strongly in favour of using a standard here.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: Autogenerating Tiddlywiki API documentation...

2015-02-05 Thread Felix Küppers
Hi,
 

 I am thinking this is actually an area where we *definitely* should eat 
 our own dogfood.


When it comes to API docs, we should stick to standards like JSDOC. Code 
needs to be documented in a most comprehensible and standard compliant way 
to ensure other developers can pick it up and understand it fast when 
acutually reading the code.

Also, I am against reinventing the wheel it just binds way too many 
developer resources. Implementing a comment parser with all features is a 
huge project. This is valuable time we (especially Jeremy) could use to 
make tw better. I use JSDOC to document the plugin api 
(http://bit.ly/tiddlymap_api) 
and I can only recommend it.

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: Very Basic Filter Question

2015-01-24 Thread Felix Küppers
Wow, I am really impressed.
Great work.

On 23.01.2015 21:53, Astrid Elocson wrote:
 Hi Felix,

 I agree entirely! In fact, I added that very point to the Filter
 Syntax tiddler a few days ago in my local copy of the repository
 (which I haven't pushed yet).

 Here's the text:

 The output of a filter step depends on its operator:

   * Most operators perform *relative* to their input. They examine
 each input title in turn and filter out any that don't match. Such
 steps narrow down the output of a run.

   * Absolute operators ignore their input and generate an independent
 output instead. *title* is an example: the result of
 *[title[A]title[B]]* is *B*. But the *field* operator is relative,
 so the result of *[title[A]field:title[B]* is empty.

 Then, in the tiddlers that document the individual filter operators,
 I've indicated whether they're absolute or not. I haven't quite
 reached *title* yet (I'm ploughing through them in alphabetical
 order), but I will add a note there too about the difference between
 *title* and *field:title*.

 I will be sending an almighty pull request with dozens of interrelated
 filter-documentation changes later this weekend!

 – æ
 -- 
 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 tiddlywikidev+unsubscr...@googlegroups.com
 mailto:tiddlywikidev+unsubscr...@googlegroups.com.
 To post to this group, send email to tiddlywikidev@googlegroups.com
 mailto:tiddlywikidev@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 For more options, visit https://groups.google.com/d/optout.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] Navigation bar problem: Tiddler cut of after scroll... scrollTo Offset option needed!

2014-12-24 Thread Felix Küppers
Hi,

I am trying to get a topnavigation bar working and I experience the 
following problem:

Any tiddler navigation results in a scroll of the storyriver to focus a 
tiddler. The focussing sets the storyriver to a certain position I cannot 
influence by any config so if I have a navigation bar, I cannot use any css 
on the storyriver like margin-top or top or padding to prevent the 
tiddler hiding under the navigation bar.

What I need is a method to define a scroll offset so any 
scrolling/navigationing places the tiddler at offsety.

I see Ton has also this problem so for an example please go to 
http://tw5toolbar.tiddlyspot.com an click on the home button. The tiddler 
title is always cut off.

Examples after clicking a link:



https://lh6.googleusercontent.com/-9yCyiNA0QQ4/VJqnkSMq4zI/ADw/IHv8WL1VsNo/s1600/Selection_391.png

https://lh3.googleusercontent.com/-2KArOIDv2Fg/VJqnt6yFFwI/AD4/3iIamYamdQs/s1600/Selection_389.png


http://tb5.tiddlyspot.com solves this by keeping the topbar small but 
unfortunately, I need the space and I think this needs some attention as 
tiddlywiki is increasingly used as basis for classical websites that 
usually have a topbar.

Any Ideas?

Thanks
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] Navigation bar problem: Tiddler cut of after scroll... scrollTo Offset option needed!

2014-12-24 Thread Felix Küppers
Hi Ton,

For 2) (see also e.g. http://tw5toolbar.tiddlyspot.com) you can shift the 
 story-river and the Sidebar downwards (Top Sidebar and Top story-river in 
 Settings; see $:/_stylesheet/settings).


Yes at the beginning this works, but stylsheets do not have an effect once 
tw starts scrolling the tiddler into the viewport as it takes the top 
corner of a tiddler and ignores any margin or css that originally placed 
the tiddler (or the story-river) more away fromt the top. 

Regards
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] Plugin Versioning

2014-12-19 Thread Felix Küppers


Hi @all,

I am a little confused. I want to version my plugin the following way:

MAJOR.MINOR.PATCH+BUILD

I am used to the BUILD version appendix to indicate a build that does not 
necessarily correspond to a version change. It's used when building debian 
packages.

However, this is blocked by Tiddlwiki:

https://lh3.googleusercontent.com/-LLkwrUKYz7w/VJRkL6YH6eI/ADg/vfI3URVDaHw/s1600/Selection_383.png

At tiddlywiki.com it says:

 TiddlyWiki5 http://tiddlywiki.com/#TiddlyWiki5 uses the version 
 information attached to plugins for determining which of two plugins is 
 more recent during an upgrade or import. The pre-release label is ignored 
 when performing these comparisons. 

So it is not just lexicographically compared? Or am I doing it wrong?

Thanks in advance

Felix
 

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Plugin Versioning

2014-12-19 Thread Felix Küppers
Hmm, turns out

$tw.utils.checkVersions

is responsible for this but does not compare the build version even though 

$tw.utils.parseVersion

returns a* build* property.
...

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Plugin Versioning

2014-12-19 Thread Felix Küppers
See https://github.com/Jermolene/TiddlyWiki5/pull/1249

Maybe it would be a good idea to offer a force import button when using 
import? For example when I want to do a downgrade? Just an idea...

-Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: What type of module should I use? and a little question about code organization.

2014-12-09 Thread Felix Küppers
Hi Danielo,

It should listen and track changes to tiddlers, 


This means your module is active from the beginning on. Sounds like a 
startup module to me. not a library and not a widget.
 

 be responsible of telling what should be uploaded, what can be refreshed 
 and to start the process of downloading tiddlers on demand.


Hmm, maybe you should be careful here. Either (1) your module works in the 
background and is not imported or directly used by any other module 
(something like a daemon in linux) or (2) it is directly referenced by 
other modules that call its functions and actively trigger actions (on 
demand). If it works in the background, it works invisibly and maybe uses 
queues or an event-subscriber mechanism to process events.

Felix
 

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] Getting the tw5visjs plugin to work again.

2014-12-08 Thread Felix Küppers
Hi Jörg,

I'm pretty new to TW, but I find Taskgraph not working with 5.1.5?


Well, this is embarrassing :)
Especially since 5.1.5 is the only version it should work with (5.1.4 is 
not supported) :)

Maybe try the demo with another browser?

I am doing a rework of taskgraph at the moment which will be out this week. 
I am sure, this bug will be fixed by then. I will post updates in this 
forum. If the bug still exists with the new version, I would be glad if you 
could inform me then.

Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] Getting the tw5visjs plugin to work again.

2014-12-08 Thread Felix Küppers
Hi Jörg,

what you did is absolutely correct. I looked at the debug (just open 
firebug and restart your wiki) and it is clearly my fault.

The demo is set to a view called component per default. however, the view 
doesn't exist anymore when you copy the plugin from the demo site.
You can fix this by

opening the tiddler

$:/plugins/felixhayashi/taskgraph/defaultGraphViewHolder

and change the line

$:/plugins/felixhayashi/taskgraph/graph/views/components

to 

$:/plugins/felixhayashi/taskgraph/graph/views/default

(no newline!)

Please do not use the plugin (in production) yet as heavy modifications are 
going on at the moment.

Hope it helps

Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] how to detect tiddler closes ?

2014-12-07 Thread Felix Küppers
Hi Lebrun,
 

 Is there a mean to detect that a tiddler is about to close (in widget's 
 code) ?
 In my widget, there is an animation with a periodic function launched 
 every xx ms with setTimeout or with requestAnimationFrame().
 I would like to stop that function when tiddler closes, to free CPU if 
 function is heavy or numerous widget instances. Ideally with an event 
 listner.


I had the same problem. Unfortunately, no destructors exist. What you can 
do is to check if the parent dom node is still part of the document in your 
listener head. So next time the handler is called your listener deletes 
itself.

Consider this:

  TaskGraphWidget.prototype.handleResizeEvent = function(event) {

if(!document.body.contains(this.parentDomNode)) {
  window.removeEventListener(resize, this.handleResizeEvent);
  return;
}

   ... otherwise code

  };


Hope it helps

Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] how to detect tiddler closes ?

2014-12-07 Thread Felix Küppers
Sorry, Jeremy already suggested it. I completely forgot to read his comment.

Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] Getting the tw5visjs plugin to work again.

2014-12-05 Thread Felix Küppers
Hi Jeremy,

thanks for mentioning the plugin :)

Just wanted to say, I have been very busy with working on it the last days 
and I will release a new version next week with a lot of (internal) changes.

So I hope nobody uses taskgraph already in production (except danielo :) as 
some things may break in the next version (or need manual readjustments 
then), though I try to avoid this. In any case, its still beta!

Regards
Felix


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: TW5 Can I add tiddlers from a startup module?

2014-12-01 Thread Felix Küppers
Hello Danielo,

When I started with tiddlyDrive project it was very clear on my mind that I 
 did not want to create a syncAdaptor. The main reason is because the 
 syncadaptors are focused on server side, so unless the server is running on 
 your own machine you end up with nothing. I wanted to provide a way to sync 
 your wiki across different devices and computers. I started with something 
 not too ambitious but useful: uploading and downloading single tiddlers. I 
 want to maintain the philosophy of tiddlywiki: you own your data and it is 
 self contained.


yes, almost like backups. You make a backup (upload) and only if you want 
it, you load it again. And all the current data is at the running system.
 

 The syncadaptors forget about the second Idea, and that is what I wanted 
 to avoid with TDrive: I want your tiddlers to be INSIDE your wiki, and if 
 you want to, sync them to the server, but the wiki file should be the main 
 store for that.

 
i get it
 

 What we are describing here starts to look like a syncadaptor (in fact to 
 recommended me to review its code, something that I though about also) and 
 that scares me a bit.


yes, now I understand what you envision. This is *not* synchronization but 
more like backups or sharing (pushing) tiddlers to a certain place.
 

 After saying that:

 Hmm, I don't think so. You can only do this by passing currentTiddler 
 as an argument to the widget and reading that argument later with 
 getAttribute(). But this only works if the widget is inside a tiddlers body 
 (text). If you create a widget in the tiddler's menu, you cannot get the 
 current tiddler and pass it as an argument.   


 I have to review the code of my encrypt plugin. It is on the control 
 tiddler bar and it access the current tiddler, I think. 


please do so once you have time :)
 

 Of course I do. A long time ago I developed a couple of widgets on the 
 browser and it was a nightmare. 

:) 


 yes, this is a good idea, however the drawback is you lose fulltext search 
 and fields


 Only until you download it. If I'm not mistaken, syncadaptors does 
 something similar.
  

At least you can search by title. It's better than nothing, and after you 
 download it you have the full tiddler and can keep it on your TW. This 
 makes  me thing in another point: when you have a tiddler uploaded  on the 
 server but you keep it on your TW also, how do you know when you should 
 download a new version? Maybe we should ask the server if there is a newer 
 version of the tiddlers that we have and display a small info under the 
 title: there is a newer version of this tiddler.


I think it is good that you try to be clear about what your plugin should 
provide. Better one tool for one thing than a bloated multitool.

Here are my thoughts.


   - If you think of your program as backup (upload) and restore 
   (download) mechanism (just a way to interpret your plugin), then there is 
   *never* a new version on the server. and the download only restores an 
   older version. Instead of bacups, you can think of a sharing mechanism 
   where you only push changes to a server and people may read them if they 
   want, but no active syncing from the server.
   - Checking for new versions: this would go in the direction of syncing, 
   not backup. Then you would say, the tiddler on the server got updated from 
   another machine and now all machines need to show the update.
   

 yes this is a good idea. maybe a button next to the normal save button 
 that says (in a symbolic way) upload all changes now.


 That is exactly what I was thinking about. 


nice
 

 This is all very difficult :)


 Indeed, but fun :)


wait till it grows bigger :)

Felix 

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: TW5 Can I add tiddlers from a startup module?

2014-11-30 Thread Felix Küppers
hola

The problem with a hidden widget is that it cannot retrieve the current 
 tiddlers title. 


 Why? Most of the widgets does this.
  


Hmm, I don't think so. You can only do this by passing currentTiddler 
as an argument to the widget and reading that argument later with 
getAttribute(). But this only works if the widget is inside a tiddlers body 
(text). If you create a widget in the tiddler's menu, you cannot get the 
current tiddler and pass it as an argument.   

  

  
 hehe well, I didnt even know that google drive has a quota. But I think 
 you should not mind the quota. I mean it is more important to have high 
 usability (ajax automatically started) instead of optimizing for a quota.
  


 I agree with you. Actually this concern is only for the for everyone to 
 use version. When each user has their own GAS on server side this should 
 not be a problem at all.


Ah, i get it
 


 I feel like we are mixing things an ideas. Let me summarize what we have 
 been talking about so far:

1. The idea to get from the server all the tiddlers that are only 
available on the server. This means that tiddlers in both places are not 
included.

 this would mean to sync files to the client 


1. Automatically downloading a server tiddler when displayed. This 
deserves thinking about something: If the user has selected to import 
tiddlers via the importer, should we save this tiddlers silently or sow 
 the 
importer? Since this is not important at all and the tiddler does not 
 exist 
already maybe we can avoid the importer thing.

 Are you talking about the tw-import mechanism or your import mechanism?


1. Keeping the downloaded tiddlers automatically in sync with the 
server. We have not discussed about this, but your proposal below sounds 
like this.

  
Yeah, I am thinking of synchroinzation alot. The point is, many ideas can 
be reused looking sync adapter stuff from tw in syncer.js 
(Syncer.prototype.syncFromServer and especially syncToServer). The process 
decides whether to update a tiddler by looking at the changecount and 
revision (readTiddlerInfo()). If you are not doing it already, try running 
tw on node.js and see how it syncs files when creating a tiddler in one 
browser and after one minute it will appear in the other browser window. 
Syncing is difficult though.


1. Upload the changed tiddlers at once on single button click. I feel 
like we have missed this part.

 see my answer later
 


 Here is an idea how it could be implemented

1. When the wiki starts, your plugin loads a tiddler via ajax which 
contains all the names of tiddlers in a json format (an array with all 
names). You save this tiddler as $:/pluginpath/downloadedTiddlers

 Actually I prefer to import those tiddlers as a barebones tiddler with 
 some basic information such the id on server side. If I keep them as a json 
 plugin-like tiddlers they will not be searchable. This placeholder 
 tiddlers could have a default text of: This tiddler is being downloaded 
 and a transclusion of a funny gif image.


yes, this is a good idea, however the drawback is you lose fulltext search 
and fields
 


  2. Everytime during a refresh inside your widget's refresh function (or 
 if you are in a startup module inside you change listener) you check if a 
 tiddler has been changed that was also inside that list (use 
 wiki.getTiddlerList() or for json stuff wiki.getTiddlerData()). if yes, you 
 either upload it directly or save it into a new list tiddler and upload it 
 later.


 This sounds like an idea for 3 (keep tiddlers in sync). I prefer to push 
 that tiddlers to an upload later list and upload them based on a timer 
 function or something like that. 


yes this is a good idea. maybe a button next to the normal save button that 
says (in a symbolic way) upload all changes now.
 

 Making it on every refresh can end with uploads on every keypress. I feel 
 like we have forget about 4 (upload changed tiddlers at once). 

 

The solution you described sounds like it only works on downloaded 
 tiddlers. Maybe we can hold two list? Server tiddlers to upload, user 
 changed tiddlers to upload. The first one could be uploaded every minute 
 while the second one on key-press. How does that sound?


Hmm, I thought about it and maybe this will create to much overhead. I 
think a compromise is to use one list and to update every tiddler on the 
server when the user has finished editing (not in draft state). An ajax 
request on every keystroke will be too much.

This is all very difficult :)
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, 

[twdev] Re: TW5 Can I add tiddlers from a startup module?

2014-11-29 Thread Felix Küppers
Hola

As part of tiddlydrive I want the plugin to query the server for available 
 tiddlers on startup. The idea is to give the server a list of the already 
 available tiddlers on the wiki and the server will reply back with a list 
 of those tiddlers that are on the server but not on the wiki. This way you 
 can search at least for the tiddler title. Then, wen you open one of those 
 tiddler you will see a message that says: this tiddler is on the server. 
 Then you click on the download button.

My question is: can I do this from a startup module? Should I set this 
 module as ashynchronous? 


yes this is all possible just do your ajax query inside exports.startup.
if you do an ajax query it would be non blocking anyways because you work 
with callbacks.

Can I do this in the same startup module that currently attaches the event 
 listeners to the root widget?


yes this does not make a difference
 

 Will my startup method have access to the list of available tiddlers?


You can use $tw.wiki.getTiddler() and other functions to access any tiddler 
you want.

I want to use a pre-comilled filter for this.


this is no problem. For example take a look at the online version of 
https://github.com/felixhayashi/tw-taskgraph/blob/master/src/plugins/felixhayashi/taskgraph/caretaker.js
I also use a compiled filter there for refreshes. But if you only use the 
filter once, you dont have to precompile it.

Thank you for your example, but I don't know to which of my questions are 
 trying to answer. I have a startup module already implemented so I know how 
 to implement them. My question was focused on what can they do DURING the 
 startup process. I don't want to react to events (well, I want but I 
 already did it ) I want to lazy load tiddlers on wiki startup, but I don't 
 want to block the wiki while doing it.


In the lastline of http://tiddlywiki.com/dev/#Startup%20Process it says 
something about asynchronous startup moduls. havent tried it myself... But 
I dont think you need it as ajax is non blocking per default
 

 And I only want to do it once,I don't want to re-download the list on 
 every key press for example.


No problem, just keep all the download code outside the change listener.

---

Hope this helps. Otherwise good luck :)
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: TW5 Can I add tiddlers from a startup module?

2014-11-29 Thread Felix Küppers
Hi Danielo

Thank you also for the example you provided me. 


Nice, you're welcome.
 


 If you have any other idea or suggestions I'm sure it will be very 
 helpful. 
 Regards. 


Indeed I have some ideas (no need to implement them but maybe worth a 
thought)

* maybe you could save the timestamp when the wiki was loaded and have a 
global upload button that saves all tiddlers that have changed since that 
time. this way a user does not need to upload tiddlers one by one.
* after a tiddler is displayed, instead of telling the user, that a tiddler 
only exists on the server, display a waiting animation and start the query 
immediately. the download can be triggered for example by putting an 
invisible widget in the tiddlermenu that starts the ajax when the menubar 
is rendered and it does not refresh. The current tiddler title can be 
retrieved via some dom selections (something like 
getElementsByClassName(tc-tiddler-title)[0].firstChildBlabla); A better 
solution than a hidden widget would be to look for refreshes of the 
storylist tiddler and if a new tiddler is added to the list, you start the 
ajax. I mean a user wants to see that tiddler, its an unecessary step to 
click start download in my eyes.

Regards
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: TW5 Can I add tiddlers from a startup module?

2014-11-29 Thread Felix Küppers
 

 * maybe you could save the timestamp when the wiki was loaded and have a 
 global upload button that saves all tiddlers that have changed since that 
 time.


Or you could also listen to tiddler changes and create list of tiddler 
which have changed and not been uploaded yet..

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: TW5 Can I add tiddlers from a startup module?

2014-11-29 Thread Felix Küppers
Hi Danielo,

I also though about starting the ajax automatically when the tiddler is 
 displayed, but I was not sure on how to implement it. A hidden widget maybe 
 can be a solution. I don't understand why do you consider better getting 
 via DOM selection.


The problem with a hidden widget is that it cannot retrieve the current 
tiddlers title. So it would be better to create a plugin that checks during 
refresh() if $:/StoryList is in changedTiddlers and then checks which 
tiddlers where opened and have not been downloaded yet.
 

 Also I think the less queries to the server the less chances to kill my 
 quota. Maybe is not so bad for the user to click the download button. 


hehe well, I didnt even know that google drive has a quota. But I think you 
should not mind the quota. I mean it is more important to have high 
usability (ajax automatically started) instead of optimizing for a quota.
 


 About your second suggestion I think your latest idea is the best one. How 
 can that list be built and where should I store it? Maybe a event listener 
 that listens to tiddler changes is the way construct such list. I'm not 
 very familiar with that kind of event listeners and I'm not sure what kind 
 of information do they receive. What do you think? 


Here is an idea how it could be implemented

   1. When the wiki starts, your plugin loads a tiddler via ajax which 
   contains all the names of tiddlers in a json format (an array with all 
   names). You save this tiddler as $:/pluginpath/downloadedTiddlers
   2. Everytime during a refresh inside your widget's refresh function (or 
   if you are in a startup module inside you change listener) you check if a 
   tiddler has been changed that was also inside that list (use 
   wiki.getTiddlerList() or for json stuff wiki.getTiddlerData()). if yes, you 
   either upload it directly or save it into a new list tiddler and upload it 
   later.

Good night

Felix

 

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] How to correctly use compiled filters not on $tw.wiki but on a given list of titles?

2014-11-25 Thread Felix Küppers
By the way here is an updated version of the utils function which does not 
redecide on every operation whether to deal with an object or an array, 
also you may leave out the source to run the filter on the whole wiki.


/**
 * This function facilitates to check whether a list (tRefs) of tiddlers
 * matches a certain filter. if no list is specified, all tiddlers in
 * the wiki are considered
 * 
 * @filter a filter expression or a compiled filter
 * @tRefs (optional) a hashmap or an array of tiddler references (titles)
 */
utils.getMatches = function(filter, tRefs) {
  
  // use wiki as default source
  var source = undefined;
  
  if(Array.isArray(tRefs)) {
source = function(iterator) {
  for(var i = 0; i  tRefs.length; i++) {
var tObj = $tw.wiki.getTiddler(tRefs[i]);
iterator(tObj, tRefs[i]);
  }
};
  } else if(typeof tRefs == object) {
source = function(iterator) {
  for(t in tRefs) {
var tObj = $tw.wiki.getTiddler(t);
iterator(tObj, t);
  }
};
  }
  
  if(typeof filter == string) {
filter = $tw.wiki.compileFilter(filter);
  }
  
  return filter.call($tw.wiki, source);
  
};


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Moving to github as discussion board?

2014-11-25 Thread Felix Küppers
Hi,

I think Jeremy mentioned it and it makes a lot of sense.

* Sharing code
* marking topics
* editing posts and topic titles

Putting the google board in the github readme as read-only legacy reference.

Just wanted to say, I support the idea. This board sometimes makes it hard 
to be productive and to benefit from the solutions of the past.

Regards
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Filter on array doesn't work with prefix filter?

2014-11-25 Thread Felix Küppers
Hi Danielo,

$tw.wiki.getFilterTiddes() is just a wrapper to compile the filter string 
for you.

take a look at this biiig function that is executed everytime you 
execute a filter

https://github.com/Jermolene/TiddlyWiki5/blob/7ed1a2ebc7f2e1566a43499c38d3f4995713de5a/core/modules/filters.js#L168

While this is nothing difficult for modern browsers, if you use the same 
filter lets say 100 times it is worth to compile it only once.

Felix

Am Dienstag, 25. November 2014 16:22:04 UTC+1 schrieb Danielo Rodríguez:

 Danielo, you understand everything man, don't worry :)


 Thank you for your kind words
  

 Its no magic. If you often use the same filter just use

 filter = [];
 $tw.wiki.compileFilter(filter);
 filter.call($tw.wiki);

 you dont need a source. a source is just important when you want to 
 decide on  which tiddlers to run the filter on.
 see https://groups.google.com/forum/#!topic/tiddlywikidev/U6LFRxrJfeU


 But why is this useful? why just don't you call 
 $tw.wiki.getFilterTiddes([...])?? 


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] Filter on array doesn't work with prefix filter?

2014-11-24 Thread Felix Küppers
Hi,

would be great if anybody could provide a hint why this is not working as 
expected (it should only return $:/Control/Panel instead it returns all 
system tiddlers in the system).

Just copypaste the code in firebug (or console) after opening tiddlywiki.com

var filter = (function() {
  var filterComponents = [];
  // also shadow tiddlers
  filterComponents.push(all[tiddlers+shadows]);
  // only tiddlers with this prefix
  filterComponents.push(prefix[$:/]);
  return [ + filterComponents.join('') + ];
}).call(this);

console.log(filter);

tRefs = [ $:/ControlPanel, $:/i/dont/exist ];

var source = function(iterator) {
  for(var i = 0; i  tRefs.length; i++) {
var tObj = $tw.wiki.getTiddler(tRefs[i]);
iterator(tObj, tRefs[i]);
  }
};

$tw.wiki.compileFilter(filter).call($tw.wiki, source);

Regards Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Filter on array doesn't work with prefix filter?

2014-11-24 Thread Felix Küppers


 Does...

 $tw.wiki.compileFilter(filter)

 ...return a function?

 If not then tell me what this is supposed to do...

 iterator(tObj, tRefs[i]);

 Best wishes, Tobias.


Hi Tobias,  

compileFilter returns a compiled filter function.
see code at github or topics:
https://groups.google.com/forum/#!topic/tiddlywikidev/U6LFRxrJfeU
https://groups.google.com/forum/#!topic/tiddlywikidev/WGR0hTRpZCA

the iterator is called by the filtermechanism to access the tiddler and get 
its title as reference. It's not a code issue I think, it has to do 
something how tw deals with it internally. But I cannot spot the mistake. I 
already looked at 
https://github.com/Jermolene/TiddlyWiki5/blob/112a9a95d95e9f62f110c97a4faaf537c5c100b1/core/modules/filters/prefix.js...

Regards Felix

This is probably best discussed at...

 https://groups.google.com/forum/#!forum/tiddlywikidev

 ...so as to not overload people who wish to focus on using tw.


I thought we are at tiddlywikidev :)

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Filter on array doesn't work with prefix filter?

2014-11-24 Thread Felix Küppers
Ok, I think it is a misunderstanding on my side. Using 
all[tiddlers+shadows] prevents source() from being executed.
Simply ommiting the all[tiddlers+shadows] part makes tw inject the iterator 
into the provided source.

Hope my explanation is correct.

Regards Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Filter on array doesn't work with prefix filter?

2014-11-24 Thread Felix Küppers
Moin Moin,

 

 I thought we are at tiddlywikidev :)


 Early in the mrning ^^ 


I feel you man :)


 [$:/library/sjcl.js]

 What's that telling me? I really don't know.


Haha nice. this is the first result picked from the result set of all 
tiddlers.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Filter on array doesn't work with prefix filter?

2014-11-24 Thread Felix Küppers
Hi Jeremy,

What's going on is that the all filter operator acts as a selector, 
 rather than a filter. It ignores the incoming list of tiddlers, and creates 
 a new list from the store.


thanks for that explanation! This is also how I understood it in the end:
 

 Ok, I think it is a misunderstanding on my side. Using 
 all[tiddlers+shadows] prevents source() from being executed.
 Simply ommiting the all[tiddlers+shadows] part makes tw inject the 
 iterator into the provided source.


Regards Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Filter on array doesn't work with prefix filter?

2014-11-24 Thread Felix Küppers
Hi Tobias,
this is not so easy you need to read the files at github  to get the 
picture. It has nothing to do with daily filter usage and is only relevant 
if you want to use a filter on a set of tiddlers


- What are the precise processing implications?

 Selectors decide what tiddlers to use (similar to SELECT), filters decide 
what to return (similar to WHERE)
 


- What does it have to do with iterator?
- What is iterator used for?

  iterator is a function injected as a callback when using a source 
function as selector.
https://github.com/Jermolene/TiddlyWiki5/blob/7ed1a2ebc7f2e1566a43499c38d3f4995713de5a/core/modules/filters.js#L168
 

 Perhaps explain why there's both...

- *eachTiddlerPlusShadows*
- *eachShadowPlusTiddlers*

 this makes a difference when a tiddler hides a shadow.
 


 Hi Tobias,

 The


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Filter on array doesn't work with prefix filter?

2014-11-24 Thread Felix Küppers



- and which is fired in one case but not in the other = Why?

 It is ignored because the selector all[...] already defines a set of 
tiddlers and thus does not look at the set of tiddlers by the source 
function
 

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Filter on array doesn't work with prefix filter?

2014-11-24 Thread Felix Küppers


 How come *[all[]* is a selector defining a set and *[all[shadows]]* or 
 *[all[shadows+tiddlers]]* are not?


all[] seems to be just a dummy placeholder which serves no function but to 
return the source, when you provide a source, you can just ommit it.
 

 Is it that, sometimes, source is called to iterate by the filtering 
 mechanism to provide (a mechanism for defining) its input-set? And that, 
 for some reason, the code triggering the *source* callback might just procure 
 that elsewhere?

 The iterator is a JavaScript function that takes a callback as its 
 parameter. It invokes the callback once for each tiddler that is in the 
 source set. Your source function is an iterator; you wouldn't be calling it 
 from your source function.


 Never learned js from ground up, so that's one language construct I had 
 yet to discover.


Well, its not really a construct its just a bunch of nested callbacks with 
a certain purpose :)
 


 That's what I just explained about the all filter operator acting as a 
 selector. The filter machinery doesn't enumerate the source in that 
 situation because it is ignoring the source.


 Yes, and I'd like to understand: Why? It's possibly so easy an answer that 
 you can't imagine I wouldn't have realized by now. Does then enumerating 
 the source only happen for at a filter directive that is not acting as a 
 selector? Which operations precisely are selectors and when, since a single 
 one, namely *[all[]]*, already seems to be having different modes... 
 others might as well.


TW calls some filters filters but they are actually result manipulators 
(like removeprefix) selects (like all) or filters in the original sense 
(like prefix). Why do selectors ignore the provided source? Because Jeremy 
must have decided so and it also makes sense because they provide a source 
themselves. It does not really matter what is a selector and what not 
normally but you may regard everything as selector that adds tiddlers to 
the tiddler set that is filtered.
 


 I kind of understand the functional distinction of there being bits that 
 select more and others that filter more...

- some define a set
- some augment or reduce a set
- logical operations are performed with respect to members of 
different sets
   - i.e. union, intersection, exclusion, etc...

 To me, all that is filtering... with respect to the set of ALL tiddlers, 
 or the current set we're looking at in the run.


yes
 


 When it comes to the actual processing, I would have imagined that what 
 distinguishes an implementation from being more on the selection end or 
 more on the filtering end that that would be left for the source function 
 to decide, not outside of it... 


yes, that was what I thought as well, hence my question and Jeremy’s answer.
 

 so that it's always that function that determines which ones are the good 
 ones and which ones aren't (besides set-operations) ...so that, in the 
 end, we're always evaluating a given set within *source* ...but that's 
 not what seems to be happening.


You have the right thinking but its merely a design choice. There are pros 
and cons and it is what it is. Simply avoid all[...] if you want source to 
decide how to iterate.
 


 If not, then what is the purpose of *source* and how is it functionally 
 separate from whatever asks it to iterate ...if that caller might just 
 ignore it?


You are too dramatic here :) In all cases I know (except all[...]) source 
is not ignored.
 


 In Felix' case, should he rather be using *filterTiddlers *than 
 *compileFilter*? If not, when to use which?


no, I cannot add a source with filterTiddlers also it would be a waste of 
resources to use a string as filter if you need to run the same filter 
several times. 
 


 I am sorry if I am asking too many uneducated questions, it's just that 
 there's perhaps more technical Chinese 
 http://tiddlywiki.com/#Filter%20Formal%20Grammar about filters on 
 tiddlywiki.com, than, say, here...

 http://tiddlywiki.com/dev/#Tags%20and%20Filter%20Mechanism

 ...and, unfortunately, just trying to read the code, didn't quite answer 
 the above questions... for me.
 But maybe with the 10ths read, it slowly will. ^^


Just don't worry. You are lacking a use case to understand it. At one point 
it will make sense, also its not really as important as you think it is. 
Just use it as it is. 

Good night
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Filter on array doesn't work with prefix filter?

2014-11-24 Thread Felix Küppers


 So many talented developers talking about pre-compiled filters raises my 
 curiosity. Is there any place to read about them? I'm familiar with 
 callbacks and some JavaScript design patterns such as the module pattern. 
 Is that enough to understand this ? 


Danielo, you understand everything man, don't worry :)
Its no magic. If you often use the same filter just use

filter = [];
$tw.wiki.compileFilter(filter);
filter.call($tw.wiki);

you dont need a source. a source is just important when you want to decide 
on  which tiddlers to run the filter on.
see https://groups.google.com/forum/#!topic/tiddlywikidev/U6LFRxrJfeU

Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Need some help with creating a plugin to include the vis.js library

2014-11-17 Thread Felix Küppers
Hi Mario,

I looked at codemirror/files/tiddlywiki.files 
https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FJermolene%2FTiddlyWiki5%2Fblob%2Fmaster%2Fplugins%2Ftiddlywiki%2Fcodemirror%2Ffiles%2Ftiddlywiki.filessa=Dsntz=1usg=AFQjCNEKLSPVHQhJsSv2gD0HDbZuxlHL7g
 
but could you please be more clear on what to find there?

The build.sh is not obsolete :) Without it, I would not be able to easily 
create the plugin for vis.js. It compiles the images and all that. without 
it, I would have to do it by hand everytime I fetch a new vis version. The 
finished compilation is offered in the dist folder as tw-plugin which is *os 
independent*. The build.sh is a shortcut for linux users to easily compile 
versions of vis.js into a plugin, it does not claim to be universally 
usable. WIndows users may just ignore it.

Regards
Felix

Am Montag, 17. November 2014 10:05:08 UTC+1 schrieb PMario:

 Hi Felix,

 Did you have a look at: 
 https://github.com/Jermolene/TiddlyWiki5/blob/master/plugins/tiddlywiki/codemirror/files/tiddlywiki.files
  
 https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FJermolene%2FTiddlyWiki5%2Fblob%2Fmaster%2Fplugins%2Ftiddlywiki%2Fcodemirror%2Ffiles%2Ftiddlywiki.filessa=Dsntz=1usg=AFQjCNEKLSPVHQhJsSv2gD0HDbZuxlHL7g
 IMO it would make your build.sh obsolete, since it is OS specific and 
 can't be used from windows. 

 -m


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Need some help with creating a plugin to include the vis.js library

2014-11-17 Thread Felix Küppers
Just a remark: For the taskgraph plugin I use a node.js taskrunner called 
gulp to compile the plugin (using a gulpfile.js). Here it makes absolute 
sense to use an os independent approach.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Need some help with creating a plugin to include the vis.js library

2014-11-17 Thread Felix Küppers
Hi Danielo,

Thank you for your help!

This was also my first thought. Then I saw that the vis.js designers have a 
switch-case implemented that decides how to export the object based on 
different scenarios.

function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object'  typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function'  define.amd)
define(factory);
else if(typeof exports === 'object')
exports[vis] = factory();
else
root[vis] = factory();

When I build a wiki and create a single tw-file (do you call this 
standalone?), I have to access the library like this:

var vis = require($:/plugins/felixhayashi/vis/vis.js);

which corresponds to (am I right?)

module.exports = factory();

What didn't work and caused the error was:

var vis = require($:/plugins/felixhayashi/vis/vis.js).vis;

because I initially thought the following is used to export:

exports[vis] = factory();

But thanks, your suggestion was helpful!

Regards
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Need some help with creating a plugin to include the vis.js library

2014-11-17 Thread Felix Küppers
Hi Tobias,

exports are used in a modular javascript-system to make pieces of code 
publicly usable by other js-modules. Otherwise they are not visible.

Javascript itself does not know this concept as everything is stored in one 
file. but with node.js it is possible and tw also uses this to dynamically 
load pieces of code when run from a single html.

Hope I didn't say something wrong :)

Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Need some help with creating a plugin to include the vis.js library

2014-11-17 Thread Felix Küppers
However. I already solved the problem (see a post above)

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] How to render widgets programmatically?

2014-11-17 Thread Felix Küppers
Hi,

Say I have a tiddler T1 with a widget A that uses the transcluded content 
of a tiddler T2 as its body.

T1 looks like

$A{T2}/$A

T2 looks e.g. like this

blabla
$list filter=[tag[hi]]/$list
$button message=somemessage param=helloclickbutton/$button
bla

Widget A is now the parent of the widgets in its body and I can e.g. listen 
to messages from the button or decide, when to refresh the widgets.

My question: What is the correct way to render the content of T2 
programmatically in the plugin-code of widget A?
I looked at wiki.renderTiddler() but I do not know how and at what point to 
call this method or if it is the correct way to do it.

In the end, I want to have the same child widgets and content inside $A 
as above however the tiddler T1 should look like this

$A /

The body should be {T2}.

Could somebody please provide a minimal example and at what point to call 
the functions needed?

Regards Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] Need some help with creating a plugin to include the vis.js library

2014-11-16 Thread Felix Küppers
Hi everybody,

I have spent much to time trying to figure out how to get the vis.js 
library integrated.

I created a bash script that translates the css that urls comply to the 
internal tw-paths. The script also builds the tiddlywiki.files file.

The plugin is correctly displayed as plugin in a compiled tw. However, I 
get an error when I try to require the library that tells me it cannot be 
required (the object is undefined).

I know it has something to do with that the vis object is not exported 
correctly.

*Please have a look at my github repo here:* 
https://github.com/felixhayashi/tw-vis

It contains a *src* and a *dist* folder. *For testing, please use the 
compiled plugin in dist. If you want to recompile it. use the script in src*
.

Help is much appreciated.

Regards Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] How to correctly use compiled filters not on $tw.wiki but on a given list of titles?

2014-11-14 Thread Felix Küppers
Hi,

because I had this issue a while ago and I am currently refactoring my code 
and creating helper functions I just wanted to publish one of my util 
functions that easily lets you filter on a given subset. Doesn't work with 
IE8 because of isArray() ...well who cares? :)

  /**
   * This function facilitates to check whether a list of tiddlers
   * matches a certain filter.
   *
   * @tRefs a hashmap or an array of tiddler references (titles)
   * @filter a filter expression (string) or a compiled filter
   */
  utils.getMatches = function(tRefs, filter) {

var source = function(iterator) {
  if(Array.isArray(tRefs)) {
for(var i = 0; i  tRefs.length; i++) {
  var tObj = $tw.wiki.getTiddler(tRefs[i]);
  iterator(tObj, tRefs[i]);
}
  } else if(typeof tRefs == object) {
for(t in tRefs) {
  var tObj = $tw.wiki.getTiddler(t);
  iterator(tObj, t);
}
  } else return [];
};

if(typeof filter == string) {
  var filter = $tw.wiki.compileFilter(filter);
}

return filter.call($tw.wiki, source);

  };



-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] new Revision Plugin: give me your opinions.

2014-11-13 Thread Felix Küppers


Not to confuse with what this guy does with a hook :)

http://imageprocessor.websimages.com/width/282/crop/0,0,282x340/www.onceuponafans.com/Dustin%20Hoffman%20as%20Hook.jpg

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] compiled filter with titles doesn't work? but with tags it does... Help please

2014-11-07 Thread Felix Küppers
Hi,

I have worked a lot with compiled filters now but this one here... I just 
don't get it.

If you open tiddlywiki.com and a firebug (or similar) browser-console and 
enter

var filter = [title[Get the Ring]] [title[Kill the Dragon]];

var compiledFilter = $tw.wiki.compileFilter(filter);

var changedTiddlers = { Get the Ring: {modified: true} };

var source = function(iterator) {
  $tw.utils.each(changedTiddlers, function(property, title) {
var tiddler = $tw.wiki.getTiddler(title);
console.log(title);
iterator(tiddler, title);
  });
};

var results = compiledFilter.call($tw.wiki, source);
console.log(results);
// outputs [Get the Ring, Kill the Dragon]



Why doesn't it only display Get the Ring?


In fact, the compiled filter call does not even call the source function.

Consider this

var filter = [title[Get the Ring]] [title[Kill the Dragon]];

var compiledFilter = $tw.wiki.compileFilter(filter);

var changedTiddlers = { Get the Ring: {modified: true} };

var source = function(iterator) {
  console.log(hello woorld);
};

var results = compiledFilter.call($tw.wiki, source);
console.log(results);

// outputs [Get the Ring, Kill the Dragon]



But the filter is valid, if you enter it in tiddlywiki.com advanced search 
it will find the tiddlers

An example that works perfectly but the filter is different:

var compiledFilter = $tw.wiki.compileFilter([tag[task]]);

var changedTiddlers = { Get the Ring: {modified: true}, bla: {
modified: true} };

var source = function(iterator) {
  $tw.utils.each(changedTiddlers, function(property, title) {
var tiddler = $tw.wiki.getTiddler(title);
console.log(title);
iterator(tiddler, title);
  });   
};

var results = compiledFilter.call($tw.wiki, source);

console.log(results);
// = [ Get the Ring ]

Where is my mistake?

Thanks
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] [TW5] compiled filter with titles doesn't work? but with tags it does... Help please

2014-11-07 Thread Felix Küppers
Hi Jeremy,

I had never guessed that. After two hours of testing I was about to reboot 
my pc because I thought its a problem with the cache or something.

Thank you!

Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Is there a designated place for TW plugins to store stuff in the dom?

2014-11-05 Thread Felix Küppers
Hi Jeremy,

sorry, I have only now read your comment.

If you can, though, I'd recommend using a global variable created in $tw.


Thanks. I followed your recommendation! Also I created a namespace property 
in $tw for my plugin.

Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Is there a destructor for widgets?

2014-11-03 Thread Felix Küppers
Hi Jeremy,
 

 It's a bad idea for a widget to add event listeners to the DOM (other than 
 to the dom elements that it creates). You'd be better off attaching your 
 event listener inside a startup module within the same plugin. You can use 
 closures or globals to communicate with your widget instances.


Good idea
 

 There is no destructor for widgets at the moment. I think we may well need 
 destructors to properly handle some memory leaks, but they've not been 
 required so far. I should explain that I'm not a huge fan of destructors in 
 JS because they have to be called manually.


Me neither! But for example when I created some tiddlers in $:/temp for the 
time my widget is running (I use this as a pipe to store information to 
communicate with the GUI). I want to remove them after closing, but I 
can't. *A suggestion:* can't we do it like /tmp in linux: delete $:/temp/ 
during bootup! that would be sweet! Then no cleanup is necessary.

Felix
Regards

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Is there a destructor for widgets?

2014-11-03 Thread Felix Küppers
Hello Jeremy,

great to discover that everything is already taken care of :) I did not 
know that.

Thank you
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] Is there a destructor for widgets?

2014-11-01 Thread Felix Küppers
Hi,

I have another question :)

I need to register to window resize events to calculate the size of my 
canvas as it's not possible with css without changing too much of TW.

However, once my widget is destroyed, I cannot remove the eventlisteners 
and next time the widget is created again, it creates another resize 
listener.

*Question:* So is there a destructor that is called on my widget instance 
in which I can remove the listeners I originally created at instantiation?

Regards
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Is there a destructor for widgets?

2014-11-01 Thread Felix Küppers
... I would prefer a destructor call over a mutation observer 
(https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver).

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Is there a destructor for widgets?

2014-11-01 Thread Felix Küppers
very creative! but I also doubt that resize events get propagated as 
iframes have their own dom.

But I appreciate your idea BJ.

Thanks
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Is there a designated place for TW plugins to store stuff in the dom?

2014-11-01 Thread Felix Küppers
Cool, then I will do it this way too :)

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Idea for hard line breaks

2014-10-31 Thread Felix Küppers
Hi,

why not: \\ ?. latex also uses them.

Stephan is right, unix commands with .. at the end are quite common as 
they refer to the directory above.

Am Freitag, 31. Oktober 2014 08:01:28 UTC+1 schrieb Stephan Hradek:



 Am Freitag, 31. Oktober 2014 07:49:22 UTC+1 schrieb Danielo Rodríguez:

 Just add an space between dots : . ..


 So not *that* natural, isn't it? ;) 


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] Problem with TextReferences and Buttons

2014-10-31 Thread Felix Küppers
Hi @all,

Is it possible to create a button that reads its set-destination from a 
current tiddler's field and once pressed echo some text to another tiddlers 
field?

The problem is, setting set to the field by TextReference prohibits 
specifying the field of the destination that shall be changed

$button class= set={{!!outdest}} setTo=somethingClick to 
store/$button

outdest beeing the own tiddlers field which is dynamically assigned during 
creation and may change.

outdest : $:/temp/output-762314

hardcoded it should look like

$button class= set={{$:/temp/output-762314!!fieldxyz}} 
setTo=somethingClick to store/$button

But how do I pass the field?

With a textwidget its no problem, as it separates destination and field.

$edit-text tiddler={{!!outdest}} field=fieldxyz /

However I need this for a button that triggers an action

Any ideas? Thanks in advance

Regards
Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Problem with TextReferences and Buttons

2014-10-31 Thread Felix Küppers
Thanks, I will try that later

Am Freitag, 31. Oktober 2014 13:50:23 UTC+1 schrieb Stephan Hradek:

 I think it should work when you define a macro for the button and pass 
 your values in the $macrocall.


-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Problem with TextReferences and Buttons

2014-10-31 Thread Felix Küppers
Sweet!

I didn't know that the TextReference would actually be evaluated if it is 
constructed in the macro.

Thank you for your example Danielo!

I think this the same what Stephan proposed, so thank you as well.

regards Felix

Am Freitag, 31. Oktober 2014 18:48:03 UTC+1 schrieb Danielo Rodríguez:

 Maybe you want to use something like this 

 \define textReference(field)
 $(prefix)$!!$field$
 \end


 $set name=prefix value={{_ipx/temp/newLog/title}}

 $button set=textReference comment 
 setTo={{_ipx/temp/newLog/comment}}



-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Problem with TextReferences and Buttons

2014-10-31 Thread Felix Küppers


 I didn't know either until I tried. To be honest I didn't even thing about 
 if it was possible, it just came to me.


Danielo, you are the chosen one :)

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Giving plugins a chance to visualize search results

2014-10-28 Thread Felix Küppers
Thank you, I really appreciate it.

Regards
Felix

Am Dienstag, 28. Oktober 2014 09:31:56 UTC+1 schrieb Jeremy Ruston:

 Hi Felix

 I've added a tiddler to control the default search results tab:


 https://github.com/Jermolene/TiddlyWiki5/commit/b0a0859b6286e7500967de607dd4a270b3bcfe6d

 Best wishes

 Jeremy.


 On Mon, Oct 27, 2014 at 9:44 PM, Felix Küppers felixk...@hotmail.de 
 javascript: wrote:

 Hi Jeremy,

 Great, thank you very much!

 I didn't know you could specify code in emptyMessage to react to empty 
 lists :)

 Only one remark. I just noticed, its not possible to specify an 
 alternative DefaultSearchResultList without overriding the code in 
 $:/core/ui/DefaultSearchResultList. This becomes a problem, when you 
 want to keep the classic search method as a tab, however not as default
 .

 A solution that comes to my mind would be to create a tiddler that holds 
 the name of the DefaultSearchResultList (just like $:/DefaultTiddlers) 
 which would be set per default to $:/core/ui/DefaultSearchResultList 
 and can then be overridden. This way the code in 
 $:/core/ui/DefaultSearchResultList 
 would stay alive :)

 Does this make sense? Please correct me if I am wrong.

 Again thank you for picking up my request!

 Regards
 Felix

 Am Montag, 27. Oktober 2014 19:41:25 UTC+1 schrieb Jeremy Ruston:

 Hi Felix

 Thanks for the suggestion. I've added support for it in 5.1.5:

 https://github.com/Jermolene/TiddlyWiki5/commit/
 c13cf94413c94ee56bebc60fab2d9231d1824d88

 I've added logic to suppress the tabs if there's only a single search 
 result visualisation available.

 Best wishes

 Jeremy.


 On Sat, Oct 25, 2014 at 6:46 PM, Felix Küppers felixk...@hotmail.de 
 wrote:

 I'm sorry, I just realized the code I posted above is not quite correct.

 However, I think the idea becomes is clear and it's easy to implement.

 -- 
 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 tiddlywikide...@googlegroups.com.
 To post to this group, send email to tiddly...@googlegroups.com.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 For more options, visit https://groups.google.com/d/optout.




 -- 
 Jeremy Ruston
 mailto:jeremy...@gmail.com
  



 -- 
 Jeremy Ruston
 mailto:jeremy...@gmail.com javascript:
  

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Plugin does not listen to changes

2014-10-27 Thread Felix Küppers
Hi Danielo,

Glad that you ask :)

Yes, it's related to my proposal at 
https://groups.google.com/forum/?hl=de#!topic/tiddlywikidev/UafAzk5Bt7k.

It's a two level project:

*First Step:* I will introduce a mechanism to explicitly link tiddlers and 
visualize them as nodes on a canvas.

Motivation: TW allows you only to *implicitly* specify relations among 
tiddlers via links in a text or grouping via tags. however, it lacks a 
clean, *explicit* relationship mechanism e.g *Tiddler A is a child of 
Tiddler B* or *C depends on D* or *E suggests G* etc. Moreover, TW 
cannot display/visualize a relationship network like this in a graph yet. 
With my Plugin, you can for example create new tiddlers by creating nodes 
on a canvas or interconnecting them, by drawing lines, all that stuff...

*Second step: *I am working on a *personal-use-ticketing* system for TW5, 
which can be used to organize tasks, bugs, enhancements, requests, 
due-dates etc. and represent all in a graph-like strukture that can be 
filtered and manipulated in the graph and from the tiddlers alike. The 
graph is drawn and updated on a canvas via vis.js. A node on the canvas 
changes from blue to red depending on its priority (automatically 
calculated by due-date, relationships, importance...)

Motivation: If you take a look at various opensource ticket-systems (like 
Trac, Redmine, Request Tracker (RT) Apache Bloodhound, BugZilla) you will 
discover that they have alot of shortcomings:
* they are build for team/public usage/participation in a network 
environment, not focussing individual usage (like TW does).
* they are often hard to setup and maintain.
* They are based on Python, Ruby, PHP (but not on javascript) and require a 
webserver, which doesn't make them easily portable
* Their Wikis are not as smooth, dynamic and fast as TW5.
* They lack visual representation and are often quite

I will use the ticket-system to organize my projects and my life. *Think of 
it as an sophisticated TW-based todo-system*. As much of my life is already 
stored in TW, this makes sense to make an effort in this direction.

The two screenshots at the end of my post 
(https://groups.google.com/forum/?hl=de#!topic/tiddlywikidev/UafAzk5Bt7k.) 
give you a first, very simple idea of one functionality-aspect the plugin 
will provide. Unfortunately, nobody has commented this yet, regardless, I 
will file a pull request at some point.

By the way, Danielo, thanks for the context plugin and especially 
keyboard-snippets, without the latter, I would refuse to use tiddlywiki :)

Regards Felix

Am Sonntag, 26. Oktober 2014 19:59:43 UTC+1 schrieb Danielo Rodríguez:

 Félix you have triggered my curiosity. What are you working on?

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Plugin does not listen to changes

2014-10-27 Thread Felix Küppers
Hi Danielo

Glad you like my plugins. I was in a similar situation that you are 
 currently when I develop them: I use TW a lot and I missed those kind of 
 features.


I know, I read some of your old discussions :) Very helpful

In one you said:
 

 I discovered that the navigator widget is instantiated on PageTemplate, 
 that's why it is capturing events and mine not. I get my inspiration from 
 the fieldmanglerWidget which mades me suspect.

This solved one of my problems a few days ago ;)
 

 If you are using vis.js take a look at this: 
 http://emkayonline.github.io/tw5visjs/

 Maybe can speed up your work.


Thanks for pointing that out. I did that already a while ago, however, my 
plugin is very different. The only similarity is that it uses the same 
vis.js library.
 

 In my opinion, this should be released as a standalone plugin rather than 
 a pull request to the core. That way I will be able to enjoy it earlier, 
 and I really want to try it out!! 


Yeah, I will do that! I meant, that I will create a separate pull request 
for a minor issue which I brought to discussion in 
https://groups.google.com/forum/?hl=de#!topic/tiddlywikidev/UafAzk5Bt7k

So thank you very much for your feedback!

regards

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


Re: [twdev] Re: [TW5] Giving plugins a chance to visualize search results

2014-10-27 Thread Felix Küppers
Hi Jeremy,

Great, thank you very much!

I didn't know you could specify code in emptyMessage to react to empty 
lists :)

Only one remark. I just noticed, its not possible to specify an alternative 
DefaultSearchResultList without overriding the code in 
$:/core/ui/DefaultSearchResultList. This becomes a problem, when you want 
to keep the classic search method as a tab, however not as default.

A solution that comes to my mind would be to create a tiddler that holds 
the name of the DefaultSearchResultList (just like $:/DefaultTiddlers) 
which would be set per default to $:/core/ui/DefaultSearchResultList and 
can then be overridden. This way the code in $:/core/ui/DefaultSearchResultList 
would stay alive :)

Does this make sense? Please correct me if I am wrong.

Again thank you for picking up my request!

Regards
Felix

Am Montag, 27. Oktober 2014 19:41:25 UTC+1 schrieb Jeremy Ruston:

 Hi Felix

 Thanks for the suggestion. I've added support for it in 5.1.5:


 https://github.com/Jermolene/TiddlyWiki5/commit/c13cf94413c94ee56bebc60fab2d9231d1824d88

 I've added logic to suppress the tabs if there's only a single search 
 result visualisation available.

 Best wishes

 Jeremy.


 On Sat, Oct 25, 2014 at 6:46 PM, Felix Küppers felixk...@hotmail.de 
 javascript: wrote:

 I'm sorry, I just realized the code I posted above is not quite correct.

 However, I think the idea becomes is clear and it's easy to implement.

 -- 
 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 tiddlywikide...@googlegroups.com javascript:.
 To post to this group, send email to tiddly...@googlegroups.com 
 javascript:.
 Visit this group at http://groups.google.com/group/tiddlywikidev.
 For more options, visit https://groups.google.com/d/optout.




 -- 
 Jeremy Ruston
 mailto:jeremy...@gmail.com javascript:
  

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] [TW5] Giving plugins a chance to visualize search results

2014-10-25 Thread Felix Küppers
Hi,

I really like the search mechanism of TW. It's very fast and simple.

When I begin to search, the reveal mechanism of TW hides the tabs and only 
displays the search results.

!-- Excerpt from 
https://github.com/Jermolene/TiddlyWiki5/blob/master/core/ui/SideBarLists.tid 
--
$reveal state=$:/temp/search type=nomatch text=
  div class=tc-search-results
$set name=resultCount value=$count 
filter=[!is[system]search{$:/temp/search}]/
  {{$:/language/Search/Matches}}
/$set
$list filter=[!is[system]search{$:/temp/search}sort[title]limit[250]] 
template=$:/core/ui/ListItemTemplate/
  /div
/$reveal


However, I developed a plugin that visualizes tiddlers and their relations 
as nodes on a canvas and if I start a search, I want the nodes on the 
canvas to be filtered.

*In other words, I want to use an alternative way to present the results of 
the search*

My Problem: I cannot enable my plugin to visualize the search results.

The following modification would change that:

$reveal state=$:/temp/search type=nomatch text=
  div class=tc-search-results
tabs [all[shadows+tiddlers]tag[$:/tags/searchVisualizer]!has[draft.of]] 
$:/core/ui/DefaultSearchVisualizer
  /div
/$reveal


with $:/core/ui/DefaultSearchVisualizer being:

title: $:/core/ui/DefaultSearchVisualizer
caption: Standard search

$set name=resultCount value=$count 
filter=[!is[system]search{$:/temp/search}]/
  {{$:/language/Search/Matches}}
/$set
$list filter=[!is[system]search{$:/temp/search}sort[title]limit[250]] 
template=$:/core/ui/ListItemTemplate/


Then anybody could create a tiddler and tag it with 
$:/tags/searchVisualizer and it is displayed as search result tab.
People could create plugins to visualize search results in an alternative 
way (I for example display a graph with relations). Context search could 
also be included this way, as it is also just a different visualization 
method of search result.

*A user could define in the config tiddler, which is his/hers favorite 
result visualizer and set it to the default.*

This is similar to firefox quick search next to the address-bar where i can 
select multiple engines to render my search results.

Check out these screenshots:

https://lh4.googleusercontent.com/-9Ysfzkx5iDU/VEvWz5ONTLI/AB8/A8T79ljXC8M/s1600/Selection_353.png
 
https://lh4.googleusercontent.com/-PCY4ftDt4Lw/VEvWrm3-REI/AB0/CYwXRn9VGbw/s1600/Selection_352.png

Regards Felix

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


[twdev] Re: [TW5] Giving plugins a chance to visualize search results

2014-10-25 Thread Felix Küppers
I'm sorry, I just realized the code I posted above is not quite correct.

However, I think the idea becomes is clear and it's easy to implement.

-- 
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 tiddlywikidev+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywikidev@googlegroups.com.
Visit this group at http://groups.google.com/group/tiddlywikidev.
For more options, visit https://groups.google.com/d/optout.


  1   2   >