Added SpeakerDeckExtension

This commit is contained in:
Oliver Davies 2016-03-29 09:51:41 +01:00
parent 3cb4e74448
commit ad6a00b003
9 changed files with 49 additions and 7 deletions

View file

@ -18,7 +18,7 @@ slug: git-flow
tweets: yes
---
{% block slides %}
<script async class="speakerdeck-embed" data-id="201559e0f103013198dd5a5f6f23ab67" data-ratio="1.29456384323641" src="//speakerdeck.com/assets/embed.js"></script>
{{ speakerdeck('201559e0f103013198dd5a5f6f23ab67', '1.29456384323641')|raw }}
{% endblock %}
{% block video %}

View file

@ -15,5 +15,5 @@ tags:
- drush-make
---
{% block slides %}
<script async class="speakerdeck-embed" data-id="42605700f102013198de5a5f6f23ab67" data-ratio="1.29456384323641" src="//speakerdeck.com/assets/embed.js"></script>
{{ speakerdeck('42605700f102013198de5a5f6f23ab67', '1.29456384323641')|raw }}
{% endblock %}

View file

@ -23,7 +23,7 @@ I categorised the technical changes into groups for site builders, developers an
{% endblock %}
{% block slides %}
<script async class="speakerdeck-embed" data-id="46ba4ba577d94a32b7abdade610ceb69" data-ratio="1.29456384323641" src="//speakerdeck.com/assets/embed.js"></script>
{{ speakerdeck('46ba4ba577d94a32b7abdade610ceb69', '1.29456384323641')|raw }}
{% endblock %}
{% block video %}

View file

@ -23,7 +23,7 @@ This session covered how to install Sculpin itself, as well as how to use it to
{% endblock %}
{% block slides %}
<script async class="speakerdeck-embed" data-id="54589d2e50a3476a9a75aed809e9edf1" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>
{{ speakerdeck('54589d2e50a3476a9a75aed809e9edf1', '1.77777777777778')|raw }}
{% endblock %}
{% block feedback %}

View file

@ -30,7 +30,7 @@ In each point, tried to cover the differences between Drupal core and developing
{% endblock %}
{% block slides %}
<script async class="speakerdeck-embed" data-id="ffa9b6dea6dc4a8eb207b9982ed6e1bd" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script>
{{ speakerdeck('ffa9b6dea6dc4a8eb207b9982ed6e1bd', '1.33333333333333')|raw }}
{% endblock %}
{% block feedback %}

View file

@ -24,7 +24,7 @@ You can [view the full slides](/slides/phpsw/building-static-websites-with-sculp
{% endblock %}
{% block slides %}
<script async class="speakerdeck-embed" data-id="6c9c4be1a1344f1291ff13a391674a66" data-ratio="1.37081659973226" src="//speakerdeck.com/assets/embed.js"></script>
{{ speakerdeck('6c9c4be1a1344f1291ff13a391674a66', '1.37081659973226')|raw }}
{% endblock %}
{% block video %}

View file

@ -43,7 +43,7 @@ What we wont be covering:
{% endblock %}
{% block slides %}
<script async class="speakerdeck-embed" data-id="0041804e52664d12a8e31cd118264813" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>
{{ speakerdeck('0041804e52664d12a8e31cd118264813', '1.77777777777778')|raw }}
{% endblock %}
{% block feedback %}

View file

@ -0,0 +1,38 @@
<?php
namespace AppBundle\Twig;
use Twig_Extension;
use Twig_SimpleFunction;
class SpeakerDeckExtension extends Twig_Extension
{
/**
* {@inheritdoc}
*/
public function getFunctions()
{
return [
new Twig_SimpleFunction('speakerdeck', [$this, 'embedCode']),
];
}
public function embedCode($dataId, $dataRatio)
{
// <script async class="speakerdeck-embed" data-id="0041804e52664d12a8e31cd118264813" data-ratio="1.77777777777778" src="//speakerdeck.com/assets/embed.js"></script>
return sprintf(
'<script async class="speakerdeck-embed" data-id="%s" data-ratio="%s" src="//speakerdeck.com/assets/embed.js"></script>',
$dataId,
$dataRatio
);
}
/**
* {@inheritdoc}
*/
public function getName()
{
return 'speakerdeck';
}
}

View file

@ -1,4 +1,8 @@
services:
app.twig.speakerdeck:
class: AppBundle\Twig\SpeakerDeckExtension
tags:
- { name: twig.extension }
app.twig.vimeo:
class: AppBundle\Twig\VimeoExtension
tags: