[libvirt PATCH 3/5] news: Output reStructuredText for the ASCII version

Andrea Bolognani abologna at redhat.com
Tue Jun 2 14:57:17 UTC 2020


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 at redhat.com>
---
 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




More information about the libvir-list mailing list