jekyll-poole 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +20 -0
- data/jekyll-poole.gemspec +26 -0
- data/lib/jekyll-poole.rb +3 -0
- data/lib/poole/renderer.rb +75 -0
- data/lib/poole/tags.rb +23 -0
- data/lib/poole/version.rb +7 -0
- metadata +85 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5759ea15d600ec49367c8031d1f369f9bfc9783a
|
4
|
+
data.tar.gz: 39373ac2aa0c84f09d587a88f3e760fc19014331
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d6ddaff3fef2ab21945e585bbf41333ec58f8f1fa6c622b720e1dfc06f019334ec788cf0ae9645b82d8de576784921ebade0a72cb893f4ecb3994322c93caf22
|
7
|
+
data.tar.gz: 98d4ba01dd29f6cf7a9bef5cf7577d147b10a7e42751e0605163374eb595ebd179ce7522eff82e94ac5d5d75fcec4944dcc27b9eaa1cf1c6d369e3361ca8224e
|
data/.gitignore
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path("../lib", __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require "poole/version"
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "jekyll-poole"
|
8
|
+
spec.version = Jekyll::PoolePlugin::VERSION
|
9
|
+
spec.homepage = "http://www.github.com/iamcarrico/jekyll-poole-tags"
|
10
|
+
spec.authors = ["Ian Carrico"]
|
11
|
+
spec.email = %w[github@iancarrico.com]
|
12
|
+
spec.license = "MIT"
|
13
|
+
spec.summary = "jekyll-poole-tags-#{Jekyll::PoolePlugin::VERSION}"
|
14
|
+
spec.description = <<-DESC
|
15
|
+
A Jekyll plugin that allows the use of tags from Mr. Poole.
|
16
|
+
DESC
|
17
|
+
|
18
|
+
spec.files = `git ls-files`.split($RS)
|
19
|
+
spec.executables = spec.files.grep(/^bin\//).map { |f| File.basename(f) }
|
20
|
+
spec.test_files = spec.files.grep(/^(test|spec|features)\//)
|
21
|
+
spec.require_paths = ["lib"]
|
22
|
+
|
23
|
+
spec.add_dependency "jekyll", ">= 1.0.0", "< 3.0.0"
|
24
|
+
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
26
|
+
end
|
data/lib/jekyll-poole.rb
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Jekyll
|
4
|
+
module PoolePlugin
|
5
|
+
class Renderer
|
6
|
+
META_TAG = '<meta property="%{property}" content="%{content}">'
|
7
|
+
LINK_TAG = '<link rel="%{rel}" href="%{href}" />'
|
8
|
+
|
9
|
+
def initialize(context, markup)
|
10
|
+
@site = context.registers[:site]
|
11
|
+
@page = context.registers[:page]
|
12
|
+
|
13
|
+
@site_name = @site.config['title']
|
14
|
+
end
|
15
|
+
|
16
|
+
def render_all
|
17
|
+
tags = Array.new
|
18
|
+
tags << render_site_name
|
19
|
+
tags << render_title
|
20
|
+
tags << render_description
|
21
|
+
tags << render_published_time
|
22
|
+
tags << render_author
|
23
|
+
tags << render_url
|
24
|
+
tags << render_canonical
|
25
|
+
tags << render_image
|
26
|
+
tags.push(*render_categoies)
|
27
|
+
|
28
|
+
tags.delete_if {|v| v == nil or v == "" }.join("\n")
|
29
|
+
end
|
30
|
+
|
31
|
+
def render_site_name
|
32
|
+
format META_TAG, :property => "og:site_name", :content => @site_name if @site_name
|
33
|
+
end
|
34
|
+
|
35
|
+
def render_title
|
36
|
+
title = @page['title'] || @site_name
|
37
|
+
format META_TAG, :property => "og:title", :content => title if title
|
38
|
+
end
|
39
|
+
|
40
|
+
def render_description
|
41
|
+
description = @page['description'] || nil
|
42
|
+
|
43
|
+
format META_TAG, :property => "og:description", :content => description if description
|
44
|
+
end
|
45
|
+
|
46
|
+
def render_published_time
|
47
|
+
format META_TAG, :property => "article:published_time", :content => @page['date'].iso8601 if @page['date']
|
48
|
+
end
|
49
|
+
|
50
|
+
def render_author
|
51
|
+
author = @page['author'] || @site.config['author']
|
52
|
+
format META_TAG, :property => "article:author", :content => author if author
|
53
|
+
end
|
54
|
+
|
55
|
+
def render_url
|
56
|
+
format META_TAG, :property => "og:url", :content => @site.config['url'] + @page['url']
|
57
|
+
end
|
58
|
+
|
59
|
+
def render_canonical
|
60
|
+
format LINK_TAG, :rel => "canonical", :href => @page['url'] if @page['url']
|
61
|
+
end
|
62
|
+
|
63
|
+
def render_image
|
64
|
+
format META_TAG, :property => "og:image", :content => @site.config['url'] + "/" + @page['image'] if @page['image']
|
65
|
+
|
66
|
+
end
|
67
|
+
|
68
|
+
def render_categoies
|
69
|
+
Array(@page['categories']).map do |category|
|
70
|
+
format META_TAG, :property => "article:tag", :content => category
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
data/lib/poole/tags.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# Title: Mr. Poole's Plugin
|
2
|
+
# Author: Ian Carrico http://iamcarrico.com
|
3
|
+
# Description: Output a list of metatags for your site.
|
4
|
+
#
|
5
|
+
# Syntax {% poole_tags %}
|
6
|
+
#
|
7
|
+
|
8
|
+
require "liquid"
|
9
|
+
require 'date'
|
10
|
+
|
11
|
+
require 'poole/renderer'
|
12
|
+
|
13
|
+
module Jekyll
|
14
|
+
module PoolePlugin
|
15
|
+
class Tags < Liquid::Tag
|
16
|
+
def render(context)
|
17
|
+
Renderer.new(context, @markup).send :"render_all"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
Liquid::Template.register_tag('poole_tags', Jekyll::PoolePlugin::Tags)
|
metadata
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jekyll-poole
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ian Carrico
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-08-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: jekyll
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.0.0
|
20
|
+
- - <
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 3.0.0
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.0.0
|
30
|
+
- - <
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 3.0.0
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: bundler
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - ~>
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.6'
|
40
|
+
type: :development
|
41
|
+
prerelease: false
|
42
|
+
version_requirements: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '1.6'
|
47
|
+
description: |2
|
48
|
+
A Jekyll plugin that allows the use of tags from Mr. Poole.
|
49
|
+
email:
|
50
|
+
- github@iancarrico.com
|
51
|
+
executables: []
|
52
|
+
extensions: []
|
53
|
+
extra_rdoc_files: []
|
54
|
+
files:
|
55
|
+
- .gitignore
|
56
|
+
- jekyll-poole.gemspec
|
57
|
+
- lib/jekyll-poole.rb
|
58
|
+
- lib/poole/renderer.rb
|
59
|
+
- lib/poole/tags.rb
|
60
|
+
- lib/poole/version.rb
|
61
|
+
homepage: http://www.github.com/iamcarrico/jekyll-poole-tags
|
62
|
+
licenses:
|
63
|
+
- MIT
|
64
|
+
metadata: {}
|
65
|
+
post_install_message:
|
66
|
+
rdoc_options: []
|
67
|
+
require_paths:
|
68
|
+
- lib
|
69
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - '>='
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0'
|
74
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
75
|
+
requirements:
|
76
|
+
- - '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
79
|
+
requirements: []
|
80
|
+
rubyforge_project:
|
81
|
+
rubygems_version: 2.0.14
|
82
|
+
signing_key:
|
83
|
+
specification_version: 4
|
84
|
+
summary: jekyll-poole-tags-0.0.1
|
85
|
+
test_files: []
|