I work primarily on Java and other object oriented programming languages and often found it difficult to read an elixir codebase, to recollect what I have written when re-visiting my code after a break.
Iris generates a webpage from your codebase and lists all your applications, modules and methods. Method call paths are also generated and visualized. You can use this to teach explain product managers about your codebase!
I am unable to add a screenshot here as I’m a new user. Please click on the link to see the screenshot in my github repo.
I would love to hear your feedback on the library. Please try it out !
Please find the interactive demo for this project generated by iris and hosted on HexDocs in the IrisUI section of the docs located at iris v0.1.2 — Documentation
Hi, I wanted to try iris, but it broke with a dependency conflict. Would it be a good idea to make it installable as escript like: mix escript.install hex iris?
I played around with your example and it’s surely an interesting library. Well done!
A couple of things that I noticed:
you are not using tags in your github repo and therefore your documentation doesn’t go to the correct code
it would be nice if you could move from the iris documentation to the hexdoc documentation (and/or to the actual code). I have seen the “Documentation” icon which pops up the ExDoc documentation for the @moduledoc, but then you can’t get any further
Also the “Documentation” for function @doc doesn’t open when you select it, you need to click on the icon in the graph once more.
I’m not sure on how useful the library will be for me and whether it fits my way of thinking, but I will surely try it out more
Thank you for using iris and providing feedback @a-maze-d ! I have a question,
you are not using tags in your github repo and therefore your documentation doesn’t go to the correct code
Are you referring to github repo tags for each version of iris? or the html tags when documentation is displayed on the UI?
it would be nice if you could move from the iris documentation to the hexdoc documentation (and/or to the actual code)
This seems like a good idea ! It would definitely be easier to navigate if iris provided links to hex docs as well. I will look into this.
I have seen the “Documentation” icon which pops up the ExDoc documentation for the @moduledoc , but then you can’t get any further
The documentation in hex docs for any given module is actually stitched from module and functions documentation. At this point it would be difficult to render functions documentation in the same component while rendering module docs.
Also the “Documentation” for function @doc doesn’t open when you select it, you need to click on the icon in the graph once more.
This was actually the intention, the cursor doesn’t change to a pointer when hovered on the docs icon in functions section, but, per your feedback, it would be better to make the behaviour consistent.
Hi @Taun, if you have anything specific you would like to point out then we can have a more focused discussion in a github issue, else this forum should be fine.
Are you referring to github repo tags for each version of iris? or the html tags when documentation is displayed on the UI?
Yes, if you tag your release in github your documentation will point to the correct code. For example, you have the </> icon on your readme page and in version v0.1.3 it points to this URL: https://github.com/rahultumpala/iris/blob/v0.1.3/README.md#L1. Currently you will get a 404 - page not found error, since github can’t find the tag v0.1.3
Hello everyone, just want to share a quick update here. Iris v0.1.4 supports umbrella projects and the bugs reported here in the forum are resolved.
Additionally, I would like some feedback on an idea. How would you like to have a construct that allows writing documentation for private functions and shows it in Iris UI?
Currently we have @moduledoc and @doc constructs that allow writing documentation and displaying it through ex_doc. I keep writing comments to document private functions in my module and I believe having a designated construct for this would make it much simpler with the added bonus of displaying in Iris UI.