speakerdeck.py 913 B

123456789101112131415161718192021222324252627282930313233343536
  1. """
  2. Speakerdeck Tag
  3. ---------------
  4. This implements a Liquid-style speakerdeck tag for Pelican.
  5. Syntax
  6. ------
  7. {% speakerdeck id %}
  8. Example
  9. -------
  10. {% speakerdeck 82b209c0f181013106da6eb14261a8ef %}
  11. Output
  12. ------
  13. <script async class="speakerdeck-embed" data-id="82b209c0f181013106da6eb14261a8ef"
  14. data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script>
  15. """
  16. from .mdx_liquid_tags import LiquidTags
  17. SYNTAX = "{% speakerdeck id %}"
  18. @LiquidTags.register('speakerdeck')
  19. def speakerdeck(preprocessor, tag, markup):
  20. speakerdeck_out = """
  21. <script async class="speakerdeck-embed" data-id="{id}"
  22. data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script>
  23. """.format(id=markup)
  24. return speakerdeck_out
  25. # ---------------------------------------------------
  26. # This import allows speakerdeck tag to be a Pelican plugin
  27. from liquid_tags import register # noqa