| --- |
| layout: home |
| title: Home |
| stylesheet: home |
| --- |
| |
| <div class="hero"> |
| <div class="mdl-grid"> |
| <div class="mdl-cell mdl-cell--12-col-desktop mdl-cell--8-col-tablet |
| mdl-cell--4-col-phone"> |
| <h1>Beautiful Documentation for Build Rules</h1> |
| <p class="lead"> |
| Stardoc is an easy-to-use documentation generator for Bazel build rules |
| written in Starlark. |
| </p> |
| <p class="lead"> |
| (Stardoc is a recent replacement of the documentation generator tool named "Skydoc") |
| </p> |
| <a href="/docs/getting_started_stardoc.html" class="mdl-button mdl-js-button |
| mdl-button--raised mdl-js-ripple-effect">Get Started with Stardoc</a> |
| <a href="/docs/getting_started.html" class="mdl-button mdl-js-button |
| mdl-button--raised mdl-js-ripple-effect">Take me to Skydoc documentation instead</a> |
| </div> |
| </div> |
| </div> |
| <div class="feature"> |
| <div class="mdl-grid"> |
| <div class="mdl-cell mdl-cell--4-col-desktop mdl-cell--8-col-tablet |
| mdl-cell--4-col-phone"> |
| <h1>Python docstrings</h1> |
| <p> |
| Document your Starlark rules |
| <a href="docs/writing_stardoc.html">alongside their definition</a>. |
| </p> |
| {% highlight python %} |
| my_rule = rule( |
| implementation = _my_rule_impl, |
| doc = """ |
| Example rule documentation. |
| |
| Example: |
| Here is an example of how to use this rule. |
| """, |
| attrs = { |
| "srcs" : attr.label_list( |
| doc = "Source files used to build this target.", |
| ), |
| "deps" : attr.label_list( |
| doc = "Dependencies for this target.", |
| ), |
| } |
| ) |
| {% endhighlight %} |
| </div> |
| |
| <div class="mdl-cell mdl-cell--4-col-desktop mdl-cell--8-col-tablet |
| mdl-cell--4-col-phone"> |
| <h1>Convenient Build Rules</h1> |
| <p> |
| Skydoc's own convenient Bazel <a href="docs/generating_stardoc.html">build |
| rules</a> making it to integrate Skydoc into your build or release |
| pipeline. |
| </p> |
| {% highlight python %} |
| load("@io_bazel_skydoc//stardoc:stardoc.bzl", |
| "stardoc") |
| |
| stardoc( |
| name = "checkstyle-docs", |
| input = "checkstyle.bzl", |
| out = "checkstyle_doc.md", |
| ) |
| {% endhighlight %} |
| <pre class="term">$ <span class="info">bazel</span> build :checkstyle-docs</pre> |
| </div> |
| |
| <div class="mdl-cell mdl-cell--4-col-desktop mdl-cell--8-col-tablet |
| mdl-cell--4-col-phone"> |
| <h1>Beautiful Documentation</h1> |
| <p> |
| Generate <a href="docs/skylark.html">documentation</a> in Markdown. |
| </p> |
| <img src="/images/sample.png" class="responsive"> |
| </div> |
| </div> |
| </div> |