File tree Expand file tree Collapse file tree 2 files changed +47
-39
lines changed Expand file tree Collapse file tree 2 files changed +47
-39
lines changed Original file line number Diff line number Diff line change 1
- require "jekyll/gist/version"
1
+ require "jekyll-gist/version"
2
+ require "jekyll-gist/gist_tag"
2
3
3
4
module Jekyll
4
- class Gist < Liquid ::Tag
5
-
6
- def render ( context )
7
- if tag_contents = determine_arguments ( @markup . strip )
8
- gist_id , filename = tag_contents [ 0 ] , tag_contents [ 1 ]
9
- gist_script_tag ( gist_id , filename )
10
- else
11
- raise ArgumentError . new <<-eos
12
- Syntax error in tag 'gist' while parsing the following markup:
13
-
14
- #{ @markup }
15
-
16
- Valid syntax:
17
- for all gists: {% gist user/1234567 %}
18
- eos
19
- end
20
- end
21
-
22
- private
23
-
24
- def determine_arguments ( input )
25
- matched = if input . include? ( "/" )
26
- input . match ( /\A ([a-zA-Z0-9\/ \- _]+) ?(\S *)\Z / )
27
- else
28
- input . match ( /\A (\d +) ?(\S *)\Z / )
29
- end
30
- [ matched [ 1 ] . strip , matched [ 2 ] . strip ] if matched && matched . length >= 3
31
- end
32
-
33
- def gist_script_tag ( gist_id , filename = nil )
34
- if filename . empty?
35
- "<script src=\" https://gist.github.com/#{ gist_id } .js\" > </script>"
36
- else
37
- "<script src=\" https://gist.github.com/#{ gist_id } .js?file=#{ filename } \" > </script>"
38
- end
39
- end
5
+ module Gist
40
6
end
41
7
end
42
-
43
- Liquid ::Template . register_tag ( 'gist' , Jekyll ::GistTag )
Original file line number Diff line number Diff line change
1
+ module Jekyll
2
+ module Gist
3
+ class GistTag < Liquid ::Tag
4
+
5
+ def render ( context )
6
+ if tag_contents = determine_arguments ( @markup . strip )
7
+ gist_id , filename = tag_contents [ 0 ] , tag_contents [ 1 ]
8
+ gist_script_tag ( gist_id , filename )
9
+ else
10
+ raise ArgumentError . new <<-eos
11
+ Syntax error in tag 'gist' while parsing the following markup:
12
+
13
+ #{ @markup }
14
+
15
+ Valid syntax:
16
+ for all gists: {% gist user/1234567 %}
17
+ eos
18
+ end
19
+ end
20
+
21
+ private
22
+
23
+ def determine_arguments ( input )
24
+ matched = if input . include? ( "/" )
25
+ input . match ( /\A ([a-zA-Z0-9\/ \- _]+) ?(\S *)\Z / )
26
+ else
27
+ input . match ( /\A (\d +) ?(\S *)\Z / )
28
+ end
29
+ [ matched [ 1 ] . strip , matched [ 2 ] . strip ] if matched && matched . length >= 3
30
+ end
31
+
32
+ def gist_script_tag ( gist_id , filename = nil )
33
+ if filename . empty?
34
+ "<script src=\" https://gist.github.com/#{ gist_id } .js\" > </script>"
35
+ else
36
+ "<script src=\" https://gist.github.com/#{ gist_id } .js?file=#{ filename } \" > </script>"
37
+ end
38
+ end
39
+
40
+ end
41
+ end
42
+ end
43
+
44
+ Liquid ::Template . register_tag ( 'gist' , Jekyll ::Gist ::GistTag )
You can’t perform that action at this time.
0 commit comments