Hacker News new | ask | show | jobs
by mdaniel 1300 days ago
https://docs.djinn-ci.com/admin/configuration/

> Each configuration file for Djinn CI uses its own structured configuration language.

I sure do hope that adds as much value to your life as it causes pain for people trying to learn Yet Another Vanity DSL Because Reasons™

You will want to invest a lot more energy in the one point of documentation anyone new to this cares about: https://docs.djinn-ci.com/user/manifest/ Compare how short and ill specified that is versus https://docs.gitlab.com/ee/ci/yaml/

As a concrete example, in GLCI I have

    variables:
      thing: |
        #!/usr/bin/env bash
        echo "hello from $CI_PIPELINE_ID"
so in dijinn, is it this?

    env:
    - thing=#!/usr/bin/env bash
      echo "hello from $CI_PIPELINE_ID_IN_DIJINN"
    # or this?
    - thing=#!/usr/bin/env bash\necho "hello..."

and I know I'm not supposed to complain about website styling, but stop being cute with that width:40% -- I have a 4K monitor for a reason
1 comments

Thanks for the feedback. Regarding the configuration language, I don't think it's too hard to learn, I modelled it after the structured configuration NGINX uses since I find that easy to read and write compared to something like TOML, or YAML for the configuration I wanted.

Regarding the documentation styling, I appreciate the 40% width is a bit too narrow. The styling is something that has gone through multiple revisions, but some more work still needs to be done.

On the brevity of the documentation, especially on the manifest structure, I decided to err on the side of verbosity. But I will take your feedback on board.

Thanks.

> I don't think it's too hard to learn,

kind of a circular reasoning, isn't it? of course you don't think it's "too hard" but every bit of mental energy spent learning this bespoke DSL with its bespoke quoting and semantics is time of my life I'll never get back because no one other than dijinn uses it

> On the brevity of the documentation, especially on the manifest structure, I decided to err on the side of verbosity.

Ok, if you think that's verbose and covers everything a user would need to be successful with dijinn, then I have learned what I wanted to know. Good luck with your project