Skip to content

Fix HTML version of the keyword table. #17968

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 14, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 18 additions & 14 deletions src/doc/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Dependencies
# Rust documentations

## Dependencies

[Pandoc](http://johnmacfarlane.net/pandoc/installing.html), a universal
document converter, is required to generate docs as HTML from Rust's
Expand All @@ -10,7 +12,7 @@ docs from the master (English) docs.
[GNU gettext](http://www.gnu.org/software/gettext/) is required for managing
the translation data.

# Building
## Building

To generate all the docs, just run `make docs` from the root of the repository.
This will convert the distributed Markdown docs to HTML and generate HTML doc
Expand All @@ -24,7 +26,7 @@ rustdoc --output html-doc/ --output-format html ../src/libstd/path.rs

(This, of course, requires a working build of the `rustdoc` tool.)

# Additional notes
## Additional notes

To generate an HTML version of a doc from Markdown manually, you can do
something like:
Expand All @@ -33,37 +35,39 @@ something like:
pandoc --from=markdown --to=html5 --number-sections -o reference.html reference.md
~~~~

(reference.md being the Rust Reference Manual.)
(`reference.md` being the Rust Reference Manual.)

The syntax for pandoc flavored markdown can be found at:
http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown

- http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown

A nice quick reference (for non-pandoc markdown) is at:
http://kramdown.rubyforge.org/quickref.html

# Notes for translators
- http://kramdown.gettalong.org/quickref.html

## Notes for translators

Notice: The procedure described below is a work in progress. We are working on
translation system but the procedure contains some manual operations for now.

To start the translation for a new language, see po4a.conf at first.
To start the translation for a new language, see `po4a.conf` at first.

To generate .pot and .po files, do something like:
To generate `.pot` and `.po` files, do something like:

~~~~
po4a --copyright-holder="The Rust Project Developers" \
--package-name="Rust" \
--package-version="0.11.0" \
--package-version="0.13.0" \
-M UTF-8 -L UTF-8 \
src/doc/po4a.conf
~~~~

(the version number must be changed if it is not 0.11.0 now.)
(the version number must be changed if it is not `0.13.0` now.)

Now you can translate documents with .po files, commonly used with gettext. If
Now you can translate documents with `.po` files, commonly used with gettext. If
you are not familiar with gettext-based translation, please read the online
manual linked from http://www.gnu.org/software/gettext/ . We use UTF-8 as the
file encoding of .po files.
file encoding of `.po` files.

When you want to make a commit, do the command below before staging your
change:
Expand All @@ -79,4 +83,4 @@ for f in src/doc/po/**/*.po; do
done
~~~~

This removes untranslated entries from .po files to save disk space.
This removes untranslated entries from `.po` files to save disk space.
18 changes: 1 addition & 17 deletions src/doc/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,40 +185,24 @@ grammar as double-quoted strings. Other tokens have exact rules given.

### Keywords

The keywords are the following strings, organized by first letter:
<p id="keyword-table-marker">The keywords are the following strings, organized by first letter:</p>

<div id="keywords">
| | | | |
|----------|--------|--------|-------|
| as | | | |
|----------|--------|--------|-------|
| box | break | | |
|----------|--------|--------|-------|
| continue | crate | | |
|----------|--------|--------|-------|
| else | enum | extern | |
|----------|--------|--------|-------|
| false | fn | for | |
|----------|--------|--------|-------|
| if | impl | in | |
|----------|--------|--------|-------|
| let | loop | | |
|----------|--------|--------|-------|
| match | mod | mut | |
|----------|--------|--------|-------|
| priv | proc | pub | |
|----------|--------|--------|-------|
| ref | return | | |
|----------|--------|--------|-------|
| self | static | struct | super |
|----------|--------|--------|-------|
| trait | true | type | |
|----------|--------|--------|-------|
| unsafe | use | | |
|----------|--------|--------|-------|
| while | | | |
|----------|--------|--------|-------|
</div>

Each of these keywords has special meaning in its grammar, and all of them are
excluded from the `ident` rule.
Expand Down
7 changes: 6 additions & 1 deletion src/doc/rust.css
Original file line number Diff line number Diff line change
Expand Up @@ -393,4 +393,9 @@ pre.rust { position: relative; }
}
}

#keywords table td { border: none; }
#keyword-table-marker + table thead { display: none; }
#keyword-table-marker + table td { border: none; }
#keyword-table-marker + table {
margin-left: 2em;
margin-bottom: 1em;
}