Commit Graph

14 Commits

Author SHA1 Message Date
Sebastian Thiel
c004840d5b docs(CLI): inforamtion about setting structs
For now we just have a 'dum' example, but once we are there, we shall
make the example and documentation based on the actual request value.

This requires some additional work, which fortunately has to be done
in python only.
2015-04-12 18:46:04 +02:00
Sebastian Thiel
c65a8a6bdf docs(CLI): add required scalar arguments 2015-04-12 18:16:53 +02:00
Sebastian Thiel
49c4a4101e docs(scopes): added CLI scope documentation
In addition to that, they can now be set as well.
Unified generation of the 'default' scope.
2015-04-12 17:15:55 +02:00
Sebastian Thiel
310c81f19c feat(cli): generate complete docopts grammar
Grammar is laid out per method, providing general purpose arguments
only as needed/supported.

All details will be contained in the markdown documentation.

Related to #45
2015-04-12 12:23:00 +02:00
Sebastian Thiel
51ddcf74a6 fix(cli): add commands.yml.mako
It was previously hidden thanks to .gitignore.

Good I made a fresh clone to see if make really really works.
2015-04-12 10:03:54 +02:00
Sebastian Thiel
acd42dfccc fix(make): dependencies are now per-program-type
Previously we put cli.py into the common lib folder, which caused the
API to be regenerated and rebuilt whenever we changed code that will
only affect the CLI, causing terrible turnaround times.

Now the dependency is fixed.
2015-04-12 09:55:17 +02:00
Sebastian Thiel
3cef120c58 feat(mkdocs): per-method-markdown-files
That way, all information can be placed within a single markdown file
per method call. This will keep loading times low while maximizing
usability.

That way, it's comparable to the API documentation, which is most
detailed on a per-method basis as well.
2015-04-10 16:52:42 +02:00
Sebastian Thiel
c78ea5381a feat(mkdocs): cli postprocessing support
That way, a single huge markdown file containing documentation for
commands and methods can be split up into multiple files for
individual inclusion in mkdocs.

It's done by a post-processor which is loaded by mako-render, providing
access to the entire context. Said processor may also drop results
altogether and thus prevent files to be written that have been split up
by it.
2015-04-10 13:02:36 +02:00
Sebastian Thiel
39253d988a feat(cli): docopt subcommands
Setup command/subcommand pattern.
Next will be the infrastucture for documenting these, using mkdocs
and markdown.
2015-04-09 18:01:58 +02:00
Sebastian Thiel
f527c8202b feat(cli): bin renaming + docopt infrastructure
* allow to rename executables, for now just brute-force using a boolean
  flag. If we have more binaries at some point, we might want to be more
  elaborate.
* everything related to docopts functionality is now in the docopts
  module.

  Related to #45
2015-04-09 17:05:55 +02:00
Sebastian Thiel
390354bd08 feat(cli): basic usage of docopts
For now we just show it works within our generator.
Next step is to actually generate docopts grammar.
2015-04-09 16:28:08 +02:00
Sebastian Thiel
d1c97912cb feat(mkdocs): mkdocs generator works now
It can be selected for each type of program we want to build, and makes
sense for everything that is not a library.

We also tried to unify names and folders a bit more, even though there
certainly is more work to be done to be fully non-redundant.

Fixes #43
2015-03-24 18:11:12 +01:00
Sebastian Thiel
cefd606b53 feat(make): cli depends on API, generically
This allows us to build efficiently. CLI programs can now have their
own cmn.rs implementation, which we can test standalone with
`cargo test`.

The primary makefile currently just explicitly pulls in the type-*.yaml,
one day we could possibly put it into a loop.

Fixes #11
2015-03-24 12:56:24 +01:00
Sebastian Thiel
137ba8caf3 refactor(mako): put API relevant stuff into subdir
This is the first of many changes to come.
We try to leverage our ability to merge multiple data source into one
to abstract away what we are actually doing, and of course, to allow
sharing the majority of the code, were applicable.
2015-03-23 16:13:02 +01:00