From 75f5e0c62da711669d59f572c217b66a3f791b23 Mon Sep 17 00:00:00 2001 From: Gabor Kelemen Date: Wed, 12 Oct 2016 14:39:16 +0200 Subject: Script to check the validity of embed tags This script looks up tags in helpcontent, checks whether the referenced file and id exist, and prints a warning if either one does not. Execute from the root directory of the helpcontent2 repository. No parameters are used. Change-Id: Ic20bcfb1db398067231141b9af69c45590e1d452 Reviewed-on: https://gerrit.libreoffice.org/29732 Reviewed-by: Andras Timar Tested-by: Andras Timar --- helpers/find-invalid-help-embeds.sh | 56 +++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100755 helpers/find-invalid-help-embeds.sh (limited to 'helpers') diff --git a/helpers/find-invalid-help-embeds.sh b/helpers/find-invalid-help-embeds.sh new file mode 100755 index 0000000000..5c70fd5124 --- /dev/null +++ b/helpers/find-invalid-help-embeds.sh @@ -0,0 +1,56 @@ +#!/bin/bash +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# This script looks up tags in helpcontent, checks whether the +# referenced file and id exist, and prints a warning if either one does not. +# Execute from the root directory of the helpcontent2 repository. +# No parameters are used. + +# Example output of this git grep: +# source/text/sbasic/shared/03010000.xhp: +lines=$(git grep "embed href=" source/); + +while read nextline ; do + # source file is before the first : + sourcefile=${nextline%%:*}; + # There may be more than one in one line, split it up, + # but first cut off everything before the first + processline="]*>\)'); + # Check if there is an " source/"$targetfile"; + if [ "$?" -ne "0" ] ; then + echo "$sourcefile: In 'source/$targetfile' there is no section called '$targetsection'"; + fi + else + # target file does not exist + echo "$sourcefile: Embedded target file 'source/$targetfile' does not exist!" ; + fi + fi + # Remove the first xml tag from the parts still to be processed + processline=${processline#<*>}; + # There may be characters after this, i.e. "foo " + if [ -n "$processline" ] ; then + processline="<${processline#*<}"; + fi + done +done <<< "$lines" -- cgit