Comments (6)
Here is a more concrete example. The template uses the contents returned by parsing the slides.
<div class="hpidefault">
~~~CONTENT~~~
</div>
<div class="lefter">
<div class="redbarhor"><br /></div>
<div class="redbarvert"><br /></div>
<div class="yelbarhor"><br /></div>
<div class="yelbarvert"><br /></div>
<div class="pages">
~~CURRENT_SLIDE~~~ / ~~NUM_SLIDES~~~
</div>
</div>
</div>
from slidify.
The above mustache template for slidify
would look like this
<div class="hpidefault">
{{{ content }}}
</div>
<div class="lefter">
<div class="redbarhor"><br /></div>
<div class="redbarvert"><br /></div>
<div class="yelbarhor"><br /></div>
<div class="yelbarvert"><br /></div>
<div class="pages">{{ num }} / {{ num_slides }}</div>
</div>
from slidify.
The trick would be to feed this back into the main template. Here is how a slide is rendered in html5slides
.
<article class="{{classes}}" id="{{id}}">
{{{ header }}}
{{{ content }}}
</article>
I can hence think of the default template as being
{{{ header }}}
{{{ content }}}
The question is how do I change this so that a different slide template can be used for each slide. The thing that comes to my mind is using partials. I can define this as the default template. The trick is how to use variable partials by slide.
from slidify.
I think I have figured out a way. I can take care of this at the parsing stage, where I can return a variable called slide_rendering
, which is a whisker
compiled version of the slide using the specified template. This would keep the code unchanged for other templates which still don't support templates.
from slidify.
I am thinking that a template for a slide can be indicated as >template
, since in effect the user will have to define it as a mustache partial. Here are the things I need to work out.
- Extract slide template while parsing (should be similar to id)
- Read template from
assets/partials
directory (revert to default if not defined)
Since, some of the variables used by the template are defined post the parsing stage, it may not be viable to render the template partial during the parsing stage. I have two options.
- Move all the action to the parsing stage so that I can render custom templates.
- Figure out a way to change the master template to use custom templates.
Another idea in the spirit of modularity is to do the parsing and then add a render_slide
function, which uses the template information available and renders the slide using it. This would happen right before the full deck is rendered. This would be the easiest to implement. I can refactor later if leads to any design limitations.
from slidify.
DONE!
from slidify.
Related Issues (20)
- User-Defined Functions in Slidify HOT 2
- incremental reveal of heading?
- slidify embeds plotly plots as images rather than as normal interactive plots
- Is it possible to support two column layout in reveal.js ? HOT 2
- status 127 after running publish_github()
- How to write chemical formula in slidify
- Is slidify dead?
- Slidify for Music Tracks
- Coudn't find ggpairs and grid.arrange
- Slidify slides not rendering in browser HOT 3
- foo
- era
- Unable to correctly publish slidify slides to RPubs - generates blank page? HOT 2
- Separator slides
- Quiz randomization
- Dead link on slidify.org
- Hide 1st 2 slides during presentation
- Instal phyloseq HOT 1
- no clean subscript in title HOT 1
- Error in markdownExtensions() while calling slidify() HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from slidify.