Commit Graph

1025 Commits

Author SHA1 Message Date
Robby Findler
d5ffb1e3c0 add in the rest of the double barred chars (╬ and company)
and adjust the existing ones a little
2013-02-16 00:09:26 -06:00
Matthew Flatt
c8ae8c419a scribble Latex: support all 2d-cond characters 2013-02-15 21:09:18 -07:00
Matthew Flatt
23d0627acc scribble: improve HTML handling of 'unnumbered and 'toc-hidden
A part with style property 'toc-hidden no longer
hides child sections, which makes it consistent with Latex/PDF
rendering.

A part with style 'grouper and 'unnumbered does not make its
child parts render as more nested, which is consistent with
'gruper without 'unnumbered. An unnumbered grouper is represented
as "" in a section-number list (while #f is still used for
unnumbered non-grouper layers).
2013-02-15 20:11:18 -07:00
Robby Findler
4494788017 fix rendering of example in Guide
closes PR 13517
2013-02-13 07:25:36 -06:00
Danny Yoo
db0234fb6f Amend comment. 2013-02-12 20:18:54 -07:00
Danny Yoo
29031f0972 Replace <wbr> and <span class='mywbr'> </span> with zero-width-space.
The zero width space is a more robust way to add place to line-wrap,
according to: http://www.quirksmode.org/oddsandends/wbr.html

Closes PR 13305.
2013-02-12 19:50:13 -07:00
Robby Findler
12ebfa2cf4 make #:keywords have different color prefs in DrRacket
closes PR 13492
2013-02-05 12:32:48 -06:00
Matthew Flatt
09d4aa3d79 Scribble: add scribble/book' and scribble/report' languages
These languages set the default class for Latex rendering, and also
adjust Latex commands so that top-level sections are chapters, etc.
2013-02-01 10:15:53 -08:00
Matthew Flatt
c0c2eda628 Scribble: add 'grouper and 'hidden-number part style properties
Also, clean up documentation and implementation of 'unnumbered and
'hidden.
2013-02-01 10:15:53 -08:00
Michael Filonenko
17b8092641 extflonums
An extflonum is like a flonum, but with 80-bit precision and
not a number in the sense of `number?': only operations such as
`extfl+' work on extflonums, and only on platforms where extflonums
can be implemented by hardware without interefering with flonums
(i.e., on platforms where SSE instructions are used for
double-precision floats).

[Patch provided by Michael Filonenko and revised by Matthew.]

The compiler tracks information about bindings that are known to
hold extflonums, but the JIT does not yet exploit this information
to unbox them (except as intermediate results).
2013-01-28 18:17:06 -07:00
Matthew Flatt
17865bfa84 scribble/latex-properties: add `command-extras'
This style property is a way to add to the Latex output that is
ignored for HTML and other output.
2013-01-24 06:43:10 -05:00
Matthew Flatt
5ab048bb5c scribble/decode: fix contract on `decode-compound-paragraph'
Add a test suite that at least tries each export of `scribble/decode'.

Merge to v5.3.2
2013-01-09 18:52:16 -07:00
Greg Hendershott
4d3a5bad04 Use Racket lexer for code blocks.
Had been specifying Scheme lexer for code blocks, while waiting for
new Racket lexer to wend its way from Pygments to Pygments.rb to
Linguist to GitHub.

That day is almost here: Linguist will soon update and deploy to
GitHub.  And Racket 5.3.2 is about to release.  As a result, I think
this is the correct time to switch to the Racket lexer: It should be
live on GitHub by the time people are using Racket 5.3.2.

/cc @rmculpepper -- I think this commit should go into the 5.3.2
release.
2013-01-09 18:52:16 -07:00
Matthew Flatt
3e8b6b9866 scribble: add +m' / ++main-xref-in' flag
The `+m' flag is a long-overdue shorthand for `++xref-in setup/xref
load-collections-xref', which links to installed documentation in
the same way as DrRacket's "Scribble HTML" button.

That is, use `+m' to link to installed documentation,

  scribble +m mine.scrbl

instead of the previously recommended

  scribble ++xref-in setup/xref load-collections-xref mine.scrbl

Merge to 5.3.2
2013-01-08 16:25:28 -07:00
Robby Findler
87d25ba02a adjust scribble/lp language so drracket syntax colors it properly
Also fix a spelling mistake (now that spell checking works) and Rackety
2013-01-04 21:39:11 -06:00
Robby Findler
9b6272674e tweak the latex rendering of ╔ and company 2012-12-30 21:11:38 -06:00
Robby Findler
022e252f45 add support for ╔ ═ ╗ ║ ╚ and ╝ to the latex renderer
Also, Rackety
2012-12-29 11:31:17 -06:00
Matthew Flatt
3f6b30a569 scibble: repair related to recent `scribble/tag' contracts 2012-12-27 12:49:30 -06:00
Robby Findler
353da62843 added make-module-language-tag and use it and make-section-tag
in a few places
2012-12-27 11:10:40 -06:00
Matthew Flatt
f29230f8f2 add `scribble/tag' and clean up some tag-related documentation and functions
Includes the addition of `make-section-tag' and `taglet?' to
`scribble/base'.
2012-12-27 09:24:14 -06:00
Greg Hendershott
faeba879e2 Fix bug with pound signs used to mark sections.
Also update tests/scribble/markdown-docs files accordingly.
2012-12-19 19:32:00 -07:00
Greg Hendershott
a3800cdc94 Render Scribble margin-note as Markdown block-quote.
More precisely, do this for nested flows with the "refcontent" style.

For instance this Scribble:

    @margin-note{Note: This is a note. Let's make it long enough that the
    markdown output will have to line-wrap, to make sure the > mark starts
    each line properly.}

Will render as this Markdown:

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

A site like GitHub.com will render this in a block-quote style
suitable for notes:

> Note: This is a note. Let's make it long enough that the markdown output
> will have to line-wrap, to make sure the > mark starts each line
> properly.
2012-12-19 19:31:15 -07:00
Matthew Flatt
130c989888 scribble: encode URLs in 'unreserved mode 2012-12-17 07:09:27 -07:00
Matthew Flatt
6eef00a312 raco setup: fix problem with doc index database
When a tag is serializable but not `write'--`read' invariant,
then it needs to be serialized and deserialized.

Also, clarify and check in `tag?' that a tag should be
serializable.
2012-12-13 15:45:48 -07:00
Danny Yoo
db280d0941 Add scribble/doclang2 with keyword support for customization, and documentation. 2012-12-13 12:50:27 -07:00
Greg Hendershott
00a5bf63b1 Render italic and bold in Markdown.
Scribble => Markdown
  @bold{text}    **text**
@italic{text}     _text_
2012-12-12 20:58:44 -07:00
Greg Hendershott
dbffc840a9 Render @hyperlink in Markdown.
Render Scribble like

    @hyperlink["url" "content"]

as Markdown like

    [content](url)

Note that this only works for `@hyperlink`. The motivation is to
preserve content the author has explicitly written. (Previously,
`markdown-render.rkt` was discarding this; `text-render.rkt` still
does so.)

This does _not_ attempt to handle everything that `html-render.rkt`
would automatically generate and render as `<a>`. It simply can't --
things like hotlinked Racket keywords in code blocks simply won't work
in Markdown.
2012-12-11 12:40:54 -07:00
Matthew Flatt
490a474e0e fix comments
I had it all backwards: DrRacket went from "increment" to Greek
capital delta (which makes a lot more sense).
2012-12-10 10:27:44 -07:00
Matthew Flatt
fc112ccd46 scribble: render "incremement" and some other chars for Latex/PDF
This change was prompted by the change to DrRacket's "\Delta"
to produce the Unicode "increment" character.
2012-12-10 10:20:32 -07:00
Greg Hendershott
6aa6dc0400 Add a Markdown rendering mode to Scribble.
Uses "Github flavored markdown". Specifically, code blocks are opened
using ```scheme so that Github will lex and format them as Scheme code
rather than generic monospace.

Note: I would have used ```racket, but we are still waiting for the
pygments.rb project to pull again from pygments-main -- to which I
contributed a Racket lexer back in August. After pygments.rb pulls,
can update this to use ```racket instead.
2012-12-09 15:17:36 -07:00
David Van Horn
0dfcf634ed Change latex render units from px (pdflatex specific) to bp (tex).
The px unit is a pdflatex specific adjustable unit that is 1 bp (big
point = 1/72in) by default.  This commit changes the latex renderer to
use bp which is a standard TeX unit equivalent to the default px
value.  This change allows .tex files generated by scribble to work
with other latex engines such as xelatex.

http://nwalsh.com/tex/texhelp/Plain.html#dimensions
http://tex.stackexchange.com/questions/41370/what-are-the-possible-dimensions-sizes-units-latex-understands

Here is a small test of using scribble and xelatex:

$ cat try.scrbl
@(require scriblib/figure redex/reduction-semantics redex/pict)
@(define-language L)
@(render-term L (term 1))

$ scribble --latex try.scrbl ; xelatex try
2012-12-07 06:53:45 -06:00
Matthew Flatt
bd16f1e302 scribble HTML: no extra breaking at the end of an identifier 2012-11-29 07:18:30 -07:00
Sam Tobin-Hochstadt
d6b0dfcd04 Switch to use almost-standard DOCTYPE for Scribble.
Also switches scribble search trampoline to standard DOCTYPE.

Scribble's HTML output currently relies on the quirks-mode
box model for layout of the many tables used in rendering.
However, Scribble doesn't need the rest of the changes in
browser quirks modes, so we choose a DOCTYPE that just
changes the box model.

It's non-obvious how to replicated this formatting with CSS
in standard-mode rendering.  Probably a better long term
solution is to move away from table-based layout.

See further discussion on GitHub pull request 158 here:
  https://github.com/plt/racket/pull/158
2012-11-29 07:06:52 -07:00
Robby Findler
e7c6222142 improve the 'method' syntax error so it gives a hint which argument is which 2012-11-28 13:12:28 -06:00
Asumu Takikawa
3e81924f84 Fix nav separator for Opera
Commit 8653bc6792 caused
the doc navigation to render oddly on Opera due to how
it handles &nbsp;. This commit retains the spacing
for text browsers, but fixes the navigation on Opera.
2012-11-27 18:03:40 -05:00
Matthew Flatt
36bfae9497 adjust some comments to further clarify 2012-11-27 08:07:27 -07:00
Samuel Bronson
3ee6248daa scribble/html-render: clarify mangling of entities: &mdash; &lang; &rang; 2012-11-27 08:04:42 -07:00
Samuel Bronson
5a216cc4ce scribble: Rename attribute pltdoc -> data-pltdoc, which is valid in HTML5.
(pltdoc isn't valid in any version of HTML.)
2012-11-27 07:55:43 -07:00
Samuel Bronson
a66fa77e2e Typo fix in content-type: text-html -> text/html 2012-11-27 07:55:36 -07:00
Samuel Bronson
e157041497 scribble/html-render: comment nits 2012-11-27 07:55:23 -07:00
Samuel Bronson
8653bc6792 scribble/html-render: Add missing sep-element for non-CSS browsers 2012-11-27 07:55:16 -07:00
Samuel Bronson
11df3f9b20 scribble/html-render: Fix typo in error message 2012-11-27 07:55:08 -07:00
Samuel Bronson
45bdaa131d scribble/racket.css: Avoid excessive line-height in some cases
(In particular, when the default line-height for "monospace" is smaller than for the main font.)
2012-11-27 07:54:05 -07:00
Matthew Flatt
24f358a5d7 scribble latex: work around `\href{...#...}{...}' as a macro argument
The `math' document build was failing because `\marginpar' does not
like `\href{...#...}{...}' as an argument.
2012-11-25 06:24:51 -07:00
Matthew Flatt
9888fac99e raco setup: move doc dependency and duplicate checking to database
This change makes document building --- and specially incremental
document building --- more scalable. The global duplicate-definition
check is handled by a database query, for example.
2012-11-23 20:07:49 -07:00
Matthew Flatt
a73dc50224 break cross-reference info for document into pieces
For example, the cross-reference information for the
Reference is now broken into about 16 pieces, so that
resolving a cross-reference into the Reference doesn't
require loading all cross-reference information for
the Reference.

Every document is split into two pieces, so that the title
of a document is roughly in its own piece. That way,
re-building the page of all installed documentation can be more
scalable (after some further changes).
2012-11-23 18:44:51 -07:00
Matthew Flatt
693ff33bfc serialize bluebox tables
Typically, the bluebox table includes keys that have interned parts,
so serialization can save space both on disk and in memory when the
bluebox information is reloaded.
2012-11-23 18:44:51 -07:00
Matthew Flatt
8c1b5db815 raco setup: build database mapping doc tags to "out.sxref"s
The `xref' produced by `setup/xref' uses the database to delay
loading "out.sxref"s, which cuts 64-bit DrRacket's initial
footprint by around 50MB (i.e., about 20%).
2012-11-23 18:44:50 -07:00
Matthew Flatt
a830f77403 scribble: more control over version formatting
Add "Version" in front of a version name via `.version:before' or
`.versionNoNav:before' and `\SVersionBefore', so that they can
be configured through overriding CSS or Latex macro declarations.

Also, improve the documentation for how the `#:version' argument
of `title' is propagated to a `part' style property.

Closes PR 13227
2012-11-02 07:45:57 -06:00
Matthew Flatt
008f476210 Scribble PDF/Latex: Hangul support 2012-11-02 07:45:57 -06:00