NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
▲Show HN: Reladraw – A diagram language where you decide where to place things (github.com)
patriciobcs 11 minutes ago [-]
I was looking for something like this. I wish it had different themes, the will prob be the best improvement.
jpwalsh234 4 minutes ago [-]
Great idea! So, right now it defaults to this sorta "dark" theme, and the only option you'd have is to change the diagram background color or define styles. I'll make defining some preset themes a priority!
v9v 52 minutes ago [-]
Great! Reminds me of Pikchr a bit https://pikchr.org/home/doc/trunk/homepage.md
jpwalsh234 32 minutes ago [-]
[dead]
tetris11 40 minutes ago [-]
I like it. I have too many issues with Mermaid
jpwalsh234 30 minutes ago [-]
Thanks! I really like Mermaid, but if the diagram gets too complicated, it draws it how it wants and I end up reaching for Draw.io, which is also awesome, but can take a lot of time.
monster_truck 39 minutes ago [-]
This genuinely fucks. Thank you

Fighting with mermaid is so frustraiting, especially when it comes to normal vs github formatting. This is going to replace several ad-hoc half impls I have laying around

jpwalsh234 25 minutes ago [-]
Glad to hear it :) If you find that you want Reladraw to do something that it can't, let me know! I keep uncovering features by looking at actual Draw.io diagrams I've made and seeing if Reladraw can do it.
lastscattering 35 minutes ago [-]
This is basically tikz's positioning library (right=of, below left=of) without having to touch LaTeX. With tikz it was never the nodes that hurt me, it was the edges. Once two edges want the same side of a box it gets ugly fast. Does the resolver do any routing, or is from:/to: all you get? And what happens with conflicting statements, does the first one win or do you get an error?
jpwalsh234 8 minutes ago [-]
Appreciate the comment and questions!

Does the resolver do any routing? It doesn't auto-route around obstacles. But, if nodes A, B, and C all have edges going to the left side of D, they share that side and space themselves apart so they don't cross. If the side is too short, they'll bow out to make space for each other, so you don't have to manually fiddle. You can also give routing instructions like "these edges pass between these two nodes on their way to D".

Conflicting statements? Statements that can all hold will all apply. Right of one node and below another is okay. Or, "right of A and B and C" will clear whichever sticks out furthest. If they all can't hold, you'll get an error naming the clashing statements (e.g., something both left and right of A). Nothing silently wins.

drfloyd51 4 minutes ago [-]
>nothing silently wins.

Fantastic! Never change this.

People will complain. These people also prefer type unsafe languages. Hold fast.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 20:08:42 GMT+0000 (Coordinated Universal Time) with Vercel.