Advice on Python build tools

Chris Warrick kwpolska at gmail.com
Wed Apr 13 11:19:40 EDT 2016


On 12 April 2016 at 11:48, Sayth Renshaw <flebber.crue at gmail.com> wrote:
> Hi
>
> Looking at the wiki list of build tools
> https://wiki.python.org/moin/ConfigurationAndBuildTools
>
> Has anyone much experience in build tools as i have no preference or experience to lean on.
>
> Off descriptions only i would choose invoke.
>
> My requirements, simply i want to learn and build a simple static website generator. Many i am not liking design of or are overkill so its a good opportunity to learn, logya is a good starting point for what i think a good python static generator should be.
>
> Second i want to use Jade templates (js) as i think they are more pythonic than jinja and mako so being able to have mixed js and python support would be needed.
>
> Thoughts?
>
> Sayth
> --
> https://mail.python.org/mailman/listinfo/python-list

Here’s a great static site generator (disclaimer, I’m a core dev over there):

https://getnikola.com/

We use doit, which is on that list. With doit, we get an existing
build system, and incremental rebuilds — for free. I recommend you try
Nikola, and if you don’t like it and still want to build something
yourself, doit is going to be a great way to do it. That said,
incremental builds often involve trial-and-error and subtle bugs when
you start working on it. And if you don’t like doit, you can always
write your own build micro-system. Because if you want to write
something simple and minimal, an existing large build system will just
make things harder.

As for Jade templates, you can’t do that reasonably. You would need to
produce some hack to spawn a JavaScript subprocess, and it would limit
what you can use in templates. Instead, look for a template system
that is written in Python and that has similar syntax.

(also, I wouldn’t consider such weird-thing-into-real-HTML template
engines pythonic)

-- 
Chris Warrick <https://chriswarrick.com/>
PGP: 5EAAEA16



More information about the Python-list mailing list