paperwork 0.2.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.
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: []