github.com/dkischenko/gomarkdoc@v0.0.0-20230516135336-e40deae8a495/format/README.md (about)

     1  <!-- Code generated by gomarkdoc. DO NOT EDIT -->
     2  
     3  # format
     4  
     5  ```go
     6  import "github.com/dkischenko/gomarkdoc/format"
     7  ```
     8  
     9  Package format defines output formats for emitting documentation information.
    10  
    11  Each of the formats in this package contains the same set of formatting functions, but not all formats support all of the functions natively. Where possible, a fallback format is provided. See the documentation for the individual formats for more information.
    12  
    13  ## Index
    14  
    15  - [type AzureDevOpsMarkdown](<#AzureDevOpsMarkdown>)
    16    - [func (f *AzureDevOpsMarkdown) Accordion(title, body string) (string, error)](<#AzureDevOpsMarkdown.Accordion>)
    17    - [func (f *AzureDevOpsMarkdown) AccordionHeader(title string) (string, error)](<#AzureDevOpsMarkdown.AccordionHeader>)
    18    - [func (f *AzureDevOpsMarkdown) AccordionTerminator() (string, error)](<#AzureDevOpsMarkdown.AccordionTerminator>)
    19    - [func (f *AzureDevOpsMarkdown) Anchor(anchor string) string](<#AzureDevOpsMarkdown.Anchor>)
    20    - [func (f *AzureDevOpsMarkdown) AnchorHeader(level int, text, anchor string) (string, error)](<#AzureDevOpsMarkdown.AnchorHeader>)
    21    - [func (f *AzureDevOpsMarkdown) Bold(text string) (string, error)](<#AzureDevOpsMarkdown.Bold>)
    22    - [func (f *AzureDevOpsMarkdown) CodeBlock(language, code string) (string, error)](<#AzureDevOpsMarkdown.CodeBlock>)
    23    - [func (f *AzureDevOpsMarkdown) CodeHref(loc lang.Location) (string, error)](<#AzureDevOpsMarkdown.CodeHref>)
    24    - [func (f *AzureDevOpsMarkdown) Escape(text string) string](<#AzureDevOpsMarkdown.Escape>)
    25    - [func (f *AzureDevOpsMarkdown) Header(level int, text string) (string, error)](<#AzureDevOpsMarkdown.Header>)
    26    - [func (f *AzureDevOpsMarkdown) Link(text, href string) (string, error)](<#AzureDevOpsMarkdown.Link>)
    27    - [func (f *AzureDevOpsMarkdown) ListEntry(depth int, text string) (string, error)](<#AzureDevOpsMarkdown.ListEntry>)
    28    - [func (f *AzureDevOpsMarkdown) LocalHref(headerText string) (string, error)](<#AzureDevOpsMarkdown.LocalHref>)
    29    - [func (f *AzureDevOpsMarkdown) RawAnchorHeader(level int, text, anchor string) (string, error)](<#AzureDevOpsMarkdown.RawAnchorHeader>)
    30    - [func (f *AzureDevOpsMarkdown) RawHeader(level int, text string) (string, error)](<#AzureDevOpsMarkdown.RawHeader>)
    31    - [func (f *AzureDevOpsMarkdown) RawLocalHref(anchor string) string](<#AzureDevOpsMarkdown.RawLocalHref>)
    32  - [type Format](<#Format>)
    33  - [type GitHubFlavoredMarkdown](<#GitHubFlavoredMarkdown>)
    34    - [func (f *GitHubFlavoredMarkdown) Accordion(title, body string) (string, error)](<#GitHubFlavoredMarkdown.Accordion>)
    35    - [func (f *GitHubFlavoredMarkdown) AccordionHeader(title string) (string, error)](<#GitHubFlavoredMarkdown.AccordionHeader>)
    36    - [func (f *GitHubFlavoredMarkdown) AccordionTerminator() (string, error)](<#GitHubFlavoredMarkdown.AccordionTerminator>)
    37    - [func (f *GitHubFlavoredMarkdown) Anchor(anchor string) string](<#GitHubFlavoredMarkdown.Anchor>)
    38    - [func (f *GitHubFlavoredMarkdown) AnchorHeader(level int, text, anchor string) (string, error)](<#GitHubFlavoredMarkdown.AnchorHeader>)
    39    - [func (f *GitHubFlavoredMarkdown) Bold(text string) (string, error)](<#GitHubFlavoredMarkdown.Bold>)
    40    - [func (f *GitHubFlavoredMarkdown) CodeBlock(language, code string) (string, error)](<#GitHubFlavoredMarkdown.CodeBlock>)
    41    - [func (f *GitHubFlavoredMarkdown) CodeHref(loc lang.Location) (string, error)](<#GitHubFlavoredMarkdown.CodeHref>)
    42    - [func (f *GitHubFlavoredMarkdown) Escape(text string) string](<#GitHubFlavoredMarkdown.Escape>)
    43    - [func (f *GitHubFlavoredMarkdown) Header(level int, text string) (string, error)](<#GitHubFlavoredMarkdown.Header>)
    44    - [func (f *GitHubFlavoredMarkdown) Link(text, href string) (string, error)](<#GitHubFlavoredMarkdown.Link>)
    45    - [func (f *GitHubFlavoredMarkdown) ListEntry(depth int, text string) (string, error)](<#GitHubFlavoredMarkdown.ListEntry>)
    46    - [func (f *GitHubFlavoredMarkdown) LocalHref(headerText string) (string, error)](<#GitHubFlavoredMarkdown.LocalHref>)
    47    - [func (f *GitHubFlavoredMarkdown) RawAnchorHeader(level int, text, anchor string) (string, error)](<#GitHubFlavoredMarkdown.RawAnchorHeader>)
    48    - [func (f *GitHubFlavoredMarkdown) RawHeader(level int, text string) (string, error)](<#GitHubFlavoredMarkdown.RawHeader>)
    49    - [func (f *GitHubFlavoredMarkdown) RawLocalHref(anchor string) string](<#GitHubFlavoredMarkdown.RawLocalHref>)
    50  - [type PlainMarkdown](<#PlainMarkdown>)
    51    - [func (f *PlainMarkdown) Accordion(title, body string) (string, error)](<#PlainMarkdown.Accordion>)
    52    - [func (f *PlainMarkdown) AccordionHeader(title string) (string, error)](<#PlainMarkdown.AccordionHeader>)
    53    - [func (f *PlainMarkdown) AccordionTerminator() (string, error)](<#PlainMarkdown.AccordionTerminator>)
    54    - [func (f *PlainMarkdown) Anchor(anchor string) string](<#PlainMarkdown.Anchor>)
    55    - [func (f *PlainMarkdown) AnchorHeader(level int, text, anchor string) (string, error)](<#PlainMarkdown.AnchorHeader>)
    56    - [func (f *PlainMarkdown) Bold(text string) (string, error)](<#PlainMarkdown.Bold>)
    57    - [func (f *PlainMarkdown) CodeBlock(language, code string) (string, error)](<#PlainMarkdown.CodeBlock>)
    58    - [func (f *PlainMarkdown) CodeHref(loc lang.Location) (string, error)](<#PlainMarkdown.CodeHref>)
    59    - [func (f *PlainMarkdown) Escape(text string) string](<#PlainMarkdown.Escape>)
    60    - [func (f *PlainMarkdown) Header(level int, text string) (string, error)](<#PlainMarkdown.Header>)
    61    - [func (f *PlainMarkdown) Link(text, href string) (string, error)](<#PlainMarkdown.Link>)
    62    - [func (f *PlainMarkdown) ListEntry(depth int, text string) (string, error)](<#PlainMarkdown.ListEntry>)
    63    - [func (f *PlainMarkdown) LocalHref(headerText string) (string, error)](<#PlainMarkdown.LocalHref>)
    64    - [func (f *PlainMarkdown) RawAnchorHeader(level int, text, anchor string) (string, error)](<#PlainMarkdown.RawAnchorHeader>)
    65    - [func (f *PlainMarkdown) RawHeader(level int, text string) (string, error)](<#PlainMarkdown.RawHeader>)
    66    - [func (f *PlainMarkdown) RawLocalHref(anchor string) string](<#PlainMarkdown.RawLocalHref>)
    67  
    68  
    69  <a name="AzureDevOpsMarkdown"></a>
    70  ## type [AzureDevOpsMarkdown](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L18>)
    71  
    72  AzureDevOpsMarkdown provides a Format which is compatible with Azure DevOps's syntax and semantics. See the Azure DevOps documentation for more details about their markdown format: https://docs.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops[https://docs.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops](<https://docs.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops>)
    73  
    74  ```go
    75  type AzureDevOpsMarkdown struct{}
    76  ```
    77  
    78  <a name="AzureDevOpsMarkdown.Accordion"></a>
    79  ### func \(\*AzureDevOpsMarkdown\) [Accordion](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L136>)
    80  
    81  ```go
    82  func (f *AzureDevOpsMarkdown) Accordion(title, body string) (string, error)
    83  ```
    84  
    85  Accordion generates a collapsible content. The accordion's visible title while collapsed is the provided title and the expanded content is the body.
    86  
    87  <a name="AzureDevOpsMarkdown.AccordionHeader"></a>
    88  ### func \(\*AzureDevOpsMarkdown\) [AccordionHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L147>)
    89  
    90  ```go
    91  func (f *AzureDevOpsMarkdown) AccordionHeader(title string) (string, error)
    92  ```
    93  
    94  AccordionHeader generates the header visible when an accordion is collapsed.
    95  
    96  The AccordionHeader is expected to be used in conjunction with AccordionTerminator\(\) when the demands of the body's rendering requires it to be generated independently. The result looks conceptually like the following:
    97  
    98  ```
    99  accordion := format.AccordionHeader("Accordion Title") + "Accordion Body" + format.AccordionTerminator()
   100  ```
   101  
   102  <a name="AzureDevOpsMarkdown.AccordionTerminator"></a>
   103  ### func \(\*AzureDevOpsMarkdown\) [AccordionTerminator](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L154>)
   104  
   105  ```go
   106  func (f *AzureDevOpsMarkdown) AccordionTerminator() (string, error)
   107  ```
   108  
   109  AccordionTerminator generates the code necessary to terminate an accordion after the body. It is expected to be used in conjunction with AccordionHeader\(\). See AccordionHeader for a full description.
   110  
   111  <a name="AzureDevOpsMarkdown.Anchor"></a>
   112  ### func \(\*AzureDevOpsMarkdown\) [Anchor](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L32>)
   113  
   114  ```go
   115  func (f *AzureDevOpsMarkdown) Anchor(anchor string) string
   116  ```
   117  
   118  Anchor produces an anchor for the provided link.
   119  
   120  <a name="AzureDevOpsMarkdown.AnchorHeader"></a>
   121  ### func \(\*AzureDevOpsMarkdown\) [AnchorHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L38>)
   122  
   123  ```go
   124  func (f *AzureDevOpsMarkdown) AnchorHeader(level int, text, anchor string) (string, error)
   125  ```
   126  
   127  AnchorHeader converts the provided text and custom anchor link into a header of the provided level. The level is expected to be at least 1.
   128  
   129  <a name="AzureDevOpsMarkdown.Bold"></a>
   130  ### func \(\*AzureDevOpsMarkdown\) [Bold](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L21>)
   131  
   132  ```go
   133  func (f *AzureDevOpsMarkdown) Bold(text string) (string, error)
   134  ```
   135  
   136  Bold converts the provided text to bold
   137  
   138  <a name="AzureDevOpsMarkdown.CodeBlock"></a>
   139  ### func \(\*AzureDevOpsMarkdown\) [CodeBlock](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L27>)
   140  
   141  ```go
   142  func (f *AzureDevOpsMarkdown) CodeBlock(language, code string) (string, error)
   143  ```
   144  
   145  CodeBlock wraps the provided code as a code block and tags it with the provided language \(or no language if the empty string is provided\).
   146  
   147  <a name="AzureDevOpsMarkdown.CodeHref"></a>
   148  ### func \(\*AzureDevOpsMarkdown\) [CodeHref](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L85>)
   149  
   150  ```go
   151  func (f *AzureDevOpsMarkdown) CodeHref(loc lang.Location) (string, error)
   152  ```
   153  
   154  CodeHref generates an href to the provided code entry.
   155  
   156  <a name="AzureDevOpsMarkdown.Escape"></a>
   157  ### func \(\*AzureDevOpsMarkdown\) [Escape](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L159>)
   158  
   159  ```go
   160  func (f *AzureDevOpsMarkdown) Escape(text string) string
   161  ```
   162  
   163  Escape escapes special markdown characters from the provided text.
   164  
   165  <a name="AzureDevOpsMarkdown.Header"></a>
   166  ### func \(\*AzureDevOpsMarkdown\) [Header](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L44>)
   167  
   168  ```go
   169  func (f *AzureDevOpsMarkdown) Header(level int, text string) (string, error)
   170  ```
   171  
   172  Header converts the provided text into a header of the provided level. The level is expected to be at least 1.
   173  
   174  <a name="AzureDevOpsMarkdown.Link"></a>
   175  ### func \(\*AzureDevOpsMarkdown\) [Link](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L123>)
   176  
   177  ```go
   178  func (f *AzureDevOpsMarkdown) Link(text, href string) (string, error)
   179  ```
   180  
   181  Link generates a link with the given text and href values.
   182  
   183  <a name="AzureDevOpsMarkdown.ListEntry"></a>
   184  ### func \(\*AzureDevOpsMarkdown\) [ListEntry](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L130>)
   185  
   186  ```go
   187  func (f *AzureDevOpsMarkdown) ListEntry(depth int, text string) (string, error)
   188  ```
   189  
   190  ListEntry generates an unordered list entry with the provided text at the provided zero\-indexed depth. A depth of 0 is considered the topmost level of list.
   191  
   192  <a name="AzureDevOpsMarkdown.LocalHref"></a>
   193  ### func \(\*AzureDevOpsMarkdown\) [LocalHref](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L67>)
   194  
   195  ```go
   196  func (f *AzureDevOpsMarkdown) LocalHref(headerText string) (string, error)
   197  ```
   198  
   199  LocalHref generates an href for navigating to a header with the given headerText located within the same document as the href itself. Link generation follows the guidelines here: https://docs.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops#anchor-links[https://docs.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops#anchor-links](<https://docs.microsoft.com/en-us/azure/devops/project/wiki/markdown-guidance?view=azure-devops#anchor-links>)
   200  
   201  <a name="AzureDevOpsMarkdown.RawAnchorHeader"></a>
   202  ### func \(\*AzureDevOpsMarkdown\) [RawAnchorHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L51>)
   203  
   204  ```go
   205  func (f *AzureDevOpsMarkdown) RawAnchorHeader(level int, text, anchor string) (string, error)
   206  ```
   207  
   208  RawAnchorHeader converts the provided text and custom anchor link into a header of the provided level without escaping the header text. The level is expected to be at least 1.
   209  
   210  <a name="AzureDevOpsMarkdown.RawHeader"></a>
   211  ### func \(\*AzureDevOpsMarkdown\) [RawHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L57>)
   212  
   213  ```go
   214  func (f *AzureDevOpsMarkdown) RawHeader(level int, text string) (string, error)
   215  ```
   216  
   217  RawHeader converts the provided text into a header of the provided level without escaping the header text. The level is expected to be at least 1.
   218  
   219  <a name="AzureDevOpsMarkdown.RawLocalHref"></a>
   220  ### func \(\*AzureDevOpsMarkdown\) [RawLocalHref](<https://github.com/dkischenko/gomarkdoc/blob/master/format/devops.go#L80>)
   221  
   222  ```go
   223  func (f *AzureDevOpsMarkdown) RawLocalHref(anchor string) string
   224  ```
   225  
   226  RawLocalHref generates an href within the same document but with a direct link provided instead of text to slugify.
   227  
   228  <a name="Format"></a>
   229  ## type [Format](<https://github.com/dkischenko/gomarkdoc/blob/master/format/format.go#L7-L77>)
   230  
   231  Format is a generic interface for formatting documentation contents in a particular way.
   232  
   233  ```go
   234  type Format interface {
   235      // Bold converts the provided text to bold
   236      Bold(text string) (string, error)
   237  
   238      // CodeBlock wraps the provided code as a code block and tags it with the
   239      // provided language (or no language if the empty string is provided).
   240      CodeBlock(language, code string) (string, error)
   241  
   242      // Anchor produces an anchor for the provided link.
   243      Anchor(anchor string) string
   244  
   245      // AnchorHeader converts the provided text and custom anchor link into a
   246      // header of the provided level. The level is expected to be at least 1.
   247      AnchorHeader(level int, text, anchor string) (string, error)
   248  
   249      // Header converts the provided text into a header of the provided level.
   250      // The level is expected to be at least 1.
   251      Header(level int, text string) (string, error)
   252  
   253      // RawAnchorHeader converts the provided text and custom anchor link into a
   254      // header of the provided level without escaping the header text. The level
   255      // is expected to be at least 1.
   256      RawAnchorHeader(level int, text, anchor string) (string, error)
   257  
   258      // RawHeader converts the provided text into a header of the provided level
   259      // without escaping the header text. The level is expected to be at least 1.
   260      RawHeader(level int, text string) (string, error)
   261  
   262      // LocalHref generates an href for navigating to a header with the given
   263      // headerText located within the same document as the href itself.
   264      LocalHref(headerText string) (string, error)
   265  
   266      // RawLocalHref generates an href within the same document but with a direct
   267      // link provided instead of text to slugify.
   268      RawLocalHref(anchor string) string
   269  
   270      // Link generates a link with the given text and href values.
   271      Link(text, href string) (string, error)
   272  
   273      // CodeHref generates an href to the provided code entry.
   274      CodeHref(loc lang.Location) (string, error)
   275  
   276      // ListEntry generates an unordered list entry with the provided text at the
   277      // provided zero-indexed depth. A depth of 0 is considered the topmost level
   278      // of list.
   279      ListEntry(depth int, text string) (string, error)
   280  
   281      // Accordion generates a collapsible content. The accordion's visible title
   282      // while collapsed is the provided title and the expanded content is the
   283      // body.
   284      Accordion(title, body string) (string, error)
   285  
   286      // AccordionHeader generates the header visible when an accordion is
   287      // collapsed.
   288      //
   289      // The AccordionHeader is expected to be used in conjunction with
   290      // AccordionTerminator() when the demands of the body's rendering requires
   291      // it to be generated independently. The result looks conceptually like the
   292      // following:
   293      //
   294      //	accordion := formatter.AccordionHeader("Accordion Title") + "Accordion Body" + formatter.AccordionTerminator()
   295      AccordionHeader(title string) (string, error)
   296  
   297      // AccordionTerminator generates the code necessary to terminate an
   298      // accordion after the body. It is expected to be used in conjunction with
   299      // AccordionHeader(). See AccordionHeader for a full description.
   300      AccordionTerminator() (string, error)
   301  
   302      // Escape escapes special markdown characters from the provided text.
   303      Escape(text string) string
   304  }
   305  ```
   306  
   307  <a name="GitHubFlavoredMarkdown"></a>
   308  ## type [GitHubFlavoredMarkdown](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L17>)
   309  
   310  GitHubFlavoredMarkdown provides a Format which is compatible with GitHub Flavored Markdown's syntax and semantics. See GitHub's documentation for more details about their markdown format: https://guides.github.com/features/mastering-markdown/[https://guides.github.com/features/mastering-markdown/](<https://guides.github.com/features/mastering-markdown/>)
   311  
   312  ```go
   313  type GitHubFlavoredMarkdown struct{}
   314  ```
   315  
   316  <a name="GitHubFlavoredMarkdown.Accordion"></a>
   317  ### func \(\*GitHubFlavoredMarkdown\) [Accordion](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L139>)
   318  
   319  ```go
   320  func (f *GitHubFlavoredMarkdown) Accordion(title, body string) (string, error)
   321  ```
   322  
   323  Accordion generates a collapsible content. The accordion's visible title while collapsed is the provided title and the expanded content is the body.
   324  
   325  <a name="GitHubFlavoredMarkdown.AccordionHeader"></a>
   326  ### func \(\*GitHubFlavoredMarkdown\) [AccordionHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L150>)
   327  
   328  ```go
   329  func (f *GitHubFlavoredMarkdown) AccordionHeader(title string) (string, error)
   330  ```
   331  
   332  AccordionHeader generates the header visible when an accordion is collapsed.
   333  
   334  The AccordionHeader is expected to be used in conjunction with AccordionTerminator\(\) when the demands of the body's rendering requires it to be generated independently. The result looks conceptually like the following:
   335  
   336  ```
   337  accordion := format.AccordionHeader("Accordion Title") + "Accordion Body" + format.AccordionTerminator()
   338  ```
   339  
   340  <a name="GitHubFlavoredMarkdown.AccordionTerminator"></a>
   341  ### func \(\*GitHubFlavoredMarkdown\) [AccordionTerminator](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L157>)
   342  
   343  ```go
   344  func (f *GitHubFlavoredMarkdown) AccordionTerminator() (string, error)
   345  ```
   346  
   347  AccordionTerminator generates the code necessary to terminate an accordion after the body. It is expected to be used in conjunction with AccordionHeader\(\). See AccordionHeader for a full description.
   348  
   349  <a name="GitHubFlavoredMarkdown.Anchor"></a>
   350  ### func \(\*GitHubFlavoredMarkdown\) [Anchor](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L31>)
   351  
   352  ```go
   353  func (f *GitHubFlavoredMarkdown) Anchor(anchor string) string
   354  ```
   355  
   356  Anchor produces an anchor for the provided link.
   357  
   358  <a name="GitHubFlavoredMarkdown.AnchorHeader"></a>
   359  ### func \(\*GitHubFlavoredMarkdown\) [AnchorHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L37>)
   360  
   361  ```go
   362  func (f *GitHubFlavoredMarkdown) AnchorHeader(level int, text, anchor string) (string, error)
   363  ```
   364  
   365  AnchorHeader converts the provided text and custom anchor link into a header of the provided level. The level is expected to be at least 1.
   366  
   367  <a name="GitHubFlavoredMarkdown.Bold"></a>
   368  ### func \(\*GitHubFlavoredMarkdown\) [Bold](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L20>)
   369  
   370  ```go
   371  func (f *GitHubFlavoredMarkdown) Bold(text string) (string, error)
   372  ```
   373  
   374  Bold converts the provided text to bold
   375  
   376  <a name="GitHubFlavoredMarkdown.CodeBlock"></a>
   377  ### func \(\*GitHubFlavoredMarkdown\) [CodeBlock](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L26>)
   378  
   379  ```go
   380  func (f *GitHubFlavoredMarkdown) CodeBlock(language, code string) (string, error)
   381  ```
   382  
   383  CodeBlock wraps the provided code as a code block and tags it with the provided language \(or no language if the empty string is provided\).
   384  
   385  <a name="GitHubFlavoredMarkdown.CodeHref"></a>
   386  ### func \(\*GitHubFlavoredMarkdown\) [CodeHref](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L89>)
   387  
   388  ```go
   389  func (f *GitHubFlavoredMarkdown) CodeHref(loc lang.Location) (string, error)
   390  ```
   391  
   392  CodeHref generates an href to the provided code entry.
   393  
   394  <a name="GitHubFlavoredMarkdown.Escape"></a>
   395  ### func \(\*GitHubFlavoredMarkdown\) [Escape](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L162>)
   396  
   397  ```go
   398  func (f *GitHubFlavoredMarkdown) Escape(text string) string
   399  ```
   400  
   401  Escape escapes special markdown characters from the provided text.
   402  
   403  <a name="GitHubFlavoredMarkdown.Header"></a>
   404  ### func \(\*GitHubFlavoredMarkdown\) [Header](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L43>)
   405  
   406  ```go
   407  func (f *GitHubFlavoredMarkdown) Header(level int, text string) (string, error)
   408  ```
   409  
   410  Header converts the provided text into a header of the provided level. The level is expected to be at least 1.
   411  
   412  <a name="GitHubFlavoredMarkdown.Link"></a>
   413  ### func \(\*GitHubFlavoredMarkdown\) [Link](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L84>)
   414  
   415  ```go
   416  func (f *GitHubFlavoredMarkdown) Link(text, href string) (string, error)
   417  ```
   418  
   419  Link generates a link with the given text and href values.
   420  
   421  <a name="GitHubFlavoredMarkdown.ListEntry"></a>
   422  ### func \(\*GitHubFlavoredMarkdown\) [ListEntry](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L133>)
   423  
   424  ```go
   425  func (f *GitHubFlavoredMarkdown) ListEntry(depth int, text string) (string, error)
   426  ```
   427  
   428  ListEntry generates an unordered list entry with the provided text at the provided zero\-indexed depth. A depth of 0 is considered the topmost level of list.
   429  
   430  <a name="GitHubFlavoredMarkdown.LocalHref"></a>
   431  ### func \(\*GitHubFlavoredMarkdown\) [LocalHref](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L67>)
   432  
   433  ```go
   434  func (f *GitHubFlavoredMarkdown) LocalHref(headerText string) (string, error)
   435  ```
   436  
   437  LocalHref generates an href for navigating to a header with the given headerText located within the same document as the href itself.
   438  
   439  <a name="GitHubFlavoredMarkdown.RawAnchorHeader"></a>
   440  ### func \(\*GitHubFlavoredMarkdown\) [RawAnchorHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L50>)
   441  
   442  ```go
   443  func (f *GitHubFlavoredMarkdown) RawAnchorHeader(level int, text, anchor string) (string, error)
   444  ```
   445  
   446  RawAnchorHeader converts the provided text and custom anchor link into a header of the provided level without escaping the header text. The level is expected to be at least 1.
   447  
   448  <a name="GitHubFlavoredMarkdown.RawHeader"></a>
   449  ### func \(\*GitHubFlavoredMarkdown\) [RawHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L56>)
   450  
   451  ```go
   452  func (f *GitHubFlavoredMarkdown) RawHeader(level int, text string) (string, error)
   453  ```
   454  
   455  RawHeader converts the provided text into a header of the provided level without escaping the header text. The level is expected to be at least 1.
   456  
   457  <a name="GitHubFlavoredMarkdown.RawLocalHref"></a>
   458  ### func \(\*GitHubFlavoredMarkdown\) [RawLocalHref](<https://github.com/dkischenko/gomarkdoc/blob/master/format/github.go#L79>)
   459  
   460  ```go
   461  func (f *GitHubFlavoredMarkdown) RawLocalHref(anchor string) string
   462  ```
   463  
   464  RawLocalHref generates an href within the same document but with a direct link provided instead of text to slugify.
   465  
   466  <a name="PlainMarkdown"></a>
   467  ## type [PlainMarkdown](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L12>)
   468  
   469  PlainMarkdown provides a Format which is compatible with the base Markdown format specification.
   470  
   471  ```go
   472  type PlainMarkdown struct{}
   473  ```
   474  
   475  <a name="PlainMarkdown.Accordion"></a>
   476  ### func \(\*PlainMarkdown\) [Accordion](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L87>)
   477  
   478  ```go
   479  func (f *PlainMarkdown) Accordion(title, body string) (string, error)
   480  ```
   481  
   482  Accordion generates a collapsible content. Since accordions are not supported by plain markdown, this generates a level 6 header followed by a paragraph.
   483  
   484  <a name="PlainMarkdown.AccordionHeader"></a>
   485  ### func \(\*PlainMarkdown\) [AccordionHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L105>)
   486  
   487  ```go
   488  func (f *PlainMarkdown) AccordionHeader(title string) (string, error)
   489  ```
   490  
   491  AccordionHeader generates the header visible when an accordion is collapsed. Since accordions are not supported in plain markdown, this generates a level 6 header.
   492  
   493  The AccordionHeader is expected to be used in conjunction with AccordionTerminator\(\) when the demands of the body's rendering requires it to be generated independently. The result looks conceptually like the following:
   494  
   495  ```
   496  accordion := format.AccordionHeader("Accordion Title") + "Accordion Body" + format.AccordionTerminator()
   497  ```
   498  
   499  <a name="PlainMarkdown.AccordionTerminator"></a>
   500  ### func \(\*PlainMarkdown\) [AccordionTerminator](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L113>)
   501  
   502  ```go
   503  func (f *PlainMarkdown) AccordionTerminator() (string, error)
   504  ```
   505  
   506  AccordionTerminator generates the code necessary to terminate an accordion after the body. Since accordions are not supported in plain markdown, this completes a paragraph section. It is expected to be used in conjunction with AccordionHeader\(\). See AccordionHeader for a full description.
   507  
   508  <a name="PlainMarkdown.Anchor"></a>
   509  ### func \(\*PlainMarkdown\) [Anchor](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L26>)
   510  
   511  ```go
   512  func (f *PlainMarkdown) Anchor(anchor string) string
   513  ```
   514  
   515  Anchor produces an anchor for the provided link.
   516  
   517  <a name="PlainMarkdown.AnchorHeader"></a>
   518  ### func \(\*PlainMarkdown\) [AnchorHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L32>)
   519  
   520  ```go
   521  func (f *PlainMarkdown) AnchorHeader(level int, text, anchor string) (string, error)
   522  ```
   523  
   524  AnchorHeader converts the provided text and custom anchor link into a header of the provided level. The level is expected to be at least 1.
   525  
   526  <a name="PlainMarkdown.Bold"></a>
   527  ### func \(\*PlainMarkdown\) [Bold](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L15>)
   528  
   529  ```go
   530  func (f *PlainMarkdown) Bold(text string) (string, error)
   531  ```
   532  
   533  Bold converts the provided text to bold
   534  
   535  <a name="PlainMarkdown.CodeBlock"></a>
   536  ### func \(\*PlainMarkdown\) [CodeBlock](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L21>)
   537  
   538  ```go
   539  func (f *PlainMarkdown) CodeBlock(language, code string) (string, error)
   540  ```
   541  
   542  CodeBlock wraps the provided code as a code block. The provided language is ignored as it is not supported in plain markdown.
   543  
   544  <a name="PlainMarkdown.CodeHref"></a>
   545  ### func \(\*PlainMarkdown\) [CodeHref](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L69>)
   546  
   547  ```go
   548  func (f *PlainMarkdown) CodeHref(loc lang.Location) (string, error)
   549  ```
   550  
   551  CodeHref always returns the empty string, as there is no defined file linking format in standard markdown.
   552  
   553  <a name="PlainMarkdown.Escape"></a>
   554  ### func \(\*PlainMarkdown\) [Escape](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L118>)
   555  
   556  ```go
   557  func (f *PlainMarkdown) Escape(text string) string
   558  ```
   559  
   560  Escape escapes special markdown characters from the provided text.
   561  
   562  <a name="PlainMarkdown.Header"></a>
   563  ### func \(\*PlainMarkdown\) [Header](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L38>)
   564  
   565  ```go
   566  func (f *PlainMarkdown) Header(level int, text string) (string, error)
   567  ```
   568  
   569  Header converts the provided text into a header of the provided level. The level is expected to be at least 1.
   570  
   571  <a name="PlainMarkdown.Link"></a>
   572  ### func \(\*PlainMarkdown\) [Link](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L74>)
   573  
   574  ```go
   575  func (f *PlainMarkdown) Link(text, href string) (string, error)
   576  ```
   577  
   578  Link generates a link with the given text and href values.
   579  
   580  <a name="PlainMarkdown.ListEntry"></a>
   581  ### func \(\*PlainMarkdown\) [ListEntry](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L81>)
   582  
   583  ```go
   584  func (f *PlainMarkdown) ListEntry(depth int, text string) (string, error)
   585  ```
   586  
   587  ListEntry generates an unordered list entry with the provided text at the provided zero\-indexed depth. A depth of 0 is considered the topmost level of list.
   588  
   589  <a name="PlainMarkdown.LocalHref"></a>
   590  ### func \(\*PlainMarkdown\) [LocalHref](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L57>)
   591  
   592  ```go
   593  func (f *PlainMarkdown) LocalHref(headerText string) (string, error)
   594  ```
   595  
   596  LocalHref always returns the empty string, as header links are not supported in plain markdown.
   597  
   598  <a name="PlainMarkdown.RawAnchorHeader"></a>
   599  ### func \(\*PlainMarkdown\) [RawAnchorHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L45>)
   600  
   601  ```go
   602  func (f *PlainMarkdown) RawAnchorHeader(level int, text, anchor string) (string, error)
   603  ```
   604  
   605  RawAnchorHeader converts the provided text and custom anchor link into a header of the provided level without escaping the header text. The level is expected to be at least 1.
   606  
   607  <a name="PlainMarkdown.RawHeader"></a>
   608  ### func \(\*PlainMarkdown\) [RawHeader](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L51>)
   609  
   610  ```go
   611  func (f *PlainMarkdown) RawHeader(level int, text string) (string, error)
   612  ```
   613  
   614  RawHeader converts the provided text into a header of the provided level without escaping the header text. The level is expected to be at least 1.
   615  
   616  <a name="PlainMarkdown.RawLocalHref"></a>
   617  ### func \(\*PlainMarkdown\) [RawLocalHref](<https://github.com/dkischenko/gomarkdoc/blob/master/format/plain.go#L63>)
   618  
   619  ```go
   620  func (f *PlainMarkdown) RawLocalHref(anchor string) string
   621  ```
   622  
   623  RawLocalHref generates an href within the same document but with a direct link provided instead of text to slugify.
   624  
   625  Generated by [gomarkdoc](<https://github.com/dkischenko/gomarkdoc>)