有人知道一款好的工具来使用.proto源文件生成Google Protobuf文档吗?
有人知道一款好的工具来使用.proto源文件生成Google Protobuf文档吗?
1.0.0-rc
。protoc-doc-gen
(参见他较早的答案)提供了一种很好而且简单的方法来生成您的文档,包括html、json、markdown、pdf和其他格式。protoc-doc-gen
的维护者,现在是pseudomutoprotoc-gen-doc
已经完全重写成Go版本,并且现在使用Docker进行生成(而不是apt-get
)您可以在此处查看各种 html
和 markdown
输出生成选项(或者在 此处 查看 SO 上的 markdown 示例):
负责所有自动化的TravisCI脚本是这个简单的.travis.yml
文件:
sudo: required
services:
- docker
language: bash
before_script:
# Create directory structure, copy files
- mkdir build && mkdir build/html
- cp docgen/stylesheet.css build/html
script:
# Create all flavours of output formats to test (see README)
- docker run --rm -v $(pwd)/build:/out -v $(pwd)/schemas/html:/protos:ro pseudomuto/protoc-gen-doc
- docker run --rm -v $(pwd)/build/html:/out -v $(pwd)/schemas/html:/protos:ro -v $(pwd)/docgen:/templates:ro pseudomuto/protoc-gen-doc --doc_opt=/templates/custom-html.tmpl,inline-html-comments.html protos/HypercoreSpecV1_html.proto
- docker run --rm -v $(pwd)/build:/out -v $(pwd)/schemas/md:/protos:ro pseudomuto/protoc-gen-doc --doc_opt=markdown,hypercore-protocol.md
- docker run --rm -v $(pwd)/build:/out -v $(pwd)/schemas/md:/protos:ro -v $(pwd)/docgen:/templates:ro pseudomuto/protoc-gen-doc --doc_opt=/templates/custom-markdown.tmpl,hypercore-protocol_custom-template.md protos/HypercoreSpecV1_md.proto
deploy:
provider: pages
skip_cleanup: true # Do not forget, or the whole gh-pages branch is cleaned
name: datproject # Name of the committer in gh-pages branch
local_dir: build # Take files from the 'build' output directory
github_token: $GITHUB_TOKEN # Set in travis-ci.org dashboard (see README)
on:
all_branches: true # Could be set to 'branch: master' in production
.proto
文件来演示概念。)一款开源的protobuf插件,可从proto文件中生成DocBook和PDF文档。
http://code.google.com/p/protoc-gen-docbook/
免责声明:我是该插件的作者。
/** ... */
或/// ...
编写。//
// Message level comments
message myMsg {
// Field level comments
required string name=1;
}
这将进入您生成的Java源文件中。由于某种原因,protoc会用<pre>
标签括起Javadoc注释。但总的来说,这是v2.5中一个不错的新功能。
html/index.html
,我看不到任何文档。我已启用日志记录并粘贴了生成的proto2cpp.log
文件的输出在此处。关于Doxygen的过滤是否有所改变?你知道如何解决吗?或者我对这个项目的期望是错误的? - Florian Wolters由于.proto文件大多只是声明,我通常会发现具有内联注释的源文件是直接而有效的文档。
https://code.google.com/apis/protocolbuffers/docs/techniques.html
自描述消息