cljs / api

ClojureScript API parser
http://cljs.github.io/api/
MIT License
193 stars 23 forks source link

multi-pass generator #106

Closed shaunlebron closed 9 years ago

shaunlebron commented 9 years ago

I really want the referenced symbols in cljsdoc files to be validated against actual symbols. the original api-docs repo solved this by checking against the canonical symbol list in the separate api-refs repo. but now the repos have merged so that the generated pages have our manual docs.

so, we need a multi-pass system so that the manual docs can depend on the fully generated data as before.

For this, we need preliminary output directories, we'll call .cljs-api-cache/<version>, which will be used to incrementally build up intermediate results for each version before creating repo commits.

maybe we should use cljs-api.no-cljsdoc.edn for data that doesn't have cljsdoc info yet.

This will also allow a faster CI process (generate all data, but only generate the most recent pages).

Need to add new options to cmd param:

opt description e.g. default
:task a side task to run instead of the main one :cljsdoc :docset nil
:version version to process <#> <version> :latest :latest
:catalog? create a catalog repo? true false <#> false
:skip-pages? skip page-creation for previous versions? true false false
:skip-parse? skip parsing versions if already cached? true false false
shaunlebron commented 9 years ago

working on this here: https://github.com/cljsinfo/cljs-api-docs/tree/multi-pass

shaunlebron commented 9 years ago

removing the single version feature to simplify things. its use-case of fast development is covered by the :skip-parse? and :skip-pages? options.