miniyard 0.0.3 → 0.0.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.
- data/bin/miniyard +25 -7
- data/lib/miniyard.rb +2 -0
- data/lib/miniyard/copy.rb +57 -0
- data/lib/miniyard/version.rb +1 -1
- data/lib/templates/index.haml +6 -6
- metadata +4 -3
data/bin/miniyard
CHANGED
@@ -2,15 +2,33 @@
|
|
2
2
|
|
3
3
|
require 'optparse'
|
4
4
|
require 'miniyard'
|
5
|
-
require '
|
5
|
+
require 'miniyard/copy'
|
6
|
+
|
7
|
+
options = {
|
8
|
+
root: Dir.pwd,
|
9
|
+
doc: nil,
|
10
|
+
cov: nil,
|
11
|
+
name: nil
|
12
|
+
}
|
6
13
|
|
7
|
-
docroot = Dir.pwd
|
8
14
|
OptionParser.new do |opts|
|
9
|
-
opts.banner = "Usage: miniyard [options]
|
10
|
-
opts.on("-
|
11
|
-
|
15
|
+
opts.banner = "Usage: miniyard [options] [command]"
|
16
|
+
opts.on("-r PATH", "--root=PATH", "The root path to the hosted docs") do |v|
|
17
|
+
options[:root] = v
|
18
|
+
end
|
19
|
+
opts.on("-d SOURCE_DOCS""--doc=SOURCE_DOCS", "Docs folder to copy (requires --name option)") do |v|
|
20
|
+
options[:doc] = v
|
21
|
+
end
|
22
|
+
opts.on("-c SOURCE_COVERAGE", "--cov=SOURCE_COVERAGE", "Coverage folder to copy (requires --name option)") do |v|
|
23
|
+
options[:cov] = v
|
24
|
+
end
|
25
|
+
opts.on("-n NAME", "--name=NAME", "The name of the application folder in root. (Only applies to --cpdoc or --cpcov flags)") do |v|
|
26
|
+
options[:name] = v
|
12
27
|
end
|
13
28
|
end.parse!
|
14
29
|
|
15
|
-
|
16
|
-
MiniYard::
|
30
|
+
if options[:doc] || options[:cov]
|
31
|
+
MiniYard::Copy.new(options).run
|
32
|
+
end
|
33
|
+
|
34
|
+
MiniYard::Generate.new(options[:root]).run
|
data/lib/miniyard.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require "miniyard/version"
|
2
2
|
require 'fileutils'
|
3
|
+
require 'haml'
|
3
4
|
|
4
5
|
module MiniYard
|
5
6
|
class Generate
|
@@ -10,6 +11,7 @@ module MiniYard
|
|
10
11
|
end
|
11
12
|
|
12
13
|
def run
|
14
|
+
$stdout.puts('Generating miniyard at '+@root)
|
13
15
|
FileUtils.rm(index_file) if index_exists?
|
14
16
|
output = haml_render(index_template)
|
15
17
|
write_file(index_file, output)
|
@@ -0,0 +1,57 @@
|
|
1
|
+
module MiniYard
|
2
|
+
class Copy
|
3
|
+
|
4
|
+
def initialize(options)
|
5
|
+
verify_opts(options)
|
6
|
+
@options = options
|
7
|
+
end
|
8
|
+
|
9
|
+
def run
|
10
|
+
FileUtils.mkdir_p(folder_path) unless File.directory?(folder_path)
|
11
|
+
|
12
|
+
if @options[:doc]
|
13
|
+
$stdout.puts('Copying docs from %s to %s' % [doc_source_path, doc_dest_path])
|
14
|
+
FileUtils.rm_rf(doc_dest_path) if File.directory?(doc_dest_path)
|
15
|
+
FileUtils.cp_r(doc_source_path, doc_dest_path)
|
16
|
+
end
|
17
|
+
|
18
|
+
if @options[:cov]
|
19
|
+
$stdout.puts('Copying coverage from %s to %s' % [cov_source_path, cov_dest_path])
|
20
|
+
FileUtils.rm_rf(cov_dest_path) if File.directory?(doc_dest_path)
|
21
|
+
FileUtils.cp_r(cov_source_path, cov_dest_path)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def verify_opts(options)
|
26
|
+
raise 'Root directory %s does not exist' % options[:root] unless File.directory?(options[:root])
|
27
|
+
raise 'Doc source directory %s does not exist' % doc_source_path if options[:doc] && !File.directory?(options[:doc])
|
28
|
+
raise 'Coverage source directory %s does not exist' % cov_source_path if options[:cov] && !File.directory?(options[:cov])
|
29
|
+
raise 'Name must be present' % options[:name] unless options[:name]
|
30
|
+
end
|
31
|
+
|
32
|
+
def doc_source_path
|
33
|
+
File.expand_path(@options[:doc])
|
34
|
+
end
|
35
|
+
|
36
|
+
def cov_source_path
|
37
|
+
File.expand_path(@options[:cov])
|
38
|
+
end
|
39
|
+
|
40
|
+
def doc_dest_path
|
41
|
+
File.join(folder_path, 'doc')
|
42
|
+
end
|
43
|
+
|
44
|
+
def cov_dest_path
|
45
|
+
File.join(folder_path, 'cov')
|
46
|
+
end
|
47
|
+
|
48
|
+
def folder_path
|
49
|
+
File.join(root_path, @options[:name])
|
50
|
+
end
|
51
|
+
|
52
|
+
def root_path
|
53
|
+
File.expand_path(@options[:root])
|
54
|
+
end
|
55
|
+
|
56
|
+
end
|
57
|
+
end
|
data/lib/miniyard/version.rb
CHANGED
data/lib/templates/index.haml
CHANGED
@@ -5,10 +5,10 @@
|
|
5
5
|
%link{rel: 'stylesheet', type: 'text/css', href: './bootstrap.1.4.0.min.css'}
|
6
6
|
:javascript
|
7
7
|
function selectFolder(anchor, folder) {
|
8
|
-
document.getElementById('
|
9
|
-
document.getElementById('
|
8
|
+
document.getElementById('doc-frame-link').href = './'+folder+'/doc/index.html';
|
9
|
+
document.getElementById('cov-frame-link').href = './'+folder+'/cov/index.html';
|
10
10
|
setActive(anchor);
|
11
|
-
setActive(document.getElementById('
|
11
|
+
setActive(document.getElementById('doc-frame-link'));
|
12
12
|
}
|
13
13
|
function setActive(anchor) {
|
14
14
|
var ul = anchor.parentElement.parentElement;
|
@@ -38,15 +38,15 @@
|
|
38
38
|
%ul
|
39
39
|
- folders.each do |folder|
|
40
40
|
%li
|
41
|
-
%a{id: "#{folder}-link", href: "./#{folder}/index.html", target: 'frame', onclick: "javascript: selectFolder(this, '#{folder}')"}
|
41
|
+
%a{id: "#{folder}-link", href: "./#{folder}/doc/index.html", target: 'frame', onclick: "javascript: selectFolder(this, '#{folder}')"}
|
42
42
|
= folder
|
43
43
|
|
44
44
|
.content
|
45
45
|
%ul#pill-nav.pills{"data-pills" => "pills"}
|
46
46
|
%li
|
47
|
-
%a{id: "
|
47
|
+
%a{id: "doc-frame-link", href: 'javascript: void(0);', target: "frame", onclick: "javascript: setActive(this)"} Documentation
|
48
48
|
%li
|
49
|
-
%a{id: "
|
49
|
+
%a{id: "cov-frame-link", href: 'javascript: void(0);', target: "frame", onclick: "javascript: setActive(this)"} Coverage
|
50
50
|
%iframe#frame{name: 'frame', frameborder: '0'}
|
51
51
|
%h3.title
|
52
52
|
%span.bracket [
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: miniyard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-12-23 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: haml
|
16
|
-
requirement: &
|
16
|
+
requirement: &2153365140 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2153365140
|
25
25
|
description: A static html framebuilder to host multiple documentation folders
|
26
26
|
email:
|
27
27
|
- bj.neilsen@gmail.com
|
@@ -35,6 +35,7 @@ files:
|
|
35
35
|
- Rakefile
|
36
36
|
- bin/miniyard
|
37
37
|
- lib/miniyard.rb
|
38
|
+
- lib/miniyard/copy.rb
|
38
39
|
- lib/miniyard/version.rb
|
39
40
|
- lib/templates/bootstrap.1.4.0.min.css
|
40
41
|
- lib/templates/index.haml
|