jazzy 0.9.5 → 0.11.2

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 (36) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +3 -3
  3. data/CHANGELOG.md +154 -0
  4. data/CONTRIBUTING.md +1 -1
  5. data/Gemfile.lock +64 -60
  6. data/README.md +49 -10
  7. data/Rakefile +7 -6
  8. data/bin/sourcekitten +0 -0
  9. data/jazzy.gemspec +5 -5
  10. data/lib/jazzy/config.rb +38 -5
  11. data/lib/jazzy/doc.rb +19 -2
  12. data/lib/jazzy/doc_builder.rb +10 -20
  13. data/lib/jazzy/docset_builder.rb +1 -1
  14. data/lib/jazzy/gem_version.rb +1 -1
  15. data/lib/jazzy/jazzy_markdown.rb +1 -1
  16. data/lib/jazzy/podspec_documenter.rb +21 -11
  17. data/lib/jazzy/source_declaration.rb +4 -0
  18. data/lib/jazzy/source_declaration/access_control_level.rb +10 -3
  19. data/lib/jazzy/source_document.rb +3 -2
  20. data/lib/jazzy/sourcekitten.rb +35 -22
  21. data/lib/jazzy/themes/apple/assets/css/jazzy.css.scss +4 -0
  22. data/lib/jazzy/themes/apple/assets/js/jazzy.js +33 -20
  23. data/lib/jazzy/themes/apple/assets/js/jquery.min.js +2 -4
  24. data/lib/jazzy/themes/apple/templates/header.mustache +1 -1
  25. data/lib/jazzy/themes/fullwidth/assets/js/jazzy.js +33 -17
  26. data/lib/jazzy/themes/fullwidth/assets/js/jazzy.search.js +17 -10
  27. data/lib/jazzy/themes/fullwidth/assets/js/jquery.min.js +2 -4
  28. data/lib/jazzy/themes/fullwidth/assets/js/lunr.min.js +1 -6
  29. data/lib/jazzy/themes/fullwidth/assets/js/typeahead.jquery.js +182 -46
  30. data/lib/jazzy/themes/fullwidth/templates/header.mustache +1 -1
  31. data/lib/jazzy/themes/jony/assets/css/jazzy.css.scss +4 -0
  32. data/lib/jazzy/themes/jony/assets/js/jazzy.js +33 -21
  33. data/lib/jazzy/themes/jony/assets/js/jquery.min.js +2 -4
  34. data/lib/jazzy/themes/jony/templates/header.mustache +1 -1
  35. data/spec/integration_spec.rb +7 -12
  36. metadata +14 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: f5a0f16d2a7503e43f28a7eff101228617d44ed4
4
- data.tar.gz: e423b906a68d413d3c8e63ce0c7961b5e88da272
2
+ SHA256:
3
+ metadata.gz: 18e3f122c25c627bb60df82d02b4d788fd1b6bcf0d071eb94c047124fd7a353c
4
+ data.tar.gz: 26add28c105c85d6ac3c139ac43b068e352cabfbb420c39efb142fbbcef0d662
5
5
  SHA512:
6
- metadata.gz: ceff92f660c07d63dfd1bf95c6b9928c7ab56fbe8ec8899d37d275248510d2a79c691fc8c83cdb5dfe5516926009ddd10162c48e74898a37613be2cbfd043299
7
- data.tar.gz: 21f47afdaadb40618d31c8b0597c698688adc7c2cd64a152d58d3feea0cf47e5607720ac743730bb5b9191cd970c8fdfb63c5270b8775fe6754e813e04a06985
6
+ metadata.gz: debb129e3cfd568a467c3de5ef98832af900ca3a6307374f25dc94ad3d2fa5243889889b948c4fdc58214e20c74f8223cc5bf922632b7b87a4f71f6dcc28424b
7
+ data.tar.gz: 5238864991bd821349a9ba76106004aed419675560d26628228a0b640810349a989176705ac1915fdd5d8be33f191b87ca98266fdb43cf7fbfe2be7ef1a7955f
data/.circleci/config.yml CHANGED
@@ -23,7 +23,7 @@ jobs:
23
23
 
24
24
  swift:
25
25
  macos:
26
- xcode: "10.0.0"
26
+ xcode: "10.2.0"
27
27
  environment: *bundler-environment
28
28
  # Used to invoke chruby
29
29
  shell: *shell
@@ -38,7 +38,7 @@ jobs:
38
38
 
39
39
  objc:
40
40
  macos:
41
- xcode: "10.0.0"
41
+ xcode: "10.2.0"
42
42
  environment: *bundler-environment
43
43
  # Used to invoke chruby
44
44
  shell: *shell
@@ -53,7 +53,7 @@ jobs:
53
53
 
54
54
  cocoapods:
55
55
  macos:
56
- xcode: "10.0.0"
56
+ xcode: "10.2.0"
57
57
  environment: *bundler-environment
58
58
  # Used to invoke chruby
59
59
  shell: *shell
data/CHANGELOG.md CHANGED
@@ -1,3 +1,157 @@
1
+ ## 0.11.2
2
+
3
+ ##### Breaking
4
+
5
+ * None.
6
+
7
+ ##### Enhancements
8
+
9
+ * None.
10
+
11
+ ##### Bug Fixes
12
+
13
+ * Generate Swift docs with Xcode 11 and paths with spaces.
14
+ [John Fairhurst](https://github.com/johnfairh)
15
+ [#1108](https://github.com/realm/jazzy/issues/1108)
16
+
17
+ * Reinstate guessing of module name from podspec, broken in 0.11.0.
18
+ [John Fairhurst](https://github.com/johnfairh)
19
+ [#1109](https://github.com/realm/jazzy/issues/1109)
20
+
21
+ ## 0.11.1
22
+
23
+ ##### Breaking
24
+
25
+ * None.
26
+
27
+ ##### Enhancements
28
+
29
+ * None.
30
+
31
+ ##### Bug Fixes
32
+
33
+ * Don't use SwiftPM if there is an Xcode workspace or project in a non-root
34
+ directory.
35
+ [John Fairhurst](https://github.com/johnfairh)
36
+ [#1103](https://github.com/realm/jazzy/issues/1103)
37
+
38
+ ## 0.11.0
39
+
40
+ ##### Breaking
41
+
42
+ * None.
43
+
44
+ ##### Enhancements
45
+
46
+ * Sass support now provided by `libsass` via `sassc` instead of the
47
+ deprecated Ruby Sass gem.
48
+ [John Fairhurst](https://github.com/johnfairh)
49
+
50
+ * Update bundled jQuery to 3.4.1 (all themes).
51
+ [Paul Idstein](https://github.com/idstein)
52
+
53
+ * Support Xcode 11 Swift projects that pass a response file to the Swift
54
+ compiler.
55
+ [John Fairhurst](https://github.com/johnfairh)
56
+ [#1087](https://github.com/realm/jazzy/issues/1087)
57
+
58
+ * Generate Swift docs from a Swift Package Manager package without
59
+ requiring an Xcode project file. Add `--swift-build-tool` to choose
60
+ the build method if both `.xcodeproj` and `Package.swift` files are
61
+ present. Add `--build-tool-flags` as a preferred alias for
62
+ `--xcodebuild-flags`.
63
+ [John Fairhurst](https://github.com/johnfairh)
64
+ [#487](https://github.com/realm/jazzy/issues/487)
65
+
66
+ ##### Bug Fixes
67
+
68
+ * Preserve non-latin characters in guide filenames and heading IDs.
69
+ [John Fairhurst](https://github.com/johnfairh)
70
+ [#1091](https://github.com/realm/jazzy/issues/1091)
71
+
72
+ * Generate correct html for custom categories containing special
73
+ characters.
74
+ [John Fairhurst](https://github.com/johnfairh)
75
+ [#945](https://github.com/realm/jazzy/issues/945)
76
+
77
+ * Fix crash on files with misplaced documentation comments.
78
+ [John Fairhurst](https://github.com/johnfairh)
79
+ [#1083](https://github.com/realm/jazzy/issues/1083)
80
+
81
+ ## 0.10.0
82
+
83
+ ##### Breaking
84
+
85
+ * The included `sourcekitten` binary is built with Xcode 10.2. This means
86
+ it does not run on macOS earlier than 10.14.4 without the *Swift 5 Runtime
87
+ Support for Command Line Tools* being installed.
88
+ [John Fairhurst](https://github.com/johnfairh)
89
+
90
+ ##### Enhancements
91
+
92
+ * Support CocoaPods 1.6+. Use the `swift_version[s]` dsl in `--podspec` mode
93
+ to set the Swift language version.
94
+ [John Fairhurst](https://github.com/johnfairh)
95
+
96
+ * Show the extension declaration when documenting Swift extensions.
97
+ [John Fairhurst](https://github.com/johnfairh)
98
+
99
+ * Allow docs title customization. Include `--module-version` when it is set
100
+ and support `--title` to fully customize the title. Pass `{{module_version}}`
101
+ and `{{docs_title}}` to templates.
102
+ [Maximilian Alexander](https://github.com/mbalex99)
103
+ [John Fairhurst](https://github.com/johnfairh)
104
+ [#666](https://github.com/realm/jazzy/issues/666)
105
+ [#411](https://github.com/realm/jazzy/issues/411)
106
+
107
+ ##### Bug Fixes
108
+
109
+ * Unfold member documentation when linked to from current web page.
110
+ [John Fairhurst](https://github.com/johnfairh)
111
+ [#788](https://github.com/realm/jazzy/issues/788)
112
+
113
+ * Generate docs when there are unusual characters in source pathnames.
114
+ [John Fairhurst](https://github.com/johnfairh)
115
+ [#1049](https://github.com/realm/jazzy/issues/1049)
116
+
117
+ * Generate docs for signed modules with Xcode 10.2.
118
+ [John Fairhurst](https://github.com/johnfairh)
119
+ [#1057](https://github.com/realm/jazzy/issues/1057)
120
+
121
+ * Use correct module name when only target name is supplied.
122
+ [Chris Zielinski](https://github.com/chriszielinski)
123
+ [#422](https://github.com/realm/jazzy/issues/422)
124
+
125
+ ## 0.9.6
126
+
127
+ This is (probably) the last release to support Ruby earlier than 2.3.
128
+ This is due to a change in a dependency.
129
+
130
+ This is (probably) the last release to support macOS earlier than 10.14.4
131
+ without the *Swift 5 Runtime Support for Command Line Tools* package installed.
132
+ This is a consequence of Swift 5 ABI stability.
133
+
134
+ ##### Breaking
135
+
136
+ * None.
137
+
138
+ ##### Enhancements
139
+
140
+ * Swift 5 support: suppress unwanted newlines and `deinit` declarations.
141
+ [John Fairhurst](https://github.com/johnfairh)
142
+
143
+ * Update JavaScript libraries: jQuery 3.3.1 (all themes), Lunr 2.3.5,
144
+ typeahead.js 1.2.1 (`fullwidth` theme only).
145
+ [John Fairhurst](https://github.com/johnfairh)
146
+ [#901](https://github.com/realm/jazzy/issues/901)
147
+
148
+ * Avoid `clean build` when using the new Xcode build system.
149
+ [Norio Nomura](https://github.com/norio-nomura)
150
+
151
+ ##### Bug Fixes
152
+
153
+ * None.
154
+
1
155
  ## 0.9.5
2
156
 
3
157
  ##### Breaking
data/CONTRIBUTING.md CHANGED
@@ -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 10.0 installed to build the integration specs.
52
+ You must have Xcode 10.2 installed to build the integration specs.
53
53
 
54
54
  ## Making changes to SourceKitten
55
55
 
data/Gemfile.lock CHANGED
@@ -1,31 +1,34 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jazzy (0.9.5)
5
- cocoapods (~> 1.5.3)
6
- mustache (~> 1.1.0)
4
+ jazzy (0.11.2)
5
+ cocoapods (~> 1.5)
6
+ mustache (~> 1.1)
7
7
  open4
8
- redcarpet (~> 3.4.0)
8
+ redcarpet (~> 3.4)
9
9
  rouge (>= 2.0.6, < 4.0)
10
- sass (~> 3.6.0)
11
- sqlite3 (~> 1.3.13)
10
+ sassc (~> 2.1)
11
+ sqlite3 (~> 1.3)
12
12
  xcinvoke (~> 0.3.0)
13
13
 
14
14
  GEM
15
15
  remote: https://rubygems.org/
16
16
  specs:
17
- CFPropertyList (3.0.0)
18
- activesupport (4.2.11)
17
+ CFPropertyList (3.0.1)
18
+ activesupport (4.2.11.1)
19
19
  i18n (~> 0.7)
20
20
  minitest (~> 5.1)
21
21
  thread_safe (~> 0.3, >= 0.3.4)
22
22
  tzinfo (~> 1.1)
23
- addressable (2.5.2)
24
- public_suffix (>= 2.0.2, < 4.0)
23
+ addressable (2.7.0)
24
+ public_suffix (>= 2.0.2, < 5.0)
25
+ algoliasearch (1.27.0)
26
+ httpclient (~> 2.8, >= 2.8.3)
27
+ json (>= 1.5.1)
25
28
  ast (2.4.0)
26
29
  atomos (0.1.3)
27
30
  bacon (1.2.0)
28
- claide (1.0.2)
31
+ claide (1.0.3)
29
32
  claide-plugins (0.9.2)
30
33
  cork
31
34
  nap
@@ -33,55 +36,58 @@ GEM
33
36
  clintegracon (0.7.0)
34
37
  colored (~> 1.2)
35
38
  diffy
36
- cocoapods (1.5.3)
39
+ cocoapods (1.8.0)
37
40
  activesupport (>= 4.0.2, < 5)
38
41
  claide (>= 1.0.2, < 2.0)
39
- cocoapods-core (= 1.5.3)
40
- cocoapods-deintegrate (>= 1.0.2, < 2.0)
41
- cocoapods-downloader (>= 1.2.0, < 2.0)
42
+ cocoapods-core (= 1.8.0)
43
+ cocoapods-deintegrate (>= 1.0.3, < 2.0)
44
+ cocoapods-downloader (>= 1.2.2, < 2.0)
42
45
  cocoapods-plugins (>= 1.0.0, < 2.0)
43
46
  cocoapods-search (>= 1.0.0, < 2.0)
44
47
  cocoapods-stats (>= 1.0.0, < 2.0)
45
- cocoapods-trunk (>= 1.3.0, < 2.0)
48
+ cocoapods-trunk (>= 1.4.0, < 2.0)
46
49
  cocoapods-try (>= 1.1.0, < 2.0)
47
50
  colored2 (~> 3.1)
48
51
  escape (~> 0.0.4)
49
- fourflusher (~> 2.0.1)
52
+ fourflusher (>= 2.3.0, < 3.0)
50
53
  gh_inspector (~> 1.0)
51
- molinillo (~> 0.6.5)
54
+ molinillo (~> 0.6.6)
52
55
  nap (~> 1.0)
53
- ruby-macho (~> 1.1)
54
- xcodeproj (>= 1.5.7, < 2.0)
55
- cocoapods-core (1.5.3)
56
+ ruby-macho (~> 1.4)
57
+ xcodeproj (>= 1.11.1, < 2.0)
58
+ cocoapods-core (1.8.0)
56
59
  activesupport (>= 4.0.2, < 6)
60
+ algoliasearch (~> 1.0)
61
+ concurrent-ruby (~> 1.0)
57
62
  fuzzy_match (~> 2.0.4)
58
63
  nap (~> 1.0)
59
- cocoapods-deintegrate (1.0.2)
64
+ cocoapods-deintegrate (1.0.4)
60
65
  cocoapods-downloader (1.2.2)
61
66
  cocoapods-plugins (1.0.0)
62
67
  nap
63
68
  cocoapods-search (1.0.0)
64
69
  cocoapods-stats (1.1.0)
65
- cocoapods-trunk (1.3.1)
70
+ cocoapods-trunk (1.4.0)
66
71
  nap (>= 0.8, < 2.0)
67
72
  netrc (~> 0.11)
68
73
  cocoapods-try (1.1.0)
69
74
  colored (1.2)
70
75
  colored2 (3.1.2)
71
- concurrent-ruby (1.1.4)
76
+ concurrent-ruby (1.1.5)
72
77
  cork (0.3.0)
73
78
  colored2 (~> 3.1)
74
79
  crack (0.4.3)
75
80
  safe_yaml (~> 1.0.0)
76
- danger (5.11.1)
81
+ danger (6.0.9)
77
82
  claide (~> 1.0)
78
83
  claide-plugins (>= 0.9.2)
79
84
  colored2 (~> 3.1)
80
85
  cork (~> 0.1)
81
86
  faraday (~> 0.9)
82
- faraday-http-cache (~> 1.0)
87
+ faraday-http-cache (~> 2.0)
83
88
  git (~> 1.5)
84
- kramdown (~> 1.5)
89
+ kramdown (~> 2.0)
90
+ kramdown-parser-gfm (~> 1.0)
85
91
  no_proxy_fix
86
92
  octokit (~> 4.7)
87
93
  terminal-table (~> 1)
@@ -89,49 +95,50 @@ GEM
89
95
  escape (0.0.4)
90
96
  faraday (0.15.4)
91
97
  multipart-post (>= 1.2, < 3)
92
- faraday-http-cache (1.3.1)
98
+ faraday-http-cache (2.0.0)
93
99
  faraday (~> 0.8)
94
- ffi (1.10.0)
95
- fourflusher (2.0.1)
100
+ ffi (1.11.1)
101
+ fourflusher (2.3.1)
96
102
  fuzzy_match (2.0.4)
97
103
  gh_inspector (1.1.3)
98
104
  git (1.5.0)
99
- hashdiff (0.3.8)
105
+ hashdiff (1.0.0)
106
+ httpclient (2.8.3)
100
107
  i18n (0.9.5)
101
108
  concurrent-ruby (~> 1.0)
102
- kramdown (1.17.0)
109
+ json (2.2.0)
110
+ kramdown (2.1.0)
111
+ kramdown-parser-gfm (1.1.0)
112
+ kramdown (~> 2.0)
103
113
  liferaft (0.0.6)
104
114
  metaclass (0.0.4)
105
- minitest (5.11.3)
106
- mocha (1.8.0)
115
+ minitest (5.12.0)
116
+ mocha (1.9.0)
107
117
  metaclass (~> 0.0.1)
108
118
  mocha-on-bacon (0.2.3)
109
119
  mocha (>= 0.13.0)
110
120
  molinillo (0.6.6)
111
- multipart-post (2.0.0)
121
+ multipart-post (2.1.1)
112
122
  mustache (1.1.0)
113
123
  nanaimo (0.2.6)
114
124
  nap (1.1.0)
115
125
  netrc (0.11.0)
116
126
  no_proxy_fix (0.1.2)
117
- octokit (4.13.0)
127
+ octokit (4.14.0)
118
128
  sawyer (~> 0.8.0, >= 0.5.3)
119
129
  open4 (1.3.4)
120
- parallel (1.13.0)
121
- parser (2.6.0.0)
130
+ parallel (1.17.0)
131
+ parser (2.6.4.1)
122
132
  ast (~> 2.4.0)
123
133
  powerpack (0.1.2)
124
134
  prettybacon (0.0.2)
125
135
  bacon (~> 1.2)
126
- public_suffix (3.0.3)
136
+ public_suffix (4.0.1)
127
137
  rainbow (2.2.2)
128
138
  rake
129
139
  rake (10.5.0)
130
- rb-fsevent (0.10.3)
131
- rb-inotify (0.10.0)
132
- ffi (~> 1.0)
133
- redcarpet (3.4.0)
134
- rouge (3.3.0)
140
+ redcarpet (3.5.0)
141
+ rouge (3.11.0)
135
142
  rubocop (0.49.0)
136
143
  parallel (~> 1.10)
137
144
  parser (>= 2.3.3.1, < 3.0)
@@ -139,31 +146,28 @@ GEM
139
146
  rainbow (>= 1.99.1, < 3.0)
140
147
  ruby-progressbar (~> 1.7)
141
148
  unicode-display_width (~> 1.0, >= 1.0.1)
142
- ruby-macho (1.3.1)
143
- ruby-progressbar (1.10.0)
144
- safe_yaml (1.0.4)
145
- sass (3.6.0)
146
- sass-listen (~> 4.0.0)
147
- sass-listen (4.0.0)
148
- rb-fsevent (~> 0.9, >= 0.9.4)
149
- rb-inotify (~> 0.9, >= 0.9.7)
150
- sawyer (0.8.1)
151
- addressable (>= 2.3.5, < 2.6)
152
- faraday (~> 0.8, < 1.0)
153
- sqlite3 (1.3.13)
149
+ ruby-macho (1.4.0)
150
+ ruby-progressbar (1.10.1)
151
+ safe_yaml (1.0.5)
152
+ sassc (2.2.1)
153
+ ffi (~> 1.9)
154
+ sawyer (0.8.2)
155
+ addressable (>= 2.3.5)
156
+ faraday (> 0.8, < 2.0)
157
+ sqlite3 (1.4.1)
154
158
  terminal-table (1.8.0)
155
159
  unicode-display_width (~> 1.1, >= 1.1.1)
156
160
  thread_safe (0.3.6)
157
161
  tzinfo (1.2.5)
158
162
  thread_safe (~> 0.1)
159
- unicode-display_width (1.4.1)
160
- webmock (3.5.1)
163
+ unicode-display_width (1.6.0)
164
+ webmock (3.7.5)
161
165
  addressable (>= 2.3.6)
162
166
  crack (>= 0.3.2)
163
- hashdiff
167
+ hashdiff (>= 0.4.0, < 2.0.0)
164
168
  xcinvoke (0.3.0)
165
169
  liferaft (~> 0.0.6)
166
- xcodeproj (1.7.0)
170
+ xcodeproj (1.12.0)
167
171
  CFPropertyList (>= 2.3.3, < 4.0)
168
172
  atomos (~> 0.1.3)
169
173
  claide (>= 1.0.2, < 2.0)
data/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  Both Swift and Objective-C projects are supported.
10
10
 
11
- *Objective-C support was recently added, so please report any issues you find.*
11
+ *SwiftPM support was recently added, so please report any issues you find.*
12
12
 
13
13
  Instead of parsing your source files, `jazzy` hooks into [Clang][clang] and
14
14
  [SourceKit][sourcekit] to use the [AST][ast] representation of your code and
@@ -23,9 +23,11 @@ unacceptable behavior to [info@realm.io](mailto:info@realm.io).
23
23
 
24
24
  ## Requirements
25
25
 
26
- * A version of [Xcode][xcode] capable of building the project you wish to
27
- document. It must be installed in a location indexed by Spotlight for the
28
- `--swift-version` configuration option to succeed.
26
+ You need development tools to build the project you wish to document. Jazzy supports
27
+ both [Xcode][xcode] and [Swift Package Manager][spm] projects.
28
+
29
+ Jazzy expects to be running on __macOS__. See [below](#linux) for tips to run Jazzy
30
+ on Linux.
29
31
 
30
32
  ## Installation
31
33
 
@@ -41,8 +43,9 @@ common problems.
41
43
  Run `jazzy` from your command line. Run `jazzy -h` for a list of additional options.
42
44
 
43
45
  If your Swift module is the first thing to build, and it builds fine when running
44
- `xcodebuild` without any arguments from the root of your project, then just running
45
- `jazzy` (without any arguments) from the root of your project should succeed too!
46
+ `xcodebuild` or `swift build` without any arguments from the root of your project, then
47
+ just running `jazzy` (without any arguments) from the root of your project should
48
+ succeed too!
46
49
 
47
50
  You can set options for your project’s documentation in a configuration file,
48
51
  `.jazzy.yaml` by default. For a detailed explanation and an exhaustive list of
@@ -83,13 +86,22 @@ jazzy \
83
86
  --github_url https://github.com/realm/realm-cocoa \
84
87
  --github-file-prefix https://github.com/realm/realm-cocoa/tree/v0.96.2 \
85
88
  --module-version 0.96.2 \
86
- --xcodebuild-arguments -scheme,RealmSwift \
89
+ --build-tool-arguments -scheme,RealmSwift \
87
90
  --module RealmSwift \
88
91
  --root-url https://realm.io/docs/swift/0.96.2/api/ \
89
92
  --output docs/swift_output \
90
93
  --theme docs/themes
91
94
  ```
92
95
 
96
+ This is how docs are generated for a project that uses the Swift Package Manager:
97
+
98
+ ```shell
99
+ jazzy \
100
+ --module DeckOfPlayingCards \
101
+ --swift-build-tool spm \
102
+ --build-tool-arguments -Xswiftc,-swift-version,-Xswiftc,5
103
+ ```
104
+
93
105
  ### Objective-C
94
106
 
95
107
  To generate documentation for Objective-C headers, you must pass the following
@@ -116,7 +128,7 @@ jazzy \
116
128
  --github_url https://github.com/realm/realm-cocoa \
117
129
  --github-file-prefix https://github.com/realm/realm-cocoa/tree/v2.2.0 \
118
130
  --module-version 2.2.0 \
119
- --xcodebuild-arguments --objc,Realm/Realm.h,--,-x,objective-c,-isysroot,$(xcrun --show-sdk-path),-I,$(pwd) \
131
+ --build-tool-arguments --objc,Realm/Realm.h,--,-x,objective-c,-isysroot,$(xcrun --show-sdk-path),-I,$(pwd) \
120
132
  --module Realm \
121
133
  --root-url https://realm.io/docs/objc/2.2.0/api/ \
122
134
  --output docs/objc_output \
@@ -233,9 +245,27 @@ For example to use Xcode 9.4:
233
245
  jazzy --swift-version 4.1.2
234
246
  ```
235
247
 
248
+ ## Linux
249
+
250
+ Jazzy uses [SourceKitten][sourcekitten] to communicate with the Swift build
251
+ environment and compiler. The `sourcekitten` binary included in the Jazzy gem
252
+ is built for macOS and so does not run on other operating systems.
253
+
254
+ To use Jazzy on Linux you first need to install and build `sourcekitten`
255
+ following instructions from [SourceKitten's GitHub repository][sourcekitten].
256
+
257
+ Then to generate documentation for a SwiftPM project, instead of running just
258
+ `jazzy` do:
259
+ ```shell
260
+ sourcekitten doc --spm > doc.json
261
+ jazzy --sourcekitten-sourcefile doc.json
262
+ ```
263
+
264
+ We hope to improve this process in the future.
265
+
236
266
  ## Troubleshooting
237
267
 
238
- #### Swift
268
+ ### Swift
239
269
 
240
270
  **Only extensions are listed in the documentation?**
241
271
 
@@ -253,7 +283,7 @@ Check the `--min-acl` setting -- see [above](#controlling-what-is-documented).
253
283
  environment variable to point to the Xcode you want before running Jazzy
254
284
  without the `--swift-version` flag.
255
285
 
256
- #### Installation Problems
286
+ ### Installation Problems
257
287
 
258
288
  **Can't find header files / clang**
259
289
 
@@ -268,6 +298,14 @@ The path of your active Xcode installation must not contain spaces. So
268
298
  but `/Applications/Xcode 10.2.app/` is not. This restriction applies only
269
299
  when *installing* Jazzy, not running it.
270
300
 
301
+ ### MacOS Before 10.14.4
302
+
303
+ Starting with Jazzy 0.10.0, if you see an error similar to `dyld: Symbol not found: _$s11SubSequenceSlTl` then you need to install the [Swift 5 Runtime Support for Command Line Tools](https://support.apple.com/kb/DL1998).
304
+
305
+ Alternatively, you can:
306
+ * Update to macOS 10.14.4 or later; or
307
+ * Install Xcode 10.2 or later at `/Applications/Xcode.app`.
308
+
271
309
  ## Development
272
310
 
273
311
  Please review jazzy's [contributing guidelines](https://github.com/realm/jazzy/blob/master/CONTRIBUTING.md) when submitting pull requests.
@@ -318,3 +356,4 @@ read [our blog](https://realm.io/news) or say hi on twitter
318
356
  [SourceKitten]: https://github.com/jpsim/SourceKitten "SourceKitten"
319
357
  [bundler]: https://rubygems.org/gems/bundler
320
358
  [mustache]: https://mustache.github.io "Mustache"
359
+ [spm]: https://swift.org/package-manager/ "Swift Package Manager"