jekyll_remote_include 0.1.5

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.
@@ -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: []