6 ms·
Show HN: Cascii – A portable ASCII diagram builder written in vanilla JavaScript
3 months ago I wanted to draw an ASCII diagram to include in some documentation at work. I found the few tools online to be insufficient, and was suprised there wasn't a more complete tool to get the job done.
Since, I've built Cascii from scratch in vanilla Javascript (I'm not an FE dev, it might be obvious...).
I hope it works alright. Please check out the live version at https://cascii.app https://cascii.app, report problems, make diagrams to improve your code's documentation. Hope you enjoy using it.
- dspillett 2y agoThat looks almost exactly like something I've wanted, thought numerous times about making, but never getting around to. Thanks for scratching your itch and mine!
- ftr1200 2y agoReally glad to hear it. Enjoy!
- macintux 2y agoVery cool, thanks. One of the saddest days at my current job: when the company I’m contracted to stopped offering Excalidraw in favor of Lucid. I mostly understand the rationale, but the dramatic difference in friction basically shut down all interest I had in using diagrams to help communicate with my team members.
- ftr1200 2y agoA co-worker recently showed me this. It seems really good. If they did ASCII diagrams I'd probably have never made this project!
- jaredwiener 2y agoReally cool -- and congrats! FYI there's a typo in the link in the README -- points to casci.app instead of cascii.app.
- ftr1200 2y agoFixed. Thanks for raising :)
- dimenoz 2y agoThis is fantastic. I've always used JavE before but this being a single HTML file is a big+ and packs quite a punch. Kudos to the author! One question though, how do edit the content later? For example I generated a few diagrams one at a time and pasted those in a local plain text file. Later when I want to edit a particular diagram/part, I tried copy pasted it in, but always got "cannot paste, content leaves canvas" error. If I tried copy-pasting a really small section (e.g. 3x3 table), it pasted it right in the center. Anyway, not sure if that's an intended work flow or not. Great job regardless.
- ftr1200 2y agoGlad you asked. Have you checked the online version https://cascii.app https://cascii.app There, all exported drawings come with a short link. This is so that months later anyone reading / seeing can edit their own copy online / keep it up to date. You can also create an account to manage your own drawings. Side note - when you use real pasting, it will not remember meaningful information (that's very hard to do elegantly). In your example, I'm guessing that 3x3 table you pasted in could not be properly edited like a table again. Hence, use short links so that Cascii remembers state.
- dimenoz 2y agoMakes sense. Thank you for making and sharing this.
- ftr1200 2y agov1.0.1 now has offline import/export https://github.com/casparwylie/cascii-core https://github.com/casparwylie/cascii-core
- ssriram 2y agoHi, great app. I'd love to understand how you are maintaining state behind that short url and see if there are ways (sans server) to at least partially recreate state from the exported ascii. Having an Import from clipboard would truly make this a remarkable app.
- shanselman 2y agogenius. I love it. I'll take 14 of these immediately!
- breadchris 2y agoomg this is beautiful, great job!
- ftr1200 2y agoThank you!
- nwroot 2y agoThis is amazing thank you. Have been using asciimap or whatever, but this works so much better. Thank you.
- ccakes 2y agoLooks super cool, congrats! Monodraw[1] is a similar product delivered as a standalone macOS app. It’s a classic pay once-type license and very polished software. Cannot recommend enough! I’ve always wanted something as good on Linux though, will definitely give this a go! [1] https://monodraw.helftone.com/ https://monodraw.helftone.com/
- Brajeshwar 2y agoHappy user of Monodraw. I paid for it once a long long time ago and I use it once or twice a year.
- dangoodmanUT 2y agoit's literally just a single html file legend
- leptons 2y agoIt's a single 4992 line HTML file, which is the source code, making a lot harder to contribute to or maintain. I'd like it a bit more (and I might even contribute) if it had at least some separation of concerns, and a simple build system even if the build system is just a bash command to concatenate source files into one HTML file (if having 1 HTML file is somehow very important, but it's not).
- ftr1200 2y agoI know it's controversial to do things this way, but given it's a personal project and focuses on portability, I think the benefits are worth while. I have taken care to break things up, comment, etc - if you start at main(), you may find it's not any more difficult to follow than if i'd broken it up. Just because it's one file doesn't mean it doesn't separate concerns.
- leptons 2y ago>"Contributions are very welcomed. Please feel free to submit proposals directly in the form of a PR or Issue." Good luck getting contributions. I don't have the time to read and understand all 4000+ lines of this very long file. I have ideas, but I'm not even interested in participating because of the format.
- um1 2y agoOne file is great!
- wiseowise 2y ago> if having 1 HTML file is somehow very important, but it's not It is.
- 1y ago
- primitivesuave 2y agoThis is amazing, thank you for sharing it. Aside from being a very useful documentation tool, I hope it inspires more people to distribute simple standalone software utilities in this way.
- newusertoday 2y agointeresting, i generally use artist mode in emacs but this seems to have more options.
- theanonymousone 2y agoNice job. Thanks! Also very interesting to have it "distributed" in one html file. Sometimes people forget simple ways to do stuff :) Is is possible to import and edit diagrams after they have been created?
- smusamashah 2y agoThis looks awesome. The way you are dragging things around and the diagonal lines is amazing. Don't think asciiflow or the other one or two tools do this. Since you are providing a single portable html file (which almost no one does that these days sadly) you may be interested in how sequencediagrams.org handles this. They don't offer sign up, instead have localStorage, Google drive, file export and few other ways. Also, can you let me open it on the phone with a warning/recommendation to look at github instead of redirecting to it.
- ftr1200 2y agoBit of a nightmare getting this elegant enough on a phone, and doubt anyone wants to draw ASCII digrams on their phone anyway, so not really a priority!
- kentbrew 2y agoI love this so much. Thanks for using vanilla JS! Please consider changing the link colors in the scrolling intro to yellow when in dark mode. They were really hard to make out.
- Rucadi 2y agoBest tool I've seen for diagrams in a long time, Congratulations! I'll use this anywhere.
- wiseowise 2y agoAny chance you can write a blogpost about development of cascii? It looks impressive and it would be nice to take a sneak peek behind your thought process.
- ftr1200 2y agoYeah I'd like to talk about going back to basics with single-HTML / vanilla JS. It was a great experience, though admittedly controversial and I was expecting more people to be anti it.
- 0xcb0 2y agoWow! Great tool, looks so nice and useful. Thanks for building it!
- bambax 2y agoWow. This is absolutely fantastic! Great work! Congrats! Do you know if there would be a way (in the future) to export existing image diagrams to this format / will there be an API. It would be very cool for archival purposes.
- ftr1200 2y agoIt really depends how much demand there is. It's a great next step but a lot of work - I was thinking about training a neural net to parse images / 3rd party diagrams into Cascii, but right now I need a break from my screen for a few weeks :)
- ftr1200 2y agov1.0.1 now has offline import/export https://github.com/casparwylie/cascii-core https://github.com/casparwylie/cascii-core
- Cypher 2y agoobsidian plugin please
- two_handfuls 2y agoThis looks amazing! Thank you for making and sharing it. Being able to run it locally is fantastic for work, where one may not be allowed to share "internal details" with unvetted 3rd party companies.
- ftr1200 2y agoVersion 1.0.1 now has offline base64 import / export so you can permanently save drawings offline.
- dimenoz 2y agoExcellent! Thank you!
- LarsenCC 1y agoOmg, crazy haha.
- nextts 1y agoSee myself using this for sure!
- sdotdev 1y agoNice job, its really easy to use