An alternative method for displaying BarryCorneliusSlideshow with moinmoin
Start Slide Show
Single Page Slideshows
Install
Download slideshow.py from the ActionMarket
Put slideshow.py in wiki/data/plugin/action directory
Usage
- It's very simple - create a page with content separated by level 1 headings
- In standard wiki mode, you view and edit the page like any other
- In slideshow mode, a single slide will be displayed at a time in a large display suitable for a projector
Running the slideshow
Add a link at the head of the page like this: [[Action(Slideshow, Start Slide Show)]]
- Clicking on the link will start the slideshow view
Navigation
- The slideshow action emits included javascript, so that:
- Pressing spacebar moves to the next slide
- Pressing '1' starts again from the first slide
Pressing '>' moves to the next slide (The > character, not the right arrow)
Pressing '<' moves to the previous slide
- Also a table of links to other slides
Display
- The slide view uses the formatting rules from 'projection.css' - this uses large fonts and bold lines
For cosmetic changes (different fonts, colors, etc) you can edit this file - see HelpOnConfiguration/CascadingStyleSheets
- For example, to add a background image:
#content { background: url(../img/nice_background.png); }
Future Ideas, Suggestions
Use MoinMoinExtensions/HotKeys instead of javascript for navigating between slides
- nice background - this could be part of the projection.css.
- Multiple projections css files, so one can choose a ready made design. We need a way to set the current css style of the presentation, probably with a parser or a macro:
Stylesheet: proj-starshine.css Refresh: 30 # auto running slideshows :)
Comments
Revision 1.2
I really like this SlideShow, it's just what I always wanted. I fixed few things, and made many other small improvements and refactoring to make the code simpler. I also create a projection.css that work with the new named elements in the slide show, and is part of my new "technical" theme.
- In the end, it should work in all themes.
Major changes:
- headings in pre/code area are skipeed
Rename to SlideShow, action appear on More Actions menu as "Slide Show"
- simplified heading parser
- When calling with wrong slide number, you get the closest slide, e.g 1524 is normalized to last slide, with not error message.
- shorter query string
- shorted variable names
- navigation uses a list, can be designed both vertically and horizontally
- complete css ids and classes, and a css file that use theme
- When there is no slide, display almost empty page instead of crash (should add error message maybe)
Get the whole package here: SlideShow.tar.gz
Both are not finished but can be fun to play with, and of course you (the reader) is invited to share and improve.
Good stuff! Thanks for the code review - much better now. JimClark
Revision 1.3
Changes:
Refactor into 2 classes, Slides and SlideShow
- Easy to customize design, subclass and override few methods to customize behavior.
- Parse page headers and set pragmas
- Disable conflicting section-number pragma
- Support any headers e.g #Author, #Status
- When slide number out of range, default to first slide
- Fixed bug when size of navigation changed
- Complete abstract output using the formatter
- Added required Dependencies variable
- Simplified more efficient parsing
- More efficient link creation
- Removed unneeded last slide link
- Improved navigation tooltips
- Default slide for pages with no heading
- Complete right to left support - both back forward icons and hotkeys are switched according to the user language.
- Disable link to editor if you can't edit
- Clear text links instead of funny text mode icons.
- Changed hotkeys to up, right and left arrow, which make sense and work everywhere. As a benefit, space and numbers can be use on interactive slides.
TODO:
- Use stylesheet specified on page with #stylesheet pi
- Have slide show style sheets directory in htdocs - slide show should not use theme stylesheets but the slideshow stylesheet. You can use modern as your theme and display slide show using another design.
- Old style one-slide-per-page are not displayed nicely by stylesheet optimized to this action, as the heading is not rendered in a separate heading div.
- Icons for edit, page, first, back and previous links.
SlideShow macro to view any slide on any page
- A way to view any slide from a standard page view, maybe use slideshow parser - sub class wiki parser to add links to slides on headings?
- Easy to use popup menu with all available slideshow styles, accessible from the navigation pannel?
- A way to hide the navigation panel, or have edit mode and presentation mode navigation?
- Move script into .js file?
- Javascript transitions??
- Create the html head links in the action, so we can use correct
<link rel="Start" href="..."> and like.
- Same for stylesheet links, so we can control the stylesheet
The code stil require the technical theme, which is included in the package.
Download: SlideShow-03.tar.gz
Test the code now here on my wiki running the latest version of the action and the 'techical' theme: http://nirs.dyndns.org/fix/SinglePageSlideShow?action=SlideShow.
hotkeys
The java script code was simplified and corrected, but still the space key is not handled correctly in Firefox - on long pages, the page first scroll to the bottom and only then move to next page.
There is another problems with the space key and numbers - if you handle those keys, the user can't use them for other purposes. For example, if you want to include a search box in a slide, and demonstrate a search, you will not be able to use the space or the 1 key. The first click on one of them will take you to another page.
I'm not sure how much interactive slides are useful, but it is interesting idea. If we can make it possible and still have an easy to use interface, I think its better.
To fix this situation, I'm using those keys:
- Up arrow - jump to slide 1
- Left arrow - move back
- Right arrow - move forward
Hotkeys reference:
http://mozpoint.mozdev.org/ - space bar mapping work correctly.
Right to left support
When you watch a slide show with Hebrew selected as your user interface language, the arrows direction is switched, the left arrow will go forward, and right arrow go back. It make sense because the navigation links also switch direction.
Internal links etc.
Anything that point to some place in the page will not work from a slide, e.g #UpThere, because only one slide is parsed.
Fix: needed?