Skip to content
This repository has been archived by the owner on May 7, 2023. It is now read-only.

Better documentation interface #52

Open
1 task done
esdmr opened this issue Sep 4, 2021 · 1 comment
Open
1 task done

Better documentation interface #52

esdmr opened this issue Sep 4, 2021 · 1 comment
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@esdmr
Copy link
Owner

esdmr commented Sep 4, 2021

Suggestion

Replace api-extractor and api-documenter for a better alternative. Also perhaps remove Jekyll.

Benefit

By switching to TypeDoc (and ditching Jekyll, yay) the documentation will look better and the search will be scoped to every version.

This suggestion is unique

  • I have searched the issue tracker and did not find an issue describing my suggestion, especially not one that has been rejected.

You may use the editor below to elaborate further.

The subpath exports are not regarded. Probably use typedoc-plugin-external-module-name to fix that.

The documentation will no longer be written in Markdown. It is possible to revert this by using typedoc-plugin-markdown, however it does not look as good as the HTML. Additionally it would need to be converted using Jekyll (as it is currently done. Ugh, what was I thinking?).

Unfortunately we may not be able to use KaTeX. This needs more investigation. But I would doubt anyone needs to write equations in documentation.

@esdmr esdmr added the enhancement New feature or request label Sep 4, 2021
@esdmr esdmr self-assigned this Sep 4, 2021
@esdmr esdmr added the documentation Improvements or additions to documentation label Sep 4, 2021
@esdmr esdmr added this to the v2.1 milestone Sep 8, 2021
@esdmr
Copy link
Owner Author

esdmr commented Sep 22, 2021

Oh, wow. I now realize this requires tremendous effort to integrate everything together. Plus the possible future effort to convert all fish scripts to JavaScript, the proposal is almost too much. I will try anyway, but this may get postponed indefinitely.

The current steps are as follows:

  1. Using the generated files under build directory, and the sub-path exports in package.json, construct a list of entry points available to the public. Note that a sub-path export could have no exported file assigned. That is a mistake to be reported.
  2. Those entry points point to the build directory. Use tsconfig.json to find the correct source file under the src directory. Note that a built file could have no source file, or have missing declaration files. That is a mistake to be reported.
  3. Once we found the source files exported to the public, we will inform the typedoc-plugin-external-module-name that these files should be aliased. Then we will call typedoc to generate the documentation. Note that the aforementioned plugin has a compatibility issue with newer versions of typedoc. Either the plugin should be rewritten to accommodate for the breaking change introduced, or forfeit the access to the recent versions of typedoc for an indefinite length of time awaiting the update. Note that the last supported version of typedoc does not fully support aggregate exports (reexports).
  4. Modify the documentation to remove Ruby and Jekyll. My favourite step, Preceded only by the most burdensome tasks.

Edit: I say the first two items as if I have not already hacked together the rest of the codebase. lol

Edit: The only project requiring aggregate exports, esdmr/assert, will be archived in the near future.

@esdmr esdmr removed this from the v2.1 milestone Jan 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

1 participant