Commit Graph

26 Commits

Author SHA1 Message Date
Kyle Gentle
08552c4364 Restructure src dir
Make a few changes in the toplevel src dir to help separate
templates from code. Specifically, we rename `src/mako` to
`src/generator`, and nest the mako templates inside a
`src/generator/templates` dir.

This isolates most Python code into the `src/generator/lib` dir.
2022-08-18 21:23:55 -04:00
Sebastian Thiel
1b87b1ca6b make calling virtualenv independent of the binary…
…forget binaries, it's python.
2021-01-06 21:02:16 +08:00
Sebastian Thiel
7aba410489 pyenv is working, at least locally and without perfect isolation 2021-01-05 22:44:16 +08:00
Sebastian Thiel
8cb73d66c2 Add simple preprocessor to handle descriptions interpreted by cargo doc
This seemed easiest, especially since I also am the author of
pulldown-cmark-to-cmark :D.

Funny how things fit together sometimes. And so much better than
if I would have tried the same in pure python.
2019-07-05 14:51:30 +08:00
Sebastian Thiel
e42ebc0c2b Bump version to 1.0.9; update JSON schemas; add new APIs 2019-07-05 11:32:35 +08:00
Guy Taylor
9174c01f29 Improve .gitignore
Add more Python specific git ignores as more Python libaries to run (e.g
code coverage)
2018-10-28 11:39:29 +01:00
Sebastian Thiel
18f0cae1d0 Fix gitignore 2017-05-22 20:01:03 +02:00
Sebastian Thiel
684233ccee chore(ignore): DS_Store
[skip ci]
2016-12-24 10:35:15 +01:00
Sebastian Thiel
1180314275 chore(make-docs): adjust to build.target-dir
Thanks to the latest cargo 0.3.0, it's possible to keep everything
in the stanard doc output directory, which essentially collects
everything for us.

This creatly reduces the space required to hold all documentation, and
is in fact quite beatiful.
2015-06-21 14:52:34 +02:00
Sebastian Thiel
5165ff68df chore(wheezy-build): using docker
Allow building all dependencies using docker
2015-04-17 20:57:04 +02:00
Sebastian Thiel
f5f12c5594 feat(CLI): added first versions of all CLI
That way, changes can be tracked.
Also, we make it official.

Future checkins will only be made if major changes were done,
similar to how the APIs are handled.

Related to #64
2015-04-16 22:44:40 +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
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
3bc930ae47 fix(version-up): 0.1.0 release
* Added all APIs to source control
* upped crate version
2015-03-22 20:30:01 +01:00
Sebastian Thiel
5fd7cb5114 fix(travis): install virtualenv automatically
The only dependency we really have is python, and wget.
Pip is not needed !
2015-03-14 12:45:32 +01:00
Sebastian Thiel
2d036b6623 feat(all-apis): build all apis, were possible
Now there is a blacklist feature, allowing to list apis we can't yet
handle for whichever reason.
2015-03-10 14:34:26 +01:00
Sebastian Thiel
ac35432b3f docs(lib): cross linking of resources/activities
This makes it so much easier to get to the example call you are
interested in.
It's getting there, slowly ;)
2015-03-08 18:58:15 +01:00
Sebastian Thiel
bb04b60dc4 fix(make): dependency handling:dirs with timestamp
That way, make will not regenerate unnecessarily
2015-03-03 06:46:47 +01:00
Sebastian Thiel
4e5f2c05d9 feat(mako): mako-render generates output dirs
That way, the makefile doesn't need to know that much anymore, and
gets simpler/less verbose.

\# Also
* Added filters for rust doc string
* fixed .PHONY
2015-03-02 13:45:57 +01:00
Sebastian Thiel
2298601165 feat(mako): can now use custom libraries in pycode
Namespaces can exclusively be used during rendering, which is fine if
you remind yourself of the newline rules.
However, I also need some utiltiies that convert input data. These
are now within their own libraries, which can be used from python blocks
like the ordinary python functions they are.

Quite neat.
In future, most of the functionality will be in separate namespaces,
the top-level will just assemble the main library file, usnig the
provided %defs. That way, the main file is kept clean.
2015-03-02 11:52:15 +01:00
Sebastian Thiel
087a0762ac feat(mako-render): multiple input-outputs per call
That way, we read the data files only once, but produce all the outputs
we need. Together with a powerful makefile, we have a multi-invocation
with proper depedency tracking.
Everything will be regenerated though, even though just a single input
template file changed.

The alternative would be to have one dependency and invocation per
input dependency, but that will read the entire json each time.

Let's see what's faster/more useful during development.
2015-03-01 17:44:02 +01:00
Sebastian Thiel
20410adb78 feat(mako): mako autosetup and improved executable
Now we can write mako templates, with a similar feature set as
pyratemp. Except that its syntax is nicer, allows to do everything
and that there is syntax highlight support.

Let's see how it fares
2015-03-01 16:01:46 +01:00
Sebastian Thiel
c0bfeabbc3 feat(pyratemp): successfully generating make deps
After minor modifications to pyratemp, it certainly does the job.

What it **does NOT** do:

* multiple outputs per template/command invocation
* NICE embedding of code (like GSL can)

It will do the job nonetheless, but mako might be worth a look
2015-03-01 15:08:37 +01:00
Sebastian Thiel
f13c2960ab feat(service): added authenticator arg
That will allow interaction between client and authentication attempts.
It also shows how cumbersome it is to deal with all these
generics ... but hey, you gotta do what you gotta do.

If boxes of pointers would be used, it would be easier to handle, but
enforces a certain memory model. That, of course, is not desired.
2015-03-01 10:21:03 +01:00
Sebastian Thiel
dda847607f feat(all): initial commit
Base project with everything it will need to grow:
* CI
* documentation
* basic cargo
2015-02-27 10:23:31 +01:00