mirror of
https://github.com/moparisthebest/android.moparisthebest.org
synced 2024-11-17 22:55:07 -05:00
Renamed include_file plugin to render_partial, added documentation to include_code and render_partial
This commit is contained in:
parent
64b23d9f34
commit
1fd21a6e25
@ -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'
|
require 'pathname'
|
||||||
|
|
||||||
module Jekyll
|
module Jekyll
|
||||||
|
@ -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)
|
|
||||||
|
|
52
.themes/classic/plugins/render_partial.rb
Normal file
52
.themes/classic/plugins/render_partial.rb
Normal file
@ -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)
|
Loading…
Reference in New Issue
Block a user