dionysus 2.0.0 → 2.1.0

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.
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: