All,
I've spent the last few days working on a new wiki for use with my family
history. I'm going to use it, not as a substitute for my genealogy program,
but as a supplement to keep track of documentation and such. In so doing,
I've managed to figure out a nice way of using tidgraph to generate my
pedigree chart and I've written a "children of" using nested list widgets.
I have tiddlers for each person with that person's parents as tags. With
tidgraph, I was able to get the desired behavior by using mode="tags[]"
instead of tagging which is the default. Tidgraph is a wonderful plugin and
it's too bad that it doesn't seem to be supported any longer. I'm still
learning Javascript, so am a long way from making any changes to it myself.
I've created a ViewTemplate that I've included here:
\import [title<currentTiddler>]
<$list filter="[all[current]search:description[People]]">
<div class="tc-tiddler-body" style="border: none;">
<$tidgraph start=<<currentTiddler>> mode="tags[]sort[sex]reverse[]"
maxdepth="2" nocollapse />
<$list filter="[all[current]has:field[birth]]
[all[current]has:field[death]]">
<table class="highlight1">
<caption style="text-align: left; font-weight: bold; caption-side:
top;">Birth / Death:</caption>
<tr>
<td>Birth</td>
<td><$macrocall $name="date-str" date={{!!birth}}/></td>
<td><<birthplace>></td>
</tr>
<tr>
<td>Death</td>
<td><$macrocall $name="date-str" date={{!!death}}/></td>
<td><<deathplace>></td>
</tr>
</table>
</$list>
<$list filter="[all[current]]" variable="Parent">
<$list filter="[all[current]tagging[]search:description[People]limit[1]]"
variable=null>
<div class="list-tree">
Children of <<currentTiddler>>:
<ol>
<$list
filter="[title<currentTiddler>tagging[]sortan[birth]tags[]!title<Parent>]">
<li>with: <$link><$view field='caption'><$view
field='title'/></$view></$link>
<$list
filter="[title<currentTiddler>tagging[]limit[1]has[parents-marriage]]">
-> married: <$macrocall $name="date-str"
date={{!!parents-marriage}}/>
</$list>
<ol>
<$list filter="[title<currentTiddler>tagging[]sortan[birth]]">
<li><$link><$view field='caption'><$view
field='title'/></$view></$link> -> born: <$macrocall $name="date-str"
date={{!!birth}}/></li>
</$list>
</ol>
</li>
</$list>
</ol>
</div>
</$list>
</$list>
<$list
filter="[all[current]backlinks[]!search:description[People]!is[missing]limit[1]]"
variable=null>
<<table-dynamic
filter:"[title<currentTiddler>backlinks[]!search:description[People]]"
fields:"tbl-expand record-date description title" sortOp:sortan
stateTiddler:"recordsearch" class:"highlight1" editButton:no
caption:"''Mentioned or connected with the following records:''">>
</$list>
</div>
</$list>
The result is this:
I'm suing the class "list-tree" which has been around for quite a while and
created by Mat. There's also a dynamic table called out from the Shiraz
plugin that I use to show any documents that the person is listed in.
This all works just how I want it to work, but being that my skills at
Tiddlywiki are still forming, I'm wondering if there might be a more
efficient or effective way of doing the same thing. I am definitely open to
any better ways of doing things.
I'm also thinking of expanding the "children of" code to a recursive macro
to get multiple generations, but I don't know exactly how to proceed down
that path. Any suggestions would be highly appreciated.
Feel free to use this code if you think you'd find it useful. I only ask
that, if you make any improvements or additions, that you let me know so I
might incorporate those.
Thanks,
Damon
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/99a16c09-8c03-4c10-bdc0-1b9d7f7bc740o%40googlegroups.com.