microsoft / bond

Bond is a cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.
MIT License
2.61k stars 321 forks source link

Refactor languange-independent topics out from C++ documentation #115

Open sapek opened 8 years ago

sapek commented 8 years ago
chadwalters commented 7 years ago

Also: https://microsoft.github.io/bond/manual/bond_cpp.html#type-evolution https://microsoft.github.io/bond/manual/bond_cs.html#type-evolution

chadwalters commented 7 years ago

This will get addressed when transclusion is supported in Pandoc (see https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/pandoc-discuss/oA7a_zPzzak/qbdDRXQRCgAJ)

bhardwajs commented 5 years ago

What else is left to do here @chadwalters ? I wanted to see if I can get started on Bond.

chwarr commented 5 years ago

Large parts of the topics that both sapek & chadwalters mentioned are applicable to all languages. Right now, they're either only in the C++ documentation or duplicated across the C++, C#, and Java documentation.

The work here is to pull the language-agnostic parts out of each language's documentation so that there's a single copy of the text. However, we didn't just want to link to these sections for each language: we wanted to include the language-agnostic sections in all the language-specific manuals so people didn't have to chase links to understand how to use Bond in, say, C++.

Pandoc, the program we use to generate the HTML documentation from its Markdown source, didn't support includes in Markdown when we last investigated this. It was in the plan for Pandoc 2.x, which has since been released.

If Pandoc 2.x supports includes, the fix here would be to

  1. Upgrade the doc build to use Pandoc 2.x.
  2. Extract the language-agnostic parts into their own documents and include them in the relevant places in each language's manual.
  3. Possibly, write documentation about the abstract Bond type system.

If you want to do any of these, PRs are welcome. Each of these should be its own PR, please.

By the way, chadwalters doesn't work on Bond anymore.