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

94 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.](http://www.racket-lang.org/)
_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:
```racket
(require racket/string)
```
Example of a defproc:
```racket
(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`:
```racket
Examples:
> (define x 0)
> (displayln x)
0
```
Example of Scribble `interaction`:
```racket
> (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.