Cleaned out public from repository, updated gitignore, added syntax
highlighting tests, improved syntax highlighting and styling of pre blocks. Overriding dynamic gist styling. Added a plugin for pygments caching which should speed things up terrifically. added ender.js as a lightweight way of scripting the DOM, events, etc. Some general typography and semantic html improvements.
This commit is contained in:
parent
c7d5365f81
commit
8698a276f9
74 changed files with 6018 additions and 1992 deletions
49
_plugins/iterator.rb
Normal file
49
_plugins/iterator.rb
Normal file
|
@ -0,0 +1,49 @@
|
|||
##
|
||||
## Author: Jose Gonzalez - https://github.com/josegonzalez
|
||||
## Source URL: https://github.com/josegonzalez/josediazgonzalez.com/blob/master/_plugins/iterator.rb
|
||||
##
|
||||
|
||||
#module Jekyll
|
||||
#class Site
|
||||
#alias_method :orig_site_payload, :site_payload
|
||||
|
||||
## Constuct an array of hashes that will allow the user, using Liquid, to
|
||||
## iterate through the keys of _kv_hash_ and be able to iterate through the
|
||||
## elements under each key.
|
||||
##
|
||||
## Example:
|
||||
## categories = { 'Ruby' => [<Post>, <Post>] }
|
||||
## make_iterable(categories, :index => 'name', :items => 'posts')
|
||||
## Will allow the user to iterate through all categories and then iterate
|
||||
## though each post in the current category like so:
|
||||
## {% for category in site.categories %}
|
||||
## h1. {{ category.name }}
|
||||
## <ul>
|
||||
## {% for post in category.posts %}
|
||||
## <li>{{ post.title }}</li>
|
||||
## {% endfor %}
|
||||
## </ul>
|
||||
## {% endfor %}
|
||||
##
|
||||
## Returns [ {<index> => <kv_hash_key>, <items> => kv_hash[<kv_hash_key>]}, ... ]
|
||||
|
||||
#def make_iterable(kv_hash, options)
|
||||
#options = {:index => 'name', :items => 'items'}.merge(options)
|
||||
#result = []
|
||||
#kv_hash.sort.each do |key, value|
|
||||
#result << { options[:index] => key, options[:items] => value }
|
||||
#end
|
||||
#result
|
||||
#end
|
||||
|
||||
#def site_payload
|
||||
#payload = orig_site_payload
|
||||
#payload['site']['iterable'].merge!({
|
||||
#'categories' => make_iterable(self.categories, :index => 'name', :items => 'posts'),
|
||||
#'tags' => make_iterable(self.tags, :index => 'name', :items => 'posts')
|
||||
#})
|
||||
#payload
|
||||
#end
|
||||
|
||||
#end
|
||||
#end
|
Loading…
Add table
Add a link
Reference in a new issue