From: John Mandereau Date: Sun, 26 Jul 2009 17:20:22 +0000 (+0200) Subject: Docs: fix doc build and clean up maintenance X-Git-Tag: release/2.13.4-1~288 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=3a9c1df02fdb6846418c5794a7b04d07209e95b3;p=lilypond.git Docs: fix doc build and clean up maintenance * doc build fixes in French docs, * clean out occurences of 'Documentation/user' and 'input/lsr': update the CG, update maintenance scripts (without testing them :-/); * clean up Documentation/GNUmakefile; TODO: test and fix maintenance scripts. --- diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile index eddd02822c..a8f4802130 100644 --- a/Documentation/GNUmakefile +++ b/Documentation/GNUmakefile @@ -1,9 +1,16 @@ depth = .. +######################## +# Documentation build # +######################## + +############# +### Variables + NAME = documentation LANGS = $(shell $(PYTHON) $(top-src-dir)/python/langdefs.py) -SUBDIRS = application contributor learning notation snippets\ - bibliography pictures misc po $(LANGS) +MANUALS_SUBDIRS = application contributor learning notation +SUBDIRS = $(MANUALS_SUBDIRS) snippets bibliography pictures misc po $(LANGS) STEPMAKE_TEMPLATES = documentation texinfo tex omf LOCALSTEPMAKE_TEMPLATES = lilypond ly @@ -26,8 +33,7 @@ EPS_ILLUSTRATIONS=context-example.eps IN_ITELY_FILES = $(call src-wildcard,snippets/*-intro.itely) SNIPPET_LY_FILES = $(call src-wildcard,snippets/*.ly) - -### Extra out files +### Out files # Dependencies GENERATED_ITELY_FILES = $(IN_ITELY_FILES:snippets/%-intro.itely=$(outdir)/%.itely) @@ -40,25 +46,24 @@ XREF_MAPS_FILES += $(XREF_MAPS_DIR)/internals.xref-map OMF_FILES += $(outdir)/internals.html.omf $(outdir)/internals.pdf.omf # Main manuals +TEXINFO_MANUALS = internals\ + $(TELY_FILES:%.tely=%)\ + $(TEXI_FILES:%.texi=%) -OUT_MASTER_TEXI_FILES = $(outdir)/internals.texi -#OUT_TEXI_FILES=$(ITEXI_FILES:%.itexi=$(outdir)/%.texi)\ -# $(ITELY_FILES:%.itely=$(outdir)/%.texi) - -HTML_FILES = \ -$(TELY_FILES:%.tely=$(outdir)/%-big-page.html)\ - $(TEXI_FILES:%.texi=$(outdir)/%-big-page.html)\ - $(outdir)/internals-big-page.html +PDF_FILES = $(TEXINFO_MANUALS:%=$(outdir)/%.pdf) -PDF_FILES = \ -$(TELY_FILES:%.tely=$(outdir)/%.pdf)\ - $(TELY_FILES:%.texi=$(outdir)/%.pdf)\ - $(outdir)/internals.pdf +UNSPLITTED_HTML_MANUALS = changes +SPLITTED_HTML_MANUALS = $(foreach manual, $(TEXINFO_MANUALS),\ +$(if $(findstring $(manual), $(UNSPLITTED_HTML_MANUALS)),, $(manual))) +OUT_HTML_FILES = $(UNSPLITTED_HTML_MANUALS:%=$(outdir)/%.html)\ + $(SPLITTED_HTML_MANUALS:%=$(outdir)/%-big-page.html) +DEEP_HTML_FILES = $(SPLITTED_HTML_MANUALS:%=$(outdir)/%/index.html) +# Other out files HTML_PAGE_NAMES= index translations devel -OUT_HTML_FILES= $(HTML_PAGE_NAMES:%=$(outdir)/%.html) -OUT_CSS_FILES= $(CSS_FILES:%.css=$(outdir)/%.css) +OUT_HTML_FILES += $(HTML_PAGE_NAMES:%=$(outdir)/%.html) +OUT_CSS_FILES = $(CSS_FILES:%.css=$(outdir)/%.css) MAIN_INFO_DOC = lilypond-notation INFO_DOCS = lilypond-application lilypond-changes lilypond-contributor lilypond-internals \ @@ -73,32 +78,14 @@ INFO_IMAGES_DIR = lilypond DEST_INFO_IMAGES_SUBDIR = Documentation/ endif - include $(depth)/make/stepmake.make - -default: local-doc - -ifeq ($(out),www) -local-WWW-2: txt-to-html $(OUT_HTML_FILES) - -local-WWW-clean: deep-WWW-clean - -deep-WWW-clean: - rm -rf $(outdir)/wiki-dump -endif - OUT_TXT_FILES = $(addprefix $(outdir)/, $(addsuffix .txt, $(README_TOP_FILES))) -# cd $(outdir) rule gets bit hairy for --srcdir configure builds -txt-to-html: - $(foreach a, $(README_TOP_FILES), cp $(top-src-dir)/$(a) $(outdir)/$(a).txt && ) true - $(PYTHON) $(step-bindir)/text2html.py $(OUT_TXT_FILES) +########### +### Targets -$(OUT_HTML_FILES): $(OUT_CSS_FILES) - -$(outdir)/%.css: %.css - ln -f $< $@ +default: local-doc local-help: extra-local-help @@ -120,9 +107,6 @@ Translations specific targets (see TRANSLATION for details):\n\ \n\ LL refers to the desired locale (most often only the ISO 639 language code).\n" -##################################### -# Texinfo - info: $(INFO_FILES) @echo export LILYPOND_DATADIR=$(LILYPOND_DATADIR) @echo export PYTHONPATH=$(PYTHONPATH) @@ -133,17 +117,32 @@ xml: $(outdir)/notation/notation.xml $(outdir)/internals/internals.xml local-clean: rm -f $(INFO_IMAGES_DIR) +### Web targets -# -# Split manuals in HTML -# -$(outdir)/learning/index.html: $(OUT_PNG_IMAGES) $(OUT_EPS_IMAGES) -$(outdir)/notation/index.html: $(OUT_PNG_IMAGES) $(OUT_EPS_IMAGES) +ifeq ($(out),www) +local-WWW-1: $(TEXINFO_MANUALS:%=$(outdir)/%.texi) $(PDF_FILES) info +local-WWW-2: txt-to-html $(OUT_HTML_FILES) $(DEEP_HTML_FILES) $(source-links) +endif + + +######### +### Rules + +# cd $(outdir) rule gets bit hairy for --srcdir configure builds +txt-to-html: + $(foreach a, $(README_TOP_FILES), cp $(top-src-dir)/$(a) $(outdir)/$(a).txt && ) true + $(PYTHON) $(step-bindir)/text2html.py $(OUT_TXT_FILES) + + +$(OUT_HTML_FILES): $(OUT_CSS_FILES) + +$(outdir)/%.css: %.css + ln -f $< $@ -# -# Manuals in one big HTML page -# +## Extra images dependencies +$(outdir)/learning/index.html: $(OUT_PNG_IMAGES) $(OUT_EPS_IMAGES) +$(outdir)/notation/index.html: $(OUT_PNG_IMAGES) $(OUT_EPS_IMAGES) $(outdir)/learning-big-page.html: $(OUT_PNG_IMAGES) $(outdir)/notation-big-page.html: $(OUT_PNG_IMAGES) @@ -158,8 +157,8 @@ $(outdir)/internals/internals.xml: $(outdir)/internals.texi $(outdir)/learning.texi $(outdir)/notation.texi: $(OUT_PDF_IMAGES) -$(foreach manual, application contributor learning notation,\ -$(eval $(outdir)/(i).texi: $(call src-wildcard,$(i)/*.ite??))) +$(foreach manual, $(MANUAL_SUBDIRS),\ +$(eval $(outdir)/(manual).texi: $(call src-wildcard,$(manual)/*.ite??))) $(outdir)/%.png: %.png convert -depth 8 -geometry 50x50% $< $@ @@ -174,16 +173,6 @@ $(outdir)/%.pdf: %.eps gs -dAutoRotatePages=/None -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -sOutputFile=$@ -dEPSCrop -c .setpdfwrite -f $< -### Splitted HTML manuals - -DEEP_HTML_FILES =\ - $(outdir)/application/index.html\ - $(outdir)/internals/index.html\ - $(outdir)/learning/index.html\ - $(outdir)/notation/index.html\ - $(outdir)/music-glossary/index.html\ - $(outdir)/snippets/index.html - # Symlinks to refer to external source documents from split and non-split HTML source-links = $(outdir)/source $(outdir)/notation/source $(outdir)/music-glossary/source \ $(outdir)/application/source $(outdir)/learning/source $(outdir)/internals/source \ @@ -198,34 +187,23 @@ $(outdir)/%/source: mkdir -p $(dir $@) ln -sf $(depth)/.. $(@) -################################ -### Snippets rules idiosyncrases +## Snippets rules idiosyncrases $(outdir)/%.itely: snippets/%-intro.itely snippets/%.snippet-list xargs $(LYS_TO_TELY) -f doctitle,texidoc,verbatim --name=$@ --template=$< < $(filter %.snippet-list, $^) $(outdir)/snippets.texi: $(GENERATED_ITELY_FILES) $(SNIPPET_LY_FILES) -############### -### Web targets - -ifeq ($(out),www) -local-WWW-1: $(MASTER_TEXI_FILES) $(PDF_FILES) info - -local-WWW-2: $(HTML_FILES) $(DEEP_HTML_FILES) $(source-links) -endif - $(outdir)/%.bib: %.bib ln -f $< $@ -# lilypond.texi deps +## notation.texi deps $(top-build-dir)/mf/$(outconfbase)/feta16list.ly: $(MAKE) -C $(top-src-dir)/mf $(outdir)/notation.texi: $(outdir)/ly-grammar.txt -# Rules for the automatically generated documentation - +## Rules for the automatically generated documentation $(outdir)/ly-grammar.txt: $(top-src-dir)/lily/parser.yy cd $(outdir) && $(BISON) -v $< $(auxscript-dir)/yyout2grammar.py $(outdir)/parser.output $@ @@ -237,12 +215,10 @@ $(outdir)/ly-grammar.txt: $(top-src-dir)/lily/parser.yy $(outdir)/internals.texi: $(LILYPOND_BINARY) cd $(outdir) && $(LILYPOND_BINARY) --verbose $(top-src-dir)/ly/generate-documentation -.SECONDARY: - -##################################### -# Translations maintenance targets # -##################################### +############################################### +# Documentation and translations maintenance # +############################################### po-update: make -C po po-update @@ -259,39 +235,39 @@ new-lang: then echo "Error: $(ISOLANG) directory already exists. Exiting." ; \ exit 3 ; \ fi - mkdir -p $(ISOLANG)/user + mkdir -p $(ISOLANG)/learning cp fr/GNUmakefile $(ISOLANG) - cp fr/user/GNUmakefile $(ISOLANG)/user - sed -i -e 's/ISOLANG *= *fr/ISOLANG = $(ISOLANG)/' $(ISOLANG)/GNUmakefile $(ISOLANG)/user/GNUmakefile + cp fr/learning/GNUmakefile $(ISOLANG)/learning + sed -i -e 's/ISOLANG *= *fr/ISOLANG = $(ISOLANG)/' $(ISOLANG)/GNUmakefile $(ISOLANG)/learning/GNUmakefile $(auxscript-dir)/texi-langutils.py -d $(outdir) -l $(ISOLANG) -o doc.pot --skeleton --gettext ../learning.tely - mv $(outdir)/*.*tely $(ISOLANG)/user + mv $(outdir)/*.*tely $(ISOLANG)/learning msgmerge -U po/lilypond-doc.pot $(outdir)/doc.pot cp po/lilypond-doc.pot po/$(ISOLANG).po @echo "*** Please add a language definition for $(ISOLANG) in python/langdefs.py ***" -CHECKED_FILES = $(ISOLANG)/index.html.in $(shell find $(ISOLANG)/user/ -maxdepth 1 -name '*.*te??') \ - $(shell find $(depth)/input/texidocs/ -name '*.texidoc') +CHECKED_FILES = $(ISOLANG)/index.html.in $(foreach i,learning notation application, \ + $(shell find $(ISOLANG)/$(manual) -maxdepth 1 -name '*.*te??')) \ + $(shell find $(ISOLANG)/texidocs/ -name '*.texidoc') -TELY_FILES = $(call src-wildcard,$(ISOLANG)/user/*.tely) +TELY_FILES = $(call src-wildcard,$(ISOLANG)/*.tely) skeleton-update: - $(auxscript-dir)/texi-langutils.py -d $(outdir) -l $(ISOLANG) --skeleton $(TELY_FILES:$(ISOLANG)/user/%.tely=../user/%.tely) - $(auxscript-dir)/texi-skeleton-update.py $(ISOLANG)/user $(outdir) + $(auxscript-dir)/texi-langutils.py -d $(outdir) -l $(ISOLANG) --skeleton $(TELY_FILES:$(ISOLANG)/%.tely=../%.tely) + $(auxscript-dir)/texi-skeleton-update.py $(ISOLANG) $(outdir) snippet-update: - $(auxscript-dir)/update-snippets.py user $(ISOLANG)/user '*.itely' + $(auxscript-dir)/update-snippets.py user $(ISOLANG) '*.itely' -DOCUMENTS_INCLUDES:=-I $(ISOLANG)/user \ --I $(top-build-dir)/Documentation/$(ISOLANG)/user/out-www \ --I $(top-src-dir)/input/lsr \ --I $(top-build-dir)/input/lsr/out-www \ --I user -I $(top-build-dir)/Documentation/user/out-www +DOCUMENTS_INCLUDES:=-I $(ISOLANG) \ +-I $(top-build-dir)/Documentation/$(ISOLANG)/out-www \ +-I $(top-src-dir)/Documentation/snippets \ +-I $(top-build-dir)/Documentation/out-www else # ISOLANG is empty -DOCUMENTS_INCLUDES:=-I user \ --I $(top-build-dir)/Documentation/user/out-www \ --I $(top-src-dir)/input/lsr \ --I $(top-build-dir)/input/lsr/out-www +DOCUMENTS_INCLUDES:=-I . \ +-I $(top-build-dir)/Documentation/out-www \ +-I $(top-src-dir)/Documentation/snippets \ +-I $(top-build-dir)/Documentation/snippets/out-www endif # ISOLANG diff --git a/Documentation/contributor/compile.itexi b/Documentation/contributor/compile.itexi index c6a54e35f7..8d3112aa5e 100644 --- a/Documentation/contributor/compile.itexi +++ b/Documentation/contributor/compile.itexi @@ -348,8 +348,8 @@ be triggered as they should be; a workaround is to force rebuilding by touching appropriate files, e.g. @example -touch Documentation/user/*.itely -touch input/lsr/*.ly +touch Documentation/notation/*.itely +touch Documentation/snippets/*.ly @end example @@ -372,12 +372,13 @@ Please note that this may break sometimes -- for example, if a new feature is added with a test file in input/regression, even the latest development release of LilyPond will fail to build the docs. -You may build the manual without building all the @file{input/*} -stuff: change directory, for example to @file{Documentation/user}, -issue @code{make doc}, which will build documentation in a -subdirectory @file{out-www} from the source files in current -directory. In this case, if you also want to browse the documentation -in its post-processed form, change back to top directory and issue +You may build the manual without building all the @file{input/*} stuff +(i.e. mostly regression tests): change directory, for example to +@file{Documentation/}, issue @code{make doc}, which will build +documentation in a subdirectory @file{out-www} from the source files in +current directory. In this case, if you also want to browse the +documentation in its post-processed form, change back to top directory +and issue @example make out=www WWW-post diff --git a/Documentation/contributor/doc-translation-list.itexi b/Documentation/contributor/doc-translation-list.itexi index 1da5186c27..9184fede9f 100644 --- a/Documentation/contributor/doc-translation-list.itexi +++ b/Documentation/contributor/doc-translation-list.itexi @@ -18,68 +18,68 @@ Word counts (excluding LilyPond snippets) are given for each file. @example -1- Documentation index and Tutorial -429 user/lilypond-learning.tely -6368 user/tutorial.itely -23 user/dedication.itely -432 user/macros.itexi +429 learning.tely +6368 learning/tutorial.itely +23 dedication.itely +432 macros.itexi 171 index.html.in 161 translations.template.html.in 6522 po/lilypond-doc.pot (translate to po/@var{MY_LANGUAGE}.po) ---- ../lilypond-texi2html.init (section TRANSLATIONS) +--- lilypond-texi2html.init (section TRANSLATIONS) 14106 total -2- Introduction and beginning of Application Usage -411 user/preface.itely -3866 user/introduction.itely -407 user/lilypond-program.tely -193 user/install.itely (partial translation) -1149 user/setup.itely -3023 user/running.itely +411 learning/preface.itely +3866 learning/introduction.itely +407 application.tely +193 application/install.itely +1149 application/setup.itely +3023 application/running.itely 9049 total -3- Learning manual -10323 user/fundamental.itely -- Fundamental concepts -14834 user/tweaks.itely -- Tweaking output -5033 user/working.itely -- Working on LilyPond files -498 user/templates.itely -- Templates +10323 learning/fundamental.itely -- Fundamental concepts +14834 learning/tweaks.itely -- Tweaking output +5033 learning/working.itely -- Working on LilyPond files +498 learning/templates.itely -- Templates 30688 total -4- Notation reference -724 user/lilypond.tely -91 user/notation.itely -- Musical notation -3155 user/pitches.itely -4757 user/rhythms.itely -1392 user/expressive.itely -555 user/repeats.itely -1456 user/simultaneous.itely -1689 user/staff.itely -919 user/editorial.itely -2412 user/text.itely -76 user/specialist.itely -- Specialist notation -2725 user/vocal.itely -1516 user/chords.itely -702 user/piano.itely -810 user/percussion.itely -826 user/guitar.itely -66 user/strings.itely -242 user/bagpipes.itely -4487 user/ancient.itely -6170 user/input.itely -- Input syntax -2164 user/non-music.itely -- Non-musical notation -8663 user/spacing.itely -- Spacing issues -11800 user/changing-defaults.itely -- Changing defaults -5187 user/programming-interface.itely -- Interfaces for programmers -611 user/notation-appendices.itely -- Notation manual tables -252 user/cheatsheet.itely -- Cheat sheet +724 notation.tely +91 notation/notation.itely -- Musical notation +3155 notation/pitches.itely +4757 notation/rhythms.itely +1392 notation/expressive.itely +555 notation/repeats.itely +1456 notation/simultaneous.itely +1689 notation/staff.itely +919 notation/editorial.itely +2412 notation/text.itely +76 notation/specialist.itely -- Specialist notation +2725 notation/vocal.itely +1516 notation/chords.itely +702 notation/piano.itely +810 notation/percussion.itely +826 notation/guitar.itely +66 notation/strings.itely +242 notation/bagpipes.itely +4487 notation/ancient.itely +6170 notation/input.itely -- Input syntax +2164 notation/non-music.itely -- Non-musical notation +8663 notation/spacing.itely -- Spacing issues +11800 notation/changing-defaults.itely -- Changing defaults +5187 notation/programming-interface.itely -- Interfaces for programmers +611 notation/notation-appendices.itely -- Notation manual tables +252 notation/cheatsheet.itely -- Cheat sheet 63447 total -5- Application usage -3248 user/lilypond-book.itely -- LilyPond-book -1171 user/converters.itely -- Converting from other formats +3248 application/lilypond-book.itely -- LilyPond-book +1171 application/converters.itely -- Converting from other formats 4419 total -6- Appendices whose translation is optional -310 user/literature.itely -1222 user/scheme-tutorial.itely (needs to be revised first) +310 notation/literature.itely +1222 learning/scheme-tutorial.itely (should be revised first) 1532 total @end example diff --git a/Documentation/contributor/doc-work.itexi b/Documentation/contributor/doc-work.itexi index 6c91e7129d..a4510f357b 100644 --- a/Documentation/contributor/doc-work.itexi +++ b/Documentation/contributor/doc-work.itexi @@ -176,21 +176,26 @@ to do anything fancy, discuss it on @code{lilypond-devel} first.} @node Documentation files @subsection Documentation files -The user manuals lives in @file{Documentation/user/}. In -particular, the files @file{lilypond-learning.ly} (LM), -@file{lilypond.itely} (NR), @file{music-glossary.tely} (MG), and -@file{lilypond-program} (AU). Each chapter is written in a -separate file (ending in @file{.itely} for files containing -lilypond code, and @file{.itexi} for files without lilypond code); -see the @qq{main} file for each manual to determine the filename +All manuals live in @file{Documentation/}. + +In particular, there are four user manuals, their respective master +source files are @file{learning.tely} (LM, Learning Manual), +@file{notation.tely} (NR, Notation Reference), +@file{music-glossary.tely} (MG, Music Glossary), and +@file{lilypond-program} (AU). Each chapter is written in a separate +file, ending in @file{.itely} for files containing lilypond code, and +@file{.itexi} for files without lilypond code, located in a subdirectory +associated to the manual (@file{learning/} for @file{learning.tely}, and +so on); list the subdirectory of each manual to determine the filename of the specific chapter you wish to modify. -Developer manuals live in @file{Documentation/devel}. Currently -there is only one; @file{contrib-guide.texi}. +Developer manuals live in @file{Documentation/} too. Currently there is +only one: the Contributors' Guide @file{contrib-guide.texi} you are +reading. -Although snippets are part of documentation, they are not -(directly) part of the manuals. For information about how to -modify them, see @ref{LSR work}. +Snippet files are part of documentation, and the Snippet List (SL) lives +in @file{Documentation/} just like the manuals. For information about +how to modify the snippet files and SL, see @ref{LSR work}. @node Sectioning commands @@ -1006,7 +1011,7 @@ possible into there. It would be @qq{nice} if you spent a lot of time crafting nice -tweaks for users... but my recommendation is @strong{not} to do +tweaks for users@dots{} but my recommendation is @strong{not} to do this. There's a lot of doc work to do without adding examples of tweaks. Tweak examples can easily be added by normal users by adding them to the LSR. @@ -1024,7 +1029,7 @@ the difficulty. @node Updating docs with convert-ly @section Updating doc with @command{convert-ly} -cd into Documentation and run +cd into @file{Documentation/} and run @example find . -name '*.itely' | xargs convert-ly -e @@ -1068,7 +1073,8 @@ pieces of software, in order to make use of dedicated helper tools: @itemize @item Python 2.4 or higher, @item GNU Make, -@item Gettext. +@item Gettext, +@item Git. @end itemize It is not required to build LilyPond and the documentation to @@ -1127,7 +1133,7 @@ the documentation, but is not required to do translation only -- fix all dependencies and rerun @command{./configure} (with the same options as for @command{autogen.sh}). -Then @command{cd} into @file{Documentation} and run +Then @command{cd} into @file{Documentation/} and run @example make ISOLANG=@var{MY-LANGUAGE} new-lang @@ -1209,7 +1215,7 @@ managed through the Free Translation Project. Take care of using typographic rules for your language, especially in -@file{user/macros.itexi}. +@file{macros.itexi}. Please keep verbatim copies of music snippets (in @code{@@lilypond} @@ -1236,24 +1242,22 @@ When you encounter @end example @noindent -in the source, open @file{input/lsr/@var{filename}.ly}, translate the +in the source, open @file{Documentation/snippets/@var{filename}.ly}, translate the @code{texidoc} header field it contains, enclose it with @code{texidoc@var{MY-LANGUAGE} = "} and @code{"}, and write it into -@file{input/texidocs/@var{filename}.texidoc} -- please keep possibly -existing translations in other languages! Additionnally, you may -translate the snippet's title in @code{doctitle} header field, in case -@code{doctitle} is a fragment option used in @code{@@lilypondfile}; -you can do this exactly the same way as @code{texidoc}. For instance, -@file{input/texidocs/@var{filename}.texidoc} may contain +@file{Documentation/@var{MY-LANGUAGE}/texidocs/@var{filename}.texidoc}. +Additionnally, you may translate the snippet's title in @code{doctitle} +header field, in case @code{doctitle} is a fragment option used in +@code{@@lilypondfile}; you can do this exactly the same way as +@code{texidoc}. For instance, +@file{Documentation/@var{MY-LANGUAGE}/texidocs/@var{filename}.texidoc} +may contain @example doctitlees = "Spanish title baz" texidoces = " Spanish translation blah " -doctitlede = "German title bar" -texidocde = "German translation foo -" @end example @code{@@example} blocs need not be verbatim copies, e.g. variable @@ -1271,8 +1275,8 @@ please ask the Translation meister and/or the Documentation Editors on @node Translating the Notation Reference and Application Usage @unnumberedsubsubsec Translating the Notation Reference and Application Usage -Copy @file{user/lilypond.tely} (or @file{user/lilypond-program.tely}, -respectively) into @file{@var{MY-LANGUAGE}/user}, then translate this +Copy @file{notation.tely} (or @file{application.tely}, +respectively) into @file{@var{MY-LANGUAGE}}, then translate this file and run @code{skeleton-update} -- see @ref{Updating documentation translation}. Your are now ready to translate the Notation Reference (Application Usage, respectively) exactly like the Learning Manual. @@ -1315,7 +1319,7 @@ revision of the translation. To check a single file, cd into @file{Documentation/} and run @example -make CHECKED_FILES=@var{MY_LANGUAGE/user/foo.itely} check-translation +make CHECKED_FILES=@var{MY_LANGUAGE}/@var{manual}/@var{foo}.itely check-translation @end example To see only which files need to be updated, do @@ -1364,7 +1368,7 @@ make ISOLANG=@var{MY_LANGUAGE} update-translation or to update a single file @example -make CHECKED_FILES=@var{MY_LANGUAGE/user/foo.itely} update-translation +make CHECKED_FILES=@var{MY_LANGUAGE/@var{manual}/foo.itely} update-translation @end example For each file to be udpated, update-translation will open your text @@ -1403,8 +1407,8 @@ make ISOLANG=@var{MY_LANGUAGE} snippet-update @end example This script overwrites music snippets in -@file{@var{MY_LANGUAGE/user/every.itely}} with music snippets from -@file{@var{user/every.itely}}. It ignores skeleton files, and keeps +@file{@var{MY_LANGUAGE/foo/every.itely}} with music snippets from +@file{@var{foo/every.itely}}. It ignores skeleton files, and keeps intact music snippets preceded with a line starting with @code{@@c KEEP LY}; it reports an error for each @file{.itely} that has not the same music snippet count in both languages. Always use this script diff --git a/Documentation/devel.html.in b/Documentation/devel.html.in index 9e8ee7816c..b458f3249f 100644 --- a/Documentation/devel.html.in +++ b/Documentation/devel.html.in @@ -32,7 +32,7 @@
- Contributors' + Contributors' Guide (in one big page, in PDF) diff --git a/Documentation/po/GNUmakefile b/Documentation/po/GNUmakefile index b61cb723ee..9224f2c1dc 100644 --- a/Documentation/po/GNUmakefile +++ b/Documentation/po/GNUmakefile @@ -10,9 +10,9 @@ LANGS = $(shell $(PYTHON) $(top-src-dir)/python/langdefs.py) DOMAIN=lilypond-doc DOC_PO_SOURCES = python/auxiliar/postprocess_html.py \ scripts/build/texi-gettext.py scripts/auxiliar/translations-status.py -TELY_FILES = $(shell ls $(depth)/Documentation/user/lilypond*.tely) -TELY_FILES += $(foreach l, $(LANGS), $(shell ls $(depth)/Documentation/$(l)/user/lilypond*.tely)) -LSR_LYS := $(shell ls $(depth)/input/lsr/*.ly) +TELY_FILES = $(shell ls $(depth)/Documentation/user/*.tely) +TELY_FILES += $(foreach l, $(LANGS), $(shell ls $(depth)/Documentation/$(l)/*.tely)) +LSR_LYS := $(shell ls $(depth)/Documentation/snippets/*.ly) TELY_FILES += $(LSR_LYS:%.ly=../%.ly) messages: $(outdir)/messages diff --git a/Documentation/po/fr.po b/Documentation/po/fr.po index 73795cfe15..df0f0bca30 100644 --- a/Documentation/po/fr.po +++ b/Documentation/po/fr.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: fr\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-07-06 23:05+0200\n" -"PO-Revision-Date: 2009-07-20 20:37+0200\n" +"PO-Revision-Date: 2009-07-26 18:34+0200\n" "Last-Translator: Jean-Charles Malahieude \n" "Language-Team: Français \n" "MIME-Version: 1.0\n" diff --git a/GNUmakefile.in b/GNUmakefile.in index 0684e47b31..67a72886da 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -108,8 +108,7 @@ install-info-WWW: uninstall-WWW: rm -rf $(DESTDIR)$(webdir) -rmdir $(package_docdir) - $(MAKE) -C Documentation/user uninstall - $(MAKE) -C input/lsr uninstall + $(MAKE) -C Documentation uninstall # For online docs with content negotiation, issue `make doc WEB_TARGETS=online' diff --git a/make/ly-rules.make b/make/ly-rules.make index 52ee4b015e..426352d2b3 100644 --- a/make/ly-rules.make +++ b/make/ly-rules.make @@ -33,14 +33,8 @@ $(outdir)/%.html.omf: %.tely $(outdir)/%.pdf.omf: %.tely $(call GENERATE_OMF,pdf) -$(outdir)/%.ps.gz.omf: %.tely - $(call GENERATE_OMF,ps.gz) - $(outdir)/%.html.omf: $(outdir)/%.texi $(call GENERATE_OMF,html) $(outdir)/%.pdf.omf: $(outdir)/%.texi $(call GENERATE_OMF,pdf) - -$(outdir)/%.ps.gz.omf: $(outdir)/%.texi - $(call GENERATE_OMF,ps.gz) diff --git a/make/mutopia-targets.make b/make/mutopia-targets.make index f89fcc4060..4eeb80ed0c 100644 --- a/make/mutopia-targets.make +++ b/make/mutopia-targets.make @@ -4,7 +4,7 @@ .PRECIOUS: $(outdir)-letter/%.ps -all: $(OUT_FILES) +all: ifeq ($(out),www) local-WWW-1: $(ly_examples) $(pdf_examples) $(png_examples) diff --git a/make/mutopia-vars.make b/make/mutopia-vars.make index 3cd87a7d05..60add179f2 100644 --- a/make/mutopia-vars.make +++ b/make/mutopia-vars.make @@ -7,9 +7,6 @@ include $(make-dir)/lilypond-vars.make SCORE_LY_FILES = $(shell cd $(src-dir) && fgrep -l score *.ly) ILY_FILES = $(call src-wildcard,*.ily) -M4_FILES = $(call src-wildcard,*.m4) -LYM4_FILES = $(call src-wildcard,*.lym4) -EXTRA_DIST_FILES += $(M4_FILES) $(LYM4_FILES) ly_examples=$(addprefix $(outdir)/, $(addsuffix .ly, $(examples))) ly_examples+= $(ILY_FILES:%.ily=$(outdir)/%.ily) @@ -24,7 +21,4 @@ html_subdirs=$(addprefix --subdirs ,$(SUBDIRS)) name-stem= $(notdir $(basename $<)) -OUT_FILES = $(addprefix $(outdir)/,$(M4_FILES:%.m4=%)) \ - $(addprefix $(outdir)/,$(LYM4_FILES:%.lym4=%.ly)) - -score_ps = $(addprefix $(outdir)/, $(addsuffix .ps.gz, $($SCORE_LY_FILES))) +score_ps = $(addprefix $(outdir)/, $(addsuffix .ps.gz, $(SCORE_LY_FILES))) diff --git a/python/auxiliar/manuals_definitions.py b/python/auxiliar/manuals_definitions.py index e8e6d50cd9..4b548f11e1 100644 --- a/python/auxiliar/manuals_definitions.py +++ b/python/auxiliar/manuals_definitions.py @@ -3,9 +3,9 @@ # This module is imported by check_texi_refs.py references_dict = { - 'lilypond': 'ruser', - 'lilypond-learning': 'rlearning', - 'lilypond-program': 'rprogram', - 'lilypond-snippets': 'rlsr', + 'notation': 'ruser', + 'learning': 'rlearning', + 'application': 'rprogram', + 'snippets': 'rlsr', 'music-glossary': 'rglos', - 'lilypond-internals': 'rinternals' } + 'internals': 'rinternals' } diff --git a/scripts/auxiliar/check_translation.py b/scripts/auxiliar/check_translation.py index ef2decd0d7..d4287ff5c3 100755 --- a/scripts/auxiliar/check_translation.py +++ b/scripts/auxiliar/check_translation.py @@ -22,12 +22,6 @@ def dir_lang (file, lang, lang_dir_index): vc_last_revision = 'git log --pretty=format:%%H %(file_name)s | head -1' vc_last_texidoc_revision = 'git log -Stexidoc%(preferred_language)s --pretty=format:%%H %(file_name)s | head -1' -s = 'Translation of GIT [Cc]ommittish' -texidoc_chunk_re = re.compile (r'^((?:%+\s*' + s + \ - r'.+)?\s*(?:texidoc|doctitle)([a-zA-Z]{2,4})\s+=(?:.|\n)*?)(?=%+\s*' + \ - s + r'|\s*(?:texidoc|doctitle)(?:[a-zA-Z]{2,4})\s+=|$(?!.|\n))', re.M) - - def do_file (file_name, lang_codes): if verbose: sys.stderr.write ('%s...\n' % file_name) @@ -42,23 +36,10 @@ def do_file (file_name, lang_codes): else: check_lang = lang if check_lang == C: - if not os.path.splitext (file_name)[1] == '.texidoc': - raise Exception ('cannot determine language for ' + file_name) - translated_contents = open (file_name).read () - if 'ISOLANG' in os.environ: - preferred_language = os.environ['ISOLANG'] - else: - raise Exception ('cannot determine language for ' + file_name) - for m in texidoc_chunk_re.finditer (translated_contents): - if m.group (2) == preferred_language: - full_translated_contents = translated_contents - translated_contents = m.group (1) - translated_contents_start = m.start () - translated_contents_end = m.end () - break - else: - return - original = file_name.replace ('texidocs' + os.path.sep, 'lsr' + os.path.sep, 1) + raise Exception ('cannot determine language for ' + file_name) + else: + if os.path.splitext (file_name)[1] == '.texidoc': + original = file_name.replace (os.path.join ('texidocs' + os.path.sep, 'lsr' + os.path.sep, 1) original = original.replace ('.texidoc', '.ly', 1) # URG dirty .texidoc files manipulation in a dirty way @@ -77,8 +58,6 @@ def do_file (file_name, lang_codes): f.write (translated_contents) f.write (full_translated_contents[translated_contents_end:]) return - - else: original = dir_lang (file_name, '', lang_dir_index) translated_contents = open (file_name).read () diff --git a/scripts/build/lys-to-tely.py b/scripts/build/lys-to-tely.py index c9d698f92c..0eb12047e6 100644 --- a/scripts/build/lys-to-tely.py +++ b/scripts/build/lys-to-tely.py @@ -107,7 +107,7 @@ def name2line (n): if files: dir = os.path.dirname (name) or "." -# don't strip .tely extension, input/lsr uses .itely +# don't strip .tely extension, Documentation/snippets uses .itely name = os.path.basename (name) template = template % vars () diff --git a/stepmake/stepmake/generic-vars.make b/stepmake/stepmake/generic-vars.make index f4c8436494..06fa0a9ab2 100644 --- a/stepmake/stepmake/generic-vars.make +++ b/stepmake/stepmake/generic-vars.make @@ -65,12 +65,12 @@ TOPLEVEL_VERSION=$(TOPLEVEL_MAJOR_VERSION).$(TOPLEVEL_MINOR_VERSION).$(TOPLEVEL_ endif -# no local settings in the build process. +# no locale settings in the build process. LANG= export LANG -INFO_DIRECTORIES = Documentation/user input/lsr +INFO_DIRECTORIES = Documentation # clean file lists: #