]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
GHA: trim markdown headers before proselinting
authorDaniel Stenberg <daniel@haxx.se>
Thu, 22 Aug 2024 10:47:16 +0000 (12:47 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 22 Aug 2024 21:45:40 +0000 (23:45 +0200)
Allow interface.md to use more exclamation marks.

Closes #14645

.github/scripts/trimmarkdownheader.pl [new file with mode: 0755]
.github/workflows/proselint.yml

diff --git a/.github/scripts/trimmarkdownheader.pl b/.github/scripts/trimmarkdownheader.pl
new file mode 100755 (executable)
index 0000000..9c62373
--- /dev/null
@@ -0,0 +1,41 @@
+#!/usr/bin/env perl
+# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# SPDX-License-Identifier: curl
+#
+# Given: a libcurl curldown man page
+# Outputs: the same file, minus the header
+#
+
+my $f = $ARGV[0];
+
+open(F, "<$f") or die;
+
+my @out;
+my $line = 0;
+my $hideheader = 0;
+
+while(<F>) {
+    if($hideheader) {
+        if(/^---/) {
+            # end if hiding
+            $hideheader = 0;
+        }
+        push @out, "\n"; # replace with blank
+        next;
+    }
+    elsif(!$line++ && /^---/) {
+        # starts with a header, strip off the header
+        $hideheader = 1;
+        push @out, "\n"; # replace with blank
+        next;
+    }
+    push @out, $_;
+}
+close(F);
+
+open(O, ">$f") or die;
+for my $l (@out) {
+    print O $l;
+}
+close(O);
index 177f247b2e1b744840da3d5196fb792cec2b8b4d..54075ddf6dafd42688c74f85a960da7380db1b1e 100644 (file)
@@ -50,8 +50,11 @@ jobs:
           }
           JSON
 
+      - name: trim headers off all *.md files
+        run: git ls-files '*.md' | xargs -n1 ./.github/scripts/trimmarkdownheader.pl
+
       - name: check prose
-        run: git ls-files '*.md' | grep -Ev 'CHECKSRC.md|DISTROS.md|CURLOPT_INTERFACE.md' | xargs proselint README
+        run: git ls-files '*.md' | grep -Ev 'CHECKSRC.md|DISTROS.md|CURLOPT_INTERFACE.md|interface.md' | xargs proselint README
 
       # This is for CHECKSRC and files with aggressive exclamation mark needs
       - name: create second proselint config
@@ -68,4 +71,4 @@ jobs:
           JSON
 
       - name: check special prose
-        run: proselint docs/CHECKSRC.md docs/libcurl/opts/CURLOPT_INTERFACE.md
+        run: proselint docs/CHECKSRC.md docs/libcurl/opts/CURLOPT_INTERFACE.md docs/cmdline-opts/interface.md