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
+                                      ]
                                   ]
                               ]
                           ]