The ASCII output our scripts produce is already very close to reStructuredText, and with just a few extra tweaks we can get almost all of the way there. Signed-off-by: Andrea Bolognani <abologna@xxxxxxxxxx> --- docs/news-ascii.xsl | 40 +++++++++++++++++++++++++++++++++------- scripts/reformat-news.py | 12 ++++++------ 2 files changed, 39 insertions(+), 13 deletions(-) diff --git a/docs/news-ascii.xsl b/docs/news-ascii.xsl index 8dacae934c..9f6c61a3c6 100644 --- a/docs/news-ascii.xsl +++ b/docs/news-ascii.xsl @@ -8,36 +8,48 @@ <!-- Document --> <xsl:template match="/libvirt"> - <xsl:text>libvirt releases + <xsl:text>================ +libvirt releases ================ + +This is the list of official releases for libvirt, along with an overview of +the changes introduced by each of them. + +For a more fine-grained view, use the `git log`_. </xsl:text> <xsl:apply-templates select="release"/> <xsl:text> -============================================================================== + Older libvirt releases didn't have proper release notes: if you are interested -in changes between them, you should check out docs/news-*.html or the full git +in changes between them, you should check out docs/news-\*.html or the full git log (see instructions in ChangeLog). + + +.. _git log: https://gitlab.com/libvirt/libvirt/-/commits/master </xsl:text> </xsl:template> <!-- Release --> <xsl:template match="release"> <xsl:text> -# </xsl:text> + +</xsl:text> <xsl:value-of select="@version"/> <xsl:text> (</xsl:text> <xsl:value-of select="@date"/> <xsl:text>) +=================== </xsl:text> + <xsl:apply-templates select="section"/> </xsl:template> <!-- Section --> <xsl:template match="section"> <xsl:text> -* </xsl:text> +* **</xsl:text> <xsl:value-of select="@title"/> - <xsl:text> + <xsl:text>** </xsl:text> <xsl:apply-templates select="change"/> </xsl:template> @@ -60,10 +72,24 @@ log (see instructions in ChangeLog). <!-- Change description --> <xsl:template match="description"> + <xsl:text> +</xsl:text> <xsl:text>|</xsl:text> <!-- This will be removed when reformatting --> - <xsl:value-of select="normalize-space()"/> + <xsl:apply-templates/> <xsl:text> </xsl:text> </xsl:template> + <!-- Regular text in change description --> + <xsl:template match="description//text()"> + <xsl:value-of select="normalize-space()"/> + </xsl:template> + + <!-- <code> HTML tag in change description --> + <xsl:template match="description//code"> + <xsl:text disable-output-escaping="yes"> ``</xsl:text> + <xsl:apply-templates/> + <xsl:text disable-output-escaping="yes">`` </xsl:text> + </xsl:template> + </xsl:stylesheet> diff --git a/scripts/reformat-news.py b/scripts/reformat-news.py index 7bc752d821..532a83803d 100755 --- a/scripts/reformat-news.py +++ b/scripts/reformat-news.py @@ -67,16 +67,16 @@ def reformat(line): indent = 2 # Section elif marker == '*': - initial_indent = 2 - indent = 4 + initial_indent = 0 + indent = 2 # Change summary elif marker == '-': - initial_indent = 4 - indent = 6 + initial_indent = 2 + indent = 4 # Change description elif marker == '|': - initial_indent = 8 - indent = 8 + initial_indent = 4 + indent = 4 # In this one case, the marker should not ultimately show # up in the output file, so we strip it before moving on line = line[1:] -- 2.25.4