aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Mathis <brandon@imathis.com>2011-07-18 17:04:56 -0400
committerBrandon Mathis <brandon@imathis.com>2011-07-18 17:04:56 -0400
commit1fd21a6e254cecc10a6ae05106bfa0f665a4d90d (patch)
tree88bd95d117e7bab3ffc925895ad243d74c71984e
parent64b23d9f34f140b8e544960070525343dfe1273b (diff)
downloadmy_new_personal_website-1fd21a6e254cecc10a6ae05106bfa0f665a4d90d.tar.xz
my_new_personal_website-1fd21a6e254cecc10a6ae05106bfa0f665a4d90d.zip
Renamed include_file plugin to render_partial, added documentation to include_code and render_partial
-rw-r--r--.themes/classic/plugins/include_code.rb15
-rw-r--r--.themes/classic/plugins/include_file.rb31
-rw-r--r--.themes/classic/plugins/render_partial.rb52
3 files changed, 67 insertions, 31 deletions
diff --git a/.themes/classic/plugins/include_code.rb b/.themes/classic/plugins/include_code.rb
index 905cee52..b063f14f 100644
--- a/.themes/classic/plugins/include_code.rb
+++ b/.themes/classic/plugins/include_code.rb
@@ -1,3 +1,18 @@
+# Title: Include Code Tag for Jekyll
+# Author: Brandon Mathis http://brandonmathis.com
+# Description: Import files on your filesystem into any blog post as embedded code snippets with syntax highlighting and a download link.
+# Configuration: You can set default import path in _config.yml (defaults to code_dir: downloads/code)
+#
+# Syntax {% include_code path/to/file %}
+#
+# Example:
+# {% include_code javascripts/test.js %}
+#
+# This will import test.js from source/downloads/code/javascripts/test.js
+# and output the contents in a syntax highlighted code block inside a figure,
+# with a figcaption listing the file name and download link
+#
+
require 'pathname'
module Jekyll
diff --git a/.themes/classic/plugins/include_file.rb b/.themes/classic/plugins/include_file.rb
deleted file mode 100644
index 3862228b..00000000
--- a/.themes/classic/plugins/include_file.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-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)
-
diff --git a/.themes/classic/plugins/render_partial.rb b/.themes/classic/plugins/render_partial.rb
new file mode 100644
index 00000000..96de97ea
--- /dev/null
+++ b/.themes/classic/plugins/render_partial.rb
@@ -0,0 +1,52 @@
+# Title: Render Partial Tag for Jekyll
+# Author: Brandon Mathis http://brandonmathis.com
+# Description: Import files on your filesystem into any blog post and render them inline.
+# Note: Paths are relative to the source directory
+#
+# Syntax {% render_partial path/to/file %}
+#
+# Example 1:
+# {% render_partial about/_bio.markdown %}
+#
+# This will import source/about/_bio.markdown and render it inline.
+# In this example I used an underscore at the beginning of the filename to prevent Jekyll
+# from generating an about/bio.html (Jekyll doesn't convert files beginning with underscores)
+#
+# Example 2:
+# {% render_partial ../README.markdown %}
+#
+# You can use relative pathnames, to include files outside of the source directory.
+# This might be useful if you want to have a page for a project's README without having
+# to duplicated the contents
+#
+
+require 'pathname'
+
+module Jekyll
+
+ class RenderPartialTag < 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('render_partial', Jekyll::RenderPartialTag)