boondoc 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.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +17 -0
  3. data/CODE_OF_CONDUCT.md +10 -0
  4. data/LICENSE.txt +21 -0
  5. data/README.md +345 -0
  6. data/exe/boondoc +6 -0
  7. data/lib/boondoc/assets.rb +112 -0
  8. data/lib/boondoc/cli.rb +99 -0
  9. data/lib/boondoc/config.rb +201 -0
  10. data/lib/boondoc/containment.rb +40 -0
  11. data/lib/boondoc/context.rb +48 -0
  12. data/lib/boondoc/core_constants.rb +23 -0
  13. data/lib/boondoc/docstring_parser.rb +119 -0
  14. data/lib/boondoc/filter.rb +34 -0
  15. data/lib/boondoc/frontend/comments.rb +67 -0
  16. data/lib/boondoc/frontend/prism_parser.rb +40 -0
  17. data/lib/boondoc/frontend/visitor.rb +359 -0
  18. data/lib/boondoc/generator.rb +116 -0
  19. data/lib/boondoc/linker.rb +175 -0
  20. data/lib/boondoc/links.rb +78 -0
  21. data/lib/boondoc/markdown.rb +90 -0
  22. data/lib/boondoc/model/code_object.rb +165 -0
  23. data/lib/boondoc/model/docstring.rb +70 -0
  24. data/lib/boondoc/model/registry.rb +150 -0
  25. data/lib/boondoc/path_map.rb +108 -0
  26. data/lib/boondoc/preview.rb +81 -0
  27. data/lib/boondoc/rake_task.rb +39 -0
  28. data/lib/boondoc/references.rb +59 -0
  29. data/lib/boondoc/renderer/base.rb +50 -0
  30. data/lib/boondoc/renderer/docstring.rb +140 -0
  31. data/lib/boondoc/renderer/index.rb +49 -0
  32. data/lib/boondoc/renderer/method_section.rb +84 -0
  33. data/lib/boondoc/renderer/namespace_page.rb +165 -0
  34. data/lib/boondoc/reporter.rb +36 -0
  35. data/lib/boondoc/stitcher.rb +89 -0
  36. data/lib/boondoc/type_parser.rb +78 -0
  37. data/lib/boondoc/version.rb +5 -0
  38. data/lib/boondoc/writer.rb +163 -0
  39. data/lib/boondoc/yard_bridge.rb +113 -0
  40. data/lib/boondoc/yardopts.rb +165 -0
  41. data/lib/boondoc.rb +48 -0
  42. metadata +116 -0
data/lib/boondoc.rb ADDED
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'prism'
4
+
5
+ require_relative 'boondoc/version'
6
+
7
+ # Markdown-only API documentation for Ruby.
8
+ #
9
+ # Source is parsed with Prism into a {Boondoc::Model::Registry}, and every class
10
+ # and module is rendered to its own markdown file. See {Boondoc::Generator} for
11
+ # the pipeline and {Boondoc::CLI} for the command line.
12
+ module Boondoc
13
+ # Raised for any failure Boondoc reports to the user.
14
+ class Error < StandardError; end
15
+ end
16
+
17
+ require_relative 'boondoc/reporter'
18
+ require_relative 'boondoc/containment'
19
+ require_relative 'boondoc/yardopts'
20
+ require_relative 'boondoc/config'
21
+ require_relative 'boondoc/markdown'
22
+ require_relative 'boondoc/model/docstring'
23
+ require_relative 'boondoc/model/code_object'
24
+ require_relative 'boondoc/model/registry'
25
+ require_relative 'boondoc/type_parser'
26
+ require_relative 'boondoc/docstring_parser'
27
+ require_relative 'boondoc/frontend/comments'
28
+ require_relative 'boondoc/frontend/visitor'
29
+ require_relative 'boondoc/frontend/prism_parser'
30
+ require_relative 'boondoc/yard_bridge'
31
+ require_relative 'boondoc/references'
32
+ require_relative 'boondoc/filter'
33
+ require_relative 'boondoc/path_map'
34
+ require_relative 'boondoc/links'
35
+ require_relative 'boondoc/assets'
36
+ require_relative 'boondoc/stitcher'
37
+ require_relative 'boondoc/core_constants'
38
+ require_relative 'boondoc/linker'
39
+ require_relative 'boondoc/context'
40
+ require_relative 'boondoc/renderer/base'
41
+ require_relative 'boondoc/renderer/docstring'
42
+ require_relative 'boondoc/renderer/method_section'
43
+ require_relative 'boondoc/renderer/namespace_page'
44
+ require_relative 'boondoc/renderer/index'
45
+ require_relative 'boondoc/writer'
46
+ require_relative 'boondoc/generator'
47
+ require_relative 'boondoc/preview'
48
+ require_relative 'boondoc/cli'
metadata ADDED
@@ -0,0 +1,116 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: boondoc
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Joe Sharp
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: prism
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '1.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '1.0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: thor
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.3'
33
+ type: :runtime
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.3'
40
+ description: 'boondoc reads YARD-style tags from Ruby source using Prism and writes
41
+ plain GitHub-flavored markdown: one file per class or module, with working relative
42
+ links, plus your README and guides stitched in. No HTML, no site to deploy and host.'
43
+ email:
44
+ - joesharp13@gmail.com
45
+ executables:
46
+ - boondoc
47
+ extensions: []
48
+ extra_rdoc_files: []
49
+ files:
50
+ - CHANGELOG.md
51
+ - CODE_OF_CONDUCT.md
52
+ - LICENSE.txt
53
+ - README.md
54
+ - exe/boondoc
55
+ - lib/boondoc.rb
56
+ - lib/boondoc/assets.rb
57
+ - lib/boondoc/cli.rb
58
+ - lib/boondoc/config.rb
59
+ - lib/boondoc/containment.rb
60
+ - lib/boondoc/context.rb
61
+ - lib/boondoc/core_constants.rb
62
+ - lib/boondoc/docstring_parser.rb
63
+ - lib/boondoc/filter.rb
64
+ - lib/boondoc/frontend/comments.rb
65
+ - lib/boondoc/frontend/prism_parser.rb
66
+ - lib/boondoc/frontend/visitor.rb
67
+ - lib/boondoc/generator.rb
68
+ - lib/boondoc/linker.rb
69
+ - lib/boondoc/links.rb
70
+ - lib/boondoc/markdown.rb
71
+ - lib/boondoc/model/code_object.rb
72
+ - lib/boondoc/model/docstring.rb
73
+ - lib/boondoc/model/registry.rb
74
+ - lib/boondoc/path_map.rb
75
+ - lib/boondoc/preview.rb
76
+ - lib/boondoc/rake_task.rb
77
+ - lib/boondoc/references.rb
78
+ - lib/boondoc/renderer/base.rb
79
+ - lib/boondoc/renderer/docstring.rb
80
+ - lib/boondoc/renderer/index.rb
81
+ - lib/boondoc/renderer/method_section.rb
82
+ - lib/boondoc/renderer/namespace_page.rb
83
+ - lib/boondoc/reporter.rb
84
+ - lib/boondoc/stitcher.rb
85
+ - lib/boondoc/type_parser.rb
86
+ - lib/boondoc/version.rb
87
+ - lib/boondoc/writer.rb
88
+ - lib/boondoc/yard_bridge.rb
89
+ - lib/boondoc/yardopts.rb
90
+ homepage: https://github.com/joe-sharp/boondoc
91
+ licenses:
92
+ - MIT
93
+ metadata:
94
+ homepage_uri: https://github.com/joe-sharp/boondoc
95
+ source_code_uri: https://github.com/joe-sharp/boondoc/tree/v0.1.0
96
+ bug_tracker_uri: https://github.com/joe-sharp/boondoc/issues
97
+ changelog_uri: https://github.com/joe-sharp/boondoc/blob/main/CHANGELOG.md
98
+ rubygems_mfa_required: 'true'
99
+ rdoc_options: []
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: 3.3.0
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubygems_version: 4.0.20
114
+ specification_version: 4
115
+ summary: Markdown-only API documentation for Ruby, written from YARD-style comments
116
+ test_files: []