github-markdown 0.5.3 → 0.5.4

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a03de5bb440c8070c42e296151a4cb329a3cb05d
4
+ data.tar.gz: 7ce0d53435eb13f7a5d25d4af3bf55a853988583
5
+ SHA512:
6
+ metadata.gz: 63efa0699c41e6073bbc2adcc6f6f10aa3fd39e021eb15f89e6c30599faa0218fea80fd62f6771eded755b10632029ec79edca4082b2bcb7eb7275f1230aa62c
7
+ data.tar.gz: faf466f9e7533a7baf1f3d681bf42d3e2fae84da67187777ab5d39732d9a42605a35a30f30b9e47c73d2252963eb1dd07ffc9ee64f4cd7413eebdaef966f7f29
data/Rakefile CHANGED
@@ -14,6 +14,22 @@ Rake::ExtensionTask.new('markdown') do |ext|
14
14
  ext.lib_dir = 'lib/github'
15
15
  end
16
16
 
17
+ # ==========================================================
18
+ # Helpers
19
+ # ==========================================================
20
+
21
+ def name
22
+ @name ||= "github-markdown"
23
+ end
24
+
25
+ def version
26
+ @version ||= File.read("#{name}.gemspec").match(/^\s*s.version\s*=\s*['"](.*)['"]/)[1]
27
+ end
28
+
29
+ def gem_file
30
+ "#{name}-#{version}.gem"
31
+ end
32
+
17
33
  # ==========================================================
18
34
  # Testing
19
35
  # ==========================================================
@@ -44,6 +60,20 @@ file package('.gem') => %w[pkg/ github-markdown.gemspec] + $spec.files do |f|
44
60
  mv File.basename(f.name), f.name
45
61
  end
46
62
 
63
+
64
+ desc "Create tag v#{version} and build and push #{gem_file} to Rubygems"
65
+ task :release => :package do
66
+ unless `git branch` =~ /^\* master$/
67
+ puts "You must be on the master branch to release!"
68
+ exit!
69
+ end
70
+ sh "git commit --allow-empty -a -m 'Release #{version}'"
71
+ sh "git tag v#{version}"
72
+ sh "git push origin master"
73
+ sh "git push origin v#{version}"
74
+ sh "gem push pkg/#{name}-#{version}.gem"
75
+ end
76
+
47
77
  # GEMSPEC HELPERS ==========================================================
48
78
 
49
79
  task :update_gem do
@@ -84,5 +114,3 @@ end
84
114
  file 'sundown/src/markdown.h' do |t|
85
115
  abort "The Sundown submodule is required."
86
116
  end
87
-
88
-
@@ -236,7 +236,7 @@ sd_autolink__email(
236
236
  }
237
237
 
238
238
  if (link_end < 2 || nb != 1 || np == 0 ||
239
- !isalpha(data[link_end - 1]))
239
+ (!isalpha(data[link_end - 1]) && data[link_end - 1] != '.'))
240
240
  return 0;
241
241
 
242
242
  link_end = autolink_delim(data, link_end, max_rewind, size);
@@ -294,4 +294,3 @@ sd_autolink__url(
294
294
 
295
295
  return link_end;
296
296
  }
297
-
@@ -501,7 +501,7 @@ parse_emph1(struct buf *ob, struct sd_markdown *rndr, uint8_t *data, size_t size
501
501
  if (data[i] == c && !_isspace(data[i - 1])) {
502
502
 
503
503
  if (rndr->ext_flags & MKDEXT_NO_INTRA_EMPHASIS) {
504
- if (i + 1 < size && isalnum(data[i + 1]))
504
+ if (i + 1 < size && data[i] < 33)
505
505
  continue;
506
506
  }
507
507
 
@@ -597,8 +597,9 @@ char_emphasis(struct buf *ob, struct sd_markdown *rndr, uint8_t *data, size_t of
597
597
  size_t ret;
598
598
 
599
599
  if (rndr->ext_flags & MKDEXT_NO_INTRA_EMPHASIS) {
600
- if (offset > 0 && !_isspace(data[-1]) && data[-1] != '>')
600
+ if (offset > 0 && !_isspace(data[-1]) && (isalnum(data[-1]) || data[-1] == data[0])) {
601
601
  return 0;
602
+ }
602
603
  }
603
604
 
604
605
  if (size > 2 && data[1] != c) {
@@ -1,10 +1,10 @@
1
1
  # encoding: utf-8
2
2
  Gem::Specification.new do |s|
3
3
  s.name = 'github-markdown'
4
- s.version = '0.5.3'
4
+ s.version = '0.5.4'
5
5
  s.summary = 'The Markdown parser for GitHub.com'
6
6
  s.description = 'Self-contained Markdown parser for GitHub, with all our custom extensions'
7
- s.date = '2012-07-08'
7
+ s.date = '2013-10-01'
8
8
  s.email = 'vicent@github.com'
9
9
  s.homepage = 'http://github.github.com/github-flavored-markdown/'
10
10
  s.authors = ['GitHub, Inc']
@@ -38,5 +38,4 @@ Gem::Specification.new do |s|
38
38
  s.test_files = ["test/gfm_test.rb"]
39
39
  s.extensions = ["ext/markdown/extconf.rb"]
40
40
  s.require_paths = ["lib"]
41
- s.add_development_dependency "rake-compiler"
42
41
  end
data/test/gfm_test.rb CHANGED
@@ -16,6 +16,33 @@ def html_equal(html_a, html_b)
16
16
  end
17
17
 
18
18
  class GFMBasicTest < Test::Unit::TestCase
19
+ Dir['test/fixtures/*.md'].each do |md_file|
20
+ markup = md_file.split('/').last.gsub(/\.md/, '')
21
+
22
+ define_method "test_#{markup}" do
23
+ source = File.read(md_file)
24
+
25
+ expected_file = "test/fixtures/#{markup}.html"
26
+ expected = File.read(expected_file).rstrip
27
+ actual = GitHub::Markdown.render(source).rstrip
28
+
29
+ if source != expected
30
+ assert(source != actual, "#{markup} did not render anything")
31
+ end
32
+
33
+ diff = IO.popen("diff -u - #{expected_file}", 'r+') do |f|
34
+ f.write actual
35
+ f.close_write
36
+ f.read
37
+ end
38
+
39
+ assert expected == actual, <<message
40
+ #{File.basename expected_file}'s contents don't match command output:
41
+ #{diff}
42
+ message
43
+ end
44
+ end
45
+
19
46
  def test_that_render_works
20
47
  GitHub::Markdown.to_html("Hello **world**!", :gfm)
21
48
  end
@@ -50,7 +77,7 @@ class GFMBasicTest < Test::Unit::TestCase
50
77
  parsed = Nokogiri::HTML::DocumentFragment.parse(html)
51
78
 
52
79
  items.inject(parsed) do |node, expected_item|
53
- child = node.at('.//ul/li')
80
+ child = node.xpath('.//ul/li')
54
81
  child_item = child.children.detect{|e| e.text?}.text.strip
55
82
  assert_equal expected_item, child_item
56
83
  node = child
metadata CHANGED
@@ -1,46 +1,22 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: github-markdown
3
- version: !ruby/object:Gem::Version
4
- hash: 13
5
- prerelease:
6
- segments:
7
- - 0
8
- - 5
9
- - 3
10
- version: 0.5.3
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.4
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - GitHub, Inc
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2012-07-08 00:00:00 +02:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- name: rake-compiler
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- version: "0"
33
- type: :development
34
- version_requirements: *id001
11
+ date: 2013-10-01 00:00:00.000000000 Z
12
+ dependencies: []
35
13
  description: Self-contained Markdown parser for GitHub, with all our custom extensions
36
14
  email: vicent@github.com
37
15
  executables: []
38
-
39
- extensions:
16
+ extensions:
40
17
  - ext/markdown/extconf.rb
41
18
  extra_rdoc_files: []
42
-
43
- files:
19
+ files:
44
20
  - Rakefile
45
21
  - bin/gfm
46
22
  - ext/markdown/autolink.c
@@ -64,39 +40,28 @@ files:
64
40
  - github-markdown.gemspec
65
41
  - lib/github/markdown.rb
66
42
  - test/gfm_test.rb
67
- has_rdoc: true
68
43
  homepage: http://github.github.com/github-flavored-markdown/
69
44
  licenses: []
70
-
45
+ metadata: {}
71
46
  post_install_message:
72
47
  rdoc_options: []
73
-
74
- require_paths:
48
+ require_paths:
75
49
  - lib
76
- required_ruby_version: !ruby/object:Gem::Requirement
77
- none: false
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- hash: 3
82
- segments:
83
- - 0
84
- version: "0"
85
- required_rubygems_version: !ruby/object:Gem::Requirement
86
- none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- hash: 3
91
- segments:
92
- - 0
93
- version: "0"
50
+ required_ruby_version: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ required_rubygems_version: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - '>='
58
+ - !ruby/object:Gem::Version
59
+ version: '0'
94
60
  requirements: []
95
-
96
61
  rubyforge_project:
97
- rubygems_version: 1.6.2
62
+ rubygems_version: 2.0.3
98
63
  signing_key:
99
- specification_version: 3
64
+ specification_version: 4
100
65
  summary: The Markdown parser for GitHub.com
101
- test_files:
66
+ test_files:
102
67
  - test/gfm_test.rb