diff --git a/liquid_tags/Readme.md b/liquid_tags/Readme.md
index 2b4276f..8f25e34 100644
--- a/liquid_tags/Readme.md
+++ b/liquid_tags/Readme.md
@@ -14,7 +14,8 @@ First, in your pelicanconf.py file, add the plugins you want to use:
PLUGIN_PATH = '/path/to/pelican-plugins'
PLUGINS = ['liquid_tags.img', 'liquid_tags.video',
- 'liquid_tags.include_code', 'liquid_tags.notebook']
+ 'liquid_tags.youtube', 'liquid_tags.include_code',
+ 'liquid_tags.notebook']
There are several options available
@@ -24,6 +25,14 @@ To insert a sized and labeled image in your document, enable the
{% img [class name(s)] path/to/image [width [height]] [title text | "title text" ["alt text"]] %}
+## Youtube Tag
+To insert youtube video into a post, enable the
+``liquid_tags.youtube`` plugin, and add to your document:
+
+ {% youtube youtube_id [width] [height] %}
+
+The width and height are in pixels, and can be optionally specified. If they
+are not, then the dimensions will be 640 (wide) by 390 (tall).
## Video Tag
To insert flash/HTML5-friendly video into a post, enable the
@@ -95,4 +104,4 @@ are a few extra steps required for this plugin:
this will insert the proper css formatting into your document.
-[1] https://github.com/ipython/nbconvert
\ No newline at end of file
+[1] https://github.com/ipython/nbconvert
diff --git a/liquid_tags/youtube.py b/liquid_tags/youtube.py
new file mode 100644
index 0000000..2a4060e
--- /dev/null
+++ b/liquid_tags/youtube.py
@@ -0,0 +1,53 @@
+"""
+Youtube Tag
+---------
+This implements a Liquid-style youtube tag for Pelican,
+based on the jekyll / octopress youtube tag [1]_
+
+Syntax
+------
+{% youtube id [width height] %}
+
+Example
+-------
+{% youtube dQw4w9WgXcQ 640 480 %}
+
+Output
+------
+
+
+[1] https://gist.github.com/jamieowen/2063748
+"""
+import os
+import re
+from .mdx_liquid_tags import LiquidTags
+
+SYNTAX = "{% youtube id [width height] %}"
+
+YOUTUBE = re.compile(r'(\w+)(\s+(\d+)\s(\d+))?')
+
+@LiquidTags.register('youtube')
+def youtube(preprocessor, tag, markup):
+ width = 640
+ height = 390
+ youtube_id = None
+
+ match = YOUTUBE.search(markup)
+ if match:
+ groups = match.groups()
+ youtube_id = groups[0]
+ width = groups[2] or width
+ height = groups[3] or height
+
+ if youtube_id:
+ youtube_out = "".format(width=width, height=height, youtube_id=youtube_id)
+ else:
+ raise ValueError("Error processing input, "
+ "expected syntax: {0}".format(SYNTAX))
+
+ return youtube_out
+
+
+#----------------------------------------------------------------------
+# This import allows image tag to be a Pelican plugin
+from liquid_tags import register