Closed JaykeBird closed 1 year ago
@JaykeBird, thanks a lot for submitting the issue. How quickly do you wish to have it fixed? I'm having my final state exams around January and will not have time to fix this quickly.
No rush on your end. :) Exams are important! I have my own (not as good) solution that I'm continuing to use right now, so I'm okay for the moment.
Like I mentioned, I don't know much about F#, but if there's any additional info or anything I can provide, let me know!
The TypeComposer
library does not expect the user-written documentation to place other tags within the <c></c>
and <code></code>
tag pairs.
MSDOC specifies that text should be within said tags; however, this documentation is quite vague and does allow one to assume that the content is not restricted from having additional tags within a code block.
Thus, the solution is to modify the ContentProcessor.fs
in the ModularDoc.Composer.Basic
project to process documentation tags correctly. This concerns the processContent
function and its processing of thee inline code block and the multi-line code block.
The fix shouldn't be too difficult. The XML tag content must be extracted and flattened (as it can be structured). If the inner content is some tag that doesn't make sense, either a warning message should be logged with the rest of the content ignored or the content should be represented in XML (as written in the source code). The question is, what is better?
Taking a look at the XML file, I had put in <c>IList<<typeparamref name="T"/>></c>
(line 5615), so I can see how the code got tripped up on the embedded <typeparamref name="T"/>
part. Honestly, I just did it that way because Visual Studio didn't have any qualms with it, but it may be better if I changed that to just T
.
In regards to your question at the end, I think that rendering it as IList<<typeparamref name="T"/>>
(which I think you're proposing as an option?) would look weird, so the better option may be to throw a warning and move on. The bigger question, though, is how closely you'd want to stick to the official documentation and what it says; I definitely admire sticking to the standards, but I wonder what other weird cases like this will be encountered.
@JaykeBird Issue fixed. Please reopen if you find the fix to be insufficient
Just posting now to note that I got the project to work for me fully and it's now in use! :)
In the future, I'll look into developing a modification to the Git Markdown plugin to match exactly the output I'm looking for, but this is definitely better than I've previously been doing!
Describe the bug I was trying to use this project to test building some documentation for one of my libraries, but I had run into this error while it was on the "Printer" step of putting together the documentation. I had previously solved another bug I had encountered, and now this one is occurring. I don't have enough knowledge of F# to know what to do here, but it seems to be the result of the code not expecting the value "
IList<T>
" there, as it separated that into 3 segments: "IList<", "T", and ">".Reproducibility Always
To Reproduce Steps to reproduce the behavior:
DisableMaximizeAction
toDisableMaximizeAction()
)Expected behavior Expected documentation to be generated without issue.
Screenshots If applicable, add screenshots to help explain your problem.
Additional context Here's the full exception data and stack trace.