aboutsummaryrefslogtreecommitdiff
path: root/themes/classic/_plugins/include_file.rb
diff options
context:
space:
mode:
authorBrandon Mathis <brandon@imathis.com>2011-06-19 15:14:01 -0400
committerBrandon Mathis <brandon@imathis.com>2011-06-19 15:14:01 -0400
commitf77db80077d739077becc1618b87818ea42f145c (patch)
treee12f94b6badb067597bf76b1dd383a2c370b82c4 /themes/classic/_plugins/include_file.rb
parent105ba1434314e06f6cce39e17aedd1f0d66a92d6 (diff)
downloadmy_new_personal_website-f77db80077d739077becc1618b87818ea42f145c.tar.xz
my_new_personal_website-f77db80077d739077becc1618b87818ea42f145c.zip
1. Switched back to Rdiscount
2. Improved Blockquote comment header 3. Added Include File and Pullquote plugins 4. Improved blog typography 5. Simplified "Read more" link
Diffstat (limited to 'themes/classic/_plugins/include_file.rb')
-rw-r--r--themes/classic/_plugins/include_file.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/themes/classic/_plugins/include_file.rb b/themes/classic/_plugins/include_file.rb
new file mode 100644
index 00000000..3862228b
--- /dev/null
+++ b/themes/classic/_plugins/include_file.rb
@@ -0,0 +1,31 @@
+require 'pathname'
+
+module Jekyll
+
+ class IncludePartialTag < Liquid::Tag
+ def initialize(tag_name, file, tokens)
+ super
+ @file = file.strip
+ end
+
+ def render(context)
+ file_dir = (context.registers[:site].source || 'source')
+ file_path = Pathname.new(file_dir).expand_path
+ file = file_path + @file
+
+ unless file.file?
+ return "File #{file} could not be found"
+ end
+
+ Dir.chdir(file_path) do
+ partial = Liquid::Template.parse(file.read)
+ context.stack do
+ partial.render(context)
+ end
+ end
+ end
+ end
+end
+
+Liquid::Template.register_tag('include_partial', Jekyll::IncludePartialTag)
+