Added SpeakerDeckExtension
This commit is contained in:
parent
3cb4e74448
commit
ad6a00b003
|
@ -18,7 +18,7 @@ slug: git-flow
|
||||||
tweets: yes
|
tweets: yes
|
||||||
---
|
---
|
||||||
{% block slides %}
|
{% 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 %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block video %}
|
{% block video %}
|
||||||
|
|
|
@ -15,5 +15,5 @@ tags:
|
||||||
- drush-make
|
- drush-make
|
||||||
---
|
---
|
||||||
{% block slides %}
|
{% 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 %}
|
{% endblock %}
|
||||||
|
|
|
@ -23,7 +23,7 @@ I categorised the technical changes into groups for site builders, developers an
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block slides %}
|
{% 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 %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block video %}
|
{% block video %}
|
||||||
|
|
|
@ -23,7 +23,7 @@ This session covered how to install Sculpin itself, as well as how to use it to
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block slides %}
|
{% 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 %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block feedback %}
|
{% block feedback %}
|
||||||
|
|
|
@ -30,7 +30,7 @@ In each point, tried to cover the differences between Drupal core and developing
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block slides %}
|
{% 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 %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block feedback %}
|
{% block feedback %}
|
||||||
|
|
|
@ -24,7 +24,7 @@ You can [view the full slides](/slides/phpsw/building-static-websites-with-sculp
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block slides %}
|
{% 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 %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block video %}
|
{% block video %}
|
||||||
|
|
|
@ -43,7 +43,7 @@ What we won’t be covering:
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block slides %}
|
{% 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 %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block feedback %}
|
{% block feedback %}
|
||||||
|
|
38
src/AppBundle/Twig/SpeakerDeckExtension.php
Normal file
38
src/AppBundle/Twig/SpeakerDeckExtension.php
Normal 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';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,8 @@
|
||||||
services:
|
services:
|
||||||
|
app.twig.speakerdeck:
|
||||||
|
class: AppBundle\Twig\SpeakerDeckExtension
|
||||||
|
tags:
|
||||||
|
- { name: twig.extension }
|
||||||
app.twig.vimeo:
|
app.twig.vimeo:
|
||||||
class: AppBundle\Twig\VimeoExtension
|
class: AppBundle\Twig\VimeoExtension
|
||||||
tags:
|
tags:
|
||||||
|
|
Reference in a new issue