gitlab-gollum-lib 1.1.0 → 4.2.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -3
  3. data/HISTORY.md +25 -0
  4. data/LICENSE +1 -1
  5. data/README.md +24 -312
  6. data/Rakefile +32 -16
  7. data/gemspec.rb +110 -0
  8. data/gollum-lib.gemspec +8 -75
  9. data/gollum-lib_java.gemspec +4 -0
  10. data/lib/gollum-lib.rb +18 -6
  11. data/lib/gollum-lib/blob_entry.rb +10 -9
  12. data/lib/gollum-lib/committer.rb +37 -30
  13. data/lib/gollum-lib/file.rb +71 -15
  14. data/lib/gollum-lib/file_view.rb +53 -48
  15. data/lib/gollum-lib/filter.rb +78 -0
  16. data/lib/gollum-lib/filter/code.rb +145 -0
  17. data/lib/gollum-lib/filter/emoji.rb +39 -0
  18. data/lib/gollum-lib/filter/macro.rb +57 -0
  19. data/lib/gollum-lib/filter/metadata.rb +29 -0
  20. data/lib/gollum-lib/filter/plain_text.rb +16 -0
  21. data/lib/gollum-lib/filter/plantuml.rb +176 -0
  22. data/lib/gollum-lib/filter/remote_code.rb +63 -0
  23. data/lib/gollum-lib/filter/render.rb +20 -0
  24. data/lib/gollum-lib/filter/sanitize.rb +18 -0
  25. data/lib/gollum-lib/filter/tags.rb +327 -0
  26. data/lib/gollum-lib/filter/toc.rb +134 -0
  27. data/lib/gollum-lib/filter/wsd.rb +54 -0
  28. data/lib/gollum-lib/git_access.rb +30 -32
  29. data/lib/gollum-lib/gitcode.rb +16 -16
  30. data/lib/gollum-lib/helpers.rb +3 -3
  31. data/lib/gollum-lib/hook.rb +35 -0
  32. data/lib/gollum-lib/macro.rb +43 -0
  33. data/lib/gollum-lib/macro/all_pages.rb +11 -0
  34. data/lib/gollum-lib/macro/global_toc.rb +12 -0
  35. data/lib/gollum-lib/macro/navigation.rb +20 -0
  36. data/lib/gollum-lib/macro/series.rb +48 -0
  37. data/lib/gollum-lib/markup.rb +95 -572
  38. data/lib/gollum-lib/markups.rb +9 -3
  39. data/lib/gollum-lib/page.rb +109 -80
  40. data/lib/gollum-lib/pagination.rb +1 -1
  41. data/lib/gollum-lib/sanitization.rb +75 -75
  42. data/lib/gollum-lib/version.rb +5 -0
  43. data/lib/gollum-lib/wiki.rb +287 -129
  44. metadata +237 -92
  45. data/CHANGELOG +0 -2
  46. data/VERSION +0 -1
  47. data/lib/gollum-lib/grit_ext.rb +0 -20
  48. data/lib/gollum-lib/remote_code.rb +0 -39
  49. data/lib/gollum-lib/web_sequence_diagram.rb +0 -44
data/CHANGELOG DELETED
@@ -1,2 +0,0 @@
1
- v1.1.0
2
- - Removed pygments.rb dependency
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 1.1.0
@@ -1,20 +0,0 @@
1
- # ~*~ encoding: utf-8 ~*~
2
-
3
- module Grit
4
- class Blob
5
- def is_symlink
6
- self.mode == 0120000
7
- end
8
-
9
- def symlink_target(base_path = nil)
10
- target = self.data
11
- new_path = File.expand_path(File.join('..', target), base_path)
12
-
13
- if File.file? new_path
14
- return new_path
15
- end
16
- end
17
-
18
- nil
19
- end
20
- end
@@ -1,39 +0,0 @@
1
- # ~*~ encoding: utf-8 ~*~
2
- require 'net/http'
3
- require 'net/https' # ruby 1.8.7 fix, remove at upgrade
4
- require 'uri'
5
- require 'open-uri'
6
-
7
- module Gollum
8
- class RemoteCode
9
- def initialize path
10
- raise(ArgumentError, 'path is nil or empty') if path.nil? or path.empty?
11
- @uri = URI(path)
12
- end
13
-
14
- def contents
15
- @contents ||= req @uri
16
- end
17
-
18
- private
19
-
20
- def req uri, cut = 1
21
- return "Too many redirects or retries" if cut >= 10
22
- http = Net::HTTP.new uri.host, uri.port
23
- http.use_ssl = true
24
- resp = http.get uri.path, {
25
- 'Accept' => 'text/plain',
26
- 'Cache-Control' => 'no-cache',
27
- 'Connection' => 'keep-alive',
28
- 'User-Agent' => 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0'
29
- }
30
- code = resp.code.to_i
31
- return resp.body if code == 200
32
- return "Not Found" if code == 404
33
- return "Unhandled Response Code #{code}" unless code == 304 or not resp.header['location'].nil?
34
- loc = URI.parse resp.header['location']
35
- uri2 = loc.relative? ? (uri + loc) : loc # overloads (+)
36
- req uri2, (cut + 1)
37
- end
38
- end
39
- end
@@ -1,44 +0,0 @@
1
- # ~*~ encoding: utf-8 ~*~
2
- require 'net/http'
3
- require 'uri'
4
- require 'open-uri'
5
-
6
- class Gollum::WebSequenceDiagram
7
- WSD_URL = "http://www.websequencediagrams.com/index.php"
8
-
9
- # Initialize a new WebSequenceDiagram object.
10
- #
11
- # code - The String containing the sequence diagram markup.
12
- # style - The String containing the rendering style.
13
- #
14
- # Returns a new Gollum::WebSequenceDiagram object
15
- def initialize(code, style)
16
- @code = code
17
- @style = style
18
- @tag = ""
19
-
20
- render
21
- end
22
-
23
- # Render the sequence diagram on the remote server and store the url to
24
- # the rendered image.
25
- #
26
- # Returns nil.
27
- def render
28
- response = Net::HTTP.post_form(URI.parse(WSD_URL), 'style' => @style, 'message' => @code)
29
- if response.body =~ /img: "(.+)"/
30
- url = "http://www.websequencediagrams.com/#{$1}"
31
- @tag = "<img src=\"#{url}\" />"
32
- else
33
- puts response.body
34
- @tag ="Sorry, unable to render sequence diagram at this time."
35
- end
36
- end
37
-
38
- # Gets the HTML IMG tag for the sequence diagram.
39
- #
40
- # Returns a String containing the IMG tag.
41
- def to_tag
42
- @tag
43
- end
44
- end