github.com/rmarku/gomarkdoc@v0.0.0-20230517164305-78688ebe4325/format/README.md (about)

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