{slidyimport} { "title" : "SliNKi = Slidy + WiNK", "css" : " body { background-color: white; } div.slide h1 { color : #555555; } {request}res:/res/slidy/demo/css{/request} ", "copyright" : "© 2010 Peter Rodgers, Brian Sletten", "favicon": "http://www.w3.org/Talks/Tools/Slidy2/graphics/icon-blue.png", "duration" : "5", "splash" : "{request}meta:demo:splash{/request}", "splashDuration": "7000" } {/slidyimport} {request}meta:demo:background{/request} {slidy+class@title} {html}

SliNKi = Slidy + {request}meta:wink:logo{/request}

{/html} This is a set of slides showing the [http://www.w3.org/Talks/Tools/Slidy2/|Slidy] macro extensions for {request}meta:wink:logo{/request} {request}meta:wink:logo{/request} is... *a resource oriented Wiki application for [http:/www.1060research.com/netkernel/|NetKernel] *available for install from the [http://docs.netkernel.org/book/view/book:readme/#Installing_Software_on_the_NetKernel_Platform|NetKernel repositories] using Apposite *a recursive wiki markup runtime. *extensible with hot installable macros {/slidy} {slidy} =Wiki Slides= Combining {request}meta:wink:logo{/request} with Slidy allows you to create presentations using Wiki markup. You can make any wiki page into a Slidy presentation with the following steps... #Add a {slidyimport} statement at the top of your wiki document - this uses a JSON array to set up the page with the slidy scripts etc. #Define a slide with a {slidy} tag. #Write wiki inside the {slidy} tag. #Create as many slides as you need all in the one wiki page. The next slide shows an example... {/slidy} {slidy} =WiNK Slidy Example= Here's an example of a Slidy wiki page with two slides... {html}
{slidyimport}
	{	"title": "Slidy Demo",
		"css" : "body: white;",
		"copyright": "blah blah bah",
	}
{/slidyimport}

{slidy}
=Hello=

Some text

*Bullet list
{/slidy}

{slidy}
=Second Slide=

Something else
{/slidy}
{/html}
Which looks like this...
{/slidy} {slidy+class@example} =Hello= Some text *Bullet list {/slidy} {slidy+class@example} =Second Slide= Something else {/slidy} {slidy} =Features= The following slides show the other features that are available... ==Source== For reference the wiki source for these slides is [http:/wink/res/slidy/demo/content/demo.txt|here]. {/slidy} {slidy} =Incremental Reveal= #Some numbered bullets #Item 2 Below are some incremental bullets {incremental} *Some more bullets *Another bullet {/incremental} Use the {incremental} tag to mark content for progressive reveal. {html}
{incremental}
*Some more bullets
*Another bullet
{/incremental}
{/html} {/slidy} {slidy} =Resource Oriented Requests= Supports ROC requests with {request} tag *Simple request syntax {html}
{request}res:/some/thing{/request}
{/html} *Full [http://docs.netkernel.org/book/view/book:guide:logicalreference/doc:logicalreference:module:standard:logical:declarative:request:syntax|declarative request] syntax {html}
{request}
<request>
<identifier>active:groovy</identifier>
<argument name="operator">res:/myscript.gy</argument>
</request>
{/request}
{/html} Below is a dynamic inline groovy script showing the current time... {request} active:groovy {/request} {/slidy} {slidy} =Self Referencing Links= Since this is just a Wiki you can create links within the presentation *Here is a link back to the [#(2)|second slide] *Which is this wiki markup... {html}
Here is a link back to the [#(2)|second slide]
{/html} {/slidy} {slidy} =Images - SVG= Here is an external referenced SVG using the {svg} tag {svg}res:/res/slidy/demo/img/circles.svg{/svg} Example: {html}
{svg}res:/slidy/demo/img/circles.svg{/svg}
{/html} Here is a literal inline SVG using the {svgliteral} tag {svgliteral} {/svgliteral} {/slidy} {slidy} =Images - Bitmap= Here is a bitmap using the {image} tag {image}/wink/res/slidy/demo/img/glassfrog.jpg{/image} Example: {html}
{image}wink/res/slidy/demo/img/glassfrog.jpg{/image}
{/html} {/slidy} {slidy} =POH - Plain Old HTML= Use the {html} tag for plain old HTML {html} {/html} Here's an example of how the {html} tag can be used to include the [http://vis.stanford.edu/protovis/|Protovis] Javascript Visualization Library... {html}
{/html} {/slidy} {slidy} =Support For Handout Notes= *This slide has handout notes *Press the '''A''' key to reveal handout notes {notes} This content is only visible in the printout versions of the slides. {html} {/html} {request}meta:demo:handout:note{/request} {/notes} {/slidy} {slidy} =Images - Bitmap Incremental Test= Here is a bitmap using the {image} tag inside {incblock} (incremental revealed block content) {incblock} {image}/wink/res/slidy/demo/img/glassfrog.jpg{/image} {/incblock} {/slidy} {slidy} =Images - SVG Incremental Test= Here is an external referenced SVG using the {svg} tag inside {incblock} (incremental revealed block content) {incblock} {svg}res:/res/slidy/demo/img/circles.svg{/svg} {/incblock} Here is a literal inline SVG using the {svgliteral} tag {incblock} {svgliteral} {/svgliteral} {/incblock} {/slidy} {slidy} =Source Code Highlighting= Use the {java} source code tag {java} //Actually Javascript but its source code... var data = pv.range(0, 10, .1).map(function(x) { return {x: x, y: Math.sin(x) + Math.random() * .5 + 2}; } ); {/java} {/slidy} {slidy} =Layout Test - Double Column, Float Image= Demonstrates the {wiki} tag which allows parsing of wiki embedded within HTML {html}
{wiki} *Bullet Col 1 Item 1 *Bullet Col 1 Item 2 *Bullet Col 1 Item 3 {/wiki} {wiki} *Bullet Col 2 Item 1 *Bullet Col 2 Item 2 *Bullet Col 2 Item 3 {/wiki}
{wiki} =Floating Frog= {/wiki}
{/html} {/slidy} {slidy} =Technical: How it works= "'''''It eeeze not a miricle. It eeeze sciyance'''''" The integration of Slidy into {request}meta:wink:logo{/request} is accomplished by a small set of dynamically imported macros ([#(22)|quick reference]). You can consider these as a specialized application framework running on top of the core {request}meta:wink:logo{/request} runtime platform. There is a [http://docs.netkernel.org/book/view/book:tutorial:wink/|detailed guide] to {request}meta:wink:logo{/request} which explores how it is itself just a composite resource-oriented application built on top of a set of core NetKernel services. {request}meta:wink:logo{/request} was one of the first applications we developed on the general ROC abstraction of NetKernel 4. It's now about 4 years old and, even though NetKernel and the service libraries it uses have undergone continual evolution in that time, {request}meta:wink:logo{/request} has not required any maintenance or bug fixes. {/slidy} {slidy} =Technical: Usage Notes= *Remember that a set of slides is really a single resource - you can see this if you press the '''A''' key to reveal all slides. *As such, all requests and includes etc are evaluated in a single pass *To do interactive stuff you'll probably want to make ajax requests to NK services - [http://jquery.com/|jquery] is pre-included in each slideset. {/slidy} {slidy} =Slidy Keys QuickRef= *'''F11''' - Toggle fullscreen display mode (if your browser supports this!). *'''A''' - Show all slides and notes, for printing *'''F''' - Hide/Show lower navigation bar *'''C''' - Show table of contents *'''S''' - Scale font ''Smaller'' *'''B''' - Scale font ''Bigger'' {/slidy} {slidy} =Slidy Macros QuickRef= *'''{slidyimport}''' - set's up the Slidy environment in {request}meta:wink:logo{/request} optionaly ''may'' have JSON array of optional settings... {html}
{slidyimport}
{	"title": "Your title here",
	"css" : " body: white; //Any other css changes",
	"copyright": "Your copyright statement here",
	"cssref": "res:/some/referenced/css/resource.css"
}
{/slidyimport}
{/html} *'''{slidy}''' defines a slidy slide - the contents are recursively evaluated as wink wiki text (may include further macro tags). *'''{request}''' a ROC request (simple or declarative request syntax). *'''{incremental}''' - mark list items for incremental reveal *'''{incblock}''' - mark a block item (image, div, para etc) for incremental reveal. {/slidy} {slidy} =Slidy Macros QuickRef - Content Macros= *'''{notes}''' specifies notes that are only visible on handouts - press '''A''' to view *'''{html}''' a block of plain HTML. *'''{wiki}''' a parseable block of wiki inside a block html! *'''{image}''' a bitmap image reference (must be externally visible to browser) *'''{svg}''' an SVG image reference (may be an internal resource request) *'''{svgliteral}''' an inline SVG image. *'''{java}''' - content is rendered using source code highlighting. *'''{xml}''' - content '''must''' be XML and is rendered using XML colour highlighting. {/slidy} {slidy+class@test} =Background= ==Testing Testing== * One * Two * Three * Four This slide has a background image and "Background Text" in the lower right corner. {/slidy} {slidy+class@inter} =Interstitial Example= This slide is supposed to be a smart interstitial! ''(Yeah I know the design sucks. But it proves the concept)'' {/slidy} {slidy} =After Interstitial= All back to normal again. {/slidy} {slidy} =Horizontal Center= {centerh+width@75%}
This should be horizontally centered and be 75% wide. Using {centerh+width@75%}..{/center}
{/centerh} {centerh+width@300px} {html} {/html} {/centerh} {centerh+width@20%}
{wiki} *Some *Narrow *Bullets {/wiki}
{/centerh} {/slidy} {slidy} =Vertical Center= {centerv}
This should be vertically centered {centerv}..{/center}
{/centerv} {/slidy} {slidy} =Horizontal + Vertical Center Text= {centerh+width@30%} {centerv}
This is text in the horizontal and vertical middle.
{/centerv} {/centerh} {/slidy} {slidy} =Horizontal + Vertical Center Image= {centerh+width@600px} {centerv} {html} {/html} {/centerv} {/centerh} {/slidy} {slidy} =Horizontal + Vertical Center Wiki= {centerh+width@200px} {centerv}
{wiki} ==Title== *Bullet 1 *Bullet 2 *Bullet 3 {/wiki}
{/centerv} {/centerh} {/slidy} {slidy} =Centered Tables in MediaWiki Syntax with CSS= {html} {/html} {centerh+width@300px} {centerv} {wiki} {| class="mytable" cellspacing="0" cellpadding="0" |- |GET |{html}{/html} |- class="postrow" |POST |{html}{/html} |- |PUT |{html}{/html} |- |DELETE |{html}{/html} |} {/wiki} {/centerv} {/centerh} {/slidy}