{"id":33899,"date":"2021-10-13T17:13:40","date_gmt":"2021-10-13T21:13:40","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=33899"},"modified":"2021-10-13T17:14:25","modified_gmt":"2021-10-13T21:14:25","slug":"swift-docc-is-now-open-source","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2021\/10\/13\/swift-docc-is-now-open-source\/","title":{"rendered":"Swift-DocC Is Now Open Source"},"content":{"rendered":"<p><a href=\"https:\/\/swift.org\/blog\/swift-docc\/\">Franklin Schrans<\/a>:<\/p>\n<blockquote cite=\"https:\/\/swift.org\/blog\/swift-docc\/\"><p>Swift-DocC encompasses tools and libraries to help developers write and\ngenerate documentation on many platforms, including macOS and Linux, with the\ngoal to support all platforms with a Swift toolchain. The <code>docc<\/code> command line\ntool is already integrated in Xcode 13 and is architected in a way that\ncan be integrated with other build systems such as SwiftPM. The open source\nproject is composed of several components, some of which may be interesting in\ntheir own right for building other developer tools. The components include:<\/p><ul><li><a href=\"https:\/\/github.com\/apple\/swift-docc\"><strong>Swift-DocC<\/strong><\/a> &mdash; the documentation compiler tool that processes source file\ncomments, standalone Markdown files, and related assets to produce a\nmachine-readable JSON archive.<\/li><li><a href=\"https:\/\/github.com\/apple\/swift-docc-render\"><strong>Swift-DocC-Render<\/strong><\/a> &mdash; a JavaScript-based web application that renders\ncompiled DocC archives.<\/li><li><a href=\"https:\/\/github.com\/apple\/swift-markdown\"><strong>Swift-Markdown<\/strong><\/a> &mdash; a library that makes it easy to parse Markdown syntax in\nSwift.<\/li><li><a href=\"https:\/\/github.com\/apple\/swift-docc-symbolkit\"><strong>SymbolKit<\/strong><\/a> &mdash; a Swift library that parses the symbol graph files emitted by\nthe Swift compiler. These files encapsulate information about a module&rsquo;s APIs,\nincluding their documentation comments.<\/li><\/ul><p>The tooling understands the Swift documentation comment syntax already popular\nwithin the Swift community in stand-out tools like\n<a href=\"https:\/\/github.com\/realm\/jazzy\">Jazzy<\/a> and\n<a href=\"https:\/\/github.com\/SwiftDocOrg\/swift-doc\">SwiftDoc<\/a>, and in IDEs like Xcode.\nIt adds some novel syntax features, too. For example, the double-backtick\n<code>``SymbolName``<\/code> syntax creates links between symbols.<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2021\/06\/30\/docc-is-unusable-for-open-source-projects\/\">DocC Is Unusable for Open Source Projects<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2021\/06\/07\/old-apple-conceptual-documentation\/\">Old Apple Conceptual Documentation<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Franklin Schrans: Swift-DocC encompasses tools and libraries to help developers write and generate documentation on many platforms, including macOS and Linux, with the goal to support all platforms with a Swift toolchain. The docc command line tool is already integrated in Xcode 13 and is architected in a way that can be integrated with other [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2021-10-13T21:13:43Z","apple_news_api_id":"6d1a1693-59e9-4478-9f37-ca4380ec5751","apple_news_api_modified_at":"2021-10-13T21:14:29Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAA==","apple_news_api_share_url":"https:\/\/apple.news\/AbRoWk1npRHifN8pDgOxXUQ","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[255,2089,164,337,74,71,901],"class_list":["post-33899","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-compiler","tag-docc","tag-documentation","tag-markdown","tag-opensource","tag-programming","tag-swift-programming-language"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/33899","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=33899"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/33899\/revisions"}],"predecessor-version":[{"id":33900,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/33899\/revisions\/33900"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=33899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=33899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=33899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}