Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fg7gl-0005X4-CC for pgsql-docs@arkaria.postgresql.org; Thu, 19 Jul 2018 12:05:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1fg7gj-0003h1-9U for pgsql-docs@arkaria.postgresql.org; Thu, 19 Jul 2018 12:05:41 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fg7gi-0003gu-V3 for pgsql-docs@lists.postgresql.org; Thu, 19 Jul 2018 12:05:41 +0000 Received: from mail-lj1-x231.google.com ([2a00:1450:4864:20::231]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1fg7gf-0005HN-Q9 for pgsql-docs@lists.postgresql.org; Thu, 19 Jul 2018 12:05:40 +0000 Received: by mail-lj1-x231.google.com with SMTP id r13-v6so7079920ljg.10 for ; Thu, 19 Jul 2018 05:05:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gf-microolap-com.20150623.gappssmtp.com; s=20150623; h=sender:from:date:reply-to:organization:message-id:to:subject :in-reply-to:references:mime-version:content-transfer-encoding; bh=sEZ72jqSnBaFkHax4ovriGh14BSCoVQrNeONkB1g2x4=; b=xAcplDHvorQhZ6Ih78wTeE6zU1s2BtKU/e49YVx7DPQwoM2ixk+GhJe7uJ/0StF/pt yIv9R3stp55vDzQBtr0r1zyi+BFUsLfK3yIV1XZuEEz9nHBtebR8h5SQvaua5L0G/uFB KUTVHbBEKahvDisnOGs7cjucyISigvrWHSb4SHufrJXeN9aafbpVgJ0GOiBPIJFcwXBi hEA03ohe/f4a6QvaXKELfY1AEYBUcaqlXoSFOH8Rqt2pN7zFdsyRqG4ObyIY1PwfHQCx 5rNPM6j88ATBkvBjglFtpKcjYl0UGu6yFqCzkNSsNAWBVvCEUyTxtQSB0NqEi/POv/ax li5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:date:reply-to:organization :message-id:to:subject:in-reply-to:references:mime-version :content-transfer-encoding; bh=sEZ72jqSnBaFkHax4ovriGh14BSCoVQrNeONkB1g2x4=; b=Weye5E5aXZ5crvVsK3EqfQAEj6uCIqYdfe8obN5/kIXqdb/TdJsiLoxSDBBwghj55B vLP51uat7toQEQKox2693cLw7txfix5kCFYHToCoCP6k32FC7P4+R0x24684AyjFb62k jM7r3N1JaDdAEmOXxDGQULBLRb+Bs7IzMHzeUDIGwRPI8WadCuXWe0VuEWysZcEoADiM Y1o5yxXqWbEz4o3/Xpd2rii8rxzkAeV1EKoepnyKuaeUB2mG+IBEu0LW/PxZZX++XNg1 Kgy2jnRRt+A+GdgJu4AeLbTttQpl/Il8BN/D+bR6SWj9b73CCbq03HeYGbapLkqf5ONJ FHoQ== X-Gm-Message-State: AOUpUlEjjmfx9Jg7q1tdKqMZElvclg60kUGdt2dmLxl9op3RKydOQQEl 3INnZz3JyknPr1E1P7BkRGgNJw== X-Google-Smtp-Source: AAOMgpfcjgCVMGgWMlCGrcOtykXpE10Que0ncAzXU0oWyRhSYcfQPk87KeEB+xQNHyNRNnh8w04/gw== X-Received: by 2002:a19:c64c:: with SMTP id w73-v6mr6805264lff.2.1532001935646; Thu, 19 Jul 2018 05:05:35 -0700 (PDT) Received: from u1.101.seti.kr.ua ([91.226.59.248]) by smtp.gmail.com with ESMTPSA id p88-v6sm1061213ljp.90.2018.07.19.05.05.34 (version=TLS1_1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 19 Jul 2018 05:05:34 -0700 (PDT) Sender: Pavel Golub From: Pavel Golub X-Google-Original-From: Pavel Golub Date: Thu, 19 Jul 2018 15:06:08 +0300 Reply-To: Pavel Golub Organization: Microolap Message-ID: <1554502154.20180719150608@gf.microolap.com> To: =?utf-8?Q?J=C3=BCrgen_Purtz?= , pgsql-docs@lists.postgresql.org Subject: Re: Images in the official documentation In-Reply-To: <4ea1bacb-02ca-e967-31d7-d2a6db30abff@purtz.de> References: <20180227151914.2xtoygrwlm357fqo@alvherre.pgsql> <4ea1bacb-02ca-e967-31d7-d2a6db30abff@purtz.de> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Hello, Jürgen. You wrote: JP> Our discussion about grafics in the documentation reached to the JP> conclusion that we shall use SVG, the importance to 'diff-ability' JP> is rated differently, and there is no consensus about tools. I disagree. From what I heard, GraphViz is the winner for now. I can give you my two cents: plantuml is another good choice JP> To push the issue forward I modify my original proposal to use JP> plain svg files in a standard editor as follows: JP> We define a 'Simplified SVG format' (SSVG) We create libraries JP> where complex elements are predefined and can be JP> referenced We write the source in ssvg-format A compiler JP> (written in bison or xslt) converts ssvg-files to JP> svg-files We extend the sgml-files to include the svg-files The JP> ssvg and svg-files are located in a new svg directory, JP> Makefile copies them to sgml and html directory A JP> proof-of-concept is performed in 11beta2 for HTML and PDF JP> generation. The ssvg-format may be XML (as used in the examples), JP> JSON, C-style function calls JP> JP> PRO: JP> JP> JP> SVG 1.x has many restrictions and SVG 2.x does not make JP> progress in the last years. Tools and Browsers support different JP> ranges of the specification. The planned compiler cuts JP> everything down to the basic language level, where a broad JP> support is possible. Predefinded elements and default values JP> reduce the ssvg file to a small and clear source file. JP> You can embed original svg commands into ssvg files. When you use JP> an editor and a browser in parallel, you get the visual JP> result with few clicks. Everything is diff-able. The Makefile JP> needs only slightly amendments: additional cp commands and JP> some target-dependencies. We need no new tool. JP> JP> CON: JP> JP> JP> The development is done in a non-wysiwyg editor and without JP> mouse. You have to count pixel. JP> JP> Example: JP> PageLayout.ssvg: written in the new language JP> PageLayout.svg: the generated svg file (actually by hand, JP> the compiler is not yet implemented) JP> storage.sgml: an additional paragraph to refer to the svg-file JP> JP> JP>   JP>     JP>       JP>     JP>     JP>       scalefit="1" width="100%" contentdepth="100%"/> JP>     JP>   JP> JP> JP> PageLayoutHtml.png: the HTML result JP> PageLayoutPdf.png: the PDF result JP> JP> A second example: pgDump.svg within backup.sgml JP> JP> JP> Kind regards, Jürgen Purtz JP> JP> JP> JP> -- With best wishes, Pavel mailto:pavel@gf.microolap.com