SliNKi
Wiki HTML5 Presentations with NetKernelOverview
- SliNKi is an HTML5 presentation application
- The combination of:
- NetKernel's wiki resource model and its existing collection of macros
- reveal.js HTML5 slides template
These slides are a single wiki page powered by...
- WiNK a NetKernel Wiki Application
- WiNK lets you use resource oriented macros
- Which means SliNKi "just works" here.
3rd Generation
- This is the 3rd generation featuring a new slide engine (reveal.js) and a completely clean bootstrap.
- It now allows other HTML5 libraries to be used at the same time.
- We're using Font-Awesome and Bootstrap in this slide set.
Bootstrap
Bootstrap is being used for this CSS column layout
Font-Awesome
Is being used for the Icons
What's New?
- Brand new clean-boot process
- Full control over CSS
- including print/screen
- Full control over Scripts
- Including reveal.js configuration
- HTML5 touch enabled on Tablet/Phone
- 3D Transitions (try pressing "Escape")
- Support for vertical slides
- Simple clickable progress bar control
- PDF Export Friendly
- press A and print to PDF
- Clean default fonts/styling
- Works as independent wiki macro library
- no need for WiNK
- New ROC power-user macros
- {wikiref} - sources and parse resource as wiki
- Fixed SVG graphics
What Else is New?
- SliNKi is available inside the NetKernel doc system!
- Slides are now first-class searchable docs!
- SliNKi is now a module in the wiki-core package (use apposite to get latest wiki-core)
- SliNKi slides just work as docs.
- Here's a demo in your NK system now...
Example
Here's an example of the wiki syntax
{slide} ===Instance of Example Page=== *Bullet 1 *Bullet 2 Mary had a little lamb. {/slide}
{slide} is the macro that delimits a slide.
The following slide is the rendering of the wiki shown above...
Presentations
- Each {slide}...{/slide} block defines a different slide
- You add as many slides as you need for your presentation
- The content is all just wiki text
- So its very fast and very easy to create presentations
- SliNKi is Resource Oriented - so you can easily include other resources. This means its very easy to create slide libraries and save lots of time.
- Its even easy to have dynamically generated slides.
Booting
To boot to SliNKi inside WiNK (or within NetKernel docs) you use the {slinki} macro at the top of your page...
{slinki} { //Options go here as a JSON array (see reference) } {/slinki}
This dynamically transforms the page into a presentation.
If you remove the {slinki} macro your page just looks like a regular wiki page (which can be handy as a basic high-level preview mode)
Macro Engines
SliNKi is just one macro provided as part of NetKernel's Wiki Resource Model. So its simple to extend with your own macro engines.
Some of the built-in macro engines include:
- {notes} specifies notes that are only visible on handouts
- {html} a block of plain HTML.
- {wiki} a parseable block of wiki inside a block of html.
- {image} a bitmap image reference
- {java} - content is rendered using source code highlighting.
- {xml} - content must be XML and is rendered using XML colour highlighting.
Example: Source Code Highlighting
Use the {java} source code tag
//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}; } );
Or use highlight.js
Use tags {html}<pre><code>...</code></pre>{/html}
//Javascript source code...
var data = pv.range(0, 10, .1).map(function(x)
{
return {x: x, y: Math.sin(x) + Math.random() * .5 + 2};
}
);
SliNKi QuickRef 1
- {slinki} boots the SliNKi environment.
- May contain a JSON array of settings...
{slinki} { "title": "Your title here", "copyright": "Your copyright statement here", "scripts" : [ "/foo/baa.js", "/boo/baz.js" ] } {/slinki}For full details see the SliNKi reference docs
http://localhost:1060/book/view/book:org:netkernel:wiki:slinki/
SliNKi QuickRef 2
- {slide} defines a slide - the contents are evaluated as wiki.
- An optional class argument specifies the class to use in the slide.
- For example:
{slide+class@mytitle}
- Gives the slide a CSS class of "mytitle"
class example
This slide is declared with the class argument (you can add more classes as space separated items)
- {slide+class@mystyle}
The mystyle class is defined in your CSS like this..
.mystyle { background-color: #EDEA49; }
SliNKi QuickRef 3
Other macros specific to presentations are:
- {incremental} - mark list items for incremental reveal
The most powerful is:
- {request} a ROC resource request.
- {wikiref} an ROC resource request that is recursively parsed as wiki.
This lets you request other resources to include in your wiki.
A request can be either a simple URI or the full power of a declarative request.
Everything is a Resource
- The presentation is a resource
- All the slides are resources
- Everything is a resource.
- All the slides are resources
- The representation of the presentation (not easy to say) is generated with recursive ROC requests.
- Resource requests can be embedded using the {request} macro.
- We added a footer on every page by declaring a request like this...
{request}meta:footer{/request}
- Each SliNKi logo is done like this
{request}meta:slinki:logo{/request}
- So its really easy to create slide libraries. Or if the URI is to an http:// URL - you can do "slide mashups".
To get SliNKi
- If you want to serve/share presentations just install "wink" and put your presentation in a wiki.
To ROC it
- NetKernel is 21st Century technology that powers some of the world's largest sites, carrier-class telecoms systems and essential Web infrastructure you probably didn't even realise you rely on.
- Resource Oriented Computing (ROC) was conceived by 1060 Research.
- The NetKernel Resource Oriented Computing Platform is developed by 1060 Research and is published under a dual-license open source model.
- ROC is easy to learn, and those that do wouldn't go back. Onsite Training and Consulting in Resource Oriented solutions is available from 1060 Research.
Contact
Peter pjr [at] netkernel {dot} org @pjr1060, @netkernel |
Brian brian [dot] sletten [at] gmail {dot} com @bsletten |
ROC News
NetKernel ROC News is published every Friday.
Acknowledgements
- SliNKi was developed by Brian Sletten and Peter Rodgers
- Brian (who writes a lot of slides) provided the vision and was inspired by Dave Ragget's original Slidy script
- In this 3rd generation of SliNKi we've integrated reveal.js as the engine for slide transitions - grateful thanks to Hakim El Hattab
- The underlying WiNK application is an old and simple NK demo
- The wiki resource model uses the Eclipse Mylyn Wikitext parser
License
- SliNKi is licensed under the 1060 Public License v1.2
- Reveal.js is licensed under an MIT License.
Source Code
- The source is available here: http://svn.netkernel.org/svn/slinki/
Secret Sauce
If you want to see how we set up these slides to use bootstrap and font-awesome. Press the down arrow
SliNKi Macro
{slinki} { "title" : "SliNKi 3rd Generation", "copyright" : "© 2012-2013, 1060 Research Limited", "favicon" : "/wink/res/slinkyTemplate/nk2010/favicon.png", "splashDuration": 4000, "css" : [ { "href" : "/wink/res/revealImpl/1.1.1/css/print/print.css", "media" : "print" }, { "href" : "/wink/res/revealImpl/1.1.1/css/reveal.css" }, { "href" : "/wink/res/revealImpl/1.1.1/css/theme/1060.css" }, { "href" : "/wink/res/revealImpl/1.1.1/css/print/screen.css", "screen" : true }, { "href" : "/wink/res/revealImpl/1.1.1/css/print/pdf.css", "pdf" : true }, { "href" : "/wink/res/revealImpl/1.1.1/lib/css/magula.css" }, { "href" : "/wink/style/xmlverb.css" }, { "href" : "/org/netkernel/html5/framework/bootstrap/latest/css/bootstrap.min.css" }, { "href" : "/org/netkernel/html5/framework/fontawesome/latest/css/font-awesome.min.css" } ] } {/slinki}Here's the full source for these slides