slimdown 0.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 11ecd53f76f3f7e0f02682fdf0650331db9fbfd6
4
+ data.tar.gz: 9fd4b4d8546c45a16882d83721ed445f16aedef9
5
+ SHA512:
6
+ metadata.gz: e0defd1b01855570217e8bbc630f41a547c7c1436a22c8343ece1538bc50894efc13461424d03e725a7b457fc59485f5e540ff46abddb7ac7e6d365b06eb908f
7
+ data.tar.gz: 6fe35a719ca17a0a741a91ca9ba511e1bdc81e9d255ab537699e923cf668873777e00aa4aa8b93b00af333b455daaae2eb85d4480a258789dad7da0be1afe699
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+ cache: bundler
3
+ rvm:
4
+ - 2.1.5
5
+ - 2.2.2
6
+ - jruby
7
+ before_install:
8
+ - gem update --system
9
+ - gem --version
10
+ - gem update bundler
data/.yardocops ADDED
@@ -0,0 +1 @@
1
+ --no-private --protected lib/**/*.rb - Readme.md LICENSE.txt
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in ruby-slimdown.gemspec
4
+ gemspec
data/Guardfile ADDED
@@ -0,0 +1,70 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ ## Uncomment and set this to only include directories you want to watch
5
+ # directories %w(app lib config test spec features) \
6
+ # .select{|d| Dir.exists?(d) ? d : UI.warning("Directory #{d} does not exist")}
7
+
8
+ ## Note: if you are using the `directories` clause above and you are not
9
+ ## watching the project directory ('.'), then you will want to move
10
+ ## the Guardfile to a watched dir and symlink it back, e.g.
11
+ #
12
+ # $ mkdir config
13
+ # $ mv Guardfile config/
14
+ # $ ln -s config/Guardfile .
15
+ #
16
+ # and, you'll have to watch "config/Guardfile" instead of "Guardfile"
17
+
18
+ # Note: The cmd option is now required due to the increasing number of ways
19
+ # rspec may be run, below are examples of the most common uses.
20
+ # * bundler: 'bundle exec rspec'
21
+ # * bundler binstubs: 'bin/rspec'
22
+ # * spring: 'bin/rspec' (This will use spring if running and you have
23
+ # installed the spring binstubs per the docs)
24
+ # * zeus: 'zeus rspec' (requires the server to be started separately)
25
+ # * 'just' rspec: 'rspec'
26
+
27
+ guard :rspec, cmd: "bundle exec rspec" do
28
+ require "guard/rspec/dsl"
29
+ dsl = Guard::RSpec::Dsl.new(self)
30
+
31
+ # Feel free to open issues for suggestions and improvements
32
+
33
+ # RSpec files
34
+ rspec = dsl.rspec
35
+ watch(rspec.spec_helper) { rspec.spec_dir }
36
+ watch(rspec.spec_support) { rspec.spec_dir }
37
+ watch(rspec.spec_files)
38
+
39
+ # Ruby files
40
+ ruby = dsl.ruby
41
+ dsl.watch_spec_files_for(ruby.lib_files)
42
+
43
+ # Rails files
44
+ rails = dsl.rails(view_extensions: %w(erb haml slim))
45
+ dsl.watch_spec_files_for(rails.app_files)
46
+ dsl.watch_spec_files_for(rails.views)
47
+
48
+ watch(rails.controllers) do |m|
49
+ [
50
+ rspec.spec.("routing/#{m[1]}_routing"),
51
+ rspec.spec.("controllers/#{m[1]}_controller"),
52
+ rspec.spec.("acceptance/#{m[1]}")
53
+ ]
54
+ end
55
+
56
+ # Rails config changes
57
+ watch(rails.spec_helper) { rspec.spec_dir }
58
+ watch(rails.routes) { "#{rspec.spec_dir}/routing" }
59
+ watch(rails.app_controller) { "#{rspec.spec_dir}/controllers" }
60
+
61
+ # Capybara features specs
62
+ watch(rails.view_dirs) { |m| rspec.spec.("features/#{m[1]}") }
63
+ watch(rails.layouts) { |m| rspec.spec.("features/#{m[1]}") }
64
+
65
+ # Turnip features and steps
66
+ watch(%r{^spec/acceptance/(.+)\.feature$})
67
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) do |m|
68
+ Dir[File.join("**/#{m[1]}.feature")][0] || "spec/acceptance"
69
+ end
70
+ end
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2015 American Public Media
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,92 @@
1
+ # Slimdown
2
+
3
+ Slimdown is a simple gem to allow you to easily add static pages to your app
4
+ via a folder full of Markdown files.
5
+
6
+ Justin Heideman conceived and built the original version in PHP.
7
+
8
+ [![Build Status](https://travis-ci.org/APMG/ruby-slimdown.svg?branch=master)](https://travis-ci.org/APMG/ruby-slimdown)
9
+
10
+ ## Installation
11
+
12
+ Add this line to your application's Gemfile:
13
+
14
+ ```ruby
15
+ gem 'slimdown'
16
+ ```
17
+
18
+ And then execute:
19
+
20
+ $ bundle install
21
+
22
+ Or install it yourself as:
23
+
24
+ $ gem install slimdown
25
+
26
+ ## Usage
27
+
28
+ To add to your app, create a controller with one action, such as `show`. In that
29
+ action, add code to pull in the action:
30
+
31
+ class SlimdownController < ApplicationController
32
+ def show
33
+ @page = Slimdown::Page.find(params[:slug])
34
+ end
35
+ end
36
+
37
+ Then add a view for the show action.
38
+
39
+ <%= @page.body.to_html.html_safe %>
40
+
41
+ <h2>Sibling Pages</h2>
42
+ <ul>
43
+ <% @page.siblings.each do |sibling| %>
44
+ <li><%= link_to sibling.title, "/#{sibling.path}" %></li>
45
+ <% end %>
46
+ </ul>
47
+
48
+ <h2>Child Pages</h2>
49
+ <ul>
50
+ <% @page.children.each do |child| %>
51
+ <li><%= link_to child.title, "/#{child.path}" %></li>
52
+ <% end %>
53
+ </ul>
54
+
55
+ Add a route to direct all unhandled requests to your controller. Make sure that
56
+ it is at the end of your routes.rb so it doesn't superseed other routes.
57
+
58
+ get '/*slug', to: 'slimdown#show'
59
+
60
+ Finally, add an initializer in `config/initializers/slimdown.rb` to set the path
61
+ to your pages.
62
+
63
+ Slimdown.config do |c|
64
+ c.location = Rails.root.join('lib/pages')
65
+ end
66
+
67
+
68
+ ## General notes
69
+
70
+ The use case for us is that we have a distinct repo containing the markdown (and
71
+ some other files) which is editable by producers. This is autodeployed to a
72
+ location on our servers which is accessible from our Rails app.
73
+
74
+ The actual pages live in `[location]/pages`. It is assumed that you will have
75
+ other files in there as well. In our use case, we have `/files` as well, which
76
+ is aliased as an asset store of sorts. We also have `/_deploy` with Capistrano
77
+ deployment code.
78
+
79
+
80
+ ## Development
81
+
82
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
83
+
84
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
85
+
86
+ ## Contributing
87
+
88
+ 1. Fork it ( https://github.com/apmg/ruby-slimdown/fork )
89
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
90
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
91
+ 4. Push to the branch (`git push origin my-new-feature`)
92
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,5 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ task default: :spec
5
+ RSpec::Core::RakeTask.new
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "ruby/slimdown"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install
6
+
7
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,15 @@
1
+ module Slimdown
2
+ # Internal class for managing global configuration.
3
+ #
4
+ # Only used by singleton Slimdown module.
5
+ class Config
6
+
7
+ # Get the path to the markdown pages.
8
+ attr_accessor :location
9
+
10
+ def initialize
11
+ # Set defaults.
12
+ @location = 'pages/'
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,5 @@
1
+ module Slimdown
2
+ # Exception class for Slimdown errors.
3
+ class Exception < StandardError
4
+ end
5
+ end
@@ -0,0 +1,32 @@
1
+ module Slimdown
2
+ # Internal class for retrieving information about a folder.
3
+ class Folder
4
+ def initialize(absolute_path)
5
+ @absolute_path = absolute_path
6
+ end
7
+
8
+ # Returns a list of markdown files in the folder.
9
+ #
10
+ # @return [Array<String>] List of paths.
11
+ def markdown_files
12
+ return [] unless Dir.exists? @absolute_path
13
+
14
+ dir = Dir.new @absolute_path
15
+ files = dir.entries.grep(/\.md\z/i)
16
+ end
17
+
18
+ # Returns a list of page objects in the folder.
19
+ #
20
+ # @return [Array<Slimdown::Page>] List of pages.
21
+ def pages
22
+ pages = []
23
+
24
+ markdown_files.each do |file|
25
+ path = "#{@absolute_path}/#{file}"
26
+ pages << Slimdown::Page.new(path)
27
+ end
28
+
29
+ pages
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,91 @@
1
+ module Slimdown
2
+ # The model representing a page
3
+ class Page
4
+
5
+ # The subdirectory of the slimdown folder containing the markdown documents
6
+ PAGES_PATH_NAME = 'pages'
7
+
8
+ # The title from the document headers
9
+ attr_reader :title
10
+ # The template from the document headers
11
+ attr_reader :template
12
+
13
+ # Get new page object
14
+ #
15
+ # @param [String] absolute_path The absolute path to this document,
16
+ # including extension.
17
+ def initialize(absolute_path)
18
+ # Open the markdown file.
19
+ @absolute_path = absolute_path
20
+
21
+ @parsed_page = Slimdown::PageParser.new @absolute_path
22
+
23
+ load_headers
24
+ end
25
+
26
+ # Get page object by relative path.
27
+ #
28
+ # Example:
29
+ # Slimdown::Page.find('about/contact')
30
+ #
31
+ # @param [String] path relative path to page. Doesn't include extension.
32
+ # @return [Slimdown::Page] the page corresponding to this path.
33
+ def self.find(path)
34
+ # Finds the relative page.
35
+ config = Slimdown.config
36
+ loc = config.location
37
+
38
+ self.new("#{loc}/#{PAGES_PATH_NAME}/#{path}.md")
39
+ end
40
+
41
+ # Get the parsed body
42
+ #
43
+ # @return [Kramdown::Document] the parsed Markdown body.
44
+ def body
45
+ @parsed_page.body
46
+ end
47
+
48
+ # The sibling pages to this document.
49
+ #
50
+ # @return [Array<Slimdown::Page>] a list of sibling pages.
51
+ def siblings
52
+ # List other markdown files in the same folder.
53
+
54
+ # Sibling folder.
55
+ folder = File.dirname @absolute_path
56
+
57
+ Slimdown::Folder.new(folder).pages
58
+ end
59
+
60
+ # The children of this document.
61
+ #
62
+ # @return [Array<Slimdown::Page>] a list of child pages.
63
+ def children
64
+ # Check to see whether dir exists.
65
+ folder = @absolute_path
66
+ folder.slice! '.md'
67
+
68
+ Slimdown::Folder.new(folder).pages
69
+ end
70
+
71
+ # The relative path for this document.
72
+ #
73
+ # @return [String] the relative path, e.g. 'about/contact'
74
+ def path
75
+ loc = Slimdown.config.location
76
+ relative = @absolute_path
77
+ relative.slice! "#{loc}/#{PAGES_PATH_NAME}/"
78
+ relative.slice! '.md'
79
+
80
+ relative
81
+ end
82
+
83
+ private
84
+
85
+ def load_headers
86
+ headers = @parsed_page.headers
87
+ @title = headers['title']
88
+ @template = headers['template']
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,62 @@
1
+ require 'yaml'
2
+ require 'kramdown'
3
+
4
+ module Slimdown
5
+ # Internal class to manage parsing the markdown document.
6
+ class PageParser
7
+ # @param [String] path The absolute path to the markdown document.
8
+ def initialize(path)
9
+ @path = path
10
+
11
+ parse_file
12
+ end
13
+
14
+ # A hash of the headers in the document
15
+ #
16
+ # Example:
17
+ # {
18
+ # "title" => "Test title",
19
+ # "template" => "test_template",
20
+ # }
21
+ #
22
+ # @return [Hash] document headers
23
+ def headers
24
+ YAML.load @header_text
25
+ end
26
+
27
+ # The parsed markdown document body.
28
+ #
29
+ # @return [Kramdown::Document] a markdown document object.
30
+ def body
31
+ Kramdown::Document.new(@body_text)
32
+ end
33
+
34
+ private
35
+
36
+ def parse_file
37
+ # Simple state machine.
38
+ part = nil
39
+
40
+ @header_text = ''
41
+ @body_text = ''
42
+
43
+ File.open(@path, 'r') do |f|
44
+ f.each_line do |line|
45
+ if line.strip == '---' && !part
46
+ part = :header
47
+ elsif line.strip == '---' && part == :header
48
+ part = :body
49
+ elsif part == :header
50
+ @header_text += "#{line}\n"
51
+ elsif part == :body
52
+ @body_text += "#{line}\n"
53
+ end
54
+ end
55
+ end
56
+
57
+ rescue Errno::ENOENT
58
+ raise Slimdown::Exception, 'Page not found'
59
+ end
60
+
61
+ end
62
+ end
@@ -0,0 +1,4 @@
1
+ module Slimdown
2
+ # The slimdown version
3
+ VERSION = '0.1.0'
4
+ end
data/lib/slimdown.rb ADDED
@@ -0,0 +1,32 @@
1
+ require "slimdown/version"
2
+ require "slimdown/exception"
3
+ require "slimdown/page_parser"
4
+ require "slimdown/folder"
5
+ require "slimdown/page"
6
+ require "slimdown/config"
7
+
8
+ # The main Slimdown namespace.
9
+ module Slimdown
10
+
11
+ # Sets and retrieves global configuration.
12
+ #
13
+ # If called with a block, the config object will be passed to the block and
14
+ # allow settings to be modified. This could be done in a Rails initializer:
15
+ #
16
+ # Slimdown.config do |config|
17
+ # config.location = Rails.root.join 'pages'
18
+ # end
19
+ #
20
+ # The settings object is always returned.
21
+ #
22
+ # @param [Proc] block to call with config object.
23
+ # @return [Slimdown::Config] object with configuration params.
24
+ def self.config(&block)
25
+ @config ||= Slimdown::Config.new
26
+
27
+ # Allow configuration via a block.
28
+ block.call(@config) if block
29
+
30
+ @config
31
+ end
32
+ end
@@ -0,0 +1,30 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'slimdown/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "slimdown"
8
+ spec.version = Slimdown::VERSION
9
+ spec.authors = ["William Johnston"]
10
+ spec.email = ["wjohnston@mpr.org"]
11
+
12
+ spec.summary = %q{A system for using static Markdown for pages.}
13
+ spec.description = %q{A system for using Markdown from a folder and turning it into web pages.}
14
+ spec.homepage = "https://github.com/APMG/ruby-slimdown"
15
+ spec.license = "MIT"
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
+ spec.bindir = "exe"
19
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
+ spec.require_paths = ["lib"]
21
+
22
+ spec.add_runtime_dependency 'kramdown', '~> 1.7'
23
+
24
+ spec.add_development_dependency "bundler", "~> 1.9"
25
+ spec.add_development_dependency "rake", "~> 10.0"
26
+ spec.add_development_dependency "guard", "~> 2.12"
27
+ spec.add_development_dependency "guard-rspec", "~> 4.5"
28
+ spec.add_development_dependency "pry", "~> 0.10"
29
+ spec.add_development_dependency "yard", "~> 0.8"
30
+ end
metadata ADDED
@@ -0,0 +1,162 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: slimdown
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - William Johnston
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2015-06-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: kramdown
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.9'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.9'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: guard
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.12'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.12'
69
+ - !ruby/object:Gem::Dependency
70
+ name: guard-rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '4.5'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '4.5'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.10'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.10'
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.8'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.8'
111
+ description: A system for using Markdown from a folder and turning it into web pages.
112
+ email:
113
+ - wjohnston@mpr.org
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - ".gitignore"
119
+ - ".rspec"
120
+ - ".travis.yml"
121
+ - ".yardocops"
122
+ - Gemfile
123
+ - Guardfile
124
+ - LICENSE.txt
125
+ - README.md
126
+ - Rakefile
127
+ - bin/console
128
+ - bin/setup
129
+ - lib/slimdown.rb
130
+ - lib/slimdown/config.rb
131
+ - lib/slimdown/exception.rb
132
+ - lib/slimdown/folder.rb
133
+ - lib/slimdown/page.rb
134
+ - lib/slimdown/page_parser.rb
135
+ - lib/slimdown/version.rb
136
+ - ruby-slimdown.gemspec
137
+ homepage: https://github.com/APMG/ruby-slimdown
138
+ licenses:
139
+ - MIT
140
+ metadata: {}
141
+ post_install_message:
142
+ rdoc_options: []
143
+ require_paths:
144
+ - lib
145
+ required_ruby_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ required_rubygems_version: !ruby/object:Gem::Requirement
151
+ requirements:
152
+ - - ">="
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
155
+ requirements: []
156
+ rubyforge_project:
157
+ rubygems_version: 2.4.5
158
+ signing_key:
159
+ specification_version: 4
160
+ summary: A system for using static Markdown for pages.
161
+ test_files: []
162
+ has_rdoc: