about summary refs log tree commit diff
path: root/mk/docs.mk
AgeCommit message (Collapse)AuthorLines
2014-10-10Remove the runtime guide.Steve Klabnik-1/+1
Now that libgreen is gone, this is all wrong. Fixes #17923
2014-10-04docs: Fix short hash link to githubBrian Campbell-2/+2
The escaped newline in the middle of the variable reference breaks the short hash substitution, leaving the link text exmpty; rewrap so that each replacement is on its own line.
2014-10-01Add a guide to compiler pluginsKeegan McAllister-1/+1
Fixes #16983.
2014-09-22manual -> reference & formattingSteve Klabnik-2/+2
'reference' sounds better than 'manual' to me here, and rust.html is certainly wrong. I also wrapped everything to 80 cols.
2014-09-11only deprecate the guide rather than :fire: :fire: :fire:Steve Klabnik-1/+1
2014-09-11Replace the Tutorial with the Guide.Steve Klabnik-6/+5
The Guide isn't 100% perfect, but it's basically complete. It's certainly better than the tutorial is. Time to start pointing more people its way. I also just made it consistent to call all things 'guides' rather than tutorials. Fixes #9874. This is the big one. And two bugs that just go away. Fixes #14503. Fixes #15009.
2014-09-09Prefer lualatex, xelatex, pdflatex, in that order. #12804Brian Anderson-7/+21
2014-08-01mk: Add missing colonBrian Anderson-1/+1
2014-07-23mk: Add space before line continuation backslashBirunthan Mohanathas-2/+2
2014-07-21rustc: Print a smaller hash on -vAlex Crichton-2/+2
The long hash just takes up space and you can discover the main hash through the `rustc --version verbose` command.
2014-07-18Include Strings guide with the others.Steve Klabnik-1/+1
Three small changes: 1. Re-organize headers in the Strings guide so they show up correctly. 2. build the strings guide with the other docs 3. include the strings guide in the list of guides
2014-06-30Allow external html in rustdoc for crates.zzmp-4/+4
Updated documentation to reflect md->html. Modularized external file loading.
2014-06-24Add the Guide, add warning to tutorial.Steve Klabnik-1/+1
In line with what @brson, @cmr, @nikomatsakis and I discussed this morning, my redux of the tutorial will be implemented as the Guide. This way, I can work in small iterations, rather than dropping a huge PR, which is hard to review. In addition, the community can observe my work as I'm doing it. This adds a note in line with [this comment][reddit] that clarifies the state of the tutorial, and the community's involvement with it. [reddit]: http://www.reddit.com/r/rust/comments/28bew8/rusts_documentation_is_about_to_drastically/ci9c98k
2014-06-24Remove the cheat sheet.Steve Klabnik-1/+1
Rust by Example is far better. Fixes #14380.
2014-06-09mk: Ensure docs have relative links to each otherAlex Crichton-2/+6
When generating documentation, rustdoc has the ability to generate relative links within the current distribution of crates to one another. To do this, it must recognize when a crate's documentation is in the same output directory. The current threshold for "local documentation for crate X being available" is whether the directory "doc/X" exists. This change modifies the build system to have new dependencies for each directory of upstream crates for a rustdoc invocation. This will ensure that when building documentation that all the crates in the standard distribution are guaranteed to have relative links to one another. This change is prompted by guaranteeing that offline docs always work with one another. Before this change, races could mean that some docs were built before others, and hence may have http links when relative links would suffice. Closes #14747
2014-06-06rustdoc: Submit examples to play.rust-lang.orgAlex Crichton-1/+3
This grows a new option inside of rustdoc to add the ability to submit examples to an external website. If the `--markdown-playground-url` command line option or crate doc attribute `html_playground_url` is present, then examples will have a button on hover to submit the code to the playground specified. This commit enables submission of example code to play.rust-lang.org. The code submitted is that which is tested by rustdoc, not necessarily the exact code shown in the example. Closes #14654
2014-06-01mk: Less noisy rustdoc invocationsAlex Crichton-3/+5
2014-05-27mk: Don't build any docs with --disable-docs.Luqman Aden-0/+1
2014-05-25doc: add a new language design faqCorey Richardson-2/+2
This indends to help quell frequently answered questions about the language design in a single, authoritative place.
2014-05-21Change static.rust-lang.org to doc.rust-lang.orgAlex Crichton-1/+1
The new documentation site has shorter urls, gzip'd content, and index.html redirecting functionality.
2014-05-15Render not_found with an absolute path to the rust stylesheetRicho Healey-3/+9
2014-05-13docs: Add a not found pageRicho Healey-1/+1
2014-05-03rustdoc: Fix inclusion of the new fontsAlex Crichton-20/+0
These fonts were moved into place by rust's makefiles, but rustdoc is widely used outside of rustc itself. This moves the fonts into the rustdoc binary, similarly to the other static assets, and writes them to the output location whenever rustdoc generates documentation. Closes #13593 Closes #13787
2014-04-25doc,rustdoc: store webfonts locallyAdrien Tétar-0/+20
- Avoids cross-domain requests restrictions - Better availability of content - No HTML queries needed for an offline build
2014-04-15auto merge of #13416 : brson/rust/30min, r=alexcrichtonbors-1/+1
This is intended to be the first thing somebody new to the language reads about Rust. It is supposed to be simple and intriguing, to give the user an idea of whether Rust is appropriate for them, and to hint that there's a lot of cool stuff to learn if they just keep diving deeper. I'm particularly happy with the sequence of concurrency examples.
2014-04-10mk: Add a dummy CFG_COMPILER_HOST_TRIPLE to rustdoc invocation.Kang Seonghoon-0/+1
Otherwise it will prohibit `make compiler-docs` on Windows.
2014-04-09doc: Add "A 30-minute Introduction to Rust"Brian Anderson-1/+1
By Steve Klabnik.
2014-04-03std: Document builtin syntax extensionsAlex Crichton-1/+1
These syntax extensions need a place to be documented, and this starts passing a `--cfg dox` parameter to `rustdoc` when building and testing documentation in order to document macros so that they have no effect on the compiled crate, but only documentation. Closes #5605
2014-03-27verify-grammar path to rust.mdJan Kobler-1/+1
When calling make verify-grammar rust.md cannot be found, because the path to rust.md is missing. The path is set to: $(D)/rust.md This can only be tested, when llnextgen is installed. Signed-off-by: Jan Kobler <eng1@koblersystems.de>
2014-03-15docs: begin a "low-level & unsafe code" guide.Huon Wilson-1/+2
This aims to cover the basics of writing safe unsafe code. At the moment it is just designed to be a better place for the `asm!()` docs than the detailed release notes wiki page, and I took the time to write up some other things. More examples are needed, especially of things that can subtly go wrong; and vast areas of `unsafe`-ty aren't covered, e.g. `static mut`s and thread-safety in general.
2014-03-12Test fixes from rolling up PRsAlex Crichton-2/+2
Closes #12803 (std: Relax an assertion in oneshot selection) r=brson Closes #12818 (green: Fix a scheduler assertion on yielding) r=brson Closes #12819 (doc: discuss try! in std::io) r=alexcrichton Closes #12820 (Use generic impls for `Hash`) r=alexcrichton Closes #12826 (Remove remaining nolink usages) r=alexcrichton Closes #12835 (Emacs: always jump the cursor if needed on indent) r=brson Closes #12838 (Json method cleanup) r=alexcrichton Closes #12843 (rustdoc: whitelist the headers that get a § on hover) r=alexcrichton Closes #12844 (docs: add two unlisted libraries to the index page) r=pnkfelix Closes #12846 (Added a test that checks that unary structs can be mutably borrowed) r=sfackler Closes #12847 (mk: Fix warnings about duplicated rules) r=nmatsakis
2014-03-12mk: Fix warnings about duplicated rulesAlex Crichton-4/+4
The footer.tex rule didn't depend on $(1) of the macro it was being defined in, so it was getting duplicated, causing many warnings.
2014-03-11doc: remove outdated tutorial entry, restore removed Makefile entriesAdrien Tétar-3/+3
2014-03-11doc: auto-generate LaTeX includesAdrien Tétar-8/+8
2014-03-09doc: have a real switch b/w LaTeX compilersAdrien Tétar-12/+14
2014-03-09doc: remove node.js dependencyAdrien Tétar-10/+3
`prep.js` outputs its own HTML directives, which `pandoc` cannot recognize when converting the document into LaTeX (this is why the PDF docs have never been highlighted as of now). Note that if we were to add the `.rust` class to snippets, we could probably use pandoc's native highlighting capatibilities i.e. Kate.
2014-03-09mk: only build PDFs of the manual and tutorial.Huon Wilson-2/+12
This restores the old behaviour (as compared to building PDF versions of all standalone docs), because some of the guides use unicode characters, which seems to make pdftex unhappy.
2014-03-09docs: render rustdoc docs with rustdoc, hack around sundown code-fenceHuon Wilson-1/+1
parsing limitations. Sundown parses ``` ~~~ as a valid codeblock (i.e. mismatching delimiters), which made using rustdoc on its own documentation impossible (since it used nested codeblocks to demonstrate how testable codesnippets worked). This modifies those snippets so that they're delimited by indentation, but this then means they're tested by `rustdoc --test` & rendered as Rust code (because there's no way to add `notrust` to indentation-delimited code blocks). A comment is added to stop the compiler reading the text too closely, but this unfortunately has to be visible in the final docs, since that's the text on which the highlighting happens.
2014-03-09mk: rewrite the documentation handling.Huon Wilson-216/+173
This converts it to be very similar to crates.mk, with a single list of the documentation items creating all the necessary bits and pieces. Changes include: - rustdoc is used to render HTML & test standalone docs - documentation building now obeys NO_REBUILD=1 - testing standalone docs now obeys NO_REBUILD=1 - L10N is slightly less broken (in particular, it shares dependencies and code with the rest of the code) - PDFs can be built for all documentation items, not just tutorial and manual - removes the obsolete & unused extract-tests.py script - adjust the CSS for standalone docs to use the rustdoc syntax highlighting
2014-02-08auto merge of #12114 : brson/rust/faqs, r=cmrbors-6/+0
These are ancient. I removed a bunch of questions that are less relevant - or completely unrelevant, updated other entries, and removed things that are already better expressed elsewhere.
2014-02-08doc: Modernize FAQs just slightlyBrian Anderson-6/+0
2014-02-07doc: add license information for gen. filesAdrien Tétar-6/+17
2014-02-06auto merge of #12076 : alexcrichton/rust/rpath-makefile-dep, r=thestingerbors-3/+4
The rpath variable should only be used when executing commands, if it leaks into a dependency list is causes havoc with the dependencies.
2014-02-06Don't include rpath lines in dependency listsAlex Crichton-3/+4
The rpath variable should only be used when executing commands, if it leaks into a dependency list is causes havoc with the dependencies.
2014-02-06Remove std::conditionAlex Crichton-6/+0
This has been a long time coming. Conditions in rust were initially envisioned as being a good alternative to error code return pattern. The idea is that all errors are fatal-by-default, and you can opt-in to handling the error by registering an error handler. While sounding nice, conditions ended up having some unforseen shortcomings: * Actually handling an error has some very awkward syntax: let mut result = None; let mut answer = None; io::io_error::cond.trap(|e| { result = Some(e) }).inside(|| { answer = Some(some_io_operation()); }); match result { Some(err) => { /* hit an I/O error */ } None => { let answer = answer.unwrap(); /* deal with the result of I/O */ } } This pattern can certainly use functions like io::result, but at its core actually handling conditions is fairly difficult * The "zero value" of a function is often confusing. One of the main ideas behind using conditions was to change the signature of I/O functions. Instead of read_be_u32() returning a result, it returned a u32. Errors were notified via a condition, and if you caught the condition you understood that the "zero value" returned is actually a garbage value. These zero values are often difficult to understand, however. One case of this is the read_bytes() function. The function takes an integer length of the amount of bytes to read, and returns an array of that size. The array may actually be shorter, however, if an error occurred. Another case is fs::stat(). The theoretical "zero value" is a blank stat struct, but it's a little awkward to create and return a zero'd out stat struct on a call to stat(). In general, the return value of functions that can raise error are much more natural when using a Result as opposed to an always-usable zero-value. * Conditions impose a necessary runtime requirement on *all* I/O. In theory I/O is as simple as calling read() and write(), but using conditions imposed the restriction that a rust local task was required if you wanted to catch errors with I/O. While certainly an surmountable difficulty, this was always a bit of a thorn in the side of conditions. * Functions raising conditions are not always clear that they are raising conditions. This suffers a similar problem to exceptions where you don't actually know whether a function raises a condition or not. The documentation likely explains, but if someone retroactively adds a condition to a function there's nothing forcing upstream users to acknowledge a new point of task failure. * Libaries using I/O are not guaranteed to correctly raise on conditions when an error occurs. In developing various I/O libraries, it's much easier to just return `None` from a read rather than raising an error. The silent contract of "don't raise on EOF" was a little difficult to understand and threw a wrench into the answer of the question "when do I raise a condition?" Many of these difficulties can be overcome through documentation, examples, and general practice. In the end, all of these difficulties added together ended up being too overwhelming and improving various aspects didn't end up helping that much. A result-based I/O error handling strategy also has shortcomings, but the cognitive burden is much smaller. The tooling necessary to make this strategy as usable as conditions were is much smaller than the tooling necessary for conditions. Perhaps conditions may manifest themselves as a future entity, but for now we're going to remove them from the standard library. Closes #9795 Closes #8968
2014-02-02Rewrite the doc makefile for doc => src/docAlex Crichton-54/+61
This continues to generate all documentation into doc, but it now looks for source files in src/doc Closes #11860 Closes #11970
2014-02-02Remove rustpkg.Corey Richardson-12/+0
I'm sorry :'( Closes #11859
2014-01-26Refactor the build system for easily adding cratesAlex Crichton-23/+12
Before this patch, if you wanted to add a crate to the build system you had to change about 100 lines across 8 separate makefiles. This is highly error prone and opaque to all but a few. This refactoring is targeted at consolidating this effort so adding a new crate adds one line in one file in a way that everyone can understand it.
2014-01-17doc: fix version stamp for TeX filesAdrien Tétar-7/+8
This fixes a regression introduced in 3d57b240ab1fd038b3a41fe2042dc9a0544ea53e.
2014-01-13dox: Write a guide to the rust runtimeAlex Crichton-1/+7