Skip to content

Commit 945df32

Browse files
committed
updates the docs repository proposal
- explicitly lists all files in /documentation from swift.org to identify a migration plan for it - updates future directions to reflect DocC content now in the Swift GH repo for the compiler - annotated some files within server guides that are known to be incomplete or inaccurate for removal and redirect only - acknowledges swift/java interop as likely needing it's own location separate from Swift and C/C++ interop - adds migration plans now that Swift also has a project-operations GH repository
1 parent ef765ef commit 945df32

File tree

1 file changed

+70
-24
lines changed

1 file changed

+70
-24
lines changed

_info-architecture/0003-swift-docs-proposal.md

Lines changed: 70 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,9 @@ Like the Swift Embedded examples repository, it benefits from close proximity be
128128

129129
### Swift Docs Repository Content
130130

131-
Based on my review of existing content in Swift.org, I'd propose the following initial collections to include existing articles:
131+
Based on the existing content in Swift.org, migrate the majority of the content into DocC format, grouped into the collection sets below. A few exceptions are detailed after the file names, to accomodate very out of date content, or content that's already replicated in other locations.
132+
133+
All the key markdown files would remain in `/documentation` as they are today, with their front matter (Jekyll metadata) updated to redirect the URL requests to the new locations when content has been translated and accepted into the new docs repository. Markdown files prefixed with `_` are typically only included in other files and not referenced by URL, and are to be removed when the relevant content is migrated.
132134

133135
- API guidelines
134136

@@ -137,37 +139,43 @@ Based on my review of existing content in Swift.org, I'd propose the following i
137139
- Server guides
138140

139141
- documentation/server/index.md
142+
143+
- documentation/server/guides/index.md
144+
- documentation/server/guides/building.md
145+
- documentation/server/guides/testing.md
140146
- documentation/server/guides/memory-leaks-and-usage.md
141-
- documentation/server/guides/packaging.md
142147
- documentation/server/guides/allocations.md
143-
- documentation/server/guides/libraries
144-
- documentation/server/guides/libraries/log-levels.md
145-
- documentation/server/guides/libraries/concurrency-adoption-guidelines.md
146-
- documentation/server/guides/testing.md
147-
- documentation/server/guides/performance.md
148-
- documentation/server/guides/linux-perf.md
148+
- documentation/server/guides/linux-perf.md
149+
- documentation/server/guides/performance.md
150+
151+
- documentation/server/guides/llvm-sanitizers.md
149152
- documentation/server/guides/deployment.md
150-
- documentation/server/guides/index.md
151-
- documentation/server/guides/deploying/heroku.md
152-
- documentation/server/guides/deploying/ubuntu.md
153-
- documentation/server/guides/deploying/gcp.md
154-
- documentation/server/guides/deploying/digital-ocean.md
153+
- documentation/server/guides/packaging.md
154+
- documentation/server/guides/passkeys.md
155+
156+
- documentation/server/guides/libraries/log-levels.md: migrate content into swift-log
157+
- documentation/server/guides/libraries/concurrency-adoption-guidelines.md: remove content & redirect link to existing migration guide
158+
159+
- documentation/server/guides/deploying/aws-sam-lambda.md
155160
- documentation/server/guides/deploying/aws-copilot-fargate-vapor-mongo.md
156161
- documentation/server/guides/deploying/aws.md
157-
- documentation/server/guides/deploying/aws-sam-lambda.md
158-
- documentation/server/guides/building.md
159-
- documentation/server/guides/llvm-sanitizers.md
160-
- documentation/server/guides/passkeys.md
162+
- documentation/server/guides/deploying/digital-ocean.md
163+
- documentation/server/guides/deploying/ubuntu.md
164+
- documentation/server/guides/deploying/heroku.md
165+
- documentation/server/guides/deploying/gcp.md
161166
- documentation/articles/static-linux-getting-started.md
162167

163-
- Interop Guides
168+
- C/C++ Interop Guides
164169

165-
- documentation/articles/wrapping-c-cpp-library-in-swift.md
170+
- documentation/cxx-interop/index.md
171+
- documentation/cxx-interop/safe-interop/index.md
166172
- documentation/cxx-interop/project-build-setup/index.md
173+
- documentation/cxx-interop/status/index.md
174+
- documentation/articles/wrapping-c-cpp-library-in-swift.md
167175

168176
- Swift Language Guides
169177

170-
- possibly seeding this and re-organizing it with content from https://github.com/swiftlang/swift-migration-guide
178+
- migrate all of these pieces into https://github.com/swiftlang/swift-migration-guide
171179
- documentation/articles/value-and-reference-types.md
172180
- migration-guide-swift3/_migration-guide.md
173181
- migration-guide-swift3/se-0107-migrate.md
@@ -178,16 +186,52 @@ Based on my review of existing content in Swift.org, I'd propose the following i
178186
- migration-guide-swift4.2/index.md
179187
- migration-guide-swift5/_migration-guide.md
180188
- migration-guide-swift5/index.md
181-
- documentation/concurrency/index.md
182-
- documentation/lldb/_playground-support.md
183-
- documentation/lldb/index.md
189+
- documentation/concurrency/index.md (redirect only, its content is effectively already there)
184190

185191
- Tool Guides
186192

187193
- documentation/articles/zero-to-swift-nvim.md
188194
- documentation/articles/zero-to-swift-emacs.md
189195
- documentation/articles/getting-started-with-vscode-swift.md
190196

197+
- WASM
198+
199+
- documentation/articles/wasm-getting-started.md
200+
201+
### Swift.org documentation files & directories remaining:
202+
203+
- Remain on swift.org
204+
- documentation/core-libraries/index.md
205+
- documentation/core-libraries/_foundation.md
206+
- documentation/core-libraries/_libdispatch.md
207+
- documentation/core-libraries/_swift-testing.md
208+
- documentation/core-libraries/_xctest.md
209+
210+
- documentation/package-manager/index.md
211+
(currently redirects to https://docs.swift.org/swiftpm/documentation/packagemanagerdocs/)
212+
213+
- documentation/articles/value-and-reference-types.md
214+
215+
- documentation/tspl/index.md (stays as is, references into TSPL and links to translations)
216+
217+
- documentation/lldb/index.md: migrate to github.com/swiftlang/swift:`userdocs/`
218+
- documentation/lldb/_playground-support.md
219+
220+
- documentation/swift-compiler/index.md: migrate to github.com/swiftlang/swift:`userdocs/`
221+
- documentation/swift-compiler/_compiler-architecture.md
222+
223+
- documentation/standard-library/index.md
224+
- documentation/standard-library/_preview-package.md
225+
- documentation/standard-library/_stdlib-design.md
226+
227+
- documentation/source-compatibility/index.md: migrate to github.com/swiftlang/project-operations repository
228+
(referencess to swift source compatibility project)
229+
230+
- documentation/source-code/index.md: migrate to github.com/swiftlang/project-operations repository
231+
(partial list to existing source code that goes into toolchain, needs updating if kept)
232+
233+
- documentation/continuous-integration/index.md: migrate to github.com/swiftlang/project-operations repository
234+
191235
## Alternatives Considered
192236

193237
### Don't use DocC for cross-cutting collections
@@ -218,4 +262,6 @@ Because this content doesn't have the constraint of Swift packages, which expect
218262

219263
## Future Directions
220264

221-
I think there's a good argument for migrating some of the content in the Swift repository's [docs](https://github.com/swiftlang/swift/tree/main/docs) directory to provide details about the Swift compiler and how to use it, as well as content related to the establishment and output of both the Platform and Ecosystems steering groups.
265+
The Swift compiler has a `userdocs` directory now, that is starting to see information specific to the compiler, and building out more detail for how the compiler works, LLDB, and the related driver pieces would be excellent additions. That's new content rather than existing migration work for the most part.
266+
267+
The Swift-Java interop project could easily warrant it's own docc catalog, or potentially be included in a more generic "Swift Language interop" collection. Today the majority of existing content is focused on C/C++ Interop, although that's a place where there could be significant growth.

0 commit comments

Comments
 (0)