b2d5245dcd
Main change is around removing our custom syntax which allows
to read markdown files directly on GitHub:
* instead of using custom link format `@{xref}` we start
using normal links. For example, [`dart::ThreadPool`][] is
understood as a ref to `dart::ThreadPool` class declaration.
`build.py` script injects an xref section at the end of
each markdown file.
* similarly we don't use custom syntax for admonitions, but
instead use blockquotes. `build.py` detects block quotes
which start with a marker like `**Note**` and renders
then in a custom way.
This CL also drops dependency on cquery and instead rewrites
indexing in pure Python via libclang.
Change-Id: I0b47ec93f632de89627a3c682d511c8b86c58430
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280262
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
1.6 KiB
1.6 KiB
This directory contains helper scripts for rendering runtime wiki pages as HTML.
# Run webserver for development.
$ runtime/tools/wiki/build/build.py
# Build wiki for deployment
$ runtime/tools/wiki/build/build.py --deploy
Markdown extensions
Admonitions and Asides
Blockquotes starting with > **Marker** are converted either:
- into sidenotes (if
MarkerisNote), which will be rendered on margins of the page; - admonitions (if
MarkerisSource to read,Trying itorWarning).
Referencing C++ symbols and files
Script extends Markdown references with special support for references that
use [`ref`][] and [text][`ref`]. The following values for ref are
recognized and resolved as links to GitHub at the current commit.
file-pathis resolved as a link to the given file;package:name/path.dartis resolved as a link to filepath.dartwithin packagename- actual path is resolved via.dart_tool/package_config.jsonfile in the SDK root;c++ symbolis resolved as a link to the line in the file which defines the given C++ symbol.
If markdown file contains any references in this form then running
runtime/tools/wiki/build/build.py --deploy will generate a reference
section at the end of the file. Appending this section allows other Markdown
tools (e.g. GitHub viewer) to render such special links correctly.
Prerequisites
- Install all Python dependencies.
$ pip3 install coloredlogs jinja2 markdown aiohttp watchdog pymdown-extensions pygments - Install
libclang(brew install llvmon Mac OS X). - Install SASS compiler (make sure that SASS binary is in your path).