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

F#5 for Docs -- One Approach #102

Merged
merged 11 commits into from
Apr 6, 2021
Merged

Conversation

Gastove
Copy link
Contributor

@Gastove Gastove commented Feb 21, 2021

This updates to F#5 for documentation. Along the way, it updates the FSFormatting tool rather considerable (from version 4 to 8). To try and make the documentation build as "standard" as possible, I've experimented with moving documentation out of docsrc and in to docs/, where fsdocs looks for them by default. This can be tested locally by pulling down my branch and running:

dotnet tool restore
dotnet fsdocs watch

This makes writing and previewing docs very simple and lightweight. However, it does not solve the question of deploy automation -- which can be solved so many ways that I wanted to check in with y'all about preferences. There's also some question about project structure. I'm inclined towards:

  1. Remove the current docsrc dir; rename docs to docsrc.
  2. Configure fsdocs to build from docsrc, outputting to docs/
  3. Configure Github to serve docs from the docs dir.

For automation, this could be: a shell script; a FAKE script; an F# script mostly replicating some of the tooling currently in docsrc; an update to the current docsrc program. I'm happy to be guided by y'all. I typically default to FAKE, because I find it to be the "least surprising" thing -- but not everyone loves FAKE.

Thanks in advance!

Gastove and others added 5 commits February 21, 2021 14:03
- Latest version of fsformatting
- .NET 5.0
- Doc properties in build props
- Temporarily remove old doc tooling from sln
@wallymathieu
Copy link
Member

Looks like we get some issues with rendering docs that use F# Data types.

@Choc13
Copy link

Choc13 commented Mar 11, 2021

What's the status on this PR? I'd like to build on top of this to address #103 (specifically to show how to write a combined JsonObjCodec for a DU). There are also some other improvements to the documentation that would be useful, such as providing more background on the different types of codec available in the library.

I'm happy to get help with this PR if others are too busy as I have some time over the next few days.

@wallymathieu
Copy link
Member

wallymathieu commented Mar 11, 2021

@Choc13 I've done some work in:
https://github.com/Gastove/Fleece/compare/fsharp-five-for-docs...wallymathieu:fsharp-five-for-docs?expand=1
what I do is :

dotnet build -c Release
dotnet run -p ./docsrc/tool ReleaseDocs

in order to publish to:
https://wallymathieu.github.io/Fleece/

There are some things that needs to be adjusted, perhaps fixed in F# Formatting.

We notice that we get a lot of unfiltered types:
https://wallymathieu.github.io/Fleece/reference/fleece.html

What we would like would be to be able to filter out types from rendering in the documentation. There is this issue related to the rendering:
fsprojects/FSharp.Formatting#647

@wallymathieu
Copy link
Member

It also looks like the icon does not render in the reference docs.

@wallymathieu
Copy link
Member

That some of the types gets repeated could perhaps be OK enough, we could add some xml-doc texts writing that they are internal. The icon not showing looks a bit more annoying, so would be nice to fix.

@gusty gusty merged commit f63edcc into fsprojects:master Apr 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants