Skip to content

Moving (parts of) documentation generation scripts to the compiled dll #25

@Krzysztof-Cieslak

Description

@Krzysztof-Cieslak

This was suggested by @dsyme yesterday on Twitter.

Core Design:

  • As Fornax is essentially just an opinionated script runner there is no way (by-design) to remove .fsx scripts completely.
  • We could potentially move parts of the scripts (for example API reference generation etc) to compiled DLLs - and our generators/loaders .fsx would just contain a reference to this DLL and single one-line function call

Pros:

  • Easy to update to a new version (just run paket update on the Docs group)
  • Hides internal API changes (for example users doesn't need to know that F#.Formatting API has changed)
  • Provides a single opinionated way of how documentation should be build - good for consistency across our OSS ecosystem

Cons:

  • Provides a single opinionated way of how documentation should be build - different projects may have different needs
  • Lack of customizability - a huge advantage of having those scripts in the repo is the fact you can just easily change them to make them fit project needs better
  • Distribution story when not using Paket - since plain NuGet nowadays installs packages globally there won't be an easy way to reference this library from our generators/loaders scripts (Maybe solved by #r nuget - but keep in mind it's still a preview feature)

CC: @baronfel

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions