X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=website.make;h=b03012d15113382050afb9f5fa76f22c3e3b6e4d;hb=40652d626dc52d09f28ec25e1a986c036ac171ae;hp=c10f9e6f2c1b8866f033f97c8bbde42d280414d6;hpb=7329548d762cf2e351f255a9358823c4f4224361;p=lilypond.git diff --git a/website.make b/website.make index c10f9e6f2c..b03012d151 100644 --- a/website.make +++ b/website.make @@ -2,30 +2,47 @@ # website (without the rest of the docs) ################################################################ -##### SECURITY -- change these values for lilypond.org ######## +##### SECURITY -- check these values for lilypond.org ######### ################################################################ -### for lilypond.org (comment out in git) -#top-src-dir=$(HOME)/src/lilypond/ -#trusted-dir=$(HOME)/lilypond/trusted-scripts/ - -### for normal git (comment out on lilypond.org) -script-dir=$(top-src-dir)/scripts/build/ -texi2html-init-file=$(top-src-dir)/Documentation/lilypond-texi2html.init -TEXI2HTML=texi2html -### for lilypond.org (comment out in git) -#script-dir=$(trusted-dir) -#texi2html-init-file=$(top-src-dir)/Documentation/lilypond-texi2html.init -#TEXI2HTML=$(HOME)/usr/bin/texi2html +ifeq ($(WEBSITE_ONLY_BUILD),1) + ### for lilypond.org + top-src-dir=$(HOME)/src/lilypond + depth=. + trusted-dir=$(HOME)/lilypond/trusted-scripts + script-dir=$(trusted-dir) + texi2html-init-file=$(trusted-dir)/lilypond-texi2html.init + top-htaccess=$(trusted-dir)/lilypond.org.htaccess + dir-htaccess=$(trusted-dir)/website-dir.htaccess + TEXI2HTML_PROGRAM=$(HOME)/usr/bin/texi2html + EXAMPLES=$(HOME)/media/ly-examples/ + PICTURES=$(HOME)/media/pictures +else + ### for normal git + script-dir=$(top-src-dir)/scripts/build/ + texi2html-init-file=$(top-src-dir)/Documentation/lilypond-texi2html.init + top-htaccess=$(top-src-dir)/Documentation/web/server/lilypond.org.htaccess + dir-htaccess=$(top-src-dir)/Documentation/web/server/website-dir.htaccess + include $(config_make) + # I assume this is run from top-build-dir + EXAMPLES=Documentation/web/ly-examples/out-www/ + PICTURES=Documentation/pictures/out-www/ +endif ################################################################ +OUT=out-website +WEB_LANGS=es + + +TEXI2HTML=ONLY_WEB=1 TOP_SRC_DIR=$(top-src-dir) DEPTH=$(depth) PERL_UNICODE=SD $(TEXI2HTML_PROGRAM) EXTRACT_TEXI_FILENAMES=python $(script-dir)/extract_texi_filenames.py CREATE_VERSION=python $(script-dir)/create-version-itexi.py -OUT=out-website -EXAMPLES=$(HOME)/media/examples/ -PICTURES=$(HOME)/media/pictures +CREATE_WEBLINKS=python $(script-dir)/create-weblinks-itexi.py +MASS_LINK=python $(script-dir)/mass-link.py +WEB_POST=python $(script-dir)/website_post.py +SERVER_FILES=$(top-src-dir)/Documentation/web/server/ # don't include web MANUALS=$(wildcard $(top-src-dir)/Documentation/*.tely) @@ -37,18 +54,46 @@ website-test: website-version: mkdir -p $(OUT) $(CREATE_VERSION) $(top-src-dir) > $(OUT)/version.itexi + $(CREATE_WEBLINKS) $(top-src-dir) > $(OUT)/weblinks.itexi website-xrefs: website-version $(EXTRACT_TEXI_FILENAMES) -I $(top-src-dir)/Documentation/ \ -I $(OUT) -o $(OUT) --split=node \ $(top-src-dir)/Documentation/web.texi - $(foreach manual, $(MANUALS), \ - $(EXTRACT_TEXI_FILENAMES) -I $(top-src-dir)/Documentation/ \ - -I $(OUT) -o $(OUT) $(manual) && ) : + # normal manuals + for m in $(MANUALS); do \ + b=`basename "$$m" .texi`; \ + d=`basename "$$b" .tely`; \ + $(EXTRACT_TEXI_FILENAMES) \ + -I $(top-src-dir)/Documentation/ \ + -I $(top-src-dir)/Documentation/"$$d"/ \ + -I $(OUT) -o $(OUT) "$$m" ; \ + done + # translations + for l in $(WEB_LANGS); do \ + $(EXTRACT_TEXI_FILENAMES) \ + -I $(top-src-dir)/Documentation/ \ + -I $(top-src-dir)/Documentation/"$$l" \ + -I $(OUT) -o $(OUT) --split=node \ + $(top-src-dir)/Documentation/"$$l"/web.texi ;\ + for m in $(MANUALS); do \ + n=`echo "$$m" | sed 's/Documentation/Documentation\/'$$l'/'` ; \ + b=`basename "$$n" .texi`; \ + d=`basename "$$b" .tely`; \ + if [ -e "$$n" ] ; then \ + $(EXTRACT_TEXI_FILENAMES) \ + -I $(top-src-dir)/Documentation/ \ + -I $(top-src-dir)/Documentation/"$$l" \ + -I $(top-src-dir)/Documentation/"$$l"/"$$d"/ \ + -I $(OUT) -o $(OUT) "$$n" ; \ + fi ; \ + done; \ + done; + + website-texinfo: website-version website-xrefs - SRC_DIR=$(top-src-dir)/Documentation/ \ - PERL_UNICODE=SD $(TEXI2HTML) --prefix=index \ + $(TEXI2HTML) --prefix=index \ --split=section \ --I=$(top-src-dir)/Documentation/ \ --I=$(OUT) \ @@ -56,18 +101,41 @@ website-texinfo: website-version website-xrefs -D web_version \ --output=$(OUT)/website/ \ $(top-src-dir)/Documentation/web.texi + # translations + for l in $(WEB_LANGS); do \ + $(TEXI2HTML) --prefix=index \ + --split=section \ + --I=$(top-src-dir)/Documentation/"$$l" \ + --I=$(top-src-dir)/Documentation/ \ + --I=$(OUT) \ + --lang="$$l" \ + --init-file=$(texi2html-init-file) \ + -D web_version \ + --output=$(OUT)/"$$l" \ + $(top-src-dir)/Documentation/"$$l"/web.texi ; \ + find $(OUT)/$$l/ -name '*.html' | xargs grep -L 'UNTRANSLATED NODE: IGNORE ME' | sed 's!$(OUT)/'$$l'/!!g' | xargs $(MASS_LINK) --prepend-suffix .$$l hard $(OUT)/$$l/ $(OUT)/website/ ; \ + done + website-css: cp $(top-src-dir)/Documentation/css/*.css $(OUT)/website/ website-pictures: - cp -r $(PICTURES) $(OUT)/website/ + mkdir -p $(OUT)/website/pictures/ + cp $(PICTURES)/* $(OUT)/website/pictures/ ln -sf website/pictures $(OUT)/pictures website-examples: - cp -r $(EXAMPLES) $(OUT)/website/ + mkdir -p $(OUT)/website/ly-examples + cp $(EXAMPLES)/* $(OUT)/website/ly-examples +web-post: + $(WEB_POST) $(OUT)/website/ -website: website-texinfo website-css website-pictures website-examples +website: website-texinfo website-css website-pictures website-examples web-post + cp $(SERVER_FILES)/favicon.ico $(OUT)/website/ + cp $(SERVER_FILES)/robots.txt $(OUT)/website/ + cp $(top-htaccess) $(OUT)/.htaccess + cp $(dir-htaccess) $(OUT)/website/.htaccess