jekyll_remote_include 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ab8e17b87e37166a791010fcd436a2128d4c95bc
4
+ data.tar.gz: ab5764a57c78ad54991d608446f248ad507ca0a8
5
+ SHA512:
6
+ metadata.gz: 1faa1e22d0800b210a44bc15c1779f86d2a76c3c2692589c75034a8d92a241bd6b05e0d564a8b536b760841526df7074c504fd2e4081d16a421f9c7e79b19e12
7
+ data.tar.gz: ff097c71901243640e9b1dbb08b9f5eef3a599cc48da43f71fcb07e77519b7953a20c3f0a4f2089416fb52475bea0fbf1b20d0aae9aa38e23962ff0134cbface
@@ -0,0 +1,47 @@
1
+ require 'net/http'
2
+ require "jekyll"
3
+
4
+ module Jekyll
5
+ # Remotely fetch a markdown file.
6
+ class GithubMarkdownTag < Liquid::Tag
7
+ def initialize(tag_name, text, tokens)
8
+ super
9
+
10
+ text.strip!
11
+ check_protocol(text)
12
+ uri = URI(text)
13
+
14
+ check_extension(uri.path)
15
+
16
+ res = Net::HTTP.get_response(uri)
17
+ fail 'resource unavailable' unless res.is_a?(Net::HTTPSuccess)
18
+
19
+ @content = res.body.force_encoding("UTF-8")
20
+ end
21
+
22
+ def render(_context)
23
+ # remove Title from readme (i.e. # Web SDK)
24
+ @content = @content.gsub(/(^|\n)#\s.*/, '')
25
+
26
+ # remove Doc Links from readme
27
+ @content = @content.gsub(/.*check out moesif.*www\.moesif\.com.*to learn more.*/, '')
28
+ @content
29
+ end
30
+
31
+ private
32
+
33
+ def check_protocol(text)
34
+ error_message = "github_markdown: invalid URI #{text}"
35
+ fail error_message unless text =~ URI.regexp(%w(http https ftp ftps))
36
+ end
37
+
38
+ def check_extension(path)
39
+ mdexts = %w(.markdown .mkdown .mkdn .mkd .md)
40
+ error_message = "github_markdown: URI extension not in #{mdexts}"
41
+ fail error_message unless mdexts.include?(File.extname(path))
42
+ end
43
+ end
44
+ end
45
+
46
+ Liquid::Template.register_tag('github_markdown', Jekyll::GithubMarkdownTag)
47
+
@@ -0,0 +1,47 @@
1
+ require 'net/http'
2
+ require "jekyll"
3
+
4
+ module Jekyll
5
+ # Remotely fetch a markdown file.
6
+ class RemoteIncludeTag < Liquid::Tag
7
+ def initialize(tag_name, text, tokens)
8
+ super
9
+
10
+ text.strip!
11
+ check_protocol(text)
12
+ uri = URI(text)
13
+
14
+ check_extension(uri.path)
15
+
16
+ res = Net::HTTP.get_response(uri)
17
+ fail 'resource unavailable' unless res.is_a?(Net::HTTPSuccess)
18
+
19
+ @content = res.body.force_encoding("UTF-8")
20
+ end
21
+
22
+ def render(_context)
23
+ # remove Title from readme (i.e. # Web SDK)
24
+ @content = @content.gsub(/(^|\n)#\s.*/, '')
25
+
26
+ # remove Doc Links from readme
27
+ @content = @content.gsub(/.*check out moesif.*www\.moesif\.com.*to learn more.*/i, '')
28
+ @content
29
+ end
30
+
31
+ private
32
+
33
+ def check_protocol(text)
34
+ error_message = "remote_include: invalid URI #{text}"
35
+ fail error_message unless text =~ URI.regexp(%w(http https ftp ftps))
36
+ end
37
+
38
+ def check_extension(path)
39
+ mdexts = %w(.markdown .mkdown .mkdn .mkd .md)
40
+ error_message = "remote_include: URI extension not in #{mdexts}"
41
+ fail error_message unless mdexts.include?(File.extname(path))
42
+ end
43
+ end
44
+ end
45
+
46
+ Liquid::Template.register_tag('remote_include', Jekyll::RemoteIncludeTag)
47
+
@@ -0,0 +1,47 @@
1
+ require 'net/http'
2
+ require "jekyll"
3
+
4
+ module Jekyll
5
+ # Remotely fetch a markdown file.
6
+ class GithubMarkdownTag < Liquid::Tag
7
+ def initialize(tag_name, text, tokens)
8
+ super
9
+
10
+ text.strip!
11
+ check_protocol(text)
12
+ uri = URI(text)
13
+
14
+ check_extension(uri.path)
15
+
16
+ res = Net::HTTP.get_response(uri)
17
+ fail 'resource unavailable' unless res.is_a?(Net::HTTPSuccess)
18
+
19
+ @content = res.body.force_encoding("UTF-8")
20
+ end
21
+
22
+ def render(_context)
23
+ # remove Title from readme (i.e. # Web SDK)
24
+ @content = @content.gsub(/(^|\n)#\s.*/, '')
25
+
26
+ # remove Doc Links from readme
27
+ @content = @content.gsub(/.*check out moesif.*www\.moesif\.com.*to learn more.*/i, '')
28
+ @content
29
+ end
30
+
31
+ private
32
+
33
+ def check_protocol(text)
34
+ error_message = "github_markdown: invalid URI #{text}"
35
+ fail error_message unless text =~ URI.regexp(%w(http https ftp ftps))
36
+ end
37
+
38
+ def check_extension(path)
39
+ mdexts = %w(.markdown .mkdown .mkdn .mkd .md)
40
+ error_message = "github_markdown: URI extension not in #{mdexts}"
41
+ fail error_message unless mdexts.include?(File.extname(path))
42
+ end
43
+ end
44
+ end
45
+
46
+ Liquid::Template.register_tag('github_markdown', Jekyll::GithubMarkdownTag)
47
+
metadata ADDED
@@ -0,0 +1,61 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jekyll_remote_include
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.5
5
+ platform: ruby
6
+ authors:
7
+ - Moesif, Inc
8
+ - Derric Gilling
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2017-01-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: jekyll
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 3.3.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 3.3.0
28
+ description: Import remote markdown from URLs like GitHub README.md into Jekyll
29
+ email: derric@moesif.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - lib/github_markdown.rb~
35
+ - lib/jekyll_remote_include.rb
36
+ - lib/jekyll_remote_include.rb~
37
+ homepage: https://moesif.com
38
+ licenses:
39
+ - Apache-2.0
40
+ metadata: {}
41
+ post_install_message:
42
+ rdoc_options: []
43
+ require_paths:
44
+ - lib
45
+ required_ruby_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '2.0'
50
+ required_rubygems_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ requirements: []
56
+ rubyforge_project:
57
+ rubygems_version: 2.6.7
58
+ signing_key:
59
+ specification_version: 4
60
+ summary: jekyll_remote_include
61
+ test_files: []