dionysus 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE CHANGED
@@ -1,3 +1,4 @@
1
+ # -*- md:plaintext -*-
1
2
  Apache License
2
3
  Version 2.0, January 2004
3
4
  http://www.apache.org/licenses/
data/README.md CHANGED
@@ -7,6 +7,8 @@
7
7
  > and ecstasy, and a major figure of Greek mythology.
8
8
  > [Wikipedia: Dionysus (2010/03/15)](http://en.wikipedia.org/wiki/Dionysus)
9
9
 
10
+ **Docs** http://tekwiz.github.com/dionysus
11
+
10
12
  **GitHub** http://github.com/tekwiz/dionysus
11
13
 
12
14
  **Issues** http://github.com/tekwiz/dionysus/issues
@@ -14,8 +16,6 @@
14
16
  **Travis-CI** http://travis-ci.org/tekwiz/dionysus
15
17
  [![Build Status](https://secure.travis-ci.org/tekwiz/dionysus.png?branch=master)](http://travis-ci.org/tekwiz/dionysus)
16
18
 
17
- **Docs** http://rubydoc.info/gems/dionysus
18
-
19
19
  **RubyGems** http://rubygems.org/gems/dionysus
20
20
 
21
21
  ## Requirements
@@ -0,0 +1,30 @@
1
+ # Dionysus Changelog
2
+
3
+ ## 2.1.0
4
+
5
+ *2012 June 28*
6
+
7
+ * Fixed alias method chaining in {Dionysus::Redcarpet::Includes} extension
8
+ * Added {Dionysus::Redcarpet::Plaintext} extension for marking files that should be rendered in `<pre>` tags
9
+ * Refactored out redcarpet regex constants to {Dionysus::Redcarpet} module
10
+ * Added this Changelog
11
+ * Added the Roadmap
12
+ * Setup documentation site http://tekwiz.github.com/dionysus
13
+
14
+ ## 2.0.0 *Major Re-release*
15
+
16
+ *2012 June 27*
17
+
18
+ * Specified support for only Ruby 1.8.7 and 1.9
19
+ * Specified single runtime dependency of ActiveSupport 3.1 or 3.2
20
+ * Rereleased with:
21
+ * {Dionysus::Redcarpet::Includes} extension for including other files into markdown files
22
+ * {String}#version_match?
23
+ * {Dionysus::TravisCI::GemfileGenerator} for generating gemfile variations for Travis-CI
24
+ * {Dionysus::ConfigurationCallbacks} module
25
+ * Removed for re-implementation:
26
+ * Digest extensions
27
+ * String encoding extensions
28
+ * String security extensions, including PasswordSalt class
29
+ * Permanently removed:
30
+ * RDoc markdown and no-markup extensions
@@ -0,0 +1,41 @@
1
+ # Dionysus Roadmap
2
+
3
+ ## Target: 2.1.x
4
+
5
+ * Full documentation of current code
6
+ * Complete rspecs for current code
7
+ * `rake doc:release` to generate and deploy updated documentation
8
+ * integrate with `rake release`
9
+
10
+ ## Target: 2.2
11
+
12
+ * `rake version` tasks:
13
+ * `rake version:bump:(major,minor,patch)`
14
+ * `rake version:set[number]`
15
+ * `rake spec` should run and pass before `rake release`
16
+ * `rake release` should then update documentation site with code coverage
17
+ * Add back String encoding helpers
18
+ * Add back String sanitization method(s)
19
+
20
+ ## Target 2.3
21
+
22
+ * Add back String digest helpers
23
+
24
+ ## Target 2.4
25
+
26
+ * Add back PasswordSalt class
27
+ * Integrate with String digest helpers
28
+
29
+ ## Target 2.5
30
+
31
+ * Password generation functionality
32
+
33
+ ## Target 2.6
34
+
35
+ * Password strength testing functionality
36
+ * ActiveModel validations for password strength
37
+
38
+ ## Future/Ongoing
39
+
40
+ * Edge rails testing (i.e. Rails 4)
41
+ * Edge ruby testing (i.e. Ruby 2)
@@ -0,0 +1,8 @@
1
+ require "redcarpet"
2
+
3
+ module Dionysus
4
+ module Redcarpet
5
+ FILE_DIRECTIVE_REGEXP = /\A(?:#|\/\/)\s*-\*-\s*(md):\s*(\S+)\s*-\*-\s*\n/
6
+ LINE_DIRECTIVE_REGEXP = /\A\s*<<<\s*(\S+)\s*\Z/
7
+ end
8
+ end
@@ -1,7 +1,7 @@
1
- require 'pathname'
2
- require 'redcarpet'
3
- require 'active_support/concern'
4
- require 'active_support/core_ext/object/blank'
1
+ require "pathname"
2
+ require "active_support/concern"
3
+ require "active_support/core_ext/object/blank"
4
+ require "dionysus/redcarpet"
5
5
 
6
6
  module Dionysus
7
7
  module Redcarpet
@@ -19,7 +19,7 @@ module Dionysus
19
19
  def preprocess_with_includes(full_document)
20
20
  lines = full_document.split($/)
21
21
  lines.each_with_index do |ln, i|
22
- if m = ln.match(/\A\s*<<<\s*(\S+)\s*\Z/)
22
+ if m = ln.match(LINE_DIRECTIVE_REGEXP)
23
23
  path = Pathname.new(m[1])
24
24
  if path.file?
25
25
  newlines = path.readlines
@@ -32,7 +32,13 @@ module Dionysus
32
32
  end
33
33
  end
34
34
  end
35
- lines.flatten.join("\n")
35
+ full_document = lines.flatten.join("\n")
36
+
37
+ if respond_to? :preprocess_without_includes
38
+ preprocess_without_includes(full_document)
39
+ else
40
+ full_document
41
+ end
36
42
  end
37
43
  end
38
44
  end
@@ -0,0 +1,34 @@
1
+ require "active_support/concern"
2
+ require "dionysus/redcarpet"
3
+
4
+ module Dionysus
5
+ module Redcarpet
6
+ module Plaintext
7
+ extend ActiveSupport::Concern
8
+
9
+ included do
10
+ if method_defined?(:preprocess)
11
+ alias_method_chain :preprocess, :plaintext
12
+ else
13
+ alias_method :preprocess, :preprocess_with_plaintext
14
+ end
15
+ end
16
+
17
+ def preprocess_with_plaintext(full_document)
18
+ if full_document =~ FILE_DIRECTIVE_REGEXP
19
+ if $1 == "md" and $2 == "plaintext"
20
+ full_document = "```\n#{full_document.gsub(FILE_DIRECTIVE_REGEXP, "")}\n```"
21
+ end
22
+ end
23
+
24
+ if respond_to? :preprocess_without_plaintext
25
+ preprocess_without_plaintext(full_document)
26
+ else
27
+ full_document
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+
34
+ Redcarpet::Render::HTML.send(:include, Dionysus::Redcarpet::Plaintext)
@@ -1,3 +1,3 @@
1
1
  module Dionysus
2
- VERSION = "2.0.0"
2
+ VERSION = "2.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dionysus
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -35,9 +35,13 @@ extensions: []
35
35
  extra_rdoc_files:
36
36
  - README.md
37
37
  - LICENSE
38
+ - docs/CHANGELOG.md
39
+ - docs/ROADMAP.md
38
40
  files:
39
41
  - lib/dionysus/configuration_callbacks.rb
40
42
  - lib/dionysus/redcarpet/includes.rb
43
+ - lib/dionysus/redcarpet/plaintext.rb
44
+ - lib/dionysus/redcarpet.rb
41
45
  - lib/dionysus/string/version_match.rb
42
46
  - lib/dionysus/travisci/gemfile_generator.rb
43
47
  - lib/dionysus/version.rb
@@ -47,10 +51,12 @@ files:
47
51
  - description.md
48
52
  - README.md
49
53
  - LICENSE
54
+ - docs/CHANGELOG.md
55
+ - docs/ROADMAP.md
50
56
  - spec/lib/dionysus_spec.rb
51
57
  - spec/lib/string/version_match_spec.rb
52
58
  - spec/spec_helper.rb
53
- homepage: http://github.com/tekwiz/dionysus
59
+ homepage: http://tekwiz.github.com/dionysus
54
60
  licenses:
55
61
  - Apache 2.0
56
62
  post_install_message: