jazzy 0.11.0 → 0.13.1

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: 6439cb8dc035d69bb0243f06e3b7140b079dd6892840b49e015be636efa7ff64
4
- data.tar.gz: fc97247251923d0f385637721405435e2a3211110c14369876767e2572a25175
3
+ metadata.gz: a9f442a5c42736d08f2dcde8ca4b20745529e9c5327a47ab7ae18d49310dc115
4
+ data.tar.gz: 663672fbbca84610d3164ca0d9ecd69bade0f500df05b1c11f8d38366cea04ad
5
5
  SHA512:
6
- metadata.gz: 4049263b20f10ed92f23f23971df8d2fd57a58d95f0312fd34c5c36f1be170b6889ea82a31f3a972505025d69e4ce3f0b55343b17794ccff06bde3a46d87db3c
7
- data.tar.gz: 10ac755d262c1a19c451b8dce5969924bd95f1f5601ae5f76c2fb748ac6f74d92b3bc6240334a185da3a6a8987a29ea3cc27c138b666d6e95ed0ed9ea930d833
6
+ metadata.gz: efdb407e43e83ccfdf1efbb75193101307bcc92cbf1180bd69ad849b80d14d18392e223b56691a29c11217066fb8487f1503e80b18d10458c81ce0cfca2f677c
7
+ data.tar.gz: 62117927494054f86f4bb3c81d3840c2fc6609095dffdc8e673dbea44a4e0c4fd7ade038e3572335e96bafdb7055061b1492509dcf3a709596ef00129c94afe7
data/.circleci/config.yml CHANGED
@@ -12,25 +12,16 @@ aliases:
12
12
  BUNDLE_RETRY: 3
13
13
  BUNDLE_PATH: vendor/bundle
14
14
 
15
- - &shell
16
- /bin/bash --login -eo pipefail
17
-
18
- - &set-ruby-version
19
- echo "ruby-2.4" > ~/.ruby-version
20
-
21
15
  version: 2
22
16
  jobs:
23
17
 
24
18
  swift:
25
19
  macos:
26
- xcode: "10.2.0"
20
+ xcode: "11.2.0"
27
21
  environment: *bundler-environment
28
- # Used to invoke chruby
29
- shell: *shell
30
22
  steps:
31
23
  - checkout
32
24
  - restore_cache: *restore-mac-bundler-cache
33
- - run: *set-ruby-version
34
25
  - run: bundle install
35
26
  - run: git submodule update --init --recursive
36
27
  - run: bundle exec rake swift_spec
@@ -38,14 +29,11 @@ jobs:
38
29
 
39
30
  objc:
40
31
  macos:
41
- xcode: "10.2.0"
32
+ xcode: "11.2.0"
42
33
  environment: *bundler-environment
43
- # Used to invoke chruby
44
- shell: *shell
45
34
  steps:
46
35
  - checkout
47
36
  - restore_cache: *restore-mac-bundler-cache
48
- - run: *set-ruby-version
49
37
  - run: bundle install
50
38
  - run: git submodule update --init --recursive
51
39
  - run: bundle exec rake objc_spec
@@ -53,16 +41,13 @@ jobs:
53
41
 
54
42
  cocoapods:
55
43
  macos:
56
- xcode: "10.2.0"
44
+ xcode: "11.2.0"
57
45
  environment: *bundler-environment
58
- # Used to invoke chruby
59
- shell: *shell
60
46
  steps:
61
47
  - checkout
62
48
  - restore_cache:
63
49
  key: cocoapods
64
50
  - restore_cache: *restore-mac-bundler-cache
65
- - run: *set-ruby-version
66
51
  - run: bundle install
67
52
  - run: git submodule update --init --recursive
68
53
  - run: bundle exec rake cocoapods_spec
@@ -76,8 +61,6 @@ jobs:
76
61
  docker:
77
62
  - image: circleci/ruby:2.4-node
78
63
  environment: *bundler-environment
79
- # Used to invoke chruby
80
- shell: *shell
81
64
  steps:
82
65
  - checkout
83
66
  - restore_cache:
data/CHANGELOG.md CHANGED
@@ -1,3 +1,136 @@
1
+ ## Master
2
+
3
+ ##### Breaking
4
+
5
+ * None.
6
+
7
+ ##### Enhancements
8
+
9
+ * Allow inline html tags in ObjC doc comments.
10
+ [Chris Williams](https://github.com/ultramiraculous)
11
+ [#976](https://github.com/realm/jazzy/issues/976)
12
+
13
+ * Support code formatting in ObjC doc comments with `@c`, `@code` and
14
+ `@endcode`.
15
+ [Bryce Pauken](https://github.com/brycepauken)
16
+ [jpsim/SourceKitten#631](https://github.com/jpsim/SourceKitten/issues/631)
17
+
18
+ * Add `custom_categories_unlisted_prefix` configuration setting. This
19
+ is the prefix for navigation section names that aren't explicitly
20
+ listed in `custom_categories`. Defaults to 'Other '.
21
+ [JP Simard](https://github.com/jpsim)
22
+
23
+ * Add `hide_unlisted_documentation` configuration setting. Setting this
24
+ to `true` hides documentation entries in the sidebar from the
25
+ `documentation` config value that aren't explicitly listed in
26
+ `custom_categories`.
27
+ [JP Simard](https://github.com/jpsim)
28
+
29
+ ##### Bug Fixes
30
+
31
+ * Fix crash when SourceKit returns out of bounds string byte offsets.
32
+ [JP Simard](https://github.com/jpsim)
33
+
34
+ * Pick the right version of declarations with type attributes.
35
+ [John Fairhurst](https://github.com/johnfairh)
36
+ [#1148](https://github.com/realm/jazzy/issues/1148)
37
+
38
+ ## 0.13.0
39
+
40
+ ##### Breaking
41
+
42
+ * None.
43
+
44
+ ##### Enhancements
45
+
46
+ * Add section headings for members added by Swift conditional conformances.
47
+ [John Fairhurst](https://github.com/johnfairh)
48
+ [#717](https://github.com/realm/jazzy/issues/717)
49
+
50
+ * Parse markdown in MARK comments, make the html available to themes via
51
+ `name_html` mustache tag key for section headings.
52
+ [John Fairhurst](https://github.com/johnfairh)
53
+
54
+ * Include protocol conformances added by extensions in Swift docs.
55
+ [John Fairhurst](https://github.com/johnfairh)
56
+
57
+ ##### Bug Fixes
58
+
59
+ * Render bullet lists correctly when followed by a callout.
60
+ [John Fairhurst](https://github.com/johnfairh)
61
+ [#785](https://github.com/realm/jazzy/issues/785)
62
+
63
+ * Render markup of text inside double quotes.
64
+ [John Fairhurst](https://github.com/johnfairh)
65
+ [#992](https://github.com/realm/jazzy/issues/992)
66
+
67
+ * Fix `sourcekitten_sourcefile` used from config file.
68
+ [John Fairhurst](https://github.com/johnfairh)
69
+ [#1137](https://github.com/realm/jazzy/issues/1137)
70
+
71
+ ## 0.12.0
72
+
73
+ ##### Breaking
74
+
75
+ * None.
76
+
77
+ ##### Enhancements
78
+
79
+ * Support for mixed Swift-ObjC modules: generate two sets of SourceKitten
80
+ json and pass them on using `--sourcekitten-sourcefile`.
81
+ [Joe Susnick](https://github.com/joesus)
82
+ [John Fairhurst](https://github.com/johnfairh)
83
+ [#447](https://github.com/realm/jazzy/issues/447)
84
+
85
+ ##### Bug Fixes
86
+
87
+ * Stop displaying type attributes on extension declarations.
88
+ [John Fairhurst](https://github.com/johnfairh)
89
+
90
+ * Show ObjC and Swift classes (etc.) in the same category.
91
+ [John Fairhurst](https://github.com/johnfairh)
92
+
93
+ * Merge Swift extensions into ObjC classes.
94
+ [John Fairhurst](https://github.com/johnfairh)
95
+ [Joe Susnick](https://github.com/joesus)
96
+
97
+ ## 0.11.2
98
+
99
+ ##### Breaking
100
+
101
+ * None.
102
+
103
+ ##### Enhancements
104
+
105
+ * None.
106
+
107
+ ##### Bug Fixes
108
+
109
+ * Generate Swift docs with Xcode 11 and paths with spaces.
110
+ [John Fairhurst](https://github.com/johnfairh)
111
+ [#1108](https://github.com/realm/jazzy/issues/1108)
112
+
113
+ * Reinstate guessing of module name from podspec, broken in 0.11.0.
114
+ [John Fairhurst](https://github.com/johnfairh)
115
+ [#1109](https://github.com/realm/jazzy/issues/1109)
116
+
117
+ ## 0.11.1
118
+
119
+ ##### Breaking
120
+
121
+ * None.
122
+
123
+ ##### Enhancements
124
+
125
+ * None.
126
+
127
+ ##### Bug Fixes
128
+
129
+ * Don't use SwiftPM if there is an Xcode workspace or project in a non-root
130
+ directory.
131
+ [John Fairhurst](https://github.com/johnfairh)
132
+ [#1103](https://github.com/realm/jazzy/issues/1103)
133
+
1
134
  ## 0.11.0
2
135
 
3
136
  ##### 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.2 installed to build the integration specs.
52
+ You must have Xcode 11.2 installed to build the integration specs.
53
53
 
54
54
  ## Making changes to SourceKitten
55
55
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- jazzy (0.11.0)
4
+ jazzy (0.13.1)
5
5
  cocoapods (~> 1.5)
6
6
  mustache (~> 1.1)
7
7
  open4
@@ -14,18 +14,21 @@ PATH
14
14
  GEM
15
15
  remote: https://rubygems.org/
16
16
  specs:
17
- CFPropertyList (3.0.1)
17
+ CFPropertyList (3.0.2)
18
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.6.0)
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.1)
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,16 +36,16 @@ GEM
33
36
  clintegracon (0.7.0)
34
37
  colored (~> 1.2)
35
38
  diffy
36
- cocoapods (1.7.5)
39
+ cocoapods (1.8.4)
37
40
  activesupport (>= 4.0.2, < 5)
38
41
  claide (>= 1.0.2, < 2.0)
39
- cocoapods-core (= 1.7.5)
42
+ cocoapods-core (= 1.8.4)
40
43
  cocoapods-deintegrate (>= 1.0.3, < 2.0)
41
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.1, < 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)
@@ -51,18 +54,20 @@ GEM
51
54
  molinillo (~> 0.6.6)
52
55
  nap (~> 1.0)
53
56
  ruby-macho (~> 1.4)
54
- xcodeproj (>= 1.10.0, < 2.0)
55
- cocoapods-core (1.7.5)
57
+ xcodeproj (>= 1.11.1, < 2.0)
58
+ cocoapods-core (1.8.4)
56
59
  activesupport (>= 4.0.2, < 6)
60
+ algoliasearch (~> 1.0)
61
+ concurrent-ruby (~> 1.1)
57
62
  fuzzy_match (~> 2.0.4)
58
63
  nap (~> 1.0)
59
64
  cocoapods-deintegrate (1.0.4)
60
- cocoapods-downloader (1.2.2)
65
+ cocoapods-downloader (1.3.0)
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.4.0)
70
+ cocoapods-trunk (1.4.1)
66
71
  nap (>= 0.8, < 2.0)
67
72
  netrc (~> 0.11)
68
73
  cocoapods-try (1.1.0)
@@ -73,7 +78,7 @@ GEM
73
78
  colored2 (~> 3.1)
74
79
  crack (0.4.3)
75
80
  safe_yaml (~> 1.0.0)
76
- danger (6.0.9)
81
+ danger (6.1.0)
77
82
  claide (~> 1.0)
78
83
  claide-plugins (>= 0.9.2)
79
84
  colored2 (~> 3.1)
@@ -88,50 +93,51 @@ GEM
88
93
  terminal-table (~> 1)
89
94
  diffy (3.3.0)
90
95
  escape (0.0.4)
91
- faraday (0.15.4)
96
+ faraday (0.17.3)
92
97
  multipart-post (>= 1.2, < 3)
93
98
  faraday-http-cache (2.0.0)
94
99
  faraday (~> 0.8)
95
- ffi (1.11.1)
100
+ ffi (1.11.3)
96
101
  fourflusher (2.3.1)
97
102
  fuzzy_match (2.0.4)
98
103
  gh_inspector (1.1.3)
99
104
  git (1.5.0)
100
- hashdiff (0.4.0)
105
+ hashdiff (1.0.0)
106
+ httpclient (2.8.3)
101
107
  i18n (0.9.5)
102
108
  concurrent-ruby (~> 1.0)
109
+ json (2.3.0)
103
110
  kramdown (2.1.0)
104
111
  kramdown-parser-gfm (1.1.0)
105
112
  kramdown (~> 2.0)
106
113
  liferaft (0.0.6)
107
- metaclass (0.0.4)
108
- minitest (5.11.3)
109
- mocha (1.9.0)
110
- metaclass (~> 0.0.1)
114
+ minitest (5.13.0)
115
+ mocha (1.11.2)
111
116
  mocha-on-bacon (0.2.3)
112
117
  mocha (>= 0.13.0)
113
118
  molinillo (0.6.6)
114
119
  multipart-post (2.1.1)
115
- mustache (1.1.0)
120
+ mustache (1.1.1)
116
121
  nanaimo (0.2.6)
117
122
  nap (1.1.0)
118
123
  netrc (0.11.0)
119
124
  no_proxy_fix (0.1.2)
120
- octokit (4.14.0)
125
+ octokit (4.15.0)
126
+ faraday (>= 0.9)
121
127
  sawyer (~> 0.8.0, >= 0.5.3)
122
128
  open4 (1.3.4)
123
- parallel (1.17.0)
124
- parser (2.6.3.0)
129
+ parallel (1.19.1)
130
+ parser (2.7.0.1)
125
131
  ast (~> 2.4.0)
126
132
  powerpack (0.1.2)
127
133
  prettybacon (0.0.2)
128
134
  bacon (~> 1.2)
129
- public_suffix (3.1.0)
135
+ public_suffix (4.0.3)
130
136
  rainbow (2.2.2)
131
137
  rake
132
138
  rake (10.5.0)
133
139
  redcarpet (3.5.0)
134
- rouge (3.10.0)
140
+ rouge (3.14.0)
135
141
  rubocop (0.49.0)
136
142
  parallel (~> 1.10)
137
143
  parser (>= 2.3.3.1, < 3.0)
@@ -142,25 +148,25 @@ GEM
142
148
  ruby-macho (1.4.0)
143
149
  ruby-progressbar (1.10.1)
144
150
  safe_yaml (1.0.5)
145
- sassc (2.2.0)
151
+ sassc (2.2.1)
146
152
  ffi (~> 1.9)
147
153
  sawyer (0.8.2)
148
154
  addressable (>= 2.3.5)
149
155
  faraday (> 0.8, < 2.0)
150
- sqlite3 (1.4.1)
156
+ sqlite3 (1.4.2)
151
157
  terminal-table (1.8.0)
152
158
  unicode-display_width (~> 1.1, >= 1.1.1)
153
159
  thread_safe (0.3.6)
154
- tzinfo (1.2.5)
160
+ tzinfo (1.2.6)
155
161
  thread_safe (~> 0.1)
156
162
  unicode-display_width (1.6.0)
157
- webmock (3.6.0)
163
+ webmock (3.7.6)
158
164
  addressable (>= 2.3.6)
159
165
  crack (>= 0.3.2)
160
166
  hashdiff (>= 0.4.0, < 2.0.0)
161
167
  xcinvoke (0.3.0)
162
168
  liferaft (~> 0.0.6)
163
- xcodeproj (1.12.0)
169
+ xcodeproj (1.14.0)
164
170
  CFPropertyList (>= 2.3.3, < 4.0)
165
171
  atomos (~> 0.1.3)
166
172
  claide (>= 1.0.2, < 2.0)
data/README.md CHANGED
@@ -23,8 +23,11 @@ unacceptable behavior to [info@realm.io](mailto:info@realm.io).
23
23
 
24
24
  ## Requirements
25
25
 
26
- * Development tools that can build the project you wish to document. Jazzy supports
27
- both [Xcode][xcode] and [Swift Package Manager][spm] projects.
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.
28
31
 
29
32
  ## Installation
30
33
 
@@ -147,6 +150,33 @@ jazzy \
147
150
  --module AFNetworking
148
151
  ```
149
152
 
153
+ ### Mixed Objective-C / Swift
154
+
155
+ *This feature is new and has some rough edges.*
156
+
157
+ To generate documentation for a mixed Swift and Objective-C project you must first
158
+ generate two [SourceKitten][sourcekitten] files: one for Swift and one for Objective-C.
159
+
160
+ Then pass these files to Jazzy together using `--sourcekitten-sourcefile`.
161
+
162
+ #### Example
163
+
164
+ This is how docs are generated from an Xcode project for a module containing both
165
+ Swift and Objective-C files:
166
+
167
+ ```shell
168
+ # Generate Swift SourceKitten output
169
+ sourcekitten doc -- -workspace MyProject.xcworkspace -scheme MyScheme > swiftDoc.json
170
+
171
+ # Generate Objective-C SourceKitten output
172
+ sourcekitten doc --objc $(pwd)/MyProject/MyProject.h \
173
+ -- -x objective-c -isysroot $(xcrun --show-sdk-path --sdk iphonesimulator) \
174
+ -I $(pwd) -fmodules > objcDoc.json
175
+
176
+ # Feed both outputs to Jazzy as a comma-separated list
177
+ jazzy --sourcekitten-sourcefile swiftDoc.json,objcDoc.json
178
+ ```
179
+
150
180
  ### Themes
151
181
 
152
182
  Three themes are provided with jazzy: `apple` (default), `fullwidth` and `jony`.
@@ -242,6 +272,24 @@ For example to use Xcode 9.4:
242
272
  jazzy --swift-version 4.1.2
243
273
  ```
244
274
 
275
+ ## Linux
276
+
277
+ Jazzy uses [SourceKitten][sourcekitten] to communicate with the Swift build
278
+ environment and compiler. The `sourcekitten` binary included in the Jazzy gem
279
+ is built for macOS and so does not run on other operating systems.
280
+
281
+ To use Jazzy on Linux you first need to install and build `sourcekitten`
282
+ following instructions from [SourceKitten's GitHub repository][sourcekitten].
283
+
284
+ Then to generate documentation for a SwiftPM project, instead of running just
285
+ `jazzy` do:
286
+ ```shell
287
+ sourcekitten doc --spm > doc.json
288
+ jazzy --sourcekitten-sourcefile doc.json
289
+ ```
290
+
291
+ We hope to improve this process in the future.
292
+
245
293
  ## Troubleshooting
246
294
 
247
295
  ### Swift
@@ -310,7 +358,7 @@ Instructions to build SourceKitten from source can be found at
310
358
  - Leverage modern HTML templating ([Mustache][mustache])
311
359
  - Leverage the power and accuracy of the [Clang AST][ast] and [SourceKit][sourcekit]
312
360
  - Support for Dash docsets
313
- - Support Swift and Objective-C (*mixed projects are a work in progress*)
361
+ - Support Swift and Objective-C
314
362
 
315
363
  ## License
316
364