Commit Graph

1058 Commits

Author SHA1 Message Date
Matthew Flatt
198a65a5fc raco pkg create: support "source" and "binary" bundling
Adds `--from-dir' and `--from-install' flags to select the interpretation
of the argument as a directory or as the name of an installed package.
Relevant to PR 13669

Adds `--as-is' (the default), `--source', and `--binary' flags to
select a pruning mode.

The `raco setup' tool recognizes a `rendered-scribblings' specification
in "info.rkt" to trigger moving rendered documentation into place,
registering its tags in the cross-reference database, and fixing up
references to "local-redirect.js"; the presence of a "synced.rktd"
indicates when those fixups have been performed (since, if the package
is installed in a user-specific scope, the documentation doesn't actually
move anywhere). Finally, "out<n>.sxref" needs to report paths relative to
the documentation's directory, and then the relative-directory references
need to be suitably resolved at derserialization; some support for such
relative paths was in place, but it wasn't quite general enough before.
2013-05-16 11:50:04 -06:00
Matthew Flatt
7c0ab55cbc scribble HTML rendering: unreserved-encode "on this page" links
In other words, replace "(...)" with "%28...%29" in links.
2013-05-16 11:04:23 -06:00
Matthew Flatt
967021ca63 scribble/base: handle special characters in URLs
For characters in the URL that give LaTeX trouble, convert
them to % encoding.
2013-05-16 11:04:23 -06:00
Jay McCarthy
73232afd99 Adding customization of command-char to web-server/template
This entails adding it to include/text and read-syntax-inside as well.
2013-05-08 10:52:40 -06:00
Matthew Flatt
9361b1e709 render non-installaction-scoped package docs with an indirection
The indirection uses a "local-redirect.js" script to rewrite
the document links to local links within the browser. This mechanism
is a step towards distributing compiled packages that include
already-built documentation, where paths to other documentation
can be different than in the build environment.

If the links are not rewritten, they are queries to
"pkg-docs.racket-lang.org", with the idea tha such a server will exist
for reading all package documentation online. Also, a package's
documentation that refer to documentation for uninstalled packages,
in which case the corresponding links will not get rewritten and
will continue to point to the server.

Rendering the "local-redirect.js" script spends a lot of time just
converting among different path formats. Various library changes in
this commit are aimed at speed up those conversions, but the big
improvement came from a `path->url-string' that shortcuts conversion
os simple Unix paths.
2013-05-08 09:54:30 -04:00
Matthew Flatt
4ac6a6b3e3 scribble: fix `--redirect{-main}' and non-HTML mode 2013-05-07 12:00:13 -04:00
Matthew Flatt
f3a7833dcf scribble: fix binding search for phase 1 through initial import
Changing the implementation of `racket' in terms of `racket/base'
exposed this bug.
2013-05-07 08:31:16 -04:00
Matthew Flatt
f60803c300 make scribble' (and raco scribble') use a `doc' submodule when present 2013-05-07 08:31:16 -04:00
Matthew Flatt
eb924d75b6 scribble/manual: make `defmodule' more flexible 2013-04-30 09:36:48 -06:00
Matthew Flatt
5c4a7db828 scribble/manual: add #:link-target?' to defproc', `defform', etc.
Specifying `#:link-target? #f' gets blue-box typesetting without
declaring documentaton for a binding.
2013-04-21 09:49:14 -06:00
Matthew Flatt
96c5521196 scribble/reader: allow escape character to be non-ASCII 2013-04-19 20:46:25 -06:00
Robby Findler
8ce213bf1c extend proc-doc to support optional arguments in an ->i contract
also refactor to be able to add some unit tests
2013-04-06 19:04:05 -05:00
David Van Horn
213430f728 Add #:lang and input-program inputs to make-base-eval and friends.
This commit extends make-base-eval, make-base-eval-factory, and
make-eval-factory with an #:eval and input-program inputs so that
these functions are more like racket/sandbox make-evaluator.
2013-04-06 09:00:41 -06:00
Ryan Culpepper
516f56fc83 added with-eval-preserve-source-locations to scribble/eval
Makes it possible to show examples of redex term->pict, etc.
2013-04-04 13:28:01 -04:00
Ryan Culpepper
293b208af7 added optional #:grammar clause to defform, etc 2013-03-30 10:00:44 -04:00
Greg Hendershott
59bba2d197 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.
2013-03-29 07:23:49 -06:00
Greg Hendershott
a5f6686270 Fix problem handling examples and interaction.
Unlike plain `racketblock`, `examples` and `interaction` are
"nested". As a result we emitted bad Markdown like:

    ```racket
    Examples:
    ```racket
    some-code
    ```
    ```

Markdown code blocks can't nest, so this needs to be:

    ```racket
    Examples:
    some-code
    ```

Also: Updated the unit test with examples of `examples` and
`interaction`.
2013-03-29 07:23:49 -06:00
Robby Findler
e5d91baa2c add interaction/no-prompt and clarify that interaction-eval
doesn't catch errors
2013-03-20 22:51:39 -05:00
Robby Findler
a29f37f18b added scribble-exn->string 2013-03-20 22:51:39 -05:00
Matthew Flatt
dfcf50e165 scribble/manual: add a #:key' argument to deftech' 2013-03-19 15:48:21 -07:00
Eli Barzilay
af6be85ff5 Fix lots of indentation mistakes.
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00
Robby Findler
11969cdfa6 trim the list of new dots down to those that our latex
setup seems to handle

(and actually add them to latex-render.rkt ...)
2013-03-13 10:13:34 -05:00
Robby Findler
3e27388571 missed some changes related to addition of dont-care values
in the lexers
2013-03-10 21:56:43 -05:00
Robby Findler
282cdcbb5b adjust xmethod macro to yield a more helpful error message 2013-03-10 17:33:55 -05:00
Matthew Flatt
9e0e2b932d scribble/srcdoc: add `begin-for-doc' 2013-03-07 21:46:48 -07:00
Matthew Flatt
8d03995b62 scribble/manual: add #:id' option to defthing'
Use this open in the HtDP language documentation in the same
way as for `defproc', which fixes the docs for `pi', `e', etc.
2013-03-05 07:48:26 -07:00
Matthew Flatt
114ab498d6 scribble: fix regression in HTML rendering
Fixes a problem with 2d5884b26a.
2013-03-04 07:53:18 -07:00
Eli Barzilay
cec73f5652 Newlines at EOFs scan. 2013-02-23 02:09:56 -05:00
Matthew Flatt
ce960756cb scribble: fix 'aux stripping for hyperlinks and HTML titles 2013-02-19 14:03:01 -07:00
Matthew Flatt
c9c4d33a2f scribble/sigplan: add `subtitle'
Based on David Van Horn's suggestion.

Also, make both `author' and `authorinfo' work (even when mixed).
2013-02-19 14:03:00 -07:00
Matthew Flatt
2d5884b26a scribble: fix "on this page" rendering
A recent change improved "on this page" handling and also
fixed a short-circuit test to almost certainly do what
was originally intended, but the test was wrong, so just
get rid of it.
2013-02-18 17:34:16 -07:00
Danny Yoo
7323dde0ea Revert most of the change to word break, but introduce a nbsp for browser metrics.
Related to PR 13305: I tried to use zero-width-space to force appropriate
line breaks, but unfortunately under Opera on Linux, this shows as
unsupported character glyphs.

Since I can't reliably use zero-width-space, I'm backtracking to the
prior solution on introducing spans with the mywbr class.  However,
I've added in a &nbsp element to the content of the span, as suggested
elsewhere on the web.  This appears to fix the _gcpointer issue that
Eric sees.
2013-02-18 17:19:17 -07:00
Matthew Flatt
08604b0277 scribble: preserve order of ".js", ".css", and ".tex" additions 2013-02-18 11:14:31 -07:00
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