jazzy 0.13.1 → 0.13.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +6 -3
  3. data/.gitignore +1 -0
  4. data/CHANGELOG.md +135 -1
  5. data/CONTRIBUTING.md +1 -1
  6. data/Gemfile.lock +62 -52
  7. data/README.md +86 -3
  8. data/Rakefile +30 -0
  9. data/bin/sourcekitten +0 -0
  10. data/images/math.png +0 -0
  11. data/jazzy.gemspec +1 -1
  12. data/js/package-lock.json +39 -0
  13. data/js/package.json +17 -0
  14. data/lib/jazzy/config.rb +33 -7
  15. data/lib/jazzy/doc.rb +4 -0
  16. data/lib/jazzy/doc_builder.rb +25 -2
  17. data/lib/jazzy/docset_builder.rb +2 -0
  18. data/lib/jazzy/docset_builder/info_plist.mustache +8 -0
  19. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_AMS-Regular.ttf +0 -0
  20. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_AMS-Regular.woff +0 -0
  21. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_AMS-Regular.woff2 +0 -0
  22. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
  23. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
  24. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
  25. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
  26. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
  27. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
  28. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
  29. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Fraktur-Bold.woff +0 -0
  30. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
  31. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
  32. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Fraktur-Regular.woff +0 -0
  33. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
  34. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-Bold.ttf +0 -0
  35. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-Bold.woff +0 -0
  36. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-Bold.woff2 +0 -0
  37. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
  38. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-BoldItalic.woff +0 -0
  39. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
  40. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-Italic.ttf +0 -0
  41. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-Italic.woff +0 -0
  42. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-Italic.woff2 +0 -0
  43. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-Regular.ttf +0 -0
  44. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-Regular.woff +0 -0
  45. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Main-Regular.woff2 +0 -0
  46. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
  47. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Math-BoldItalic.woff +0 -0
  48. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
  49. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Math-Italic.ttf +0 -0
  50. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Math-Italic.woff +0 -0
  51. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Math-Italic.woff2 +0 -0
  52. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
  53. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_SansSerif-Bold.woff +0 -0
  54. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
  55. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
  56. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_SansSerif-Italic.woff +0 -0
  57. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
  58. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
  59. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_SansSerif-Regular.woff +0 -0
  60. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
  61. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Script-Regular.ttf +0 -0
  62. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Script-Regular.woff +0 -0
  63. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Script-Regular.woff2 +0 -0
  64. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size1-Regular.ttf +0 -0
  65. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size1-Regular.woff +0 -0
  66. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size1-Regular.woff2 +0 -0
  67. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size2-Regular.ttf +0 -0
  68. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size2-Regular.woff +0 -0
  69. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size2-Regular.woff2 +0 -0
  70. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size3-Regular.ttf +0 -0
  71. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size3-Regular.woff +0 -0
  72. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size3-Regular.woff2 +0 -0
  73. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size4-Regular.ttf +0 -0
  74. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size4-Regular.woff +0 -0
  75. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Size4-Regular.woff2 +0 -0
  76. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
  77. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Typewriter-Regular.woff +0 -0
  78. data/lib/jazzy/extensions/katex/css/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
  79. data/lib/jazzy/extensions/katex/css/katex.min.css +1 -0
  80. data/lib/jazzy/extensions/katex/js/katex.min.js +1 -0
  81. data/lib/jazzy/gem_version.rb +1 -1
  82. data/lib/jazzy/jazzy_markdown.rb +17 -0
  83. data/lib/jazzy/podspec_documenter.rb +15 -3
  84. data/lib/jazzy/source_declaration.rb +15 -2
  85. data/lib/jazzy/source_declaration/access_control_level.rb +1 -1
  86. data/lib/jazzy/source_declaration/type.rb +34 -0
  87. data/lib/jazzy/source_module.rb +2 -1
  88. data/lib/jazzy/sourcekitten.rb +55 -28
  89. data/lib/jazzy/symbol_graph.rb +95 -0
  90. data/lib/jazzy/symbol_graph/constraint.rb +94 -0
  91. data/lib/jazzy/symbol_graph/ext_node.rb +114 -0
  92. data/lib/jazzy/symbol_graph/graph.rb +193 -0
  93. data/lib/jazzy/symbol_graph/relationship.rb +39 -0
  94. data/lib/jazzy/symbol_graph/sym_node.rb +154 -0
  95. data/lib/jazzy/symbol_graph/symbol.rb +208 -0
  96. data/lib/jazzy/themes/apple/assets/css/jazzy.css.scss +79 -4
  97. data/lib/jazzy/themes/apple/assets/img/spinner.gif +0 -0
  98. data/lib/jazzy/themes/apple/assets/js/jazzy.js +12 -1
  99. data/lib/jazzy/themes/apple/assets/js/jazzy.search.js +70 -0
  100. data/lib/jazzy/themes/apple/assets/js/jquery.min.js +2 -2
  101. data/lib/jazzy/themes/apple/assets/js/lunr.min.js +6 -0
  102. data/lib/jazzy/themes/apple/assets/js/typeahead.jquery.js +1694 -0
  103. data/lib/jazzy/themes/apple/templates/doc.mustache +41 -0
  104. data/lib/jazzy/themes/apple/templates/header.mustache +7 -0
  105. data/lib/jazzy/themes/apple/templates/task.mustache +3 -3
  106. data/lib/jazzy/themes/fullwidth/assets/css/jazzy.css.scss +3 -1
  107. data/lib/jazzy/themes/fullwidth/assets/js/jazzy.js +12 -1
  108. data/lib/jazzy/themes/fullwidth/assets/js/jquery.min.js +2 -2
  109. data/lib/jazzy/themes/fullwidth/assets/js/lunr.min.js +6 -1
  110. data/lib/jazzy/themes/fullwidth/assets/js/typeahead.jquery.js +34 -14
  111. data/lib/jazzy/themes/fullwidth/templates/doc.mustache +36 -0
  112. data/lib/jazzy/themes/fullwidth/templates/task.mustache +3 -3
  113. data/lib/jazzy/themes/jony/assets/css/jazzy.css.scss +12 -2
  114. data/lib/jazzy/themes/jony/assets/js/jazzy.js +12 -1
  115. data/lib/jazzy/themes/jony/assets/js/jquery.min.js +2 -2
  116. data/lib/jazzy/themes/jony/templates/doc.mustache +36 -0
  117. data/lib/jazzy/themes/jony/templates/task.mustache +3 -3
  118. data/spec/integration_spec.rb +17 -8
  119. metadata +84 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a9f442a5c42736d08f2dcde8ca4b20745529e9c5327a47ab7ae18d49310dc115
4
- data.tar.gz: 663672fbbca84610d3164ca0d9ecd69bade0f500df05b1c11f8d38366cea04ad
3
+ metadata.gz: 20ab471420ed44e905319be51f0410c0571efa3f56902834b6e7d47f4f66fd0a
4
+ data.tar.gz: 2bfa14b53c563edb51d4cf0f0a4041859929561b725324761f17568410819838
5
5
  SHA512:
6
- metadata.gz: efdb407e43e83ccfdf1efbb75193101307bcc92cbf1180bd69ad849b80d14d18392e223b56691a29c11217066fb8487f1503e80b18d10458c81ce0cfca2f677c
7
- data.tar.gz: 62117927494054f86f4bb3c81d3840c2fc6609095dffdc8e673dbea44a4e0c4fd7ade038e3572335e96bafdb7055061b1492509dcf3a709596ef00129c94afe7
6
+ metadata.gz: 6c5b2eeb4b88f7cf4c8b406bc627c754b50f7f95cd9c555127998530e201b7dfc0e86c237cff3f3dff71c85fa6c979733e0b75de6fd4c52333de8e9d9cf741b0
7
+ data.tar.gz: 672470f7c618f5fc659035a2705674b3804558abc86d58c788943f1495e7e4e3de9447ae6ee46156b68c11776d32986551c91a7f7b222fda455e59f89bc91973
@@ -17,11 +17,12 @@ jobs:
17
17
 
18
18
  swift:
19
19
  macos:
20
- xcode: "11.2.0"
20
+ xcode: "12.1.0"
21
21
  environment: *bundler-environment
22
22
  steps:
23
23
  - checkout
24
24
  - restore_cache: *restore-mac-bundler-cache
25
+ - run: echo 'chruby 2.6' >> ~/.bash_profile
25
26
  - run: bundle install
26
27
  - run: git submodule update --init --recursive
27
28
  - run: bundle exec rake swift_spec
@@ -29,11 +30,12 @@ jobs:
29
30
 
30
31
  objc:
31
32
  macos:
32
- xcode: "11.2.0"
33
+ xcode: "12.1.0"
33
34
  environment: *bundler-environment
34
35
  steps:
35
36
  - checkout
36
37
  - restore_cache: *restore-mac-bundler-cache
38
+ - run: echo 'chruby 2.6' >> ~/.bash_profile
37
39
  - run: bundle install
38
40
  - run: git submodule update --init --recursive
39
41
  - run: bundle exec rake objc_spec
@@ -41,13 +43,14 @@ jobs:
41
43
 
42
44
  cocoapods:
43
45
  macos:
44
- xcode: "11.2.0"
46
+ xcode: "12.1.0"
45
47
  environment: *bundler-environment
46
48
  steps:
47
49
  - checkout
48
50
  - restore_cache:
49
51
  key: cocoapods
50
52
  - restore_cache: *restore-mac-bundler-cache
53
+ - run: echo 'chruby 2.6' >> ~/.bash_profile
51
54
  - run: bundle install
52
55
  - run: git submodule update --init --recursive
53
56
  - run: bundle exec rake cocoapods_spec
data/.gitignore CHANGED
@@ -1,5 +1,6 @@
1
1
  jazzy-docs/
2
2
  /docs/
3
+ node_modules
3
4
 
4
5
  *.gem
5
6
  *.rbc
@@ -1,4 +1,138 @@
1
- ## Master
1
+ ## 0.13.6
2
+
3
+ ##### Breaking
4
+
5
+ * None.
6
+
7
+ ##### Enhancements
8
+
9
+ * Support documentation generation from `.swiftmodule` binaries using
10
+ `--swift-build-tool symbolgraph` with Swift 5.3.
11
+ [John Fairhurst](https://github.com/johnfairh)
12
+
13
+ ##### Bug Fixes
14
+
15
+ * Always bypass codesigning when building Xcode projects.
16
+ [John Fairhurst](https://github.com/johnfairh)
17
+ [#1183](https://github.com/realm/jazzy/issues/1183)
18
+
19
+ ## 0.13.5
20
+
21
+ ##### Breaking
22
+
23
+ * None.
24
+
25
+ ##### Enhancements
26
+
27
+ * Add search function to `apple` theme.
28
+ [Giles Payne](https://github.com/komakai)
29
+ [#726](https://github.com/realm/jazzy/issues/726)
30
+
31
+ * Add option `--[no-]separate-global-declarations` to always create separate
32
+ documentation pages for top-level declarations as well as classes,
33
+ structures, enums etc. even if they don't have members. As part of this,
34
+ improve the main page declaration in all modes.
35
+ [Nikolay Volosatov](https://github.com/bamx23)
36
+ [John Fairhurst](https://github.com/johnfairh)
37
+
38
+ ##### Bug Fixes
39
+
40
+ * Style fixes for `apple` and `jony` themes to codeblocks inside lists and
41
+ links.
42
+ [John Fairhurst](https://github.com/johnfairh)
43
+ [#818](https://github.com/realm/jazzy/issues/818)
44
+ [#1177](https://github.com/realm/jazzy/issues/1177)
45
+
46
+ ## 0.13.4
47
+
48
+ ##### Breaking
49
+
50
+ * None.
51
+
52
+ ##### Enhancements
53
+
54
+ * Update JavaScript libraries: jQuery 3.5.1 (all themes), Lunr 2.3.8,
55
+ typeahead.js 1.3.1 (`fullwidth` theme only).
56
+ [John Fairhurst](https://github.com/johnfairh)
57
+
58
+ ##### Bug Fixes
59
+
60
+ * Fix warnings from Ruby 2.7.
61
+ [John Fairhurst](https://github.com/johnfairh)
62
+ [#1185](https://github.com/realm/jazzy/issues/1185)
63
+
64
+ * Accept `root_url` without trailing slash.
65
+ [John Fairhurst](https://github.com/johnfairh)
66
+ [#1188](https://github.com/realm/jazzy/issues/1188)
67
+
68
+ ## 0.13.3
69
+
70
+ ##### Breaking
71
+
72
+ * None.
73
+
74
+ ##### Enhancements
75
+
76
+ * Added a config option to provide sources of privately hosted pod
77
+ dependencies when using the `--podspec` option.
78
+ `--pod-sources url1,url2,…urlN`.
79
+ [Jonathan Bailey](https://github.com/jon889)
80
+ [#650](https://github.com/realm/jazzy/issues/650)
81
+
82
+ * Improve Dash docset support: support online redirection when
83
+ `--root-url` is set, and provide `--docset-playground-url` to
84
+ support docset playground links.
85
+ [John Fairhurst](https://github.com/johnfairh)
86
+
87
+ ##### Bug Fixes
88
+
89
+ * Fix module version not being used from podspec.
90
+ [Jonathan Bailey](https://github.com/jon889)
91
+
92
+ * Autolink Swift custom attributes/property wrappers.
93
+ [John Fairhurst](https://github.com/johnfairh)
94
+
95
+ ## 0.13.2
96
+
97
+ ##### Breaking
98
+
99
+ * None.
100
+
101
+ ##### Enhancements
102
+
103
+ * Support Xcode 11.4. Default Objective-C property attributes are now
104
+ stripped from declarations: turn this off with
105
+ `--keep-default-property-attributes`.
106
+ [John Fairhurst](https://github.com/johnfairh)
107
+ [#829](https://github.com/realm/jazzy/issues/829)
108
+
109
+ * Render LaTeX expressions written using `$equation$` or `$$equation$$`
110
+ syntax.
111
+ [Arthur Guiot](https://github.com/arguiot)
112
+ [John Fairhurst](https://github.com/johnfairh)
113
+ [#1156](https://github.com/realm/jazzy/issues/1156)
114
+
115
+ * Wrap long method names on category pages. Use `name_html` in custom
116
+ mustache templates to take advantage of this.
117
+ [John Fairhurst](https://github.com/johnfairh)
118
+ [#995](https://github.com/realm/jazzy/issues/995)
119
+
120
+ * Support Dash-style `apple_ref` links to specific API items, for more
121
+ stable and human-readable links from external docs.
122
+ [Paul Cantrell](https://github.com/pcantrell)
123
+
124
+ ##### Bug Fixes
125
+
126
+ * Don't generate documentation if the `xcodebuild` command fails.
127
+ [John Fairhurst](https://github.com/johnfairh)
128
+ [jpsim/SourceKitten#643](https://github.com/jpsim/SourceKitten/issues/643)
129
+
130
+ * Use multi-line parsed declarations in more places including protocol
131
+ methods and typealiases.
132
+ [John Fairhurst](https://github.com/johnfairh)
133
+ [#896](https://github.com/realm/jazzy/issues/896)
134
+
135
+ ## 0.13.1
2
136
 
3
137
  ##### Breaking
4
138
 
@@ -49,7 +49,7 @@ git push
49
49
  You'll need push access to the integration specs repo to do this. You can
50
50
  request access from one of the maintainers when filing your PR.
51
51
 
52
- You must have Xcode 11.2 installed to build the integration specs.
52
+ You must have Xcode 11.4 installed to build the integration specs.
53
53
 
54
54
  ## Making changes to SourceKitten
55
55
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jazzy (0.13.1)
4
+ jazzy (0.13.6)
5
5
  cocoapods (~> 1.5)
6
6
  mustache (~> 1.1)
7
7
  open4
@@ -15,17 +15,17 @@ GEM
15
15
  remote: https://rubygems.org/
16
16
  specs:
17
17
  CFPropertyList (3.0.2)
18
- activesupport (4.2.11.1)
19
- i18n (~> 0.7)
18
+ activesupport (5.2.4.4)
19
+ concurrent-ruby (~> 1.0, >= 1.0.2)
20
+ i18n (>= 0.7, < 2)
20
21
  minitest (~> 5.1)
21
- thread_safe (~> 0.3, >= 0.3.4)
22
22
  tzinfo (~> 1.1)
23
23
  addressable (2.7.0)
24
24
  public_suffix (>= 2.0.2, < 5.0)
25
- algoliasearch (1.27.1)
25
+ algoliasearch (1.27.5)
26
26
  httpclient (~> 2.8, >= 2.8.3)
27
27
  json (>= 1.5.1)
28
- ast (2.4.0)
28
+ ast (2.4.1)
29
29
  atomos (0.1.3)
30
30
  bacon (1.2.0)
31
31
  claide (1.0.3)
@@ -36,15 +36,14 @@ GEM
36
36
  clintegracon (0.7.0)
37
37
  colored (~> 1.2)
38
38
  diffy
39
- cocoapods (1.8.4)
40
- activesupport (>= 4.0.2, < 5)
39
+ cocoapods (1.10.0)
40
+ addressable (~> 2.6)
41
41
  claide (>= 1.0.2, < 2.0)
42
- cocoapods-core (= 1.8.4)
42
+ cocoapods-core (= 1.10.0)
43
43
  cocoapods-deintegrate (>= 1.0.3, < 2.0)
44
- cocoapods-downloader (>= 1.2.2, < 2.0)
44
+ cocoapods-downloader (>= 1.4.0, < 2.0)
45
45
  cocoapods-plugins (>= 1.0.0, < 2.0)
46
46
  cocoapods-search (>= 1.0.0, < 2.0)
47
- cocoapods-stats (>= 1.0.0, < 2.0)
48
47
  cocoapods-trunk (>= 1.4.0, < 2.0)
49
48
  cocoapods-try (>= 1.1.0, < 2.0)
50
49
  colored2 (~> 3.1)
@@ -54,90 +53,99 @@ GEM
54
53
  molinillo (~> 0.6.6)
55
54
  nap (~> 1.0)
56
55
  ruby-macho (~> 1.4)
57
- xcodeproj (>= 1.11.1, < 2.0)
58
- cocoapods-core (1.8.4)
59
- activesupport (>= 4.0.2, < 6)
56
+ xcodeproj (>= 1.19.0, < 2.0)
57
+ cocoapods-core (1.10.0)
58
+ activesupport (> 5.0, < 6)
59
+ addressable (~> 2.6)
60
60
  algoliasearch (~> 1.0)
61
61
  concurrent-ruby (~> 1.1)
62
62
  fuzzy_match (~> 2.0.4)
63
63
  nap (~> 1.0)
64
+ netrc (~> 0.11)
65
+ public_suffix
66
+ typhoeus (~> 1.0)
64
67
  cocoapods-deintegrate (1.0.4)
65
- cocoapods-downloader (1.3.0)
68
+ cocoapods-downloader (1.4.0)
66
69
  cocoapods-plugins (1.0.0)
67
70
  nap
68
71
  cocoapods-search (1.0.0)
69
- cocoapods-stats (1.1.0)
70
- cocoapods-trunk (1.4.1)
72
+ cocoapods-trunk (1.5.0)
71
73
  nap (>= 0.8, < 2.0)
72
74
  netrc (~> 0.11)
73
- cocoapods-try (1.1.0)
75
+ cocoapods-try (1.2.0)
74
76
  colored (1.2)
75
77
  colored2 (3.1.2)
76
- concurrent-ruby (1.1.5)
78
+ concurrent-ruby (1.1.7)
77
79
  cork (0.3.0)
78
80
  colored2 (~> 3.1)
79
- crack (0.4.3)
80
- safe_yaml (~> 1.0.0)
81
- danger (6.1.0)
81
+ crack (0.4.4)
82
+ danger (8.2.0)
82
83
  claide (~> 1.0)
83
84
  claide-plugins (>= 0.9.2)
84
85
  colored2 (~> 3.1)
85
86
  cork (~> 0.1)
86
- faraday (~> 0.9)
87
+ faraday (>= 0.9.0, < 2.0)
87
88
  faraday-http-cache (~> 2.0)
88
- git (~> 1.5)
89
- kramdown (~> 2.0)
89
+ git (~> 1.7)
90
+ kramdown (~> 2.3)
90
91
  kramdown-parser-gfm (~> 1.0)
91
92
  no_proxy_fix
92
93
  octokit (~> 4.7)
93
94
  terminal-table (~> 1)
94
- diffy (3.3.0)
95
+ diffy (3.4.0)
95
96
  escape (0.0.4)
96
- faraday (0.17.3)
97
+ ethon (0.12.0)
98
+ ffi (>= 1.3.0)
99
+ faraday (1.1.0)
97
100
  multipart-post (>= 1.2, < 3)
98
- faraday-http-cache (2.0.0)
99
- faraday (~> 0.8)
100
- ffi (1.11.3)
101
+ ruby2_keywords
102
+ faraday-http-cache (2.2.0)
103
+ faraday (>= 0.8)
104
+ ffi (1.13.1)
101
105
  fourflusher (2.3.1)
102
106
  fuzzy_match (2.0.4)
103
107
  gh_inspector (1.1.3)
104
- git (1.5.0)
105
- hashdiff (1.0.0)
108
+ git (1.7.0)
109
+ rchardet (~> 1.8)
110
+ hashdiff (1.0.1)
106
111
  httpclient (2.8.3)
107
- i18n (0.9.5)
112
+ i18n (1.8.5)
108
113
  concurrent-ruby (~> 1.0)
109
- json (2.3.0)
110
- kramdown (2.1.0)
114
+ json (2.3.1)
115
+ kramdown (2.3.0)
116
+ rexml
111
117
  kramdown-parser-gfm (1.1.0)
112
118
  kramdown (~> 2.0)
113
119
  liferaft (0.0.6)
114
- minitest (5.13.0)
120
+ minitest (5.14.2)
115
121
  mocha (1.11.2)
116
122
  mocha-on-bacon (0.2.3)
117
123
  mocha (>= 0.13.0)
118
124
  molinillo (0.6.6)
119
125
  multipart-post (2.1.1)
120
126
  mustache (1.1.1)
121
- nanaimo (0.2.6)
127
+ nanaimo (0.3.0)
122
128
  nap (1.1.0)
123
129
  netrc (0.11.0)
124
130
  no_proxy_fix (0.1.2)
125
- octokit (4.15.0)
131
+ octokit (4.19.0)
126
132
  faraday (>= 0.9)
127
133
  sawyer (~> 0.8.0, >= 0.5.3)
128
134
  open4 (1.3.4)
129
- parallel (1.19.1)
130
- parser (2.7.0.1)
131
- ast (~> 2.4.0)
135
+ parallel (1.20.0)
136
+ parser (2.7.2.0)
137
+ ast (~> 2.4.1)
132
138
  powerpack (0.1.2)
133
139
  prettybacon (0.0.2)
134
140
  bacon (~> 1.2)
135
- public_suffix (4.0.3)
141
+ public_suffix (4.0.6)
136
142
  rainbow (2.2.2)
137
143
  rake
138
- rake (10.5.0)
144
+ rake (13.0.1)
145
+ rchardet (1.8.0)
139
146
  redcarpet (3.5.0)
140
- rouge (3.14.0)
147
+ rexml (3.2.4)
148
+ rouge (3.24.0)
141
149
  rubocop (0.49.0)
142
150
  parallel (~> 1.10)
143
151
  parser (>= 2.3.3.1, < 3.0)
@@ -147,8 +155,8 @@ GEM
147
155
  unicode-display_width (~> 1.0, >= 1.0.1)
148
156
  ruby-macho (1.4.0)
149
157
  ruby-progressbar (1.10.1)
150
- safe_yaml (1.0.5)
151
- sassc (2.2.1)
158
+ ruby2_keywords (0.0.2)
159
+ sassc (2.4.0)
152
160
  ffi (~> 1.9)
153
161
  sawyer (0.8.2)
154
162
  addressable (>= 2.3.5)
@@ -157,21 +165,23 @@ GEM
157
165
  terminal-table (1.8.0)
158
166
  unicode-display_width (~> 1.1, >= 1.1.1)
159
167
  thread_safe (0.3.6)
160
- tzinfo (1.2.6)
168
+ typhoeus (1.4.0)
169
+ ethon (>= 0.9.0)
170
+ tzinfo (1.2.8)
161
171
  thread_safe (~> 0.1)
162
- unicode-display_width (1.6.0)
163
- webmock (3.7.6)
172
+ unicode-display_width (1.7.0)
173
+ webmock (3.9.4)
164
174
  addressable (>= 2.3.6)
165
175
  crack (>= 0.3.2)
166
176
  hashdiff (>= 0.4.0, < 2.0.0)
167
177
  xcinvoke (0.3.0)
168
178
  liferaft (~> 0.0.6)
169
- xcodeproj (1.14.0)
179
+ xcodeproj (1.19.0)
170
180
  CFPropertyList (>= 2.3.3, < 4.0)
171
181
  atomos (~> 0.1.3)
172
182
  claide (>= 1.0.2, < 2.0)
173
183
  colored2 (~> 3.1)
174
- nanaimo (~> 0.2.6)
184
+ nanaimo (~> 0.3.0)
175
185
 
176
186
  PLATFORMS
177
187
  ruby
@@ -186,7 +196,7 @@ DEPENDENCIES
186
196
  mocha
187
197
  mocha-on-bacon
188
198
  prettybacon
189
- rake (~> 10.3)
199
+ rake (~> 13.0)
190
200
  rubocop (= 0.49.0)
191
201
  webmock
192
202
 
data/README.md CHANGED
@@ -8,13 +8,14 @@
8
8
 
9
9
  Both Swift and Objective-C projects are supported.
10
10
 
11
- *SwiftPM support was recently added, so please report any issues you find.*
12
-
13
11
  Instead of parsing your source files, `jazzy` hooks into [Clang][clang] and
14
12
  [SourceKit][sourcekit] to use the [AST][ast] representation of your code and
15
13
  its comments for more accurate results. The output matches the look and feel
16
14
  of Apple’s official reference documentation, post WWDC 2014.
17
15
 
16
+ Jazzy can also generate documentation from compiled swift modules [using their
17
+ symbol graph](#docs-from-swiftmodules-or-frameworks) instead of source code.
18
+
18
19
  ![Screenshot](images/screenshot.jpg)
19
20
 
20
21
  This project adheres to the [Contributor Covenant Code of Conduct](https://realm.io/conduct).
@@ -47,11 +48,16 @@ If your Swift module is the first thing to build, and it builds fine when runnin
47
48
  just running `jazzy` (without any arguments) from the root of your project should
48
49
  succeed too!
49
50
 
51
+ If Jazzy generates docs for the wrong module then use `--module` to tell it which
52
+ one you'd prefer. If this doesn't help, and you're using Xcode, then try passing
53
+ extra arguments to `xcodebuild`, for example
54
+ `jazzy --build-tool-arguments -scheme,MyScheme,-target,MyTarget`.
55
+
50
56
  You can set options for your project’s documentation in a configuration file,
51
57
  `.jazzy.yaml` by default. For a detailed explanation and an exhaustive list of
52
58
  all available options, run `jazzy --help config`.
53
59
 
54
- ### Supported keywords
60
+ ### Supported documentation keywords
55
61
 
56
62
  Swift documentation is written in markdown and supports a number of special keywords.
57
63
  For a complete list and examples, see Erica Sadun's post on [*Swift header documentation in Xcode 7*](https://ericasadun.com/2015/06/14/swift-header-documentation-in-xcode-7/),
@@ -70,6 +76,25 @@ backticks generates a link, for example:
70
76
  * \`[MyClass method1]\` - a link to an Objective-C method.
71
77
  * \`-[MyClass method2:param1]\` - a link to another Objective-C method.
72
78
 
79
+ ### Math
80
+
81
+ Jazzy can render math equations written in LaTeX embedded in your markdown:
82
+ * `` `$equation$` `` renders the equation in an inline style.
83
+ * `` `$$equation$$` `` renders the equation in a display style, centered on a
84
+ line of its own.
85
+
86
+ For example, the markdown:
87
+ ```markdown
88
+ Inline: `$ax^2+bx+c=0$`
89
+
90
+ Block: `$$x={\frac {-b\pm {\sqrt {b^{2}-4ac}}}{2a}}$$`
91
+ ```
92
+ ..renders as:
93
+
94
+ ![math](images/math.png)
95
+
96
+ Math support is provided by [KaTeX](https://katex.org).
97
+
73
98
  ### Swift
74
99
 
75
100
  Swift documentation is generated by default.
@@ -177,6 +202,57 @@ sourcekitten doc --objc $(pwd)/MyProject/MyProject.h \
177
202
  jazzy --sourcekitten-sourcefile swiftDoc.json,objcDoc.json
178
203
  ```
179
204
 
205
+ ### Docs from `.swiftmodule`s or frameworks
206
+
207
+ *This feature is new and relies on a new Swift feature: there may be crashes
208
+ and mistakes: reports welcome.*
209
+
210
+ Swift 5.3 adds support for symbol graph generation from `.swiftmodule` files.
211
+ This looks to be part of Apple's toolchain for generating their online docs.
212
+
213
+ Jazzy can use this to generate API documentation. This is faster than using
214
+ the source code directly but does have limitations: for example documentation
215
+ comments are available only for `public` declarations, and the presentation of
216
+ Swift extensions may not match the way they are written in code.
217
+
218
+ Some examples:
219
+
220
+ 1. Generate docs for the Apple Combine framework for macOS:
221
+ ```shell
222
+ jazzy --module Combine --swift-build-tool symbolgraph
223
+ ```
224
+ The SDK's library directories are included in the search path by
225
+ default.
226
+ 2. Same but for iOS:
227
+ ```shell
228
+ jazzy --module Combine --swift-build-tool symbolgraph
229
+ --sdk iphoneos
230
+ --build-tool-arguments --target,arm64-apple-ios14.1
231
+ ```
232
+ The `target` is the LLVM target triple and needs to match the SDK. The
233
+ default here is the target of the host system that Jazzy is running on,
234
+ something like `x86_64-apple-darwin19.6.0`.
235
+ 3. Generate docs for a personal `.swiftmodule`:
236
+ ```shell
237
+ jazzy --module MyMod --swift-build-tool symbolgraph
238
+ --build-tool-arguments -I,/Build/Products
239
+ ```
240
+ This implies that `/Build/Products/MyMod.swiftmodule` exists. Jazzy's
241
+ `--source-directory` (default current directory) is searched by default,
242
+ so you only need the `-I` override if that's not enough.
243
+ 4. For a personal framework:
244
+ ```shell
245
+ jazzy --module MyMod --swift-build-tool symbolgraph
246
+ --build-tool-arguments -F,/Build/Products
247
+ ```
248
+ This implies that `/Build/Products/MyMod.framework` exists and contains
249
+ a `.swiftmodule`. Again the `--source-directory` is searched by default
250
+ if `-F` is not passed in.
251
+
252
+ See `swift symbolgraph-extract --help` for all the things you can pass via
253
+ `--build-tool-arguments`: if your module has dependencies then you may need
254
+ to add various search path options to let Swift load it.
255
+
180
256
  ### Themes
181
257
 
182
258
  Three themes are provided with jazzy: `apple` (default), `fullwidth` and `jony`.
@@ -258,6 +334,13 @@ Note that the `--include` option is applied before the `--exclude` option. For e
258
334
  Declarations with a documentation comment containing `:nodoc:` are excluded from the
259
335
  documentation.
260
336
 
337
+ ### Documentation structure
338
+
339
+ By default Jazzy does not create separate web pages for declarations that do
340
+ not have any members: instead they are nested into some parent page. Use the
341
+ `--separate-global-declarations` flag to change this and always create pages
342
+ for declarations that can be directly accessed from client code.
343
+
261
344
  ### Choosing the Swift language version
262
345
 
263
346
  Jazzy normally uses the Swift compiler from the Xcode currently configured by