From c900f23662a34599570ee54a36343c4136c58698 Mon Sep 17 00:00:00 2001 From: Mark Griffiths Date: Sun, 3 Aug 2014 02:25:47 +0100 Subject: [PATCH] Add lexicon filter to manpages. Fixed manpage 'NAME'. Under Doxygen 1.8, the output format has changed, so the old sed script was leaving man pages with two titles. --- Doxyfile.help | 16 ++++++++-------- Makefile.in | 11 ++++++----- build_tools/build_documentation.sh | 14 +++++++++----- 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/Doxyfile.help b/Doxyfile.help index beda7bbb1..746733827 100644 --- a/Doxyfile.help +++ b/Doxyfile.help @@ -241,9 +241,9 @@ ALIASES += "endfish=" ALIASES += "asis{1}=\1" ALIASES += "blah{1}=\1" -ALIASES += "cmnd{1}=\1" -ALIASES += "func{1}=\1" -ALIASES += "sbin{1}=\1" +ALIASES += "cmnd{1}=\b \1" +ALIASES += "func{1}=\b \1" +ALIASES += "sbin{1}=\b \1" ALIASES += "args{1}=\1" ALIASES += "opts{1}=\1" ALIASES += "vars{1}=\1" @@ -253,18 +253,18 @@ ALIASES += "fsfo{1}=\1" ALIASES += "path{1}=\1" ALIASES += "clrv{1}=\1" -ALIASES += "strg{1}=\1" +ALIASES += "strg{1}=\1" ALIASES += "sglq{1}=\'\1\'" ALIASES += "dblq{1}=\"\1\"" -ALIASES += "prmt{1}=" -ALIASES += "sgst{1}=\1" +ALIASES += "prmt{1}=\1" +ALIASES += "sgst{1}=\1" ALIASES += "eror{1}=\1" -ALIASES += "curs{1}=_" +ALIASES += "curs{1}=\1" ALIASES += "bold{1}=\1" ALIASES += "emph{1}=\1" -ALIASES += "undr{1}=\1" +ALIASES += "undr{1}=\1" ALIASES += "span{2}=\1" ALIASES += "spcl{2}=\1" diff --git a/Makefile.in b/Makefile.in index 39cbd8d74..cd1c57385 100644 --- a/Makefile.in +++ b/Makefile.in @@ -277,7 +277,7 @@ doc_src/user_doc.css: doc_src/user_doc.css.in doc_src/fish_lexicon_filter # doc: *.h *.cpp doc.h Doxyfile - (cat Doxyfile ; echo PROJECT_NUMBER=$(FISH_BUILD_VERSION)) | doxygen - ; + (cat Doxyfile; echo PROJECT_NUMBER=$(FISH_BUILD_VERSION)) | doxygen - ; # @@ -386,7 +386,7 @@ doc_src/fish_lexicon_filter: lexicon.txt doc_src/fish_lexicon_filter.in # Clean the filter input comments and set the shebang as sed can reside in # /bin or /usr/bin and some versions dont allow more than one comment!. sed <$@.in >$@.tmp -e 's|@sed@|'"`command -v sed`"'|' -e '/^[ ]*#[^!]/d' - # Scan through the lexicon, transforming each line to something usefue to Doxygen. + # Scan through the lexicon, transforming each line to something useful to Doxygen. sed >$@.tmp -n \ -e 's|^\([a-z][a-z][a-z][a-z]\) \([a-z_-]*\)$$|s,[[:<:]]\2[[:>:]],@\1{\2},g|p' \ -e '$$G;s/.*\n/b tidy/p'; \ @@ -493,11 +493,12 @@ common.o: $(COMMON_FILES) # There ought to be something simpler. # -share/man: $(HELP_SRC) +share/man: $(HELP_SRC) doc_src/fish_lexicon_filter -mkdir share/man touch share/man -rm -Rf share/man/man1 - PROJECT_NUMBER=`echo $(FISH_BUILD_VERSION)| sed "s/-.*//"` ./build_tools/build_documentation.sh Doxyfile.help ./doc_src ./share + PROJECT_NUMBER=`echo $(FISH_BUILD_VERSION)| sed "s/-.*//"` INPUT_FILTER=doc_src/fish_lexicon_filter \ + ./build_tools/build_documentation.sh Doxyfile.help ./doc_src ./share # # The build rules for installing/uninstalling fish @@ -811,7 +812,7 @@ clean: rm -f $(PROGRAMS) fish_tests key_reader rm -f command_list.txt command_list_toc.txt toc.txt rm -f doc_src/index.hdr doc_src/commands.hdr - rm -f doc_src/fish_lexicon_filter lexicon.txt + rm -f doc_src/fish_lexicon_filter lexicon.txt debug-lexicon.log rm -f FISH-BUILD-VERSION-FILE if test "$(HAVE_DOXYGEN)" = 1; then \ rm -rf doc user_doc share/man; \ diff --git a/build_tools/build_documentation.sh b/build_tools/build_documentation.sh index 0c4a2aac8..2705898e9 100755 --- a/build_tools/build_documentation.sh +++ b/build_tools/build_documentation.sh @@ -37,10 +37,12 @@ resolve_path() # Expand relative paths DOXYFILE=`resolve_path "$DOXYFILE"` INPUTDIR=`resolve_path "$INPUTDIR"` +INPUTFILTER=`resolve_path "$INPUT_FILTER"` OUTPUTDIR=`resolve_path "$OUTPUTDIR"` echo " doxygen file: $DOXYFILE" echo " input directory: $INPUTDIR" +echo " input filter: $INPUTFILTER" echo " output directory: $OUTPUTDIR" echo " skipping: $CONDEMNED_PAGES" @@ -87,6 +89,7 @@ done # This prevents doxygen from generating "documentation" for intermediate directories DOXYPARAMS=$(cat < "${CMD_NAME}.1.tmp" + sed < ${CMD_NAME}.1 > ${CMD_NAME}.1.tmp \ + -e "/.SH \"$CMD_NAME/d" \ + -e "s/^$CMD_NAME * \\\- \([^ ]*\) /\\\fB\1\\\fP -/" mv "${CMD_NAME}.1.tmp" "${CMD_NAME}.1" done - + # Erase condemned pages rm -f $CONDEMNED_PAGES - fi # Destroy TMPLOC