As the MOOSE framework continues to develop so does the documentation requirements. To minimize the amount duplicate documentation a presentation building program was developed to convert wiki content from MOOSE wiki into presentation slides.
The goal is to have one location for all MOOSE related content, the wiki, from which information can be extracted in a MOOSE-like way to generate slides suitable for presentations and tutorials.
Before learning how to generate slides, it is important to understand the basic framework from which this tool was formulated around Remark, which is a "A simple, in-browser, Markdown-driven slideshow tool..."
Unfortunately, the markdown syntax utilized by Remark and mooseframework.org are slightly different. The following list details how to formulate mooseframework.org/wiki content in a form suitable for conversion to Remark syntax.
(property: value). For example, to change the class settings for the current slide place
(class: center, middle)within the wiki content for the current slide.
pwithin the Remark presentation) are created by using
(??? Enter your comments here).
(Remark command here), the only limitation is that the brackets must be preceded by a space.
In order to properly convert math equations from the www.mooseframework.org/wiki to Remark slides they must be implemented in a specific way, this is due to the different rendering engines used by the two platforms.
No special wiki syntax is required for including images; however, there is special syntax within the input file to adjust the appearance of the image for inclusion in the presentation.
It is possible to create links to mooseframework.org wiki content using the headings. For example,
[Math Equations](#math-equations) result in creating a link to the Math Equations page.
When the wiki content is converted to slides, the first heading in the slide, i.e., the heading that follows
(---) is converted into the slide name. Thus, internal wiki links such as the Math Equations link will continue to operate correctly.
Slide shows may be generated from www.mooseframework.org/wiki content using an input file syntax similar to MOOSE itself, the following information details the input file that converts the wiki content for this tutorial into a presentation.
This complete input file for the presentation constructed from this wiki is included in ~/projects/moose/python/PresentationBuilder/examples/example_02.i.
It is possible to add any number of slide sets, think of these as Kernels. In this class a single slide set is being added. In this example the
CoverSet object is being utilized to create a cover page for the entire presentation.
[presentation] [./cover] type = CoverSet title = '**PresentationBuilder**<br><br> A tool for generating slides from MOOSE wiki content' background-image = 'inl_dark_title.png' class = 'middle, cover' contents = true
CoverSetis used which to build a presentation cover page and table-of-contents.
It is possible to customize the appearance of individual slides from within the input file, this is done by include a
[./Slides] sub-block within a slide set block.
[./Slides] [./cover-contents] background-image = 'inl_white_slide.png' class = 'left, top' [../] [../] [../]
To include wiki content the
DjangoWikiSet is utilized in an additional top-level input file block, as follows.
[./demo] type = DjangoWikiSet wiki = 'PresentationBuilder' background-image = 'inl_white_slide.png' contents = true title = 'Slides extracted from the mooseframework.org wiki'
In this case this wiki page (www.mooseframework.org/wiki/PresentationBuilder) is being utilize for the source of the slide content. The
contents parameters create a title and contents slide specific to the slide content for this set of slides.
Again, the slides for this set may be modified from the input file. In this case the cover slides background and CSS style are altered, as is the "input-file-syntax" slide with was adjusted to center the content vertically and horizontally.
[./Slides] [./demo-title] class = 'middle, cover' background-image = 'inl_dark_title.png' [../] [../]
Within the wiki the image may be sized for use in the presentation by including special syntax:
(image:203 width:200px). This changes the settings for image 203 and may be placed anywhere on the wiki.
... [./Images] [./64] align = 'center' width = '500px' [../] [../] [../]
In this case, image number 64 is modified to be center aligned with a total width of 500 pixels. The image number is the id reference used by the mooseframework.org wiki to insert images.
It is also possible to create custom CSS class, this is accomplished by adding blocks to the
[./CSS] block in the input file.
[./CSS] [./remark-code] font-size = '14px' [../] [./cover] color = '#ffffff' padding-left = '250px' [../] [../] 
[./remark-code] block modifies the Remark code block format to utilize a smaller font. The
[./cover] creates a new class with white text and padding at the left side. This class is used by the title page.
It is possible to create column within a slide by using custom CSS and relying on the Remark content class support.
To create columns:
[./right-column] width = '30%' float = 'right' [../] [./left-column] width = '65%' float = 'left' [../]