paperwork 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +15 -0
  3. data/.gitlab-ci.yml +65 -0
  4. data/.rspec +3 -0
  5. data/.rubocop.yml +68 -0
  6. data/.travis.yml +6 -0
  7. data/Gemfile +6 -0
  8. data/Gemfile.lock +68 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +86 -0
  11. data/Rakefile +16 -0
  12. data/bin/console +15 -0
  13. data/bin/setup +8 -0
  14. data/custom.css +1 -0
  15. data/custom.js +1 -0
  16. data/lib/paperwork.rb +39 -0
  17. data/lib/paperwork/assets/paperwork/presentation.css +58 -0
  18. data/lib/paperwork/assets/presentation.css +153 -0
  19. data/lib/paperwork/config.rb +45 -0
  20. data/lib/paperwork/tasks.rb +25 -0
  21. data/lib/paperwork/tasks/base.rb +47 -0
  22. data/lib/paperwork/tasks/build_dir.rb +27 -0
  23. data/lib/paperwork/tasks/build_file.rb +32 -0
  24. data/lib/paperwork/tasks/document.rb +106 -0
  25. data/lib/paperwork/tasks/middleman_template/Gemfile +11 -0
  26. data/lib/paperwork/tasks/middleman_template/Gemfile.lock +131 -0
  27. data/lib/paperwork/tasks/middleman_template/config.rb +82 -0
  28. data/lib/paperwork/tasks/middleman_template/data/.keep +0 -0
  29. data/lib/paperwork/tasks/middleman_template/lib/doc_renderer.rb +137 -0
  30. data/lib/paperwork/tasks/middleman_template/lib/info_helpers.rb +43 -0
  31. data/lib/paperwork/tasks/middleman_template/package.json +12 -0
  32. data/lib/paperwork/tasks/middleman_template/source/images/.keep +0 -0
  33. data/lib/paperwork/tasks/middleman_template/source/javascripts/site.js +8 -0
  34. data/lib/paperwork/tasks/middleman_template/source/layouts/_document.erb +49 -0
  35. data/lib/paperwork/tasks/middleman_template/source/layouts/_header.erb +28 -0
  36. data/lib/paperwork/tasks/middleman_template/source/layouts/_info.erb +23 -0
  37. data/lib/paperwork/tasks/middleman_template/source/layouts/_navbar.erb +13 -0
  38. data/lib/paperwork/tasks/middleman_template/source/layouts/layout.erb +11 -0
  39. data/lib/paperwork/tasks/middleman_template/source/stylesheets/rogue.css.erb +1 -0
  40. data/lib/paperwork/tasks/middleman_template/source/stylesheets/site.css.scss +31 -0
  41. data/lib/paperwork/tasks/middleman_template/webpack.config.js +17 -0
  42. data/lib/paperwork/tasks/middleman_template/yarn.lock +1337 -0
  43. data/lib/paperwork/tasks/root_helpers.rb +53 -0
  44. data/lib/paperwork/tasks/template.rb +46 -0
  45. data/lib/paperwork/version.rb +5 -0
  46. data/navdemo.md +5 -0
  47. data/paperwork.gemspec +38 -0
  48. data/site.yml +7 -0
  49. metadata +193 -0
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Paperwork
4
+ ##
5
+ # task generators for building with middleman
6
+ module Tasks
7
+ require "rake"
8
+
9
+ ##
10
+ # task generator for root_helpers.rb that will
11
+ # provide url path to the root page
12
+ #
13
+ class RootHelpers < Paperwork::Tasks::Base
14
+ attr_reader :root
15
+
16
+ include Rake::DSL
17
+
18
+ def initialize(dir, root, *dependencies)
19
+ super(
20
+ File.join(dir, "lib", "root_helpers.rb"),
21
+ dir,
22
+ *dependencies
23
+ )
24
+ Template.new(dir)
25
+
26
+ @root = File.basename(root, ".md") + ".html"
27
+ end
28
+
29
+ def tasks
30
+ file self.name => self.dependencies do
31
+ File.write(
32
+ name,
33
+ <<~ROOT_HELPERS
34
+ module RootHelpers
35
+ def root_path
36
+ "#{self.root}"
37
+ end
38
+
39
+ def custom_css
40
+ ["#{Paperwork::Config[:custom_css].join("\", \"")}"]
41
+ end
42
+
43
+ def custom_js
44
+ ["#{Paperwork::Config[:custom_js].join("\", \"")}"]
45
+ end
46
+ end
47
+ ROOT_HELPERS
48
+ )
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Paperwork
4
+ ##
5
+ # task generators for building with middleman
6
+ module Tasks
7
+ require "rake"
8
+
9
+ ##
10
+ # Task for generating middleman template directory for building
11
+ #
12
+ class Template < Paperwork::Tasks::Base
13
+ attr_reader :template, :dir
14
+
15
+ include Rake::DSL
16
+
17
+ def initialize(name, *dependencies)
18
+ @dir = File.join(Paperwork::Config[:build_root], name.to_s)
19
+ @bundle = File.join(Paperwork::Config[:build_root], ".bundle")
20
+ super(self.dir, File.dirname(self.dir), @bundle, *dependencies)
21
+
22
+ BuildDir.new(@bundle)
23
+ BuildDir.new(File.dirname(self.dir))
24
+ @template = File.expand_path("middleman_template", __dir__)
25
+ end
26
+
27
+ def tasks
28
+ directory self.name => self.dependencies do
29
+ cp_r template, self.dir
30
+ Dir.chdir(self.dir) do
31
+ Bundler.with_unbundled_env do
32
+ Process.spawn(
33
+ "bundle install --path=../.bundle/gems --jobs 8 --without test development",
34
+ out: :out,
35
+ in: :in,
36
+ err: :err
37
+ )
38
+ end
39
+ Process.spawn("yarn install", out: :out, in: :in, err: :err)
40
+ Process.waitall
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Paperwork
4
+ VERSION = "0.2.0"
5
+ end
data/navdemo.md ADDED
@@ -0,0 +1,5 @@
1
+ ---
2
+ title: Linked
3
+ ---
4
+
5
+ # just a linked page for demonstrating navbar links
data/paperwork.gemspec ADDED
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "lib/paperwork/version"
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "paperwork"
7
+ spec.version = Paperwork::VERSION
8
+ spec.authors = ["Tobias Schmid"]
9
+ spec.email = ["couchbelag@gmail.com"]
10
+
11
+ spec.summary = "Convert markdown documents to html pages"
12
+ spec.homepage = "https://gitlab.com/couchbelag/paperwork"
13
+ spec.license = "MIT"
14
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
15
+
16
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
17
+
18
+ spec.metadata["homepage_uri"] = spec.homepage
19
+ spec.metadata["source_code_uri"] = "https://gitlab.com/couchbelag/paperwork.git"
20
+
21
+ # Specify which files should be added to the gem when it is released.
22
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
23
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
24
+ %x(git ls-files -z).split("\x0").reject { |f| f.match(%r(^(test|spec|features)/)) }
25
+ end
26
+ spec.bindir = "bin"
27
+ spec.executables = spec.files.grep(%r(^bin/)) { |f| File.basename(f) }
28
+ spec.require_paths = ["lib"]
29
+
30
+ spec.add_development_dependency "byebug", "~> 11.1.3"
31
+ spec.add_development_dependency "rspec", "~> 3.0"
32
+ spec.add_development_dependency "rspec_junit_formatter", "~> 0.4.1"
33
+ spec.add_development_dependency "rubocop", "~> 0.87.1"
34
+ spec.add_development_dependency "simplecov", "~> 0.18.5"
35
+
36
+ spec.add_runtime_dependency "rake", "~> 12.3"
37
+ spec.add_runtime_dependency "redcarpet", "~> 3.5.0"
38
+ end
data/site.yml ADDED
@@ -0,0 +1,7 @@
1
+ footer: © Tobi Schmid
2
+
3
+ navbar:
4
+ brand: paperwork
5
+ links:
6
+ Home: README.md
7
+ Navbar Demo: navdemo.md
metadata ADDED
@@ -0,0 +1,193 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: paperwork
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Tobias Schmid
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-02-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: byebug
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 11.1.3
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 11.1.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: rspec
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '3.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '3.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec_junit_formatter
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.4.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.4.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.87.1
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.87.1
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: 0.18.5
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: 0.18.5
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '12.3'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '12.3'
97
+ - !ruby/object:Gem::Dependency
98
+ name: redcarpet
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 3.5.0
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 3.5.0
111
+ description:
112
+ email:
113
+ - couchbelag@gmail.com
114
+ executables:
115
+ - console
116
+ - setup
117
+ extensions: []
118
+ extra_rdoc_files: []
119
+ files:
120
+ - ".gitignore"
121
+ - ".gitlab-ci.yml"
122
+ - ".rspec"
123
+ - ".rubocop.yml"
124
+ - ".travis.yml"
125
+ - Gemfile
126
+ - Gemfile.lock
127
+ - LICENSE.txt
128
+ - README.md
129
+ - Rakefile
130
+ - bin/console
131
+ - bin/setup
132
+ - custom.css
133
+ - custom.js
134
+ - lib/paperwork.rb
135
+ - lib/paperwork/assets/paperwork/presentation.css
136
+ - lib/paperwork/assets/presentation.css
137
+ - lib/paperwork/config.rb
138
+ - lib/paperwork/tasks.rb
139
+ - lib/paperwork/tasks/base.rb
140
+ - lib/paperwork/tasks/build_dir.rb
141
+ - lib/paperwork/tasks/build_file.rb
142
+ - lib/paperwork/tasks/document.rb
143
+ - lib/paperwork/tasks/middleman_template/Gemfile
144
+ - lib/paperwork/tasks/middleman_template/Gemfile.lock
145
+ - lib/paperwork/tasks/middleman_template/config.rb
146
+ - lib/paperwork/tasks/middleman_template/data/.keep
147
+ - lib/paperwork/tasks/middleman_template/lib/doc_renderer.rb
148
+ - lib/paperwork/tasks/middleman_template/lib/info_helpers.rb
149
+ - lib/paperwork/tasks/middleman_template/package.json
150
+ - lib/paperwork/tasks/middleman_template/source/images/.keep
151
+ - lib/paperwork/tasks/middleman_template/source/javascripts/site.js
152
+ - lib/paperwork/tasks/middleman_template/source/layouts/_document.erb
153
+ - lib/paperwork/tasks/middleman_template/source/layouts/_header.erb
154
+ - lib/paperwork/tasks/middleman_template/source/layouts/_info.erb
155
+ - lib/paperwork/tasks/middleman_template/source/layouts/_navbar.erb
156
+ - lib/paperwork/tasks/middleman_template/source/layouts/layout.erb
157
+ - lib/paperwork/tasks/middleman_template/source/stylesheets/rogue.css.erb
158
+ - lib/paperwork/tasks/middleman_template/source/stylesheets/site.css.scss
159
+ - lib/paperwork/tasks/middleman_template/webpack.config.js
160
+ - lib/paperwork/tasks/middleman_template/yarn.lock
161
+ - lib/paperwork/tasks/root_helpers.rb
162
+ - lib/paperwork/tasks/template.rb
163
+ - lib/paperwork/version.rb
164
+ - navdemo.md
165
+ - paperwork.gemspec
166
+ - site.yml
167
+ homepage: https://gitlab.com/couchbelag/paperwork
168
+ licenses:
169
+ - MIT
170
+ metadata:
171
+ allowed_push_host: https://rubygems.org
172
+ homepage_uri: https://gitlab.com/couchbelag/paperwork
173
+ source_code_uri: https://gitlab.com/couchbelag/paperwork.git
174
+ post_install_message:
175
+ rdoc_options: []
176
+ require_paths:
177
+ - lib
178
+ required_ruby_version: !ruby/object:Gem::Requirement
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 2.3.0
183
+ required_rubygems_version: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
+ requirements: []
189
+ rubygems_version: 3.0.6
190
+ signing_key:
191
+ specification_version: 4
192
+ summary: Convert markdown documents to html pages
193
+ test_files: []