mirror of
https://github.com/kdave/btrfs-progs
synced 2024-12-22 14:13:04 +00:00
btrfs-progs: ci: build html manual page previews if source changed
Similar to the manual page on terminal preview, also do the html output that will be on the RTD page. Due to the way how it's displayed in the CI action summary the CSS is missing and there are some visual artifacts, e.g. in the option lists or special characters. Issue: #824 Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
ef8e050d64
commit
fb9c0feec8
12
.github/workflows/devel.yml
vendored
12
.github/workflows/devel.yml
vendored
@ -28,7 +28,17 @@ jobs:
|
||||
run: ./autogen.sh && CC=${{ matrix.compiler }} ./configure
|
||||
- name: Documentation
|
||||
run: make V=1 -C Documentation
|
||||
- name: Generate manual pages preview
|
||||
- name: Generate manual pages preview (html)
|
||||
if: ${{ matrix.compiler == 'gcc' }}
|
||||
env:
|
||||
ALL_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
|
||||
run: |
|
||||
for file in ${ALL_CHANGED_FILES}; do
|
||||
echo "$file was changed, generate preview to summary"
|
||||
Documentation/html-preview.sh "$file" >> $GITHUB_STEP_SUMMARY
|
||||
done
|
||||
- run: echo '<hr>' >> $GITHUB_STEP_SUMMARY
|
||||
- name: Generate manual pages preview (man)
|
||||
if: ${{ matrix.compiler == 'gcc' }}
|
||||
env:
|
||||
ALL_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
|
||||
|
41
Documentation/html-preview.sh
Executable file
41
Documentation/html-preview.sh
Executable file
@ -0,0 +1,41 @@
|
||||
#!/bin/sh
|
||||
# Generate manual page preview as rendered by 'make html', removed some styling
|
||||
# so there can be visual artifacts, usable for CI summary
|
||||
|
||||
if ! [ -f "$1" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
prefix=Documentation/
|
||||
here=$(pwd)
|
||||
|
||||
if [ "$(basename \"$here\")" = 'Documentation' ]; then
|
||||
prefix=
|
||||
fi
|
||||
|
||||
fn="$1"
|
||||
bn=$(basename "$fn" .rst)
|
||||
html=$(find "${prefix}"_build/html -name "$bn".'html')
|
||||
|
||||
if ! [ -f "$html" ]; then
|
||||
#echo "ERROR: cannot find html page '$html' from bn $bn fn $fn <br/>"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cat << EOF
|
||||
<details>
|
||||
<summary>$fn</summary>
|
||||
|
||||
EOF
|
||||
|
||||
# Up to <div itemprop="articleBody">, before that there's left bar navigation
|
||||
|
||||
cat "$html" | sed -e 's/^\s\+//' | awk '
|
||||
/^<div itemprop=.articleBody.>/ { doit=1; next; }
|
||||
/^<\/body>/ { doit=0; next; }
|
||||
doit==1 { print; }'
|
||||
|
||||
cat << EOF
|
||||
|
||||
</details>
|
||||
EOF
|
Loading…
Reference in New Issue
Block a user