mirror of
https://github.com/moparisthebest/xeps
synced 2024-11-21 08:45:04 -05:00
Add build for inbox/
This commit is contained in:
parent
a4fbf95e1b
commit
609a081f27
@ -4,10 +4,11 @@
|
|||||||
FROM xmppxsf/xeps-base:latest
|
FROM xmppxsf/xeps-base:latest
|
||||||
|
|
||||||
ARG NCORES=1
|
ARG NCORES=1
|
||||||
ARG TARGETS="html pdf"
|
ARG TARGETS="html inbox-html inbox-xml pdf"
|
||||||
|
|
||||||
COPY *.xml xep.* *.css *.xsl *.js *.xsl Makefile /src/
|
COPY *.xml xep.* *.css *.xsl *.js *.xsl Makefile /src/
|
||||||
COPY resources/*.pdf /src/resources/
|
COPY resources/*.pdf /src/resources/
|
||||||
|
COPY inbox/*.xml inbox/*.ent inbox/*.dtd /src/inbox/
|
||||||
|
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
RUN OUTDIR=/var/www/html/extensions/ make -j$NCORES $TARGETS
|
RUN OUTDIR=/var/www/html/extensions/ make -j$NCORES $TARGETS
|
||||||
|
45
Makefile
45
Makefile
@ -12,6 +12,22 @@ JSTARGETS=$(OUTDIR)/prettify.js
|
|||||||
|
|
||||||
DO_XELATEX=cd $(OUTDIR); xelatex --interaction=nonstopmode -no-shell-escape "$(notdir $(basename $@)).tex" >/dev/null
|
DO_XELATEX=cd $(OUTDIR); xelatex --interaction=nonstopmode -no-shell-escape "$(notdir $(basename $@)).tex" >/dev/null
|
||||||
|
|
||||||
|
xeps=$(wildcard *.xml)
|
||||||
|
proto_xeps=$(wildcard inbox/*.xml)
|
||||||
|
all_xeps=$(xeps) $(proto_xeps)
|
||||||
|
|
||||||
|
xep_xmls=$(patsubst %.xml,$(OUTDIR)/%.xml,$(xeps))
|
||||||
|
proto_xep_xmls=$(patsubst %.xml,$(OUTDIR)/%.xml,$(proto_xeps))
|
||||||
|
all_xep_xmls=$(xep_xmls) $(proto_xep_xmls)
|
||||||
|
|
||||||
|
xep_htmls=$(patsubst %.xml,$(OUTDIR)/%.html,$(xeps))
|
||||||
|
proto_xep_htmls=$(patsubst %.xml,$(OUTDIR)/%.html,$(proto_xeps))
|
||||||
|
all_xep_htmls=$(xep_htmls) $(proto_xep_htmls)
|
||||||
|
|
||||||
|
xep_pdfs=$(patsubst %.xml,$(OUTDIR)/%.pdf,$(xeps))
|
||||||
|
xep_refs=$(patsubst xep-%.xml, $(REFSDIR)/reference.XSF.XEP-%.xml, $(xeps))
|
||||||
|
xep_examples=$(patsubst xep-%.xml, $(EXAMPLESDIR)/%.xml, $(xeps))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: help
|
.PHONY: help
|
||||||
help:
|
help:
|
||||||
@ -33,17 +49,30 @@ help:
|
|||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: html
|
all: html
|
||||||
|
|
||||||
|
$(OUTDIR)/inbox/%: build/inbox
|
||||||
|
build/inbox:
|
||||||
|
mkdir -p build/inbox
|
||||||
|
|
||||||
.PHONY: html
|
.PHONY: html
|
||||||
html: $(patsubst %.xml, $(OUTDIR)/%.html, $(wildcard *.xml))
|
html: $(xep_htmls)
|
||||||
|
|
||||||
|
.PHONY: xml
|
||||||
|
xml: $(xep_xmls)
|
||||||
|
|
||||||
|
.PHONY: inbox-html
|
||||||
|
inbox-html: $(proto_xep_htmls)
|
||||||
|
|
||||||
|
.PHONY: inbox-xml
|
||||||
|
inbox-xml: $(proto_xep_xmls)
|
||||||
|
|
||||||
.PHONY: pdf
|
.PHONY: pdf
|
||||||
pdf: $(patsubst %.xml, $(OUTDIR)/%.pdf, $(wildcard *.xml))
|
pdf: $(xep_pdfs)
|
||||||
|
|
||||||
.PHONY: refs
|
.PHONY: refs
|
||||||
refs: $(patsubst xep-%.xml, $(REFSDIR)/reference.XSF.XEP-%.xml, $(wildcard *.xml))
|
refs: $(xep_refs)
|
||||||
|
|
||||||
.PHONY: examples
|
.PHONY: examples
|
||||||
examples: $(patsubst xep-%.xml, $(EXAMPLESDIR)/%.xml, $(wildcard *.xml))
|
examples: $(xep_examples)
|
||||||
|
|
||||||
.PHONY: xep-%
|
.PHONY: xep-%
|
||||||
xep-%: $(OUTDIR)/xep-%.html $(REFSDIR)/reference.XSF.XEP-%.xml $(OUTDIR)/xep-%.pdf $(EXAMPLESDIR)/%.xml;
|
xep-%: $(OUTDIR)/xep-%.html $(REFSDIR)/reference.XSF.XEP-%.xml $(OUTDIR)/xep-%.pdf $(EXAMPLESDIR)/%.xml;
|
||||||
@ -54,19 +83,23 @@ xep-%.html: $(OUTDIR)/xep-%.html ;
|
|||||||
.PHONY: xep-%.pdf
|
.PHONY: xep-%.pdf
|
||||||
xep-%.pdf: $(OUTDIR)/xep-%.pdf ;
|
xep-%.pdf: $(OUTDIR)/xep-%.pdf ;
|
||||||
|
|
||||||
|
$(all_xep_xmls): $(OUTDIR)/%.xml: %.xml
|
||||||
|
cp $< $@
|
||||||
|
|
||||||
$(EXAMPLESDIR)/%.xml: xep-%.xml $(XMLDEPS) examples.xsl $(EXAMPLESDIR)
|
$(EXAMPLESDIR)/%.xml: xep-%.xml $(XMLDEPS) examples.xsl $(EXAMPLESDIR)
|
||||||
xsltproc --path $(CURDIR) examples.xsl "$<" > "$@" && echo "Finished building $@"
|
xsltproc --path $(CURDIR) examples.xsl "$<" > "$@" && echo "Finished building $@"
|
||||||
|
|
||||||
$(REFSDIR)/reference.XSF.XEP-%.xml: xep-%.xml $(XMLDEPS) ref.xsl $(REFSDIR)
|
$(REFSDIR)/reference.XSF.XEP-%.xml: xep-%.xml $(XMLDEPS) ref.xsl $(REFSDIR)
|
||||||
xsltproc --path $(CURDIR) ref.xsl "$<" > "$@" && echo "Finished building $@"
|
xsltproc --path $(CURDIR) ref.xsl "$<" > "$@" && echo "Finished building $@"
|
||||||
|
|
||||||
$(OUTDIR)/%.html: %.xml $(XMLDEPS) $(HTMLDEPS)
|
$(all_xep_htmls): $(OUTDIR)/%.html: %.xml $(XMLDEPS) $(HTMLDEPS)
|
||||||
|
mkdir -p $(OUTDIR)/inbox
|
||||||
xmllint --nonet --noout --noent --loaddtd --valid "$<"
|
xmllint --nonet --noout --noent --loaddtd --valid "$<"
|
||||||
# Check for non-data URIs
|
# Check for non-data URIs
|
||||||
! xmllint --nonet --noout --noent --loaddtd --xpath "//img/@src[not(starts-with(., 'data:'))]" $< 2>/dev/null && true
|
! xmllint --nonet --noout --noent --loaddtd --xpath "//img/@src[not(starts-with(., 'data:'))]" $< 2>/dev/null && true
|
||||||
|
|
||||||
# Actually build the HTML
|
# Actually build the HTML
|
||||||
xsltproc --path $(CURDIR) xep.xsl "$<" > "$@" && echo "Finished building $@"
|
xsltproc --path $(CURDIR) --param htmlbase "$(if $(findstring inbox,$<),'../','./')" xep.xsl "$<" > "$@" && echo "Finished building $@"
|
||||||
|
|
||||||
$(OUTDIR)/xmpp.pdf $(OUTDIR)/xmpp-text.pdf: $(OUTDIR)
|
$(OUTDIR)/xmpp.pdf $(OUTDIR)/xmpp-text.pdf: $(OUTDIR)
|
||||||
cp "resources/$(notdir $@)" "$@"
|
cp "resources/$(notdir $@)" "$@"
|
||||||
|
1
xep.xsl
1
xep.xsl
@ -40,6 +40,7 @@ OR OTHER DEALINGS IN THE SOFTWARE.
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>XEP-<xsl:value-of select='/xep/header/number'/>:<xsl:text> </xsl:text><xsl:value-of select='/xep/header/title' /></title>
|
<title>XEP-<xsl:value-of select='/xep/header/number'/>:<xsl:text> </xsl:text><xsl:value-of select='/xep/header/title' /></title>
|
||||||
|
<base><xsl:attribute name='href'><xsl:value-of select='$htmlbase'/></xsl:attribute></base>
|
||||||
<link rel='stylesheet' type='text/css' href='xmpp.css' />
|
<link rel='stylesheet' type='text/css' href='xmpp.css' />
|
||||||
<link href="prettify.css" type="text/css" rel="stylesheet" />
|
<link href="prettify.css" type="text/css" rel="stylesheet" />
|
||||||
<link rel='shortcut icon' type='image/x-icon' href='/favicon.ico' />
|
<link rel='shortcut icon' type='image/x-icon' href='/favicon.ico' />
|
||||||
|
Loading…
Reference in New Issue
Block a user