diff --git a/docs/content/fsdocs-default.css b/docs/content/fsdocs-default.css index c133ae4e..825e598b 100644 --- a/docs/content/fsdocs-default.css +++ b/docs/content/fsdocs-default.css @@ -1053,8 +1053,8 @@ span[onmouseout] { .fsdocs-entity-xmldoc { > div { display: flex; - flex-direction: row-reverse; - justify-content: flex-start; + flex-direction: row; + justify-content: space-between; align-items: flex-start; & p.fsdocs-summary { @@ -1071,18 +1071,41 @@ span[onmouseout] { } } + .fsdocs-summary-contents { + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: flex-start; + } + + .fsdocs-member-xmldoc-column { + width: 100%; + display: flex; + flex-direction: column; + justify-content: flex-start; + } + + .icon-button-row { + display: flex; + flex-direction: row; + justify-content: flex-end; + align-items: flex-start; + height: calc(-1 * var(--spacing-200)); + } + .fsdocs-member-xmldoc { & summary { display: list-item; counter-increment: list-item 0; list-style: disclosure-closed outside; cursor: pointer; + width: calc(100% - var(--spacing-300)); margin-left: var(--spacing-300); > .fsdocs-summary { display: flex; - flex-direction: row-reverse; - justify-content: flex-start; + flex-direction: row; + justify-content: space-between; align-items: flex-start; & p.fsdocs-summary { @@ -1105,7 +1128,7 @@ span[onmouseout] { } .fsdocs-returns, .fsdocs-params { - margin: var(--spacing-200); + margin: var(--spacing-200) 0 var(--spacing-200) var(--spacing-300); &:first-child { margin-top: 0; @@ -1119,6 +1142,22 @@ span[onmouseout] { .fsdocs-return-name, .fsdocs-param-name { font-weight: 500; } + + .fsdocs-param-docs p { + margin: var(--spacing-200) 0; + } + + > div.fsdocs-summary { + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: flex-start; + margin: 0 0 0 var(--spacing-300); + + & p { + margin: 0; + } + } } } diff --git a/src/FSharp.Formatting.ApiDocs/GenerateHtml.fs b/src/FSharp.Formatting.ApiDocs/GenerateHtml.fs index 48fd4e38..a6067d23 100644 --- a/src/FSharp.Formatting.ApiDocs/GenerateHtml.fs +++ b/src/FSharp.Formatting.ApiDocs/GenerateHtml.fs @@ -18,7 +18,7 @@ let fsdocsSummary (x: ApiDocHtml) = if x.HtmlText.StartsWith("
", StringComparison.Ordinal) then embed x else - p [ Class "fsdocs-summary" ] [ embed x ] + div [ Class "fsdocs-summary-contents" ] [ p [ Class "fsdocs-summary" ] [ embed x ] ] type HtmlRender(model: ApiDocModel, ?menuTemplateFolder: string) = let root = model.Root @@ -182,10 +182,12 @@ type HtmlRender(model: ApiDocModel, ?menuTemplateFolder: string) = let smry = div [ Class "fsdocs-summary" ] [ - yield! copyXmlSigIconForSymbolMarkdown m.Symbol - yield! copyXmlSigIconForSymbol m.Symbol - yield! sourceLink m.SourceLocation fsdocsSummary m.Comment.Summary + div [ Class "icon-button-row" ] [ + yield! sourceLink m.SourceLocation + yield! copyXmlSigIconForSymbol m.Symbol + yield! copyXmlSigIconForSymbolMarkdown m.Symbol + ] ] let dtls = @@ -272,7 +274,10 @@ type HtmlRender(model: ApiDocModel, ?menuTemplateFolder: string) = if List.isEmpty dtls then smry elif String.IsNullOrWhiteSpace(m.Comment.Summary.HtmlText) then - yield! dtls + div [ Class "fsdocs-member-xmldoc-column" ] [ + div [ Class "icon-button-row" ] (sourceLink m.SourceLocation) + yield! dtls + ] else details [] ((summary [] [ smry ]) :: dtls) ] @@ -325,10 +330,12 @@ type HtmlRender(model: ApiDocModel, ?menuTemplateFolder: string) = ] td [ Class "fsdocs-entity-xmldoc" ] [ div [] [ - yield! copyXmlSigIconForSymbolMarkdown e.Symbol - yield! copyXmlSigIconForSymbol e.Symbol - yield! sourceLink e.SourceLocation fsdocsSummary e.Comment.Summary + div [ Class "icon-button-row" ] [ + yield! sourceLink e.SourceLocation + yield! copyXmlSigIconForSymbol e.Symbol + yield! copyXmlSigIconForSymbolMarkdown e.Symbol + ] ] ] ]