paperwork 0.2.1 → 0.2.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0442b017eab906cbe4b15d82938e45ea6df77f7805e521bea5574071875ed804
4
- data.tar.gz: 32b085683f2a46b1143c21982b16d08222f183499a004366da37abb53bddf45b
3
+ metadata.gz: 151389aa8930969de29cb2e7969505d8c52f085ffc46cf43bb3168575acbb325
4
+ data.tar.gz: 8121a20fc3f36067e2273b9cf6ac92173b9ad84cf25f1579c7f20afe1e5bfaf3
5
5
  SHA512:
6
- metadata.gz: cb165a9b7949a61f76a5fe3f0450d44ffd1de1f40ea16754fc60a51263b44198a32c120c70151e6af0a7c6e1d5ab2be91aa89c33de947ee56865b958b3c89449
7
- data.tar.gz: 1d58b651843b4f7a886f9d59f5c606ff7dfb062dd280a44c35b8c69f9ebd5ad9cd480b863ab992fa34896c9976fc9521751f036f819effca7060083c905b82bb
6
+ metadata.gz: dd6ada05928138cb198175167a0b9cbb1148dcc875f9ccf3a12049eb759a60832dffd538de17c31d4138aa8d4bf6ef7f1cb9b26d23d863e8770e1044ebb572ef
7
+ data.tar.gz: ea9028ea7f182d5d98841dc6e01ebe75c6e45e6839389c4a4247219e3efd56648ac317985209cecc2c1a25fbf3f0466cf780025648ef3d1e7498ef119cf328c1
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- paperwork (0.2.1)
4
+ paperwork (0.2.6)
5
5
  rake (~> 12.3)
6
6
  redcarpet (~> 3.5.0)
7
7
 
data/Rakefile CHANGED
@@ -13,4 +13,4 @@ task rebuild: [:clean, :build]
13
13
  task default: :spec
14
14
  CLEAN.include(".work/coverage")
15
15
 
16
- paperwork :doc, sources: ["README.md", "navdemo.md", "site.yml", "custom.js", "custom.css"]
16
+ paperwork :doc, sources: ["README.md", "nested_example/navdemo.md", "site.yml", "custom.js", "custom.css"]
@@ -17,7 +17,7 @@ module Paperwork
17
17
  dependencies = []
18
18
  if task.nil?
19
19
  task = options.keys.first
20
- dependencies = options.delete(ntaskame)
20
+ dependencies = options.delete(task)
21
21
  end
22
22
  doc = Paperwork::Tasks::Document.new(task, sources, *dependencies)
23
23
  doc.create_tasks
@@ -9,7 +9,7 @@ module Paperwork
9
9
  ##
10
10
  # main task generator for building the document
11
11
  #
12
- class Document < Paperwork::Tasks::Base
12
+ class Document < Paperwork::Tasks::Base # rubocop:disable Metrics/ClassLength
13
13
  attr_reader :dir
14
14
 
15
15
  include Rake::DSL
@@ -34,19 +34,26 @@ module Paperwork
34
34
 
35
35
  private
36
36
 
37
- def get_destination(dst_base, src) # rubocop:disable Metrics/AbcSize
37
+ def get_destination(dst_base, src) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
38
+ nested_base = File.dirname(src)
39
+ nested_base = if nested_base == "."
40
+ dst_base
41
+ else
42
+ File.join(dst_base, nested_base)
43
+ end
44
+
38
45
  ext = File.extname(src)
39
46
  case ext
40
47
  when ".md"
41
- File.join(dst_base, File.basename(src)).gsub(".md", ".html.md")
48
+ File.join(nested_base, File.basename(src)).gsub(".md", ".html.md")
42
49
  when ".scss"
43
- Paperwork::Config[:custom_css] << File.basename(src)
50
+ Paperwork::Config[:custom_css] << File.basename(src, ext)
44
51
  File.join(dst_base, "stylesheets", File.basename(src)).gsub(".scss", ".css.scss")
45
52
  when ".css"
46
- Paperwork::Config[:custom_css] << File.basename(src)
53
+ Paperwork::Config[:custom_css] << File.basename(src, ext)
47
54
  File.join(dst_base, "stylesheets", File.basename(src))
48
55
  when ".js"
49
- Paperwork::Config[:custom_js] << File.basename(src)
56
+ Paperwork::Config[:custom_js] << File.basename(src, ext)
50
57
  File.join(dst_base, "javascripts", File.basename(src))
51
58
  when ".yml"
52
59
  File.join(dst_base, "..", "data", File.basename(src))
@@ -79,9 +86,9 @@ module Paperwork
79
86
  end
80
87
  end
81
88
 
82
- def tasks_nested # rubocop:disable Metrics/AbcSize
83
- namespace :paperwork do
84
- namespace self.name do
89
+ def tasks_nested # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
90
+ namespace :paperwork do # rubocop:disable Metrics/BlockLength
91
+ namespace self.name do # rubocop:disable Metrics/BlockLength
85
92
  task build: ["paperwork:#{self.name}"]
86
93
 
87
94
  desc "rebuild documentation from scratch for '#{self.name}'"
@@ -98,6 +105,31 @@ module Paperwork
98
105
  task :clean do
99
106
  rm_rf self.dir
100
107
  end
108
+
109
+ desc "start middleman server for editing documents and get visual feedback with live reload"
110
+ task server: :build do
111
+ Dir.chdir(self.dir) do
112
+ Bundler.with_unbundled_env do
113
+ Process.spawn(
114
+ "bundle exec middleman server",
115
+ out: :out,
116
+ in: :in,
117
+ err: :err
118
+ )
119
+ end
120
+ puts
121
+ puts "+---------------------------------------------------------------+"
122
+ puts "| |"
123
+ puts "| IMPORTANT: Edit documents in #{self.dir} for live reload! |"
124
+ puts "| ---------- The documents there are hard links to your |"
125
+ puts "| source files, so the changes will be there |"
126
+ puts "| as well. |"
127
+ puts "| |"
128
+ puts "+---------------------------------------------------------------+"
129
+ puts
130
+ Process.waitall
131
+ end
132
+ end
101
133
  end
102
134
  end
103
135
  end
@@ -50,7 +50,6 @@ set :relative_links, true
50
50
  activate :relative_assets
51
51
  activate :livereload
52
52
  activate :syntax, line_numbers: true
53
- # activate :directory_indexes
54
53
 
55
54
 
56
55
  require "lib/doc_renderer"
@@ -6,10 +6,12 @@
6
6
  #
7
7
  module DocRenderer
8
8
  require "middleman-core/renderers/redcarpet"
9
+ require_relative "info_helpers"
9
10
 
10
11
  # This is a basic renderer for transforming markdown to HTML
11
12
  # inherit from this renderer to create more specific variants
12
13
  class Base < Middleman::Renderers::MiddlemanRedcarpetHTML
14
+ include InfoHelpers
13
15
 
14
16
  # block level calls
15
17
  def block_code(code, language)
@@ -79,11 +81,11 @@ module DocRenderer
79
81
  # def emphasis(text)
80
82
  # end
81
83
 
82
- # def image(link, title, alt_text, default_class: "img-fluid")
83
- # <<~IMG
84
- # <img src="#{link}" alt="#{alt_text}" class="#{default_class}">
85
- # IMG
86
- # end
84
+ def image(link, title, alt_text)
85
+ <<~IMG
86
+ <img src="#{relative_link link, scope.current_path}" alt="#{alt_text}" class="img-fluid">#{title}</img>
87
+ IMG
88
+ end
87
89
 
88
90
  # def linebreak()
89
91
  # end
@@ -20,6 +20,21 @@ module InfoHelpers
20
20
  end
21
21
  end
22
22
 
23
+ def relative_link(stringifyable, current_path = current_page.path)
24
+ relative = String.new
25
+ dots = current_path.split(/[\/\\]/).size - 1
26
+ dots.times{ relative += "../" }
27
+ # This has been some nasty part to debug...
28
+ # keep these comments for debugging session yet to come
29
+ # puts "##################################"
30
+ # puts "current_page.path: #{current_page.path}"
31
+ # puts "stringifyable: #{stringifyable.to_s}"
32
+ # puts "dots: #{dots}"
33
+ # puts "relative link: #{relative + stringifyable.to_s}"
34
+ # puts "##################################"
35
+ relative + stringifyable.to_s
36
+ end
37
+
23
38
  def site?
24
39
  data.respond_to?(:site)
25
40
  end
@@ -30,7 +45,12 @@ module InfoHelpers
30
45
 
31
46
  def navbar_links
32
47
  nav = data.site.navbar.links if navbar?
33
- nav || {}
48
+ nav ||= {}
49
+ mapped = {}
50
+ nav.each do |name, link|
51
+ mapped[name] = relative_link(link)
52
+ end
53
+ mapped
34
54
  end
35
55
 
36
56
  def navbar_brand
@@ -33,7 +33,7 @@ module Paperwork
33
33
  <<~ROOT_HELPERS
34
34
  module RootHelpers
35
35
  def root_path
36
- "#{self.root}"
36
+ relative_link "#{self.root}"
37
37
  end
38
38
 
39
39
  def custom_css
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Paperwork
4
- VERSION = "0.2.1"
4
+ VERSION = "0.2.6"
5
5
  end
@@ -3,3 +3,6 @@ title: Linked
3
3
  ---
4
4
 
5
5
  # just a linked page for demonstrating navbar links
6
+
7
+
8
+ [Back...](../README.md)
data/site.yml CHANGED
@@ -4,4 +4,4 @@ navbar:
4
4
  brand: paperwork
5
5
  links:
6
6
  Home: README.md
7
- Navbar Demo: navdemo.md
7
+ Navbar Demo: nested_example/navdemo.md
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperwork
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Schmid
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-19 00:00:00.000000000 Z
11
+ date: 2021-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: byebug
@@ -161,7 +161,7 @@ files:
161
161
  - lib/paperwork/tasks/root_helpers.rb
162
162
  - lib/paperwork/tasks/template.rb
163
163
  - lib/paperwork/version.rb
164
- - navdemo.md
164
+ - nested_example/navdemo.md
165
165
  - paperwork.gemspec
166
166
  - site.yml
167
167
  homepage: https://gitlab.com/couchbelag/paperwork