Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eq9Je-0002je-Sp for pgsql-docs@arkaria.postgresql.org; Mon, 26 Feb 2018 03:19:03 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1eq9Jc-0001u0-0h for pgsql-docs@arkaria.postgresql.org; Mon, 26 Feb 2018 03:19:00 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1eq9Jb-0001to-NZ for pgsql-docs@lists.postgresql.org; Mon, 26 Feb 2018 03:18:59 +0000 Received: from mail.wordtothewise.com ([2001:470:1:6d::9a]) by makus.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1eq9JT-0002B2-QH for pgsql-docs@lists.postgresql.org; Mon, 26 Feb 2018 03:18:58 +0000 Received: from satsuke.wordtothewise.com (204.11.227.194.static.etheric.net [204.11.227.194]) by mail.wordtothewise.com (Postfix) with ESMTPSA id 3263223379 for ; Sun, 25 Feb 2018 19:19:41 -0800 (PST) From: Steve Atkins Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: Images in the official documentation Date: Sun, 25 Feb 2018 19:18:50 -0800 References: <1914747379.117313.1519402446241.JavaMail.zimbra@dbi-services.com> <08B83F11-EB17-4436-B73A-1857898B6B9B@blighty.com> To: pgsql-docs@lists.postgresql.org In-Reply-To: Message-Id: <1AF29ABD-1A12-4AB5-956A-4C9AD35F155D@blighty.com> X-Mailer: Apple Mail (2.3273) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk > On Feb 25, 2018, at 6:45 PM, Craig Ringer = wrote: >=20 > On 26 February 2018 at 04:12, Steve Atkins wrote: >=20 > Writing SVG by hand maybe doesn't seem the best idea. >=20 > I understand the attraction to people who want to store everything as = diffable text, but images of this sort are unlikely to get updated by = others, which means they're unlikely to be maintained as the things = they're intended to document change. It also means that the people best = suited to generating diagrams are the least likely to do so, and = vice-versa. >=20 >=20 >=20 > Yeah, I think it'd just effectively preserve the status quo by = rendering anyone who's willing to add images and designs to the docs = unable - or unlikely to be willing - to do so.=20 Yup. I do think that graphics would be nice in a few places, and that = SVG is likely the best format for them. There are quite a few tools that could be integrated with varying = amounts of effort into the documentation generation workflow. # ASCII language or ascii art to SVG # asciitosvg https://github.com/dhobsd/asciitosvg Inspired by ditaa, similar in functionality ## blockdiag, seqdiag, actdiag, nwdiag http://blockdiag.com Generates various box and arrow diagrams from a DOT-ish input language. ## ditaa It takes ascii art of box and arrow diagrams and turns them into nice = svg. Also supports boxes that look like "storage" cylinders, documents, = clouds and computers. ## erd https://github.com/BurntSushi/erd Entity relationship diagrams, from a plain text input. Uses DOT and = graphviz under the covers. ## Markdeep http://casual-effects.com/markdeep/ In-browser javascript rendering of ascii art, particularly boxes and = arrows. Alternate implementation, https://github.com/blampe/goat, converts to = SVG via CLI. ## Mermaid Flowcharts and sequence diagrams from a markdown-esque input. ## mscgen Message sequence chart inputs in a DOT-ish language to SVG ## plantuml http://plantuml.com It supports a human-editable descriptive text input language and = generates from it: sequence diagrams various box + arrow style diagrams flowcharts state diagrams etc. ## shaape https://github.com/christiangoltz/shaape Converts ascii art to SVG. Rather nice. ## svgbob https://github.com/ivanceras/svgbobrus Ascii art to SVG. Likely good for boxes and arrows. ## syntrax https://kevinpt.github.io/syntrax/ Railroad diagrams (like the ones SQLite docs are known for). ## umlet http://www.umlet.com Pointy-clicky editor, but also converts plain text to uml, sequence, = activity diagrams # Interactive editor ## SVG-Edit https://github.com/SVG-Edit/svgedit Open source, browser based interactive SVG editor. Seems to generate = fairly clean SVG. Cheers, Steve