-
Notifications
You must be signed in to change notification settings - Fork 588
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
Fixes documentation generation for FAKE 5 only modules #1893
Conversation
Thanks! Does this duplicate some docs or how does it actually look? (I can check myself but maybe you have already seen it) |
Good point, i forgot to check that :/. It does duplicate some stuff. Looks like every Fake 5 module that is also in FakeLib. |
I could manually add only modules that are not in FakeLib. Another option would be a second index page for old docs and one for new docs? |
Second index is probably the way to go, this way we can disable the old one eventually or even add a 3rd one for fake 4. But this already makes by brain hurt, because we have to think about the urls. Currently we use |
This would also solve some feedback I received on how to differentiate if an API is only available in v4 or only in v5. |
If you want to only split up the apidocs and not the modules/tutorials etc. i would either use
otherwise putting the version on a higher level and giving each version its own menu with tutorials etc. might also work. But thats probably more work and i am not sure if it is worth it. What would be the difference between v4 and v5/legacy? Just that v4 does not include any of the new modules and legacy includes everything in fakelib? I did also manage to just use one index page and hide the duplicates in the razor template. But that is not very pretty :p |
0433ee6
to
0638e17
Compare
Hi,
i can of course change the routes to something else.
That might be kind of confusing given someone clicked on the docs for FAKE4. |
I can take care of this. Basically I'd download an old version via nuget ;)
Do you have an suggestion? Technically the text is correct as in FAKE 4 docs that API is not available. The only thing I'm a bit afraid of is breaking all the current links ... |
I thought about it some more and i would probably do it like this:
I clicked around and i did not find any broken links. But i might have missed some ;). I could just leave the URL for the current version as is and just add a /legacy for the second version. That way its less likely to break something. But its also a little inconsistent. |
I don't have a strong opinion on that.
Yes indeed!
Technically it has been ported, correct because the new docs are the page you currently look at?
Yes what I meant is that people have "https://fake.build/apidocs/fake-core-targetoperators.html" added to their favorites or linked on their blog-posts (or whatever) and they will break.
Yes I agree ;). Maybe we should have the new documentation twice, once for compatibility and once on /v5? Sorry for the ping-pong in this issue :). Huge thanks for looking into this. |
For the API docs, yes they are the current ones. But some of the docs e.g https://fake.build/apidocs/fake-azure-cloudservices.html still point to old docs that re not "API" docs but "module" docs? not sure how to call these. E.g. https://fake.build/legacy-azurecloudservices.html. They look more like real documentation and not just API.
Some of the links will always break because API moved from old to new. So i would either make a breaking change or just keep the current version under apidocs and then move old stuff to apidocs/v4 and v5 as soon as v6 is out and so on. Or just add a redirect from apidocs to apidocs/v5. But i am also not sure how to handle that. |
I marked all the old stuff as obsolete. I did not check if there are replacements because i assumed all of those are already marked obsolete. |
Hi, |
@kblohm Yes basically you define the generation in your razor template: https://github.com/fsharp/FAKE/blob/master/help/templates/reference/module.cshtml Currently the information we get is limited to https://github.com/fsprojects/FSharp.Formatting/blob/master/src/FSharp.MetadataFormat/Main.fs#L27-L149 but I guess in our scenario we would extend them to include attributes (and in particular a property to check for the obsolete attribute, such that this common code doesn't need to be part of the templates) It shouldn't be too hard to add actually. |
Thanks a lot for this! Will try to take a look and hopefully get it out soon. |
The link to the API docs for the legacy version is still called FAKE4. |
Yes I'm looking into those points. Currently I think I'll just generate "redirect" pages into "apidocs" redirecting to "apidocs/v5". That "Obsolete" is missing is a bit unfortunate indeed. |
Ok this is released now on https://fake.build - looks good! |
This should fix the documentation generation for FAKE 5 modules that are not referenced in FakeLib.csproj.
I am not sure how to handle modules that have a different API for net46 and netstandard (if that ever happens)