Added SpeakerDeckExtension
This commit is contained in:
parent
3cb4e74448
commit
ad6a00b003
|
@ -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 %}
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -43,7 +43,7 @@ What we won’t 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 %}
|
||||
|
|
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:
|
||||
app.twig.speakerdeck:
|
||||
class: AppBundle\Twig\SpeakerDeckExtension
|
||||
tags:
|
||||
- { name: twig.extension }
|
||||
app.twig.vimeo:
|
||||
class: AppBundle\Twig\VimeoExtension
|
||||
tags:
|
||||
|
|
Loading…
Reference in a new issue