Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Documentation] Improve DocC documentation hierachy, navigation and charts rendering #95

Open
pylapp opened this issue Sep 12, 2024 · 1 comment
Labels
💥 blocking Issue can go further and is blocked by something 📖 documentation Improvements or additions to documentation ⚠️ on hold Not blocked but should not be processed yet

Comments

@pylapp
Copy link
Member

pylapp commented Sep 12, 2024

Context

Today, we choose to use DocC, the Apple solution for Swift documentation.
The tool is quite recent, it allows for example to build documentation from Xcode for developers, export this documentation as archives, and also build an HTML version of all the documentation of the project.

We used this swift-docc plugin for builds before, but it failed to manage UIKit API as it seems to be more dedicated to macOS API.

However, even if the tool works well for Swift Package which has one target, things get complicated for libraries with several targets like our, even if it is quite common to have several targets in fact. We tried also others tools like xcode build suite, bit it faield with configuration of packages and targets.

@ludovic35 spent a lot of time to set up DocC and to think about a software solution which will gather all documentation of all modules and create a global HTML page as index refering to all other indexes. But the navigation between the HTML pages of several targets, here between our modules, is broken. The Apple tool (in its version 1.4.2 today) failed to make links and navigation between pages of several modules. That is the reason why in some parts of our documentation we refer to HTML pages so as to keep hyperlinks and references navigable.

Issue

We have hard coded hyperlinks refering targets eachothers. We extract assets and merge JSON from our doccarchives, that is tinkering and not clean at all.

The Mermaid charts are not rendered as they are rendered in the GitHub viewers.

Action plan

  • Wait for improvements of the swift-docc plugin
  • Check if the tool supports Mermaid charts, it is not today (Support of Mermaid charts for Markdown files swiftlang/swift-docc#1026)
  • When the tool gets updated, refactor our uploadWebDoc.sh script so as to use the suitable feature in the best way and get a global index.html file with all navigable links
  • Maybe integrate Boosted to have a lovely page
  • Maybe use Netlify for documentation preview, if useful
  • Stop picking and merging assets

What we expect

  • Have a rendering of Mermaid charts
  • Replace hard-coded hyperlinks by DocC syntax (e.g. /OUDSTokensComponent or doc://OUDSTOkensRaw)
  • No more assets picking and JSON merging for the final HTML site

Resources

@pylapp pylapp added 📖 documentation Improvements or additions to documentation ⚠️ on hold Not blocked but should not be processed yet labels Sep 12, 2024
@pylapp
Copy link
Member Author

pylapp commented Sep 18, 2024

Need specifications to go further.
blocking because no specifications, on hold because not mandatory no prioritary

@pylapp pylapp added the 💥 blocking Issue can go further and is blocked by something label Sep 18, 2024
@pylapp pylapp changed the title Improve DocC documentation hierachy, navigation and charts rendering [Documentation] Improve DocC documentation hierachy, navigation and charts rendering Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💥 blocking Issue can go further and is blocked by something 📖 documentation Improvements or additions to documentation ⚠️ on hold Not blocked but should not be processed yet
Projects
Status: Triage
Development

No branches or pull requests

1 participant