[xml2rfc] RFC-draw, a python application to make SVG and ASCII-art diagrams for RFCs

Nevil Brownlee <nevil.brownlee@gmail.com> Tue, 07 November 2023 03:08 UTC

Return-Path: <nevil.brownlee@gmail.com>
X-Original-To: xml2rfc@ietfa.amsl.com
Delivered-To: xml2rfc@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A5F8DC198497 for <xml2rfc@ietfa.amsl.com>; Mon, 6 Nov 2023 19:08:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.479
X-Spam-Level:
X-Spam-Status: No, score=-0.479 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_IMAGE_ONLY_24=1.618, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_REMOTE_IMAGE=0.01, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BLZ2yN7FrLZr for <xml2rfc@ietfa.amsl.com>; Mon, 6 Nov 2023 19:08:13 -0800 (PST)
Received: from mail-ua1-x92a.google.com (mail-ua1-x92a.google.com [IPv6:2607:f8b0:4864:20::92a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C0AEC198487 for <xml2rfc@ietf.org>; Mon, 6 Nov 2023 19:08:13 -0800 (PST)
Received: by mail-ua1-x92a.google.com with SMTP id a1e0cc1a2514c-7b9f08482c8so2288054241.3 for <xml2rfc@ietf.org>; Mon, 06 Nov 2023 19:08:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699326492; x=1699931292; darn=ietf.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=D+B0gEJpTQT8U9E/S0OC8kq66il4BvwsWoKUD3ID7D8=; b=Aq62Of3MUtHrSjMIS0H6+A6EoGyYSvNngn0IKMImswAamBL59e+3/QBD5xbSVZHmNN RpQrEXKaIfc/TjB53uB9QCtSoM7HQ+rXXveWTnYtykFUlyemHqz2wz8B9WIPWkjX48Xl FOrmsifIyYBnLSzUSqgjA/Gjt0nlENBiiQUoW/KQzq012MZIKOO2ldI8XYQgcfmbnsx0 aBh37U42GeErsBchCrk488yMw4quy4p5MxFND5wFuhDDzYDfQhL1hKwVw5p8EsnJb1mm EN1yK+e1xPTl3o6zNDjR7ZyCx5FCbkiyyfmIN12EbLRXWuRygBYcuvp+WEztYzP2iRXu yFYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699326492; x=1699931292; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=D+B0gEJpTQT8U9E/S0OC8kq66il4BvwsWoKUD3ID7D8=; b=YQ2ZsmiLGHGNKWlRChNrerwOEEoaSqrpBmQyQmMkg/V/inrH3OLDxoLe9Y/L15AZ1H RBWvHfoLoi3lvUCaNkKuK9rj2ZFiSjMMFR/cnZv1mCp8jnaC4kTWb+h5wdpZpCn19zXE vmg18VQRKANPCPtBvNCS7jrkxAtwF+lDtaNl1BB7AoFQEpuik21w3BpK56Dds15AknOt /oW8ydcutinxlRvFZcDWU/llAztnSBlICP30fyvNOfQxixaOMQQfLlh1LdRJr9OoySAj fTHUjcANBB26hm8yUUvGfwfdtvMdC/gxFhPZs+zs6zHF87EqhqBUQ0izwWycWpJsy38T /arg==
X-Gm-Message-State: AOJu0Yw3TBJYJNKm/lt3FHWrEFHaQe1SlZmXESA+/Owi5gYW1+mM54Tz CY+lXDDz+fFOzwIvX2zYcnSdJ5xZpMkA7A0/n8bglyXksEI=
X-Google-Smtp-Source: AGHT+IFFEROTNpVHPWFrfbgWLgMpnHSYZuP1Hio4P2nSzgyAYL01fZny1O4rYr6QNXtxJ9II5vesbq2u3UHcROPnwQ0=
X-Received: by 2002:a67:b704:0:b0:45f:77f5:a62c with SMTP id h4-20020a67b704000000b0045f77f5a62cmr461237vsf.21.1699326491570; Mon, 06 Nov 2023 19:08:11 -0800 (PST)
MIME-Version: 1.0
From: Nevil Brownlee <nevil.brownlee@gmail.com>
Date: Tue, 07 Nov 2023 16:07:45 +1300
Message-ID: <CACOFP=gZ0q1cPePFUR=5Rpv1iEabpeZ_N-Vj=_k+_DyTCogcuA@mail.gmail.com>
To: xml2rfc@ietf.org
Content-Type: multipart/alternative; boundary="000000000000e338d2060987473a"
Archived-At: <https://mailarchive.ietf.org/arch/msg/xml2rfc/IcmzyROtoFXEQIx8AgeIZhoQ7Ow>
Subject: [xml2rfc] RFC-draw, a python application to make SVG and ASCII-art diagrams for RFCs
X-BeenThere: xml2rfc@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: XML2RFC discussion list <xml2rfc.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/xml2rfc/>
List-Post: <mailto:xml2rfc@ietf.org>
List-Help: <mailto:xml2rfc-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/xml2rfc>, <mailto:xml2rfc-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 07 Nov 2023 03:08:13 -0000

Hi all:
To answer the question "how do I make an SVG diagram that conforms to
RFC7996", I've created a python program called rfc-draw, using python's
interactive environment, tkinter.

The current (v1.0) version is on github, i.e. at
https://github.com/nevil-brownlee/rfc-draw
rfc-draw lets you draw your diagram on-screen, and save it to an rfc-draw
data (.rdd) file.  From that .rdd file you can make an svg version, and
also an ASCII-art version.

Brian Carpenter pointed out that I could also make xml2rfc <figure>, with
both ascii and svg versions, from a .rdd file, so I've implemented that as
well.

When you have time to do so, please download a copy from
https://github.com/nevil-brownlee, and see what you think of it.
I'm happy to fix any problems you may find, and of course suggestions for
improvements are welcome!

Cheers, Nevil


-----------------------------------
Nevil Brownlee, Taupo, NZ