Want to take part in these discussions? Sign in if you have an account, or apply for one below
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
For those who have not encountered it, quiver is a web-based editor for commutative and pasting diagrams. Currently, quiver just exports to tikz-cd, but we’re currently working on the ability to export embeddable <iframe>
s.
The diagrams on the nLab are a mix of MathJax array
s and screenshots from LaTeX output (e.g. see the page for Kan extensions), neither of which look very good and are difficult to modify. I wanted to suggest the possibility of using quiver to render these diagrams. This would mean that diagrams would look consistent, good at any screen resolution, and be easy to modify. Furthermore, nLab readers would be able to save any of the diagrams on the nLab as tikz-cd so they could use them without having to copy them out manually.
I’d like to hear what people think of this idea: if there’s general support, then we can discuss how to go about implementing this. (For instance, I imagine it would be best to host a version of quiver on the nLab itself, so that the nLab is not relying on an external service.)
Nice project!
My immediate thought is ’not at the moment, at least’. Actually the recommended way for the last few years on the nLab has been to use the ’tikz-cd’/xymatrix’ functionality documented in the HowTo. As far as I know people are pretty happy with this: it suffers from none of the defects you mention. I have seen other projects emulating or intending to emulate the implementation, e.g. the n-café and the Azimuth project.
At one point we had a visual commutative diagram editor on the nLab, and it is probably still present in the original Instiki. However, I removed it as it was hardly used, and the codebase of the editor as well as the code it generated was a mess. I have not looked at the code of quiver, it might well be fantastic. But I would be reluctant to bring in another visual editor without demand from several quarters. For now, quiver could be hosted anywhere, and people who wish to use it could simply paste its output into the tikz implementation in the nLab. It would of course be fine to link to quiver in the HowTo for example to explain this possibility.
I like the idea of using quiver. I think it might significantly lower the editing barrier if there were a nice easy interface for editing commutative diagrams, so that e.g. someone could simply click an “edit” button next to the diagram and be taken to it in quiver, with changes made there automatically propagating to the nlab page.
I’m OK with that. It’s not something I’d be likely to prioritise myself for the foreseeable future, but if varkor wishes to implement this kind of thing for the nLab (generate nLab Tikz code from quiver using some kind of Javascript functionality on nLab pages), and is willing to undertake maintenance of quiver if it is hosted on the nLab, that would be fine.
That sounds good: I’ll try to implement the functionality for the nLab, to see how well it works in practice. I won’t have time right away, but I’ll let you know when I make progress.
Great! What I think could work nicely here, and which would I think be the kind of thing Mike envisioned, would be something new for the nLab, a kind of new way to make an edit. Rather than actually go to the edit screen, I can imagine that one just hovers over the diagram (or something), whereupon a little ’edit’ icon shows up; if one clicks on it, a little window can pop up in which quiver can be used to edit the diagram; when one ’saves’, this will actually make an edit. Obviously you can implement this however you wish, but I suggest that you work on the client side, and just assume that you have a backend endpoint on the nLab server which you can post Tikz diagram code to. When you are ready, I can do the backend implementation to receive this code and make a ’silent’ edit. Each SVG diagram generated by the nLab Tikz parser already has an ID, so it will be possible to identify which diagram has changed. I am not sure whether you will wish to parse this SVG code, though, as it is generated and not very pretty; an alternative might be to proceed from the underlying xymatrix/Tikz source. Anyhow, let me know if you need any backend tweaks to facilitate your implementation if you do give it a go.
One can imagine other (simpler!) examples of this kind of way of making an edit, e.g. fixing a typo. If you’d like to try something like this first as a warm up, you’d be very welcome. It is somewhat in the direction of a WYSIWYG way to edit the nLab, which if I recall correctly you were interested in. I definitely think one way to improve the nLab software is to add more client side, dynamic stuff like this.
1 to 6 of 6