| #External
|
| SkXXX
|
| bmh_SkXXX
|
| CL
|
| C
|
| Visual_Studio
|
| ##
|
|
|
| #Topic Bookmaker
|
|
|
| How to use the Bookmaker utility.
|
|
|
| Get the fiddle command line interface tool.
|
|
|
| #Code
|
| $ go get go.skia.org/infra/fiddle/go/fiddlecli
|
| ##
|
|
|
| Get the Bookmaker CL and build it.
|
|
|
| #Code
|
| $ git cl patch 9919
|
| $ ninja -C out/dir bookmaker
|
| ##
|
|
|
| Generate an starter Bookmaker file from an existing include.
|
| This writes SkXXX.bmh in the current directory, which is
|
| out/dir/obj/ from an IDE.
|
|
|
| #Code
|
| $ ./out/dir/bookmaker -t -i include/core/SkXXX.h
|
| ##
|
|
|
| Use your favorite editor to fill out SkXXX.bmh.
|
|
|
| Generate fiddle.json from all examples, including the ones you just wrote.
|
| Error checking is syntatic: starting keywords are closed, keywords have the
|
| correct parents.
|
| If you run Bookmaker inside Visual_Studio, you can click on errors and it
|
| will take you to the source line in question.
|
|
|
| #Code
|
| $ ./out/dir/bookmaker -e fiddle.json -b current_directory
|
| ##
|
|
|
| Once complete, run fiddlecli to generate the example hashes.
|
| Errors are contained by the output but aren't reported yet.
|
|
|
| #Code
|
| $ $GOPATH/bin/fiddlecli --input fiddle.json --output fiddleout.json
|
| ##
|
|
|
| Generate bmh_SkXXX.md from SkXXX.bmh and fiddleout.json.
|
| Error checking includes: undefined references, fiddle compiler errors,
|
| missing or mismatched printf output.
|
| Again, you can click on any errors inside Visual_Studio.
|
|
|
| #Code
|
| $ ./out/dir/bookmaker -r site/user/api -b current_directory -f fiddleout.json
|
| ##
|
|
|
| The original include may have changed since you started creating the markdown.
|
| Check to see if it is up to date.
|
| This reports if a method no longer exists or its parameters have changed.
|
|
|
| #Code
|
| $ ./out/dir/bookmaker -x -b current_directory/SkXXX.bmh -i include/core/SkXXX.h
|
| ##
|
|
|
| #Topic Bugs
|
| #List |
| overaggressive reference finding in code block
|
| missing examples
|
| redundant examples -- got tired so used the same one more than once
|
| some examples need vertical resizing
|
| list doesn't work (ironic, huh)
|
| ##
|
| ##
|
|
|
| #Topic To_Do
|
| #List |
| check that all methods have one line descriptions in overview
|
| see also -- anything that can be done automatically? maybe any ref shows up everywhere
|
| index by example png
|
| generate pdf or pdf-like out
|
| generate b/w out instead of color -- have b/w versions of examples?
|
| formalize voice / syntax for parts of topic and method
|
| write bmh data back into include
|
| have a way to write one block that covers multiple nearly indentical methods?
|
| may want to do this for pdf view as well
|
| write a one-method-per-page online view?
|
| ##
|
| ##
|
|
|
| #Topic Bookmaker ##
|