Put them in Documentation/css.
$(MAKE) -C pictures WWW-1
ln -sf ../pictures/$(outdir) $@
-$(outdir)/web.texi: $(outdir)/ly-examples
+$(outdir)/web.texi: $(outdir)/css $(outdir)/ly-examples
+
+$(outdir)/css:
+ $(MAKE) -C css
+ ln -sf ../css/$(outdir) $@
$(outdir)/ly-examples:
$(MAKE) -C web/ly-examples
depth = ../..
-STEPMAKE_TEMPLATES=documentation
-EXTRA_DIST_FILES = $(call src-wildcard,*.css)
+CSS_FILES = $(call src-wildcard,*.css)
+
+EXTRA_DIST_FILES = $(CSS_FILES)
+
+OUT_CSS_FILES = $(CSS_FILES:%=$(outdir)/%)
+
+STEPMAKE_TEMPLATES = documentation
include $(depth)/make/stepmake.make
+
+###########
+### Targets
+
+default:
+
+ifeq ($(out),www)
+local-WWW-1: $(OUT_CSS_FILES)
+endif
+
+#########
+### Rules
+
+$(outdir)/%.css: %.css
+ ln -f $< $@
foreach my $ref (@CSS_REFS)
{
$Texi2HTML::THISDOC{'CSS_LINES'} .=
- "<link rel=\"stylesheet\" type=\"text/css\" title=\"$ref->{TITLE}\" href=\"$ref->{FILENAME}\">\n";
+ "<link rel=\"stylesheet\" type=\"text/css\" title=\"$ref->{TITLE}\" href=\"css/$ref->{FILENAME}\">\n";
}
foreach my $ref (@Texi2HTML::Config::ALT_CSS_REFS)
{
$Texi2HTML::THISDOC{'CSS_LINES'} .=
- "<link rel=\"alternate stylesheet\" type=\"text/css\" href=\"$ref->{FILENAME}\" title=\"$ref->{TITLE}\">\n";
+ "<link rel=\"alternate stylesheet\" type=\"text/css\" href=\"css/$ref->{FILENAME}\" title=\"$ref->{TITLE}\">\n";
}
# The ie-fixes stylesheet is needed for the docs, but not the website.
if (not ($web_manual)) {
$Texi2HTML::THISDOC{'CSS_LINES'} .=
- "<!--[if lte IE 7]>\n<link href=\"lilypond-ie-fixes.css\" rel=\"stylesheet\" type=\"text/css\">\n<![endif]-->\n";
+ "<!--[if lte IE 7]>\n<link href=\"css/lilypond-ie-fixes.css\" rel=\"stylesheet\" type=\"text/css\">\n<![endif]-->\n";
}
if ($ENV{'AJAX_SEARCH'} == 1) {
LANGS = $(shell $(PYTHON) $(top-src-dir)/python/langdefs.py)
-CSS_SOURCE_FILES = $(shell ls $(top-src-dir)/Documentation/lilypond*.css)
-
TELY_FILES := $(call src-wildcard,*.tely)
TEXI_FILES := $(call src-wildcard,*.texi)
MASTER_TEXI_FILES := $(TEXI_FILES) $(TELY_FILES:%.tely=$(outdir)/%.texi)
bib-files = $(OUT)/others-did.itexi $(OUT)/we-wrote.itexi
css-src-files := $(notdir $(wildcard $(top-src-dir)/Documentation/css/*.css))
-css-files = $(css-src-files:%=$(OUT)/website/%)
+css-files = $(css-src-files:%=$(OUT)/website/css/%)
example-src-files := $(notdir $(wildcard $(EXAMPLES)/*))
example-files = $(example-src-files:%=$(OUT)/website/ly-examples/%)
website-bibs: website-version $(OUT) $(bib-files)
-website-css: $(OUT)/website $(css-files)
+website-css: $(OUT)/website/css $(css-files)
website-examples: $(OUT)/website/ly-examples $(example-files)
### Rules
# Directories
-$(OUT) $(OUT)/website $(OUT)/website/ly-examples $(OUT)/website/pictures: %:
+$(OUT) $(OUT)/website $(OUT)/website/css $(OUT)/website/ly-examples $(OUT)/website/pictures: %:
mkdir -p $@
$(OUT)/pictures: $(OUT)/website/pictures
$(WEB_POST) $(OUT)/website
# Simple copy
-$(css-files): $(OUT)/website/%: $(top-src-dir)/Documentation/css/%
+$(css-files): $(OUT)/website/css/%: $(top-src-dir)/Documentation/css/%
cp $< $@
$(example-files): $(OUT)/website/ly-examples/%: $(EXAMPLES)/%
# Get rid of symlinks in GNUmakefile.in (local-WWW-post)
# this also fixes missing PNGs only present in translated docs
def hack_urls (s, prefix, target, is_development_branch):
+ depth = (prefix.count ('/') - 1) * '../'
+ # fix css links
+ s = css_re.sub ('<link \\1href="%(rel)sDocumentation/css/\\2"\\3>' % {'rel': depth}, s)
if split_docs_re.match (prefix):
s = lily_snippets_re.sub ('\\1="../\\2"', s)
s = pictures_re.sub ('src="../\\1"', s)
html_tag_re = re.compile ('(?i)<html>')
doctype_re = re.compile ('(?i)<!DOCTYPE')
doctype = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">\n'
-css_re = re.compile ('(?i)<link rel="stylesheet" type="text/css" ([^>]*)href="[^">]*?lilypond.*\.css"([^>]*)>')
+css_re = re.compile ('(?i)<link ([^>]*)href="[^">]*?(lilypond.*\.css)"([^>]*)>')
end_head_tag_re = re.compile ('(?i)</head>')
-css_link = """ <link rel="stylesheet" type="text/css" title="Default design" href="%(rel)sDocumentation/lilypond-manuals.css">
+css_link = """ <link rel="stylesheet" type="text/css" title="Default design" href="%(rel)sDocumentation/css/lilypond-manuals.css">
<!--[if lte IE 7]>
- <link href="%(rel)sDocumentation/lilypond-ie-fixes.css" rel="stylesheet" type="text/css">
+ <link href="%(rel)sDocumentation/css/lilypond-ie-fixes.css" rel="stylesheet" type="text/css">
<![endif]-->
"""
# Preprocessed .in documentation _FILES:
OUTIN_FILES = $(addprefix $(outdir)/, $(IN_FILES:%.in=%))
-# CSS source files are in a unique directory
-CSS_DIRECTORY = $(top-src-dir)/Documentation/css
-CSS_FILES := $(shell ls $(CSS_DIRECTORY)/*.css)
-OUT_CSS_FILES = $(CSS_FILES:$(CSS_DIRECTORY)/%.css=$(outdir)/%.css)
-
ALL_SOURCES = $(SOURCE_FILES)
ifeq (cygwin,$(findstring cygwin,$(HOST_ARCH)))
else
DEPTH=$(depth)/../ AJAX_SEARCH=$(AJAX_SEARCH) $(TEXI2HTML) $(TEXI2HTML_SPLIT) $(TEXI2HTML_FLAGS) --output=$(dir $@) $<
endif
- cp $(top-src-dir)/Documentation/css/*.css $(dir $@)
$(XREF_MAPS_DIR)/%.xref-map: $(outdir)/%.texi
$(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -o $(XREF_MAPS_DIR) $<
ifeq ($(out),www)
local-WWW-1: $(XREF_MAPS_FILES)
-
-local-WWW-2: $(OUT_CSS_FILES)
endif
local-txt-doc: $(OUTTXT_FILES)