scribble-enhanced/collects/tests/scribble/markdown-docs/example.md
Greg Hendershott 58fab5c3a6 Combine adjacent code spans into one.
These result from something like

    @racket[(x y)]

being treated by Scribble as multiple RktXXX items rather than one. As
a result the Markdown emitted was:

    `(``x`` ``y``)`

But obviously instead we want:

    `(x y)`

Kludgosity alert: Although it would probably be more-correct to
consolidate the RktXXX items at the Scribble structure level, I don't
easily see how. `@racket` is baking in the concept of Racket
lexing (classifying text as various kinds of Racket elements). This is
handy when the render will be HTML or Latek, and is benignly N/A when
it will be plain text. But it's a bit square-peg/round-hole when the
render will be Markdown. Rather than attempt to "un-lex" the Scribble
structures (I'm having trouble seeing how), I'm handling it
"after-the-fact" -- adjusting the generated Markdown text.

If anyone thinks the preceding is an elaborate rationalization for an
ugly kludge, I wouldn't argue, but I would need some help
understanding the preferable way to go about it.

original commit: 59bba2d197a42448d21c7f899d197b890adc7c9e
2013-03-29 07:23:49 -06:00

2.1 KiB
Raw Blame History

1. Section

This is a top-level section.

1.1. Subsection

This is a subsection.

1.1.1. Subsubsection

This is a subsubsection.

Here is an itemize:

  • Item 1.

  • Item 2.

Here is a hyperlink:

I am a hyperlink to Racket.

Italic. _Just underlines_.

Bold. *Just asterisks.*

“Dobule quoted”. Single quoted.

This should NOT be code in Markdown.

Example of vebatim:

Hi, world.
A “quote”.
Second line. Last line.

Another example of verbatim, with ticks/quotes:

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
“AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Example of a defmodule:

 (require racket/string)

Example of a defproc:

(make-string k [char]) -> string?
  k : exact-nonnegative-integer? 
  char : char? = #\nul           

Returns a new mutable string of length k where each position in the string is initialized with the character char

Blah blah (or/c string? bytes?).

Example of Scribble examples:

Examples:      
> (define x 0) 
               
> (displayln x)
0              
               

Example of Scribble interaction:

> (define x 0)
              
> x           
0             

Note: This is a note. Lets make it long enough that the markdown output will have to line-wrap, to make sure the > mark starts each line properly.