Commit 6f82581e authored by Kenton Varda's avatar Kenton Varda

Fix everything that broke due to Jekyll moving from Maruku to Kramdown.

parent a40d20cb
...@@ -30,7 +30,7 @@ and import paths. ...@@ -30,7 +30,7 @@ and import paths.
The above example generates C++ code, but the tool is able to generate output in any language The above example generates C++ code, but the tool is able to generate output in any language
for which a plugin is available. Compiler plugins are just regular programs named for which a plugin is available. Compiler plugins are just regular programs named
`capnpc-language`. For example, the above command runs `capnpc-c++`. [More on how to write `capnpc-language`. For example, the above command runs `capnpc-c++`. [More on how to write
compiler plugins](otherlang.html#how_to_write_compiler_plugins). compiler plugins](otherlang.html#how-to-write-compiler-plugins).
Note that some Cap'n Proto implementations (especially for interpreted languages) do not require Note that some Cap'n Proto implementations (especially for interpreted languages) do not require
generating source code. generating source code.
......
...@@ -311,7 +311,7 @@ Unnamed unions differ from named unions only in that the accessor methods from t ...@@ -311,7 +311,7 @@ Unnamed unions differ from named unions only in that the accessor methods from t
are added directly to the containing type's reader and builder, rather than generating a nested are added directly to the containing type's reader and builder, rather than generating a nested
type. type.
See the [example](#example_usage) at the top of the page for an example of unions. See the [example](#example-usage) at the top of the page for an example of unions.
### Lists ### Lists
...@@ -398,7 +398,7 @@ will need to set up a multi-use buffered stream. Buffered I/O may also be a goo ...@@ -398,7 +398,7 @@ will need to set up a multi-use buffered stream. Buffered I/O may also be a goo
`StreamFdMessageReader` and also when writing, for performance reasons. See `capnp/io.h` for `StreamFdMessageReader` and also when writing, for performance reasons. See `capnp/io.h` for
details. details.
There is an [example](#example_usage) of all this at the beginning of this page. There is an [example](#example-usage) of all this at the beginning of this page.
### Using mmap ### Using mmap
......
...@@ -10,7 +10,7 @@ the [RPC protocol](rpc.html). ...@@ -10,7 +10,7 @@ the [RPC protocol](rpc.html).
## Current Status ## Current Status
As of version 0.4, Cap'n Proto's C++ RPC implementation is a [Level 1](rpc.html#protocol_features) As of version 0.4, Cap'n Proto's C++ RPC implementation is a [Level 1](rpc.html#protocol-features)
implementation. Persistent capabilities, three-way introductions, and distributed equality are implementation. Persistent capabilities, three-way introductions, and distributed equality are
not yet implemented. not yet implemented.
...@@ -24,7 +24,7 @@ a fully-functional Cap'n Proto client and server. ...@@ -24,7 +24,7 @@ a fully-functional Cap'n Proto client and server.
RPC naturally requires a notion of concurrency. Unfortunately, RPC naturally requires a notion of concurrency. Unfortunately,
[all concurrency models suck](https://plus.google.com/u/0/+KentonVarda/posts/D95XKtB5DhK). [all concurrency models suck](https://plus.google.com/u/0/+KentonVarda/posts/D95XKtB5DhK).
Cap'n Proto's RPC is based on the [KJ library](cxx.html#kj_library)'s event-driven concurrency Cap'n Proto's RPC is based on the [KJ library](cxx.html#kj-library)'s event-driven concurrency
framework. The core of the KJ asynchronous framework (events, promises, callbacks) is defined in framework. The core of the KJ asynchronous framework (events, promises, callbacks) is defined in
`kj/async.h`, with I/O interfaces (streams, sockets, networks) defined in `kj/async-io.h`. `kj/async.h`, with I/O interfaces (streams, sockets, networks) defined in `kj/async-io.h`.
......
...@@ -58,7 +58,7 @@ under Xcode menu > Preferences > Downloads. Alternatively, compiler builds from ...@@ -58,7 +58,7 @@ under Xcode menu > Preferences > Downloads. Alternatively, compiler builds from
[Homebrew](http://brew.sh/) are reported to work. [Homebrew](http://brew.sh/) are reported to work.
Sorry, but Microsoft Visual Studio 2013 Sorry, but Microsoft Visual Studio 2013
[does not implement enough of C++11](faq.html#can_i_use_capn_proto_with_visual_studio_pleeeeeaaaaassssseeeee) [does not implement enough of C++11](faq.html#can-i-use-capn-proto-with-visual-studio-pleeeeeaaaaassssseeeee)
to compile Cap'n Proto. We hope that the Internet Explorer of compilers will catch up in one of to compile Cap'n Proto. We hope that the Internet Explorer of compilers will catch up in one of
the upcoming CTPs (the November 2013 CTP is almost there). the upcoming CTPs (the November 2013 CTP is almost there).
...@@ -80,7 +80,7 @@ This will install `capnp`, the Cap'n Proto command-line tool. It will also inst ...@@ -80,7 +80,7 @@ This will install `capnp`, the Cap'n Proto command-line tool. It will also inst
### Building from Git with Autotools ### Building from Git with Autotools
If you download directly from Git, and you don't want to If you download directly from Git, and you don't want to
[build with Ekam](install.html#building_with_ekam), you will need to have the GNU autotools -- [build with Ekam](install.html#building-with-ekam), you will need to have the GNU autotools --
[autoconf](http://www.gnu.org/software/autoconf/), [autoconf](http://www.gnu.org/software/autoconf/),
[automake](http://www.gnu.org/software/automake/), and [automake](http://www.gnu.org/software/automake/), and
[libtool](http://www.gnu.org/software/libtool/) -- installed. You will also need Subversion [libtool](http://www.gnu.org/software/libtool/) -- installed. You will also need Subversion
...@@ -104,7 +104,7 @@ productivity, so I really like using Ekam. ...@@ -104,7 +104,7 @@ productivity, so I really like using Ekam.
Unfortunately it's very much unfinished. It works (for me), but it is quirky and rough around the Unfortunately it's very much unfinished. It works (for me), but it is quirky and rough around the
edges. It only works on Linux, and is best used together with Eclipse. If you find it edges. It only works on Linux, and is best used together with Eclipse. If you find it
unacceptable, scroll up to the [Automake instructions](#building_from_git_with_autotools). unacceptable, scroll up to the [Automake instructions](#building-from-git-with-autotools).
The Cap'n Proto repo includes a script which will attempt to set up Ekam for you. The Cap'n Proto repo includes a script which will attempt to set up Ekam for you.
......
...@@ -356,7 +356,7 @@ reference to an object inherently represents a "capability" to access it. ...@@ -356,7 +356,7 @@ reference to an object inherently represents a "capability" to access it.
You can define constants in Cap'n Proto. These don't affect what is sent on the wire, but they You can define constants in Cap'n Proto. These don't affect what is sent on the wire, but they
will be included in the generated code, and can be [evaluated using the `capnp` will be included in the generated code, and can be [evaluated using the `capnp`
tool](capnp-tool.html#evaluating_constants). tool](capnp-tool.html#evaluating-constants).
{% highlight capnp %} {% highlight capnp %}
const pi :Float32 = 3.14159; const pi :Float32 = 3.14159;
......
...@@ -65,7 +65,7 @@ schema from standard input and then generate the necessary code. The descriptio ...@@ -65,7 +65,7 @@ schema from standard input and then generate the necessary code. The descriptio
Cap'n Proto message, defined by Cap'n Proto message, defined by
[schema.capnp](https://github.com/kentonv/capnproto/blob/master/c%2B%2B/src/capnp/schema.capnp). [schema.capnp](https://github.com/kentonv/capnproto/blob/master/c%2B%2B/src/capnp/schema.capnp).
Specifically, the plugin receives a `CodeGeneratorRequest`, using Specifically, the plugin receives a `CodeGeneratorRequest`, using
[standard serialization](http://kentonv.github.io/capnproto/encoding.html#serialization_over_a_stream) [standard serialization](http://kentonv.github.io/capnproto/encoding.html#serialization-over-a-stream)
(not packed). (Note that installing the C++ runtime causes schema.capnp to be placed in (not packed). (Note that installing the C++ runtime causes schema.capnp to be placed in
`$PREFIX/include/capnp` -- `/usr/local/include/capnp` by default). `$PREFIX/include/capnp` -- `/usr/local/include/capnp` by default).
...@@ -102,7 +102,7 @@ not support pointer arithmetic or any reasonably-performant alternative. ...@@ -102,7 +102,7 @@ not support pointer arithmetic or any reasonably-performant alternative.
Fortunately, dynamic languages usually have facilities for calling native code. The best way to Fortunately, dynamic languages usually have facilities for calling native code. The best way to
support Cap'n Proto in a dynamic language, then, is to wrap the C++ library, in particular the support Cap'n Proto in a dynamic language, then, is to wrap the C++ library, in particular the
[C++ dynamic API](cxx.html#dynamic_reflection). This way you get reasonable performance while [C++ dynamic API](cxx.html#dynamic-reflection). This way you get reasonable performance while
still avoiding the need to generate any code specific to each schema. still avoiding the need to generate any code specific to each schema.
To parse the schema files, use the `capnp::SchemaParser` class (defined in `capnp/schema-parser.h`). To parse the schema files, use the `capnp::SchemaParser` class (defined in `capnp/schema-parser.h`).
...@@ -114,5 +114,5 @@ compiled source files as `.pyc` bytecode, but that's up to you. ...@@ -114,5 +114,5 @@ compiled source files as `.pyc` bytecode, but that's up to you.
### Testing Your Implementation ### Testing Your Implementation
The easiest way to test that you've implemented the spec correctly is to use the `capnp` tool The easiest way to test that you've implemented the spec correctly is to use the `capnp` tool
to [encode](capnp-tool.html#encoding_messages) test inputs and to [encode](capnp-tool.html#encoding-messages) test inputs and
[decode](capnp-tool.html#decoding_messages) outputs. [decode](capnp-tool.html#decoding-messages) outputs.
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
.type-csharp .highlight .s { color: #A31515 } .type-csharp .highlight .s { color: #A31515 }
.type-csharp .highlight .sc { color: #A31515 } .type-csharp .highlight .sc { color: #A31515 }
.highlight .capnp .nd { color: #0099FF; font-weight: normal; } /* @N */ .highlight .language-capnp .nd { color: #0099FF; font-weight: normal; } /* @N */
.highlight .capnp .l { color: #003399; } /* = value */ .highlight .language-capnp .l { color: #003399; } /* = value */
.highlight .capnp .nc { color: #009900; font-weight: normal; } /* :Type */ .highlight .language-capnp .nc { color: #009900; font-weight: normal; } /* :Type */
.highlight .capnp .na { color: #999900; font-weight: normal; } /* $x */ .highlight .language-capnp .na { color: #999900; font-weight: normal; } /* $x */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment