├── .gitignore
├── AppledocSettings.plist
├── LICENSE
├── README.md
├── Templates
├── docset
│ └── Contents
│ │ ├── Resources
│ │ ├── Documents
│ │ │ └── documents-template
│ │ ├── nodes-template.xml
│ │ └── tokens-template.xml
│ │ └── info-template.plist
├── html
│ ├── css
│ │ ├── scss
│ │ │ ├── _index.scss
│ │ │ ├── _layout.scss
│ │ │ ├── _normalize.scss
│ │ │ ├── _object.scss
│ │ │ ├── _print.scss
│ │ │ ├── _variables.scss
│ │ │ ├── _xcode.scss
│ │ │ └── style.scss
│ │ └── style.css
│ ├── document-template.html
│ ├── hierarchy-template.html
│ ├── img
│ │ ├── button_bar_background.png
│ │ ├── disclosure.png
│ │ ├── disclosure_open.png
│ │ ├── library_background.png
│ │ └── title_background.png
│ ├── index-template.html
│ ├── js
│ │ └── script.js
│ └── object-template.html
├── index_temp.html
├── markdown
│ └── markdown-template.md
└── publish
│ └── xml-template.xml
├── appledoc
├── appledoc.sh
└── index.html
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | ## Build generated
6 | build/
7 | DerivedData/
8 |
9 | ## Various settings
10 | *.pbxuser
11 | !default.pbxuser
12 | *.mode1v3
13 | !default.mode1v3
14 | *.mode2v3
15 | !default.mode2v3
16 | *.perspectivev3
17 | !default.perspectivev3
18 | xcuserdata/
19 |
20 | ## Other
21 | *.moved-aside
22 | *.xccheckout
23 | *.xcscmblueprint
24 |
25 | ## Obj-C/Swift specific
26 | *.hmap
27 | *.ipa
28 | *.dSYM.zip
29 | *.dSYM
30 |
31 | # CocoaPods
32 | #
33 | # We recommend against adding the Pods directory to your .gitignore. However
34 | # you should judge for yourself, the pros and cons are mentioned at:
35 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
36 | #
37 | # Pods/
38 |
39 | # Carthage
40 | #
41 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
42 | # Carthage/Checkouts
43 |
44 | Carthage/Build
45 |
46 | # fastlane
47 | #
48 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
49 | # screenshots whenever they are needed.
50 | # For more information about the recommended setup visit:
51 | # https://docs.fastlane.tools/best-practices/source-control/#source-control
52 |
53 | fastlane/report.xml
54 | fastlane/Preview.html
55 | fastlane/screenshots/**/*.png
56 | fastlane/test_output
57 |
58 | # Code Injection
59 | #
60 | # After new code Injection tools there's a generated folder /iOSInjectionProject
61 | # https://github.com/johnno1962/injectionforxcode
62 |
63 | iOSInjectionProject/
64 |
--------------------------------------------------------------------------------
/AppledocSettings.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | --company-id
6 | cn.minlison
7 | --ignore
8 |
9 | ./Pods
10 | ./docs
11 | ./MLSCacheDemo
12 | ./Classes/YYCacheModify
13 | *.m
14 |
15 | --logformat
16 | 1
17 | --print-settings
18 |
19 | --project-company
20 | MinLison
21 | --project-name
22 | MLSCache
23 | --repeat-first-par
24 |
25 | --templates
26 | ./Templates
27 | --verbose
28 | 6
29 | --publish-docset
30 |
31 | --create-docset
32 |
33 | --install-docset
34 |
35 | --docset-install-path
36 | ./docs/docset
37 | --create-html
38 |
39 | --create-markdown
40 |
41 | --output
42 | ./docs
43 | --keep-undocumented-objects
44 |
45 | --keep-undocumented-members
46 |
47 | --search-undocumented-doc
48 |
49 | --keep-intermediate-files
50 |
51 | --preprocess-headerdoc
52 |
53 | --print-information-block-titles
54 |
55 | --merge-categories
56 |
57 | --merge-category-comment
58 |
59 | --use-code-order
60 |
61 | --clean-output
62 |
63 | --warn-undocumented-object
64 |
65 | --warn-undocumented-member
66 |
67 | --warn-missing-arg
68 |
69 | --warn-invalid-crossref
70 |
71 | --warn-unknown-directive
72 |
73 | --warn-empty-description
74 |
75 | --warn-unsupported-typedef-enum
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Minlison
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # MLSAppleDoc
2 |
3 | AppleDoc 接口文档生成工具
4 |
--------------------------------------------------------------------------------
/Templates/docset/Contents/Resources/Documents/documents-template:
--------------------------------------------------------------------------------
1 | This is used only as placeholder for location of Documents directory!
--------------------------------------------------------------------------------
/Templates/docset/Contents/Resources/nodes-template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{projectName}}
6 | {{indexFilename}}
7 |
8 | {{#hasDocs}}
9 |
10 | {{strings.docset.docsTitle}}
11 | {{indexFilename}}
12 |
13 | {{#docs}}{{>NodeRef}}
14 | {{/docs}}
15 |
16 |
17 | {{/hasDocs}}
18 | {{#hasClasses}}
19 |
20 | {{strings.docset.classesTitle}}
21 | {{indexFilename}}
22 |
23 | {{#classes}}{{>NodeRef}}
24 | {{/classes}}
25 |
26 |
27 | {{/hasClasses}}
28 | {{#hasCategories}}
29 |
30 | {{strings.docset.categoriesTitle}}
31 | {{indexFilename}}
32 |
33 | {{#categories}}{{>NodeRef}}
34 | {{/categories}}
35 |
36 |
37 | {{/hasCategories}}
38 | {{#hasProtocols}}
39 |
40 | {{strings.docset.protocolsTitle}}
41 | {{indexFilename}}
42 |
43 | {{#protocols}}{{>NodeRef}}
44 | {{/protocols}}
45 |
46 |
47 | {{/hasProtocols}}
48 | {{#hasConstants}}
49 |
50 | {{strings.docset.constantsTitle}}
51 | {{indexFilename}}
52 |
53 | {{#constants}}{{>NodeRef}}
54 | {{/constants}}
55 |
56 |
57 | {{/hasConstants}}
58 | {{#hasBlocks}}
59 |
60 | {{strings.docset.blocksTitle}}
61 | {{indexFilename}}
62 |
63 | {{#blocks}}{{>NodeRef}}
64 | {{/blocks}}
65 |
66 |
67 | {{/hasBlocks}}
68 |
69 |
70 |
71 |
72 | {{#docs}}{{>Node}}
73 | {{/docs}}
74 | {{#classes}}{{>Node}}
75 | {{/classes}}
76 | {{#categories}}{{>Node}}
77 | {{/categories}}
78 | {{#protocols}}{{>Node}}
79 | {{/protocols}}
80 | {{#constants}}{{>Node}}
81 | {{/constants}}
82 | {{#blocks}}{{>Node}}
83 | {{/blocks}}
84 |
85 |
86 |
87 | Section Node
88 |
89 | {{name}}
90 | {{path}}
91 | {{#hasSubNodes}}
92 |
93 |
94 | {{path}}
95 | Overview
96 | overview
97 |
98 |
99 | {{path}}
100 | Tasks
101 | tasks
102 |
103 | {{#hasProperties}}
104 |
105 | {{path}}
106 | Properties
107 | properties
108 |
109 | {{/hasProperties}}
110 | {{#hasClassMethods}}
111 |
112 | {{path}}
113 | Class Methods
114 | class_methods
115 |
116 | {{/hasClassMethods}}
117 | {{#hasInstanceMethods}}
118 |
119 | {{path}}
120 | Instance Methods
121 | instance_methods
122 |
123 | {{/hasInstanceMethods}}
124 |
125 | {{/hasSubNodes}}
126 |
127 | EndSection
128 |
129 | Section NodeRef
130 |
131 | EndSection
132 |
--------------------------------------------------------------------------------
/Templates/docset/Contents/Resources/tokens-template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{#object}}
5 |
6 | {{>TokenIdentifier}}
7 | {{>Abstract}}
8 | {{>DeclaredIn}}
9 | {{>Availability}}
10 | {{>RelatedTokens}}
11 | {{#refid}}{{/refid}}
12 |
13 | {{/object}}
14 | {{#members}}
15 |
16 | {{>TokenIdentifier}}
17 | {{>Abstract}}
18 | {{>DeclaredIn}}
19 | {{>RelatedTokens}}
20 | {{>MethodDeclaration}}
21 | {{#hasParameters}}
22 | {{#parameters}}
23 | {{name}}
24 | {{>Abstract}}
25 | {{/parameters}}
26 | {{/hasParameters}}
27 | {{#returnValue}}{{>Abstract}}{{/returnValue}}
28 | {{#anchor}}{{anchor}}{{/anchor}}
29 | {{#refid}}{{/refid}}
30 |
31 | {{/members}}
32 | {{#constants}}
33 |
34 | {{>TokenIdentifier}}
35 | {{>Abstract}}
36 | {{declaration}}
37 | {{>Availability}}
38 | {{>DeclaredIn}}
39 | {{>RelatedTokens}}
40 | {{>Reference}}
41 |
42 | {{/constants}}
43 | {{#blocks}}
44 |
45 | {{>TokenIdentifier}}
46 | {{>Abstract}}
47 | {{declaration}}
48 | {{>Availability}}
49 | {{>DeclaredIn}}
50 | {{>RelatedTokens}}
51 | {{>Reference}}
52 |
53 | {{/blocks}}
54 |
55 |
56 |
57 | Section TokenIdentifier
58 | {{identifier}}
59 | EndSection
60 |
61 | Section DeclaredIn
62 | {{declaredin}}
63 | EndSection
64 |
65 | Section RelatedTokens
66 | {{#hasRelatedTokens}}
67 |
68 | {{#relatedTokens}}{{.}}
69 | {{/relatedTokens}}
70 |
71 | {{/hasRelatedTokens}}
72 | EndSection
73 |
74 | Section Abstract
75 | {{#abstract}}{{>GBCommentComponentsList}}{{/abstract}}
76 | EndSection
77 |
78 | Section Availability
79 | {{#availability}}{{>GBCommentComponentsList}}{{/availability}}
80 | EndSection
81 |
82 | Section Reference
83 | {{#refid}}{{/refid}}
84 | EndSection
85 |
86 | Section MethodDeclaration
87 | {{#formattedComponents}}{{value}}{{/formattedComponents}}
88 | EndSection
89 |
90 | Section GBCommentComponentsList
91 | {{#components}}{{textValue}}{{/components}}
92 | EndSection
93 |
94 |
--------------------------------------------------------------------------------
/Templates/docset/Contents/info-template.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | {{#bundleIdentifier}}CFBundleIdentifier
8 | {{bundleIdentifier}}{{/bundleIdentifier}}
9 | {{#bundleName}}CFBundleName
10 | {{bundleName}}{{/bundleName}}
11 | {{#bundleVersion}}CFBundleShortVersionString
12 | {{bundleVersion}}
13 | CFBundleVersion
14 | {{bundleVersion}}{{/bundleVersion}}
15 | {{#certificateIssuer}}DocSetCertificateIssuer
16 | {{certificateIssuer}}{{/certificateIssuer}}
17 | {{#certificateSigner}}DocSetCertificateSigner
18 | {{certificateSigner}}{{/certificateSigner}}
19 | {{#description}}DocSetDescription
20 | {{description}}{{/description}}
21 | {{#fallbackURL}}DocSetFallbackURL
22 | {{fallbackURL}}{{/fallbackURL}}
23 | {{#feedName}}DocSetFeedName
24 | {{feedName}}{{/feedName}}
25 | {{#feedURL}}DocSetFeedURL
26 | {{feedURL}}{{/feedURL}}
27 | {{#minimumXcodeVersion}}DocSetMinimumXcodeVersion
28 | {{minimumXcodeVersion}}{{/minimumXcodeVersion}}
29 | {{#platformFamily}}DocSetPlatformFamily
30 | {{platformFamily}}{{/platformFamily}}
31 | {{#dashPlatformFamily}}DashDocSetFamily
32 | {{dashPlatformFamily}}{{/dashPlatformFamily}}
33 | {{#publisherIdentifier}}DocSetPublisherIdentifier
34 | {{publisherIdentifier}}{{/publisherIdentifier}}
35 | {{#publisherName}}DocSetPublisherName
36 | {{publisherName}}{{/publisherName}}
37 | {{#copyrightMessage}}NSHumanReadableCopyright
38 | {{copyrightMessage}}{{/copyrightMessage}}
39 |
40 |
41 |
--------------------------------------------------------------------------------
/Templates/html/css/scss/_index.scss:
--------------------------------------------------------------------------------
1 | .index-container {
2 | display: flex;
3 | flex-direction: row;
4 | flex-wrap: wrap;
5 |
6 | @media (max-width: $mobile-max-width) {
7 | flex-direction: column;
8 | }
9 |
10 | .index-column {
11 | flex: 1 1 33%;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/Templates/html/css/scss/_layout.scss:
--------------------------------------------------------------------------------
1 | * {
2 | box-sizing: border-box;
3 | }
4 |
5 | .clear {
6 | clear: both;
7 | }
8 |
9 | .clearfix {
10 | &:before, &:after {
11 | clear: both;
12 | display: table;
13 | content: "";
14 | }
15 | }
16 |
17 | .xcode .hide-in-xcode {
18 | display: none;
19 | }
20 |
21 | body {
22 | font: 62.5% $body-font;
23 | background: $body-background;
24 | }
25 |
26 | h1, h2, h3 {
27 | font-weight: 300;
28 | color: #808080;
29 | }
30 |
31 | h1 {
32 | font-size: 2em;
33 | color: #000;
34 | }
35 |
36 | h4 {
37 | font-size: 13px;
38 | line-height: 1.5;
39 | margin: 21px 0 0 0;
40 | }
41 |
42 | a {
43 | color: $tint-color;
44 | text-decoration: none;
45 | }
46 |
47 | pre, code {
48 | font-family: $code-font;
49 | word-wrap: break-word;
50 | }
51 |
52 | pre > code, .method-declaration code {
53 | display: inline-block;
54 | font-size: .85em;
55 | padding: 4px 0 4px 10px;
56 | border-left: 5px solid rgba(0, 155, 51, .2);
57 |
58 | &:before {
59 | content: "Objective-C";
60 | display: block;
61 |
62 | font: 9px/1 $body-font;
63 | color: #009b33;
64 | text-transform: uppercase;
65 | letter-spacing: 2px;
66 | padding-bottom: 6px;
67 | }
68 | }
69 |
70 | pre > code {
71 | font-size: inherit;
72 | }
73 |
74 | table, th, td {
75 | border: 1px solid #e9e9e9;
76 | }
77 |
78 | table {
79 | width: 100%;
80 | }
81 |
82 | th, td {
83 | padding: 7px;
84 |
85 | > :first-child {
86 | margin-top: 0;
87 | }
88 |
89 | > :last-child {
90 | margin-bottom: 0;
91 | }
92 | }
93 |
94 | .container {
95 | @extend .clearfix;
96 |
97 | max-width: 980px;
98 | padding: 0 10px;
99 | margin: 0 auto;
100 |
101 | @media (max-width: $mobile-max-width) {
102 | padding: 0;
103 | }
104 | }
105 |
106 | header {
107 | position: fixed;
108 | top: 0;
109 | left: 0;
110 | width: 100%;
111 | z-index: 2;
112 |
113 | background: #414141;
114 | color: #fff;
115 | font-size: 1.1em;
116 | line-height: 25px;
117 | letter-spacing: .05em;
118 |
119 | #library-title {
120 | float: left;
121 | }
122 |
123 | #developer-home {
124 | float: right;
125 | }
126 |
127 | h1 {
128 | font-size: inherit;
129 | font-weight: inherit;
130 | margin: 0;
131 | }
132 |
133 | p {
134 | margin: 0;
135 | }
136 |
137 | h1, a {
138 | color: inherit;
139 | }
140 |
141 | @media (max-width: $mobile-max-width) {
142 | position: absolute;
143 |
144 | .container {
145 | padding: 0 10px;
146 | }
147 | }
148 | }
149 |
150 | aside {
151 | position: fixed;
152 | top: 25px;
153 | left: 0;
154 | width: 100%;
155 | height: 25px;
156 | z-index: 2;
157 |
158 | font-size: 1.1em;
159 |
160 | @media (max-width: $mobile-max-width) {
161 | position: absolute;
162 | }
163 |
164 | #header-buttons {
165 | background: rgba(255, 255, 255, .8);
166 | margin: 0 1px;
167 | padding: 0;
168 | list-style: none;
169 | text-align: right;
170 | line-height: 32px;
171 |
172 | li {
173 | display: inline-block;
174 | cursor: pointer;
175 | padding: 0 10px;
176 | }
177 |
178 | label, select {
179 | cursor: inherit;
180 | }
181 |
182 | #on-this-page {
183 | position: relative;
184 |
185 | .chevron {
186 | display: inline-block;
187 | width: 14px;
188 | height: 4px;
189 | position: relative;
190 |
191 | .chevy {
192 | background: #878787;
193 | height: 2px;
194 | position: absolute;
195 | width: 10px;
196 |
197 | &.chevron-left {
198 | left: 0;
199 | transform: rotateZ(45deg) scale(0.6);
200 | }
201 |
202 | &.chevron-right {
203 | right: 0;
204 | transform: rotateZ(-45deg) scale(0.6);
205 | }
206 | }
207 | }
208 |
209 | #jump-to {
210 | opacity: 0;
211 | font-size: 16px;
212 |
213 | position: absolute;
214 | top: 5px;
215 | left: 0;
216 | width: 100%;
217 | height: 100%;
218 | }
219 | }
220 | }
221 | }
222 |
223 | article {
224 | margin-top: 25px;
225 |
226 | #content {
227 | @extend .clearfix;
228 |
229 | background: $content-background;
230 | border: 1px solid $content-border;
231 | padding: 15px 25px 30px 25px;
232 |
233 | font-size: 1.4em;
234 | line-height: 1.45;
235 |
236 | position: relative;
237 |
238 | @media (max-width: $mobile-max-width) {
239 | padding: 15px 10px 20px 10px;
240 | }
241 |
242 | .navigation-top {
243 | position: absolute;
244 | top: 15px;
245 | right: 25px;
246 | }
247 |
248 | .title {
249 | margin: 21px 0 0 0;
250 | padding: 15px 0;
251 | }
252 |
253 | p {
254 | color: #414141;
255 | margin: 0 0 15px 0;
256 | }
257 |
258 | th, td {
259 | p:last-child {
260 | margin-bottom: 0;
261 | }
262 | }
263 |
264 | main {
265 | ul {
266 | list-style: none;
267 | margin-left: 24px;
268 | margin-bottom: 12px;
269 | padding: 0;
270 |
271 | li {
272 | position: relative;
273 | padding-left: 1.3em;
274 |
275 | &:before {
276 | content: "\02022";
277 |
278 | color: #414141;
279 | font-size: 1.08em;
280 | line-height: 1;
281 |
282 | position: absolute;
283 | left: 0;
284 | padding-top: 2px;
285 | }
286 | }
287 | }
288 | }
289 |
290 | footer {
291 | @extend .clearfix;
292 |
293 | .footer-copyright {
294 | margin: 70px 25px 10px 0;
295 | }
296 |
297 | p {
298 | font-size: .71em;
299 | color: #a0a0a0;
300 | }
301 | }
302 | }
303 | }
304 |
--------------------------------------------------------------------------------
/Templates/html/css/scss/_normalize.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Normalize.scss settings
3 | ========================================================================== */
4 | /**
5 | * Includes legacy browser support IE6/7
6 | *
7 | * Set to false if you want to drop support for IE6 and IE7
8 | */
9 |
10 | $legacy_browser_support: false !default;
11 |
12 | /* Base
13 | ========================================================================== */
14 |
15 | /**
16 | * 1. Set default font family to sans-serif.
17 | * 2. Prevent iOS text size adjust after orientation change, without disabling
18 | * user zoom.
19 | * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
20 | * `em` units.
21 | */
22 |
23 | html {
24 | font-family: sans-serif; /* 1 */
25 | -ms-text-size-adjust: 100%; /* 2 */
26 | -webkit-text-size-adjust: 100%; /* 2 */
27 | @if $legacy_browser_support {
28 | *font-size: 100%; /* 3 */
29 | }
30 | }
31 |
32 | /**
33 | * Remove default margin.
34 | */
35 |
36 | body {
37 | margin: 0;
38 | }
39 |
40 | /* HTML5 display definitions
41 | ========================================================================== */
42 |
43 | /**
44 | * Correct `block` display not defined for any HTML5 element in IE 8/9.
45 | * Correct `block` display not defined for `details` or `summary` in IE 10/11
46 | * and Firefox.
47 | * Correct `block` display not defined for `main` in IE 11.
48 | */
49 |
50 | article,
51 | aside,
52 | details,
53 | figcaption,
54 | figure,
55 | footer,
56 | header,
57 | hgroup,
58 | main,
59 | menu,
60 | nav,
61 | section,
62 | summary {
63 | display: block;
64 | }
65 |
66 | /**
67 | * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
68 | * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
69 | */
70 |
71 | audio,
72 | canvas,
73 | progress,
74 | video {
75 | display: inline-block; /* 1 */
76 | vertical-align: baseline; /* 2 */
77 | @if $legacy_browser_support {
78 | *display: inline;
79 | *zoom: 1;
80 | }
81 | }
82 |
83 | /**
84 | * Prevents modern browsers from displaying `audio` without controls.
85 | * Remove excess height in iOS 5 devices.
86 | */
87 |
88 | audio:not([controls]) {
89 | display: none;
90 | height: 0;
91 | }
92 |
93 | /**
94 | * Address `[hidden]` styling not present in IE 8/9/10.
95 | * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
96 | */
97 |
98 | [hidden],
99 | template {
100 | display: none;
101 | }
102 |
103 | /* Links
104 | ========================================================================== */
105 |
106 | /**
107 | * Remove the gray background color from active links in IE 10.
108 | */
109 |
110 | a {
111 | background-color: transparent;
112 | }
113 |
114 | /**
115 | * Improve readability when focused and also mouse hovered in all browsers.
116 | */
117 |
118 | a {
119 | &:active, &:hover {
120 | outline: 0;
121 | };
122 | }
123 |
124 | /* Text-level semantics
125 | ========================================================================== */
126 |
127 | /**
128 | * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
129 | */
130 |
131 | abbr[title] {
132 | border-bottom: 1px dotted;
133 | }
134 |
135 | /**
136 | * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
137 | */
138 |
139 | b,
140 | strong {
141 | font-weight: bold;
142 | }
143 |
144 | @if $legacy_browser_support {
145 | blockquote {
146 | margin: 1em 40px;
147 | }
148 | }
149 |
150 | /**
151 | * Address styling not present in Safari and Chrome.
152 | */
153 |
154 | dfn {
155 | font-style: italic;
156 | }
157 |
158 | /**
159 | * Address variable `h1` font-size and margin within `section` and `article`
160 | * contexts in Firefox 4+, Safari, and Chrome.
161 | */
162 |
163 | h1 {
164 | font-size: 2em;
165 | margin: 0.67em 0;
166 | }
167 |
168 | @if $legacy_browser_support {
169 | h2 {
170 | font-size: 1.5em;
171 | margin: 0.83em 0;
172 | }
173 |
174 | h3 {
175 | font-size: 1.17em;
176 | margin: 1em 0;
177 | }
178 |
179 | h4 {
180 | font-size: 1em;
181 | margin: 1.33em 0;
182 | }
183 |
184 | h5 {
185 | font-size: 0.83em;
186 | margin: 1.67em 0;
187 | }
188 |
189 | h6 {
190 | font-size: 0.67em;
191 | margin: 2.33em 0;
192 | }
193 | }
194 |
195 | /**
196 | * Addresses styling not present in IE 8/9.
197 | */
198 |
199 | mark {
200 | background: #ff0;
201 | color: #000;
202 | }
203 |
204 | @if $legacy_browser_support {
205 |
206 | /**
207 | * Addresses margins set differently in IE 6/7.
208 | */
209 |
210 | p,
211 | pre {
212 | *margin: 1em 0;
213 | }
214 |
215 | /*
216 | * Addresses CSS quotes not supported in IE 6/7.
217 | */
218 |
219 | q {
220 | *quotes: none;
221 | }
222 |
223 | /*
224 | * Addresses `quotes` property not supported in Safari 4.
225 | */
226 |
227 | q:before,
228 | q:after {
229 | content: '';
230 | content: none;
231 | }
232 | }
233 |
234 | /**
235 | * Address inconsistent and variable font size in all browsers.
236 | */
237 |
238 | small {
239 | font-size: 80%;
240 | }
241 |
242 | /**
243 | * Prevent `sub` and `sup` affecting `line-height` in all browsers.
244 | */
245 |
246 | sub,
247 | sup {
248 | font-size: 75%;
249 | line-height: 0;
250 | position: relative;
251 | vertical-align: baseline;
252 | }
253 |
254 | sup {
255 | top: -0.5em;
256 | }
257 |
258 | sub {
259 | bottom: -0.25em;
260 | }
261 |
262 | @if $legacy_browser_support {
263 |
264 | /* ==========================================================================
265 | Lists
266 | ========================================================================== */
267 |
268 | /*
269 | * Addresses margins set differently in IE 6/7.
270 | */
271 |
272 | dl,
273 | menu,
274 | ol,
275 | ul {
276 | *margin: 1em 0;
277 | }
278 |
279 | dd {
280 | *margin: 0 0 0 40px;
281 | }
282 |
283 | /*
284 | * Addresses paddings set differently in IE 6/7.
285 | */
286 |
287 | menu,
288 | ol,
289 | ul {
290 | *padding: 0 0 0 40px;
291 | }
292 |
293 | /*
294 | * Corrects list images handled incorrectly in IE 7.
295 | */
296 |
297 | nav ul,
298 | nav ol {
299 | *list-style: none;
300 | *list-style-image: none;
301 | }
302 |
303 | }
304 |
305 | /* Embedded content
306 | ========================================================================== */
307 |
308 | /**
309 | * 1. Remove border when inside `a` element in IE 8/9/10.
310 | * 2. Improves image quality when scaled in IE 7.
311 | */
312 |
313 | img {
314 | border: 0;
315 | @if $legacy_browser_support {
316 | *-ms-interpolation-mode: bicubic; /* 2 */
317 | }
318 | }
319 |
320 | /**
321 | * Correct overflow not hidden in IE 9/10/11.
322 | */
323 |
324 | svg:not(:root) {
325 | overflow: hidden;
326 | }
327 |
328 | /* Grouping content
329 | ========================================================================== */
330 |
331 | /**
332 | * Address margin not present in IE 8/9 and Safari.
333 | */
334 |
335 | figure {
336 | margin: 1em 40px;
337 | }
338 |
339 | /**
340 | * Address differences between Firefox and other browsers.
341 | */
342 |
343 | hr {
344 | -moz-box-sizing: content-box;
345 | box-sizing: content-box;
346 | height: 0;
347 | }
348 |
349 | /**
350 | * Contain overflow in all browsers.
351 | */
352 |
353 | pre {
354 | overflow: auto;
355 | }
356 |
357 | /**
358 | * Address odd `em`-unit font size rendering in all browsers.
359 | * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
360 | */
361 |
362 | code,
363 | kbd,
364 | pre,
365 | samp {
366 | font-family: monospace, monospace;
367 | @if $legacy_browser_support {
368 | _font-family: 'courier new', monospace;
369 | }
370 | font-size: 1em;
371 | }
372 |
373 | /* Forms
374 | ========================================================================== */
375 |
376 | /**
377 | * Known limitation: by default, Chrome and Safari on OS X allow very limited
378 | * styling of `select`, unless a `border` property is set.
379 | */
380 |
381 | /**
382 | * 1. Correct color not being inherited.
383 | * Known issue: affects color of disabled elements.
384 | * 2. Correct font properties not being inherited.
385 | * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
386 | * 4. Improves appearance and consistency in all browsers.
387 | */
388 |
389 | button,
390 | input,
391 | optgroup,
392 | select,
393 | textarea {
394 | color: inherit; /* 1 */
395 | font: inherit; /* 2 */
396 | margin: 0; /* 3 */
397 | @if $legacy_browser_support {
398 | vertical-align: baseline; /* 3 */
399 | *vertical-align: middle; /* 3 */
400 | }
401 | }
402 |
403 | /**
404 | * Address `overflow` set to `hidden` in IE 8/9/10/11.
405 | */
406 |
407 | button {
408 | overflow: visible;
409 | }
410 |
411 | /**
412 | * Address inconsistent `text-transform` inheritance for `button` and `select`.
413 | * All other form control elements do not inherit `text-transform` values.
414 | * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
415 | * Correct `select` style inheritance in Firefox.
416 | */
417 |
418 | button,
419 | select {
420 | text-transform: none;
421 | }
422 |
423 | /**
424 | * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
425 | * and `video` controls.
426 | * 2. Correct inability to style clickable `input` types in iOS.
427 | * 3. Improve usability and consistency of cursor style between image-type
428 | * `input` and others.
429 | * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
430 | * Known issue: inner spacing remains in IE 6.
431 | */
432 |
433 | button,
434 | html input[type="button"], /* 1 */
435 | input[type="reset"],
436 | input[type="submit"] {
437 | -webkit-appearance: button; /* 2 */
438 | cursor: pointer; /* 3 */
439 | @if $legacy_browser_support {
440 | *overflow: visible; /* 4 */
441 | }
442 | }
443 |
444 | /**
445 | * Re-set default cursor for disabled elements.
446 | */
447 |
448 | button[disabled],
449 | html input[disabled] {
450 | cursor: default;
451 | }
452 |
453 | /**
454 | * Remove inner padding and border in Firefox 4+.
455 | */
456 |
457 | button::-moz-focus-inner,
458 | input::-moz-focus-inner {
459 | border: 0;
460 | padding: 0;
461 | }
462 |
463 | /**
464 | * Address Firefox 4+ setting `line-height` on `input` using `!important` in
465 | * the UA stylesheet.
466 | */
467 |
468 | input {
469 | line-height: normal;
470 | }
471 |
472 | /**
473 | * 1. Address box sizing set to `content-box` in IE 8/9/10.
474 | * 2. Remove excess padding in IE 8/9/10.
475 | * Known issue: excess padding remains in IE 6.
476 | */
477 |
478 | input[type="checkbox"],
479 | input[type="radio"] {
480 | box-sizing: border-box; /* 1 */
481 | padding: 0; /* 2 */
482 | @if $legacy_browser_support {
483 | *height: 13px; /* 3 */
484 | *width: 13px; /* 3 */
485 | }
486 | }
487 |
488 | /**
489 | * Fix the cursor style for Chrome's increment/decrement buttons. For certain
490 | * `font-size` values of the `input`, it causes the cursor style of the
491 | * decrement button to change from `default` to `text`.
492 | */
493 |
494 | input[type="number"]::-webkit-inner-spin-button,
495 | input[type="number"]::-webkit-outer-spin-button {
496 | height: auto;
497 | }
498 |
499 | /**
500 | * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
501 | * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
502 | * (include `-moz` to future-proof).
503 | */
504 |
505 | input[type="search"] {
506 | -webkit-appearance: textfield; /* 1 */
507 | -moz-box-sizing: content-box;
508 | -webkit-box-sizing: content-box; /* 2 */
509 | box-sizing: content-box;
510 | }
511 |
512 | /**
513 | * Remove inner padding and search cancel button in Safari and Chrome on OS X.
514 | * Safari (but not Chrome) clips the cancel button when the search input has
515 | * padding (and `textfield` appearance).
516 | */
517 |
518 | input[type="search"]::-webkit-search-cancel-button,
519 | input[type="search"]::-webkit-search-decoration {
520 | -webkit-appearance: none;
521 | }
522 |
523 | /**
524 | * Define consistent border, margin, and padding.
525 | */
526 |
527 | fieldset {
528 | border: 1px solid #c0c0c0;
529 | margin: 0 2px;
530 | padding: 0.35em 0.625em 0.75em;
531 | }
532 |
533 | /**
534 | * 1. Correct `color` not being inherited in IE 8/9/10/11.
535 | * 2. Remove padding so people aren't caught out if they zero out fieldsets.
536 | * 3. Corrects text not wrapping in Firefox 3.
537 | * 4. Corrects alignment displayed oddly in IE 6/7.
538 | */
539 |
540 | legend {
541 | border: 0; /* 1 */
542 | padding: 0; /* 2 */
543 | @if $legacy_browser_support {
544 | white-space: normal; /* 3 */
545 | *margin-left: -7px; /* 4 */
546 | }
547 | }
548 |
549 | /**
550 | * Remove default vertical scrollbar in IE 8/9/10/11.
551 | */
552 |
553 | textarea {
554 | overflow: auto;
555 | }
556 |
557 | /**
558 | * Don't inherit the `font-weight` (applied by a rule above).
559 | * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
560 | */
561 |
562 | optgroup {
563 | font-weight: bold;
564 | }
565 |
566 | /* Tables
567 | ========================================================================== */
568 |
569 | /**
570 | * Remove most spacing between table cells.
571 | */
572 |
573 | table {
574 | border-collapse: collapse;
575 | border-spacing: 0;
576 | }
577 |
578 | td,
579 | th {
580 | padding: 0;
581 | }
582 |
--------------------------------------------------------------------------------
/Templates/html/css/scss/_object.scss:
--------------------------------------------------------------------------------
1 | .section-specification {
2 | table {
3 | width: auto;
4 |
5 | th {
6 | text-align: left;
7 | }
8 | }
9 | }
10 |
11 | .method-title {
12 | margin-left: -15px;
13 | margin-bottom: 8px;
14 | transition: margin-left .3s ease-out;
15 |
16 | .section-method.hide & {
17 | margin-left: 0;
18 | }
19 |
20 | code {
21 | font-weight: 400;
22 | font-size: .85em;
23 | }
24 | }
25 |
26 | .method-info {
27 | background: $object-background;
28 | border-bottom: 1px solid $object-border;
29 | margin: 0 -25px;
30 | padding: 20px 25px 0 25px;
31 | transition: height .3s ease-out;
32 |
33 | position: relative;
34 |
35 | .pointy-thing {
36 | background: $content-background;
37 | height: 10px;
38 | border-bottom: 1px solid $object-border;
39 | margin: -20px -25px 16px -25px;
40 |
41 | &:before {
42 | display: inline-block;
43 | content: "";
44 |
45 | background: $object-background;
46 | border: 1px solid $object-border;
47 | border-bottom: 0;
48 | border-right: 0;
49 |
50 | position: absolute;
51 | left: 21px;
52 | top: 3px;
53 | width: 12px;
54 | height: 12px;
55 | transform: rotate(45deg);
56 | }
57 | }
58 |
59 | .method-subsection {
60 | margin-bottom: 15px;
61 |
62 | .argument-name {
63 | width: 1px;
64 | text-align: right;
65 |
66 | code {
67 | color: #808080;
68 | font-style: italic;
69 | font-weight: 400;
70 | }
71 | }
72 | }
73 | }
74 |
75 | .section-method {
76 | &.hide .method-info {
77 | height: 0 !important;
78 | overflow: hidden;
79 | display: none;
80 | }
81 |
82 | &.hide.animating .method-info {
83 | display: block;
84 | }
85 |
86 | &.animating .method-info {
87 | overflow: hidden;
88 | }
89 | }
90 |
--------------------------------------------------------------------------------
/Templates/html/css/scss/_print.scss:
--------------------------------------------------------------------------------
1 | @media print {
2 | body {
3 | background: #fff;
4 | padding: 8px;
5 | }
6 |
7 | header {
8 | position: static;
9 | background: #fff;
10 | color: #000;
11 | }
12 |
13 | aside {
14 | display: none;
15 | }
16 |
17 | .container {
18 | max-width: none;
19 | padding: 0;
20 | }
21 |
22 | article {
23 | margin-top: 0;
24 |
25 | #content {
26 | border: 0;
27 | background: #fff;
28 | padding: 15px 0 0 0;
29 |
30 | .title {
31 | margin-top: 0;
32 | padding-top: 0;
33 | }
34 | }
35 | }
36 |
37 | .method-info {
38 | &, & .pointy-thing {
39 | background: #fff;
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/Templates/html/css/scss/_variables.scss:
--------------------------------------------------------------------------------
1 | $body-font: -apple-system-font, "Helvetica Neue", Helvetica, sans-serif;
2 | $code-font: "Source Code Pro", Monaco, Menlo, Consolas, monospace;
3 |
4 | $body-background: #f2f2f2;
5 | $content-background: #fff;
6 | $content-border: #e9e9e9;
7 | $tint-color: #08c;
8 | $object-background: #f9f9f9;
9 | $object-border: #e9e9e9;
10 |
11 | $mobile-max-width: 650px;
12 |
--------------------------------------------------------------------------------
/Templates/html/css/scss/_xcode.scss:
--------------------------------------------------------------------------------
1 | .xcode {
2 | header, aside {
3 | display: none;
4 | }
5 |
6 | .container {
7 | padding: 0;
8 | }
9 |
10 | article {
11 | margin-top: 0;
12 |
13 | #content {
14 | border: 0;
15 | margin: 0;
16 | }
17 | }
18 |
19 | .method-info {
20 | &, .section-method.hide & {
21 | max-height: auto;
22 | overflow: visible;
23 |
24 | &.hiding {
25 | display: block;
26 | }
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/Templates/html/css/scss/style.scss:
--------------------------------------------------------------------------------
1 | @import "variables", "normalize", "layout", "index", "object", "print", "xcode";
2 |
--------------------------------------------------------------------------------
/Templates/html/css/style.css:
--------------------------------------------------------------------------------
1 | html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box}.clear{clear:both}.clearfix:before,.container:before,article #content:before,article #content footer:before,.clearfix:after,.container:after,article #content:after,article #content footer:after{clear:both;display:table;content:""}.xcode .hide-in-xcode{display:none}body{font:62.5% -apple-system-font,"Helvetica Neue",Helvetica,sans-serif;background:#f2f2f2}h1,h2,h3{font-weight:300;color:gray}h1{font-size:2em;color:#000}h4{font-size:13px;line-height:1.5;margin:21px 0 0}a{color:#08c;text-decoration:none}pre,code{font-family:Source Code Pro,Monaco,Menlo,Consolas,monospace;word-wrap:break-word}pre>code,.method-declaration code{display:inline-block;font-size:.85em;padding:4px 0 4px 10px;border-left:5px solid rgba(0,155,51,.2)}pre>code:before,.method-declaration code:before{content:"Objective-C";display:block;font:9px/1 -apple-system-font,"Helvetica Neue",Helvetica,sans-serif;color:#009b33;text-transform:uppercase;letter-spacing:2px;padding-bottom:6px}pre>code{font-size:inherit}table,th,td{border:1px solid #e9e9e9}table{width:100%}th,td{padding:7px}th>:first-child,td>:first-child{margin-top:0}th>:last-child,td>:last-child{margin-bottom:0}.container{max-width:980px;padding:0 10px;margin:0 auto}@media(max-width:650px){.container{padding:0}}header{position:fixed;top:0;left:0;width:100%;z-index:2;background:#414141;color:#fff;font-size:1.1em;line-height:25px;letter-spacing:.05em}header #library-title{float:left}header #developer-home{float:right}header h1{font-size:inherit;font-weight:inherit;margin:0}header p{margin:0}header h1,header a{color:inherit}@media(max-width:650px){header{position:absolute}header .container{padding:0 10px}}aside{position:fixed;top:25px;left:0;width:100%;height:25px;z-index:2;font-size:1.1em}aside #header-buttons{background:rgba(255,255,255,.8);margin:0 1px;padding:0;list-style:none;text-align:right;line-height:32px}aside #header-buttons li{display:inline-block;cursor:pointer;padding:0 10px}aside #header-buttons label,aside #header-buttons select{cursor:inherit}aside #header-buttons #on-this-page{position:relative}aside #header-buttons #on-this-page .chevron{display:inline-block;width:14px;height:4px;position:relative}aside #header-buttons #on-this-page .chevron .chevy{background:#878787;height:2px;position:absolute;width:10px}aside #header-buttons #on-this-page .chevron .chevy.chevron-left{left:0;-webkit-transform:rotateZ(45deg) scale(.6);transform:rotateZ(45deg) scale(.6)}aside #header-buttons #on-this-page .chevron .chevy.chevron-right{right:0;-webkit-transform:rotateZ(-45deg) scale(.6);transform:rotateZ(-45deg) scale(.6)}aside #header-buttons #on-this-page #jump-to{opacity:0;filter:alpha(opacity=0);font-size:16px;position:absolute;top:5px;left:0;width:100%;height:100%}article{margin-top:25px}article #content{background:#fff;border:1px solid #e9e9e9;padding:15px 25px 30px;font-size:1.4em;line-height:1.45;position:relative}@media(max-width:650px){article #content{padding:15px 10px 20px}}article #content .navigation-top{position:absolute;top:15px;right:25px}article #content .title{margin:21px 0 0;padding:15px 0}article #content p{color:#414141;margin:0 0 15px}article #content th p:last-child,article #content td p:last-child{margin-bottom:0}article #content main ul{list-style:none;margin-left:24px;margin-bottom:12px;padding:0}article #content main ul li{position:relative;padding-left:1.3em}article #content main ul li:before{content:"\02022";color:#414141;font-size:1.08em;line-height:1;position:absolute;left:0;padding-top:2px}article #content footer .footer-copyright{margin:70px 25px 10px 0}article #content footer p{font-size:.71em;color:#a0a0a0}.index-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}@media(max-width:650px){.index-container{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}}.index-container .index-column{-webkit-box-flex:1;-webkit-flex:1 1 33%;-ms-flex:1 1 33%;flex:1 1 33%}.section-specification table{width:auto}.section-specification table th{text-align:left}.method-title{margin-left:-15px;margin-bottom:8px;-webkit-transition:margin-left .3s ease-out;transition:margin-left .3s ease-out}.section-method.hide .method-title{margin-left:0}.method-title code{font-weight:400;font-size:.85em}.method-info{background:#f9f9f9;border-bottom:1px solid #e9e9e9;margin:0 -25px;padding:20px 25px 0;-webkit-transition:height .3s ease-out;transition:height .3s ease-out;position:relative}.method-info .pointy-thing{background:#fff;height:10px;border-bottom:1px solid #e9e9e9;margin:-20px -25px 16px}.method-info .pointy-thing:before{display:inline-block;content:"";background:#f9f9f9;border:1px solid #e9e9e9;border-bottom:0;border-right:0;position:absolute;left:21px;top:3px;width:12px;height:12px;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.method-info .method-subsection{margin-bottom:15px}.method-info .method-subsection .argument-name{width:1px;text-align:right}.method-info .method-subsection .argument-name code{color:gray;font-style:italic;font-weight:400}.section-method.hide .method-info{height:0!important;overflow:hidden;display:none}.section-method.hide.animating .method-info{display:block}.section-method.animating .method-info{overflow:hidden}@media print{body{background:#fff;padding:8px}header{position:static;background:#fff;color:#000}aside{display:none}.container{max-width:none;padding:0}article{margin-top:0}article #content{border:0;background:#fff;padding:15px 0 0}article #content .title{margin-top:0;padding-top:0}.method-info,.method-info .pointy-thing{background:#fff}}.xcode header,.xcode aside{display:none}.xcode .container{padding:0}.xcode article{margin-top:0}.xcode article #content{border:0;margin:0}.xcode .section-method.hide .method-info,.xcode .section-method.hide.animating .method-info,.xcode .section-method.animating .method-info{height:auto!important;overflow:visible;display:block}.xcode .section-method.hide .method-title{margin-left:-15px}
2 | /*# sourceMappingURL=to.css.map */
--------------------------------------------------------------------------------
/Templates/html/document-template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{page.title}}
7 |
8 |
9 |
10 | {{#strings.appledocData}}{{/strings.appledocData}}
11 |
12 |
13 |
26 |
27 |
36 |
37 |
38 |
39 |
40 |
41 | {{page.title}}
42 |
43 | {{#object.comment}}{{#longDescription}}{{>GBCommentComponentsList}}{{/longDescription}}{{/object.comment}}
44 |
45 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 | Section GBCommentComponentsList
66 | {{#components}}{{>GBCommentComponent}}{{/components}}
67 | EndSection
68 |
69 | Section GBCommentComponent
70 | {{&htmlValue}}
71 | EndSection
72 |
73 | Section Navigation
74 | Home
75 | EndSection
76 |
--------------------------------------------------------------------------------
/Templates/html/hierarchy-template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{page.title}}
7 |
8 |
9 |
10 | {{#strings.appledocData}}{{/strings.appledocData}}
11 |
12 |
13 |
26 |
27 |
36 |
37 |
38 |
39 |
40 |
41 | {{page.title}}
42 |
43 | {{#hasClasses}}
44 |
45 |
{{strings.hierarchyPage.classesTitle}}
46 | {{>Classes}}
47 |
48 | {{/hasClasses}}
49 |
50 | {{#hasProtocolsOrCategories}}
51 |
52 | {{#hasProtocols}}
53 |
{{strings.hierarchyPage.protocolsTitle}}
54 |
55 | {{#protocols}}
56 | - {{title}}
57 | {{/protocols}}
58 |
59 | {{/hasProtocols}}
60 | {{#hasConstants}}
61 |
{{strings.hierarchyPage.constantsTitle}}
62 |
63 | {{#constants}}
64 | - {{title}}
65 | {{/constants}}
66 |
67 | {{/hasConstants}}
68 | {{#hasCategories}}
69 |
{{strings.hierarchyPage.categoriesTitle}}
70 |
71 | {{#categories}}
72 | - {{title}}
73 | {{/categories}}
74 |
75 | {{/hasCategories}}
76 |
77 | {{/hasProtocolsOrCategories}}
78 |
79 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 | Section Classes
99 | {{#hasClasses}}
100 |
105 | {{/hasClasses}}
106 | EndSection
107 |
108 | Section Navigation
109 | Home
110 | EndSection
111 |
--------------------------------------------------------------------------------
/Templates/html/img/button_bar_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Minlison/MLSAppleDoc/d5b63def982ba603825642725d03a0316ea5eaf1/Templates/html/img/button_bar_background.png
--------------------------------------------------------------------------------
/Templates/html/img/disclosure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Minlison/MLSAppleDoc/d5b63def982ba603825642725d03a0316ea5eaf1/Templates/html/img/disclosure.png
--------------------------------------------------------------------------------
/Templates/html/img/disclosure_open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Minlison/MLSAppleDoc/d5b63def982ba603825642725d03a0316ea5eaf1/Templates/html/img/disclosure_open.png
--------------------------------------------------------------------------------
/Templates/html/img/library_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Minlison/MLSAppleDoc/d5b63def982ba603825642725d03a0316ea5eaf1/Templates/html/img/library_background.png
--------------------------------------------------------------------------------
/Templates/html/img/title_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Minlison/MLSAppleDoc/d5b63def982ba603825642725d03a0316ea5eaf1/Templates/html/img/title_background.png
--------------------------------------------------------------------------------
/Templates/html/index-template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{page.title}}
7 |
8 |
9 |
10 | {{#strings.appledocData}}{{/strings.appledocData}}
11 |
12 |
13 |
26 |
27 |
36 |
37 |
38 |
39 |
40 |
41 | {{page.title}}
42 |
43 | {{#indexDescription}}
44 |
45 | {{#comment}}
46 | {{#hasLongDescription}}
47 | {{#longDescription}}{{#components}}{{&htmlValue}}{{/components}}{{/longDescription}}
48 | {{/hasLongDescription}}
49 | {{/comment}}
50 |
51 | {{/indexDescription}}
52 |
53 |
54 | {{#hasDocs}}
55 |
56 |
{{strings.indexPage.docsTitle}}
57 |
58 | {{#docs}}
59 | - {{title}}
60 | {{/docs}}
61 |
62 |
63 | {{/hasDocs}}
64 |
65 | {{#hasClasses}}
66 |
67 |
{{strings.indexPage.classesTitle}}
68 |
69 | {{#classes}}
70 | - {{title}}
71 | {{/classes}}
72 |
73 |
74 | {{/hasClasses}}
75 |
76 | {{#hasProtocolsOrCategories}}
77 |
78 | {{#hasProtocols}}
79 |
{{strings.indexPage.protocolsTitle}}
80 |
81 | {{#protocols}}
82 | - {{title}}
83 | {{/protocols}}
84 |
85 | {{/hasProtocols}}
86 |
87 | {{#hasConstants}}
88 |
{{strings.indexPage.constantsTitle}}
89 |
90 | {{#constants}}
91 | - {{title}}
92 | {{/constants}}
93 |
94 | {{/hasConstants}}
95 |
96 | {{#hasCategories}}
97 |
{{strings.indexPage.categoriesTitle}}
98 |
99 | {{#categories}}
100 | - {{title}}
101 | {{/categories}}
102 |
103 | {{/hasCategories}}
104 |
105 | {{/hasProtocolsOrCategories}}
106 |
107 |
108 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 | Section Navigation
128 | Hierarchy
129 | EndSection
130 |
--------------------------------------------------------------------------------
/Templates/html/js/script.js:
--------------------------------------------------------------------------------
1 | function $() {
2 | return document.querySelector.apply(document, arguments);
3 | }
4 |
5 | if (navigator.userAgent.indexOf("Xcode") != -1) {
6 | document.documentElement.classList.add("xcode");
7 | }
8 |
9 | var jumpTo = $("#jump-to");
10 |
11 | if (jumpTo) {
12 | jumpTo.addEventListener("change", function(e) {
13 | location.hash = this.options[this.selectedIndex].value;
14 | });
15 | }
16 |
17 | function hashChanged() {
18 | if (/^#\/\/api\//.test(location.hash)) {
19 | var element = document.querySelector("a[name='" + location.hash.substring(1) + "']");
20 |
21 | if (!element) {
22 | return;
23 | }
24 |
25 | element = element.parentNode;
26 |
27 | element.classList.remove("hide");
28 | fixScrollPosition(element);
29 | }
30 | }
31 |
32 | function fixScrollPosition(element) {
33 | var scrollTop = element.offsetTop - 150;
34 | document.documentElement.scrollTop = scrollTop;
35 | document.body.scrollTop = scrollTop;
36 | }
37 |
38 | [].forEach.call(document.querySelectorAll(".section-method"), function(element) {
39 | element.classList.add("hide");
40 |
41 | element.querySelector(".method-title a").addEventListener("click", function(e) {
42 | var info = element.querySelector(".method-info"),
43 | infoContainer = element.querySelector(".method-info-container");
44 |
45 | element.classList.add("animating");
46 | info.style.height = (infoContainer.clientHeight + 40) + "px";
47 | fixScrollPosition(element);
48 | element.classList.toggle("hide");
49 |
50 | setTimeout(function() {
51 | element.classList.remove("animating");
52 | info.style.height = "auto";
53 | }, 300);
54 | });
55 | });
56 |
57 | window.addEventListener("hashchange", hashChanged);
58 | hashChanged();
59 |
--------------------------------------------------------------------------------
/Templates/html/object-template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{page.title}}
7 |
8 |
9 |
10 | {{#strings.appledocData}}{{/strings.appledocData}}
11 |
12 |
13 |
26 |
27 |
49 |
50 |
51 |
52 |
53 |
54 | {{page.title}}
55 |
56 | {{#page.specifications}}
57 | {{#used}}{{/used}}
58 | {{#values}}{{>ObjectSpecification}}{{/values}}
59 | {{#used}}
{{/used}}
60 | {{/page.specifications}}
61 |
62 | {{#object.comment}}
63 | {{#hasLongDescription}}
64 |
65 |
66 |
{{strings.objectOverview.title}}
67 | {{#longDescription}}{{>GBCommentComponentsList}}{{/longDescription}}
68 |
69 | {{/hasLongDescription}}
70 | {{/object.comment}}
71 |
72 | {{#object.methods}}
73 | {{#hasSections}}
74 |
75 |
76 | {{#sections}}
77 |
78 | {{#sectionName}}
{{/sectionName}}
79 | {{>TaskTitle}}
80 |
81 | {{#methods}}{{>Method}}{{/methods}}
82 |
83 | {{/sections}}
84 |
85 | {{/hasSections}}
86 | {{/object.methods}}
87 |
88 | {{#typedefEnum}}
89 | {{nameOfEnum}}
90 | {{#comment}}
91 | {{#hasLongDescription}}
92 |
93 | {{#longDescription}}{{>GBCommentComponentsList}}{{/longDescription}}
94 |
95 | {{/hasLongDescription}}
96 | {{/comment}}
97 |
98 |
99 | {{#constants}}
100 |
Definition
101 |
typedef {{enumStyle}}({{enumPrimitive}}, {{nameOfEnum}} ) {
102 | {{#constants}}
103 | {{name}}{{#hasAssignedValue}} = {{assignedValue}}{{/hasAssignedValue}},
104 | {{/constants}}
105 | };
106 | {{/constants}}
107 |
108 | {{#constants}}
109 |
110 |
Constants
111 |
112 | {{#constants}}
113 | {{>Constant}}
114 | {{/constants}}
115 |
116 |
117 | {{/constants}}
118 |
119 | {{#comment}}
120 | {{#hasAvailability}}
121 |
122 |
{{strings.objectMethods.availability}}
123 | {{#availability}}{{>GBCommentComponentsList}}{{/availability}}
124 |
125 | {{/hasAvailability}}
126 |
127 | {{#hasRelatedItems}}
128 |
129 |
{{strings.objectMethods.seeAlsoTitle}}
130 |
131 | {{#relatedItems.components}}
132 | {{>GBCommentComponent}}
133 | {{/relatedItems.components}}
134 |
135 |
136 | {{/hasRelatedItems}}
137 |
138 | {{#prefferedSourceInfo}}
139 |
140 |
{{strings.objectMethods.declaredInTitle}}
141 |
{{filename}}
142 |
143 | {{/prefferedSourceInfo}}
144 | {{/comment}}
145 | {{/typedefEnum}}
146 |
147 |
148 |
158 |
159 |
160 |
161 |
162 |
163 |
164 |
165 |
166 |
167 | Section Method
168 |
169 |
170 |
{{>TaskMethod}}
171 |
172 |
173 |
174 |
175 |
176 | {{#comment}}
177 | {{#hasShortDescription}}
178 |
179 | {{#shortDescription}}{{>GBCommentComponent}}{{/shortDescription}}
180 |
181 | {{/hasShortDescription}}
182 | {{/comment}}
183 |
184 |
{{>MethodDeclaration}}
185 |
186 | {{#comment}}
187 | {{#hasMethodParameters}}
188 |
189 |
{{strings.objectMethods.parametersTitle}}
190 |
191 | {{#methodParameters}}
192 |
193 | {{argumentName}} |
194 | {{#argumentDescription}}{{>GBCommentComponentsList}}{{/argumentDescription}} |
195 |
196 | {{/methodParameters}}
197 |
198 |
199 | {{/hasMethodParameters}}
200 |
201 | {{#hasMethodResult}}
202 |
203 |
{{strings.objectMethods.resultTitle}}
204 | {{#methodResult}}{{>GBCommentComponentsList}}{{/methodResult}}
205 |
206 | {{/hasMethodResult}}
207 |
208 | {{#hasAvailability}}
209 |
210 |
{{strings.objectMethods.availability}}
211 | {{#availability}}{{>GBCommentComponentsList}}{{/availability}}
212 |
213 | {{/hasAvailability}}
214 |
215 | {{#hasLongDescription}}
216 |
217 |
{{strings.objectMethods.discussionTitle}}
218 | {{#longDescription}}{{>GBCommentComponentsList}}{{/longDescription}}
219 |
220 | {{/hasLongDescription}}
221 |
222 | {{#hasMethodExceptions}}
223 |
224 |
{{strings.objectMethods.exceptionsTitle}}
225 |
226 | {{#methodExceptions}}
227 |
228 | {{argumentName}} |
229 | {{#argumentDescription}}{{>GBCommentComponentsList}}{{/argumentDescription}} |
230 |
231 | {{/methodExceptions}}
232 |
233 |
234 | {{/hasMethodExceptions}}
235 |
236 | {{#hasRelatedItems}}
237 |
238 |
{{strings.objectMethods.seeAlsoTitle}}
239 |
240 | {{#relatedItems.components}}
241 | {{>GBCommentComponent}}
242 | {{/relatedItems.components}}
243 |
244 |
245 | {{/hasRelatedItems}}
246 |
247 | {{#prefferedSourceInfo}}
248 |
249 |
{{strings.objectMethods.declaredInTitle}}
250 |
{{filename}}
251 |
252 | {{/prefferedSourceInfo}}
253 | {{/comment}}
254 |
255 |
256 |
257 | EndSection
258 |
259 | Section MethodDeclaration
260 | {{#formattedComponents}}{{#emphasized}}{{/emphasized}}{{#href}}{{/href}}{{value}}{{#href}}{{/href}}{{#emphasized}}{{/emphasized}}{{/formattedComponents}}
261 | EndSection
262 |
263 |
264 | Section TaskTitle
265 | {{#hasMultipleSections}}{{#sectionName}}{{.}}{{/sectionName}}{{^sectionName}}{{strings.objectTasks.otherMethodsSectionName}}{{/sectionName}}
{{/hasMultipleSections}}
266 | {{^hasMultipleSections}}{{#sectionName}}{{.}}
{{/sectionName}}{{/hasMultipleSections}}
267 | EndSection
268 |
269 | Section TaskMethod
270 | {{>TaskSelector}}
271 | {{#isRequired}}{{strings.objectTasks.requiredMethod}}{{/isRequired}}
272 | EndSection
273 |
274 | Section TaskSelector
275 | {{#isInstanceMethod}}–{{/isInstanceMethod}}{{#isClassMethod}}+{{/isClassMethod}}{{#isProperty}} {{/isProperty}} {{methodSelector}}
276 | EndSection
277 |
278 |
279 | Section GBCommentComponentsList
280 | {{#components}}{{>GBCommentComponent}}{{/components}}
281 | EndSection
282 |
283 | Section Constant
284 | {{name}}
285 |
286 | {{#comment}}
287 | {{#hasShortDescription}}
288 | {{#shortDescription}}{{>GBCommentComponent}}{{/shortDescription}}
289 | {{/hasShortDescription}}
290 |
291 | {{#hasAvailability}}
292 | Available in {{#availability}}{{#components}}{{stringValue}}{{/components}}{{/availability}}
293 | {{/hasAvailability}}
294 |
295 | {{/comment}}
296 | {{#prefferedSourceInfo}}
297 |
298 | {{strings.objectMethods.declaredInTitle}} {{filename}}
.
299 |
300 | {{/prefferedSourceInfo}}
301 |
302 | EndSection
303 |
304 | Section GBCommentComponent
305 | {{&htmlValue}}
306 | EndSection
307 |
308 | Section ObjectSpecification
309 |
310 | {{title}} |
311 | {{#values}}{{#href}}{{/href}}{{string}}{{#href}}{{/href}}{{&delimiter}}{{/values}} |
312 |
313 | EndSection
314 |
315 |
316 | Section Navigation
317 | Index
318 | Hierarchy
319 | EndSection
320 |
321 | Section JumpTo
322 |
360 | EndSection
361 |
362 | Section TableOfContents
363 | {{#object.comment}}
364 | {{strings.objectOverview.title}}
365 | {{/object.comment}}
366 |
367 | {{#object.methods}}
368 | {{#hasSections}}
369 | {{strings.objectTasks.title}}
374 | {{/hasSections}}
375 | {{/object.methods}}
376 |
377 | {{#object.methods}}
378 | {{#hasProperties}}
379 | {{strings.objectMethods.propertiesTitle}}
384 | {{/hasProperties}}
385 |
386 | {{#hasClassMethods}}
387 | {{strings.objectMethods.classMethodsTitle}}
392 | {{/hasClassMethods}}
393 |
394 | {{#hasInstanceMethods}}
395 | {{strings.objectMethods.instanceMethodsTitle}}
400 | {{/hasInstanceMethods}}
401 | {{/object.methods}}
402 | EndSection
403 |
--------------------------------------------------------------------------------
/Templates/index_temp.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | MinLison 模块化中心文档
7 |
8 |
9 |
10 |
12 |
13 |
24 |
25 |
26 |
27 |
28 |
29 | MinLison 模块化中心
30 | {{Moudles}}
31 |
36 |
37 |
38 |
39 |
40 |
41 |
101 |
102 |
--------------------------------------------------------------------------------
/Templates/markdown/markdown-template.md:
--------------------------------------------------------------------------------
1 |
2 | # {{page.title}}
3 | {{#page.specifications}}
4 | {{#values}}{{>ObjectSpecification}}{{/values}}
5 | {{/page.specifications}}
6 |
7 | {{#object.comment}}{{#hasLongDescription}}
8 | ## {{strings.objectOverview.title}}
9 | {{#longDescription}}
10 | {{>GBCommentComponentsList}}
11 | {{/longDescription}}
12 | {{/hasLongDescription}}
13 | {{/object.comment}}
14 |
15 | {{#object.methods}}
16 | {{#hasSections}}
17 | ## {{strings.objectTasks.title}}
18 | {{#sections}}
19 | {{>TaskTitle}}
20 | {{#methods}}
21 | {{>TaskMethod}}
22 | {{/methods}}
23 | {{/sections}}
24 | {{/hasSections}}
25 | {{/object.methods}}
26 |
27 | {{#object.methods}}
28 | {{#hasProperties}}
29 | ## {{strings.objectMethods.propertiesTitle}}
30 | {{#properties}}
31 | {{>Method}}
32 | {{/properties}}
33 | {{/hasProperties}}
34 | {{#hasClassMethods}}
35 |
36 | ## {{strings.objectMethods.classMethodsTitle}}
37 | {{#classMethods}}
38 | {{>Method}}
39 | {{/classMethods}}
40 | {{/hasClassMethods}}
41 | {{#hasInstanceMethods}}
42 |
43 | ## {{strings.objectMethods.instanceMethodsTitle}}
44 | {{#instanceMethods}}
45 | {{>Method}}
46 | {{/instanceMethods}}
47 | {{/hasInstanceMethods}}
48 | {{/object.methods}}
49 |
50 | {{#typedefEnum}}
51 | ### {{nameOfEnum}}
52 | {{#comment}}
53 | {{#hasLongDescription}}
54 | {{#longDescription}}{{>GBCommentComponentsList}}{{/longDescription}}
55 | {{/hasLongDescription}}
56 | {{/comment}}
57 | {{#constants}}
58 | #### Definition
59 | typedef {{enumStyle}}({{enumPrimitive}}, {{nameOfEnum}} ) {
60 | {{#constants}}
61 | {{name}}{{#hasAssignedValue}} = {{assignedValue}}{{/hasAssignedValue}},
62 | {{/constants}}
63 | };
64 | {{/constants}}
65 | {{#constants}}
66 | #### Constants
67 | {{#constants}}
68 | {{>Constant}}
69 | {{/constants}}
70 | {{/constants}}
71 | {{#comment}}
72 | {{#hasAvailability}}
73 | #### {{strings.objectMethods.availability}}
74 | {{#availability}}{{>GBCommentComponentsList}}{{/availability}}
75 | {{/hasAvailability}}
76 | {{#hasRelatedItems}}
77 | #### {{strings.objectMethods.seeAlsoTitle}}
78 | {{#relatedItems.components}}
79 | * `{{>GBCommentComponent}}`
80 | {{/relatedItems.components}}
81 | {{/hasRelatedItems}}
82 | {{#prefferedSourceInfo}}
83 | #### {{strings.objectMethods.declaredInTitle}}
84 | `{{filename}}`
85 | {{/prefferedSourceInfo}}
86 | {{/comment}}
87 | {{/typedefEnum}}
88 |
89 | {{#typedefBlock}}
90 |
91 | ## {{strings.objectMethods.blockDefTitle}}
92 | {{>BlocksDefList}}
93 | {{/typedefBlock}}
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 | Section ObjectSpecification
102 | **{{title}}** {{#values}}{{#href}}{{/href}}{{string}}{{#href}}{{/href}}{{&delimiter}}
103 | {{/values}}
104 | EndSection
105 |
106 | Section GBCommentComponentsList
107 | {{#components}}{{>GBCommentComponent}}{{/components}}
108 | EndSection
109 |
110 | Section GBCommentComponent
111 | {{&htmlValue}}
112 | EndSection
113 |
114 | Section TaskTitle
115 | {{#hasMultipleSections}}
116 | ### {{#sectionName}}{{.}}{{/sectionName}}{{^sectionName}}{{strings.objectTasks.otherMethodsSectionName}}{{/sectionName}}
117 | {{/hasMultipleSections}}
118 | {{^hasMultipleSections}}
119 | ### {{#sectionName}}{{.}}{{/sectionName}}
120 | {{/hasMultipleSections}}
121 | EndSection
122 |
123 | Section TaskMethod
124 | [{{>TaskSelector}}]({{htmlLocalReference}}) {{#isProperty}}*{{strings.objectTasks.property}}*{{/isProperty}} {{#isRequired}}*{{strings.objectTasks.requiredMethod}}*{{/isRequired}}
125 | EndSection
126 |
127 | Section TaskSelector
128 | {{#isInstanceMethod}}– {{/isInstanceMethod}}{{#isClassMethod}}+ {{/isClassMethod}}{{#isProperty}} {{/isProperty}}{{methodSelector}}
129 | EndSection
130 |
131 |
132 | Section Method
133 |
134 | ### {{methodSelector}}
135 | {{#comment}}
136 | {{#hasShortDescription}}
137 | {{#shortDescription}}{{>GBCommentComponent}}{{/shortDescription}}
138 | {{/hasShortDescription}}
139 | {{/comment}}
140 | `{{>MethodDeclaration}}`
141 | {{#comment}}
142 | {{#hasMethodParameters}}
143 | #### {{strings.objectMethods.parametersTitle}}
144 | {{#methodParameters}}
145 | *{{argumentName}}*
146 | {{#argumentDescription}}{{>GBCommentComponentsList}}{{/argumentDescription}}
147 | {{/methodParameters}}
148 | {{/hasMethodParameters}}
149 | {{#hasMethodResult}}
150 | #### {{strings.objectMethods.resultTitle}}
151 | {{#methodResult}}{{>GBCommentComponentsList}}{{/methodResult}}
152 | {{/hasMethodResult}}
153 | {{#hasAvailability}}
154 | #### {{strings.objectMethods.availability}}
155 | {{#availability}}{{>GBCommentComponentsList}}{{/availability}}
156 | {{/hasAvailability}}
157 | {{#hasLongDescription}}
158 | #### {{strings.objectMethods.discussionTitle}}
159 | {{#longDescription}}{{>GBCommentComponentsList}}{{/longDescription}}
160 | {{/hasLongDescription}}
161 | {{#hasMethodExceptions}}
162 | #### {{strings.objectMethods.exceptionsTitle}}
163 | {{#methodExceptions}}
164 | *{{argumentName}}*
165 | {{#argumentDescription}}{{>GBCommentComponentsList}}{{/argumentDescription}}
166 | {{/methodExceptions}}
167 | {{/hasMethodExceptions}}
168 | {{#hasRelatedItems}}
169 | #### {{strings.objectMethods.seeAlsoTitle}}
170 | {{#relatedItems.components}}
171 | * `{{>GBCommentComponent}}`
172 | {{/relatedItems.components}}
173 | {{/hasRelatedItems}}
174 | {{#prefferedSourceInfo}}
175 | #### {{strings.objectMethods.declaredInTitle}}
176 | * `{{filename}}`
177 | {{/prefferedSourceInfo}}
178 | {{/comment}}
179 | EndSection
180 |
181 | Section MethodDeclaration
182 | {{#formattedComponents}}{{#emphasized}}*{{/emphasized}}{{#href}}{{/href}}{{value}}{{#href}}{{/href}}{{#emphasized}}*{{/emphasized}}{{/formattedComponents}}
183 | EndSection
184 |
185 |
186 | Section Constant
187 | {{name}}
188 | {{#comment}}
189 | {{#hasShortDescription}}
190 | {{#shortDescription}}{{>GBCommentComponent}}{{/shortDescription}}
191 | {{/hasShortDescription}}
192 | {{#hasAvailability}}
193 | Available in {{#availability}}{{#components}}{{stringValue}}{{/components}}{{/availability}}
194 | {{/hasAvailability}}
195 | {{/comment}}
196 | {{#prefferedSourceInfo}}
197 | {{strings.objectMethods.declaredInTitle}} `{{filename}}`.
198 | {{/prefferedSourceInfo}}
199 | EndSection
200 |
201 |
202 |
203 |
204 | Section BlocksDefList
205 | ### {{nameOfBlock}}
206 | {{#comment}}
207 | {{#hasShortDescription}}
208 | {{#shortDescription}}{{>GBCommentComponent}}{{/shortDescription}}
209 | {{/hasShortDescription}}
210 | {{/comment}}
211 | typedef {{returnType}} (^{{nameOfBlock}}) ({{&htmlParameterList}})
212 | {{#comment}}
213 | {{#hasLongDescription}}
214 | #### {{strings.objectMethods.discussionTitle}}
215 | {{#longDescription}}{{>GBCommentComponentsList}}{{/longDescription}}
216 | {{/hasLongDescription}}
217 | {{/comment}}
218 | {{#comment}}
219 | {{#hasAvailability}}
220 | #### {{strings.objectMethods.availability}}
221 | {{#availability}}{{>GBCommentComponentsList}}{{/availability}}
222 | {{/hasAvailability}}
223 | {{#hasRelatedItems}}
224 | #### {{strings.objectMethods.seeAlsoTitle}}
225 | {{#relatedItems.components}}
226 | * {{>GBCommentComponent}}
227 | {{/relatedItems.components}}
228 | {{/hasRelatedItems}}
229 | {{#prefferedSourceInfo}}
230 | #### {{strings.objectMethods.declaredInTitle}}
231 | {{filename}}
232 | {{/prefferedSourceInfo}}
233 | {{/comment}}
234 | EndSection
235 |
--------------------------------------------------------------------------------
/Templates/publish/xml-template.xml:
--------------------------------------------------------------------------------
1 |
2 | ${DOCSET_FEED_VERSION}
3 | ${DOCSET_PACKAGE_URL}
4 |
--------------------------------------------------------------------------------
/appledoc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Minlison/MLSAppleDoc/d5b63def982ba603825642725d03a0316ea5eaf1/appledoc
--------------------------------------------------------------------------------
/appledoc.sh:
--------------------------------------------------------------------------------
1 | #mkdir ./docs
2 | # ./appledoc ./ >> ./appdoclog.txt
3 |
4 | pushd `dirname $0` > /dev/null
5 | WORKING_PATH=`pwd`
6 | PROJECT_PATH=$1
7 |
8 | popd > /dev/null
9 | declare -a DOC_THML_FILE_INDEXS
10 | declare -a DOC_THML_MOUDLE_NAME_INDEXS
11 | APPDOC_INDEX=0
12 | DOC_HTML_INDEX_RELEATE_PATH=/docs/html/index.html
13 | for file in `find ${PROJECT_PATH} -name AppledocSettings.plist`; do
14 | DOC_PATH=${file%/*}
15 | DOC_FILE_PATH=${DOC_PATH}/docs
16 |
17 | if [[ ! -d $DOC_FILE_PATH ]]; then
18 | mkdir $DOC_FILE_PATH
19 | fi
20 | if [[ $DOC_PATH != $WORKING_PATH ]] || [[ ! -f $DOC_PATH/appledoc ]]; then
21 | cp ./appledoc ${DOC_PATH}/appledoc
22 | rsync -avr --copy-links --no-relative ./Templates $DOC_PATH
23 | cd ${DOC_PATH}
24 | ./appledoc ./ >> ./appledoc.log
25 | HTML_INDEX_FILE=${DOC_PATH}${DOC_HTML_INDEX_RELEATE_PATH}
26 | if [[ -f ${HTML_INDEX_FILE} ]]; then
27 | DOC_INDEX_PATH_TMP=${DOC_PATH/${WORKING_PATH}/.}${DOC_HTML_INDEX_RELEATE_PATH}
28 | DOC_THML_FILE_INDEXS[APPDOC_INDEX]=$DOC_INDEX_PATH_TMP
29 | TEMP=${DOC_INDEX_PATH_TMP/${DOC_HTML_INDEX_RELEATE_PATH}/""}
30 | TEMP=${TEMP##*/}
31 | DOC_THML_MOUDLE_NAME_INDEXS[APPDOC_INDEX]=$TEMP
32 | let APPDOC_INDEX++
33 | fi
34 | rm -r -f ${DOC_PATH}/Templates
35 | rm ${DOC_PATH}/appledoc
36 | rm ${DOC_PATH}/appledoc.log
37 | cd ${WORKING_PATH}
38 | else
39 | ./appledoc ./ >> ./appledoc.log
40 | DOC_INDEX_PATH_TMP=${DOC_PATH/${WORKING_PATH}/.}${DOC_HTML_INDEX_RELEATE_PATH}
41 | DOC_THML_FILE_INDEXS[APPDOC_INDEX]=$DOC_INDEX_PATH_TMP
42 | TEMP=${WORKING_PATH##*/}
43 | DOC_THML_MOUDLE_NAME_INDEXS[APPDOC_INDEX]=${TEMP}
44 | let APPDOC_INDEX++
45 | fi
46 | done
47 | # 网络
48 | #
49 | if [[ -f "${WORKING_PATH}/index.html" ]]; then
50 | rm ${WORKING_PATH}/index.html
51 | fi
52 | INDEX_HTML_A_STR=""
53 | INDEX_HTML_TEMP_FILE=`cat ${WORKING_PATH}/Templates/index_temp.html`
54 | INDEX_HTML_REPLACE_STR=""
55 | APPDOC_INDEX=0
56 | for MODULE_INDEX in ${DOC_THML_FILE_INDEXS[*]}; do
57 | TMP_HTML_A_STR=${INDEX_HTML_A_STR/PATH/\"${MODULE_INDEX}\"}
58 | TMP_HTML_A_STR=${TMP_HTML_A_STR/NAME/${DOC_THML_MOUDLE_NAME_INDEXS[APPDOC_INDEX]}}
59 | INDEX_HTML_REPLACE_STR=$INDEX_HTML_REPLACE_STR""$TMP_HTML_A_STR
60 | let APPDOC_INDEX++
61 | done
62 | INDEX_HTML_TEMP_FILE=${INDEX_HTML_TEMP_FILE/"{{Moudles}}"/${INDEX_HTML_REPLACE_STR}}
63 |
64 | echo $INDEX_HTML_TEMP_FILE > ${WORKING_PATH}/index.html
65 |
66 | unset DOC_THML_MOUDLE_NAME_INDEXS
67 | unset DOC_THML_FILE_INDEXS
68 |
69 | echo "-------Success---------"
70 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 | MinLison 模块化中心文档
2 |
--------------------------------------------------------------------------------