Jeremy et al thanks! This almost worked as proposed, but I figured it out. 
I was having trouble getting the "#" into the field value.

Here is the working macro, currently implemented at DesignWriteStudio 
<http://designwritestudio.com/#Presentation%3A%20Text%2C%20Interactivity%2C%20Writing%20and%20Designing>
 (this 
is for a class I am teaching this semester at SUNY Polytechnic Institute). 
I had to do some odd dancing around in the defines to get the "#" to show 
up in the background-color field.

Questions now: 

<1> on phone, the "prev" and "next" buttons are not properly displaying; 
too far over to the left
<2> I'd like to set the slidenum field to be the same name as the 
"slidetag"  -- so that a given tiddler can be used/ordered in multiple 
slideshows. That would require a transclusion of some sort that I haven't 
begun to figure out. 
<3> I'd hope to be able to color the slide in the same <list> as displaying 
the slides, but that may not be possible? As you can see, I run through the 
slides on a <list> twice: once to set the bg color, once to open into the 
story river.

And I hope to bundle this as a plugin (soon).

Thannks!

//steve.

(macro code follows)








\define bgcolor() {{$:/palettes/DWS##$(slidenum)$}}
\define bgcolor2() #$(rgb)$
\define punchshow(slidetag)

<!--macro creates slideshow of tiddlers tagged with slidetag and ordered by 
field slidenum.  sets bgcolor according to values in customized palette 
(palette name is hardcoded on first line of macro). requires modified 
viewTemplate. requires $:/themes/tiddlywiki/punch, 
$:/core/ui/ViewTemplate/next, $:/core/ui/ViewTemplate/prev, 
$:/core/ui/ViewTemplate/endslideshow -->

<!--capture slidetag in variable-->
<$set name=slidetag value="$slidetag$">

<!--button text, close all tiddlers, hide sidebar, close open tiddlers, 
change theme, activate next/prev buttons, activate endslideshow button in 
ViewTemplate-->

<$button set="$:/state/sidebar" setTo="no" 
tooltip={{$:/language/Buttons/HideSideBar/Hint}} 
aria-label={{$:/language/Buttons/HideSideBar/Caption}} >
<$action-sendmessage $message="tm-close-all-tiddlers"/>
<$action-setfield $tiddler="$:/theme" text="$:/themes/tiddlywiki/punch"/>
<$action-setfield $tiddler="$:/core/ui/ViewTemplate/next" 
tags="$:/tags/ViewTemplate"/>
<$action-setfield $tiddler="$:/core/ui/ViewTemplate/prev" 
tags="$:/tags/ViewTemplate"/>
<$action-setfield $tiddler="$:/core/ui/ViewTemplate/endslideshow" 
tags="$:/tags/ViewTemplate"/>

<!--set default return-->
<$action-setfield $tiddler="$:/fromTiddler" text=<<currentTiddler>>/>

<!--set bg color of all slides in show -->
<$list filter="[tag<slidetag>!nsort[slidenum]]">
<$vars slidenum={{!!slidenum}}>
<$wikify name="rgb" text=<<bgcolor>>>
<$action-setfield background-color=<<bgcolor2>>/>
</$wikify>
</$vars>
</$list>

<!--gather and open all tiddlers with field matching slidetag with slidetag 
field as order-->
<$list filter="[tag<slidetag>!nsort[slidenum]]">
<$action-navigate $to=<<currentTiddler>> />
</$list>
View slideshow <<slidetag>><br>
</$button>
\end

\define endslideshow()
<$button set="$:/state/sidebar" setTo="no">
<$action-setfield $tiddler="$:/theme" text="$:/themes/tiddlywiki/heavier"/>
<$action-listops $tiddler="$:/core/ui/ViewTemplate/next" $field="tags" 
$filter="[[]]"/>
<$action-listops $tiddler="$:/core/ui/ViewTemplate/prev" $field="tags" 
$filter="[[]]"/>
<$action-listops $tiddler="$:/core/ui/ViewTemplate/endslideshow" 
$field="tags" $filter="[[]]"/>
<$action-sendmessage $message="tm-close-all-tiddlers"/>
<$action-navigate $to={{$:/fromTiddler}}/>
End Slideshow
</$button>
\end

-- 
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 tiddlywiki+unsubscr...@googlegroups.com.
To post to this group, send email to tiddlywiki@googlegroups.com.
Visit this group at https://groups.google.com/group/tiddlywiki.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/84ca5ae2-1b65-45ca-aec5-48b501f68ef0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to