bartblast

bartblast

Creator of Hologram

This thread is dedicated to announcing updates to the Hologram documentation, as well as discussing any ideas for improvements and suggestions for new sections. Your input is invaluable in ensuring that the docs meet the needs of both new and experienced users.

Feel free to share your thoughts and ideas here to help enhance the documentation and make it more useful for everyone in the Hologram community. Let’s work together to make Hologram’s documentation the best it can be!

Showing Posts 1 to 10

bartblast

bartblast OP

Creator of Hologram

I’m excited to announce that a new Actions documentation page is now live! This page provides comprehensive information on how to use actions within the Hologram framework.

You can check it out here: Actions Documentation

Feel free to explore and let me know if you have any feedback or suggestions!

D4no0

D4no0

I would say that highlighting for code blocks goes a long way here, especially since you decided to go with a custom platform, personally I would just used hexdocs.

christhekeele

christhekeele

I do agree that syntax highlighting is probably table stakes.

I’ve been pretty impressed personally with how far I can customize ex_doc into some extreme stylistic changes; and the cross-linking between other docs in the ecosystem is luxuriant. The auto-genned TOC and deep linking, including back to source, is hard to recreate on my own (I’ve tried, though I’m not a wizard at this stuff).

OTOH I do understand the desire for a web framework to boostrap its own docs, to which I can say that prism.js works pretty well in my experience.

christhekeele

christhekeele

Very excited to see more docs, everything I see about hologram suggests a functional API exactly how I would want it to work. The unveiling of topics incrementally has me on the edge of my seat.

I notice upfront the signature of a def action is clarified, and then a lot of useful demonstrative snippets are under the heading “Action Results”. These snippets are individually illustrative but I think the section could use a “bring it all together” example.

Notably, as documented today it’s not clear if the calls under Action Results cause side effects, are chainable, or part of some undocumented expected contract between Hologram and what the end user is supposed to do. My experience with Phoenix tells me they are probably meant to be composed via pipes and that the return value must be some Conn-like object, but that should be made explicit when you get the chance!

Eiji

Eiji

See:

Actions must return a %Component{} struct. This struct not only reflects changes to the component’s state but also includes instructions for what happens next. These instructions can be in the form of a chained action, an enqueued command, a next page to navigate to, or an emitted context.

For more it’s clear enough …The only confusing thing is that’s part of Update Emitted Context section. I would move it right below Action Results header.

christhekeele

christhekeele

Ah I did indeed miss that in its entirety, I suppose I was scanning the code snippets more throughout that section. I’d still say a more demonstrative complete example would help, but… so would me reading closer :slightly_smiling_face:

henriquesati

henriquesati

I like the idea of having a dedicated site for docs besides mixdocs. The default docs are usually good, but sometimes I found some undocumented parts because people generate documentation from modules and probably forgot some parts. This happened to me recently in Phoenix where I need to go into the module to see what a function returns, to find out which parameter to pass. I think this type of “approach” is good for developers outside the ecosystem, it’s like the the beginning of microsoft or apple (I don’t remember correctly the history), elixir developers will say that you only need mixdocs (the baremetal hardware) but why not have more carefully designed and created documentation in the standards that other languages and users are used to know? ​​

henriquesati

henriquesati

to add more 2 cents bcs i’m having this experience of being new to elixir eco: I feel like more high levels languages as python has more “newbie” friendly docs (probably bacause the language is more abstracted) and elixir/erlang ecossystem packages forces me to have more knowledge over the language and the domain to follow and understand corretly the docs (and I think this is good).
To make me clear, when I use a python os js library is rare that I dont see something documented (even if its something silly)
in elixir the majority of time that little thing isnt documented and I have to seach throught internet, this forum that I very much like, or throgh annotations; what again, it’s good because makes me a better devloper, but you know would be good to not have to

D4no0

D4no0

This is why you can always generate separate markdown files to cover something that is outside a single module. For example, here is the phoenix installation page that is simply a .md file.

I don’t think anyone claimed that going with a custom solution is a bad thing, however ex_doc has already implemented a huge amount of great features that you will have to implement from scratch.

In this regard I agree, had this situation too, for example OTP has much better structured documentation, where every parameter and it’s possible values are documented entirely.

It does seem that the last years elixir is moving in that direction too and the fact that erlang switched to ex_docs seems like all required features are in place, it’s up to library creators to document properly.

Care to show examples of those standards? All the ecosystems I’ve worked professionally with had some of the most horrible documentation, I had always to resort to reading blogposts and tutorials of dubious quality.

henriquesati

henriquesati

“Care to show examples of those standards? All the ecosystems I’ve worked professionally with had some of the most horrible documentation, I had always to resort to reading blogposts and tutorials of dubious quality.”

I was talking about documentation sometimes requiring a lot of technical input from the user with a “single code sytax” or “single code” instead of putting more declarative english documentation (besides annotations), coving more than one case and edge cases , etc
in resume I think elixir documentations are better takinginspiration from other languages ​​and libs to improve its own documentarion style or pattern (not becoming them) making it more “easier” and with higher coverage (dooh this is good for every documentation) than locking yourself in your own style

“It does seem that the last years elixir is moving in that direction too and the fact that erlang switched to ex _docs seems like all required features are in place, it’s up to library creators to document properly”

the perfect approach would be build the base layer on exdocs and kind of transpile it to the doc third repository? can this be done seamlessly?

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 92995 915
New
caslu
I want to open this thread for you all to discuss and help those who really like Ash but are still hesitant to use it in a real project. ...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
Herve37
We’re evaluating API mocking tools for OpenAPI-based projects and would love to hear what other teams are using. We’re particularly inte...
New
GES233
I’m posting this in response to Jose’s recent tweet (Cr. link) : People are sleeping on Elixir for a coding harness: Hot-code swappi...
New
_mfierro
Hello, I wrote Stop My Hand, a Scattergories-like web application using Phoenix/LiveView as my learning project for Elixir (after readin...
New
nseaSeb
AcmeScript — Writing JS hooks as if I were still using Elixir I’ve been having fun building a little something over the last few days: Ac...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews