diff --git a/Makefile b/Makefile
index 5d33e7d..ed87c10 100644
--- a/Makefile
+++ b/Makefile
@@ -1,19 +1,11 @@
-
-CARDS_YAML := $(wildcard cards/*.yaml)
-CARDS_XML := $(wildcard cards/*.xml)
-CARDS := $(CARDS_YAML) $(CARDS_XML)
-CARDS_DESTS_YAML := $(patsubst cards/%.yaml,cards/build/%.html,$(CARDS))
-CARDS_DESTS_XML := $(patsubst cards/%.xml,cards/build/%.x.html,$(CARDS))
-CARDS_DESTS := $(CARDS_DESTS_YAML) $(CARDS_DESTS_XML)
+CARDS := $(wildcard cards/*.xml)
+CARDS_DESTS := $(patsubst cards/%.xml,cards/build/%.html,$(CARDS))
.PHONY: style
-style: build/test_card.html build/test_card_rendered.html cards/build/all.html
+style: build/test_card.html
.PHONY: cards
-cards: $(CARDS_DESTS) cards/build/all.html
-
-.PHONY: style
-style: build/style.xsl
+cards: cards/build/all.html
.PHONY: dev
dev:
@@ -23,87 +15,35 @@ dev:
dev_cards:
git ls-files | entr bash -c "make cards"
-
.PHONY: clean
clean:
rm -v build/* cards/build/*
-build/test_card.html: build/test_card.xml build/style.xsl
+
+build/test_card.html: test_card.xml build/style.xsl build
xsltproc \
-o build/test_card.html \
build/style.xsl \
- build/test_card.xml
+ test_card.xml
-define PYTHON_MAKE_JINJA2_RENDERED_CARD
+cards/build/%.html: cards/%.xml build/style.xsl cards/build
+ xsltproc -o $@ build/style.xsl $<
+
+
+define PYTHON_MAKE_IFRAME_HELL
from jinja2 import Environment, FileSystemLoader
-from markdown import markdown
-import yaml, sys, glob, traceback
-import xmltodict
-with open("build/style.css") as f: css_data = f.read()
-with open(sys.argv[2], "w") as f:
- e = Environment(trim_blocks=True, lstrip_blocks=True, loader=FileSystemLoader(''))
- f.write(e.get_template("templates/card_header.html.j2").render(is_local=True, css_data=css_data))
- e.filters.update({
- "is_number":lambda x: str(x).isnumeric(),
- "is_string":lambda x: isinstance(x, str),
- "markdown":markdown,
- "any":any,
- "all":all,
- "split":str.split,
- "startswith":str.startswith,
- "tail": lambda x: x[1:],
- "cull_whitespace":(lambda x: " ".join(x.split())) })
- for n, filename in enumerate([sys.argv[1]] if sys.argv[1] != "ALL" else sorted(glob.glob("cards/*.yaml") + glob.glob("cards/*.xml"))):
- with open(filename) as f2:
- if filename.endswith("yaml"):
- yaml_data = yaml.load(f2.read())
- xml_data = {}
- elif filename.endswith("xml"):
- xml = xmltodict.parse(f2.read())
- xml_data = xml.get("ability_card", {})
- yaml_data = yaml.load(xml_data.get("yaml_data", ""))
- try:
- data = e.get_template('style.html.j2').render(yaml=yaml_data, xml=xml_data)
- except Exception as ex:
- data = f"
{ex}
"
- traceback.print_exc()
- if sys.argv[1] == "ALL":
- f.write(f"\n\n\n
{filename}
\n\n{data}\n")
- else:
- f.write(f"\n\n{data}\n
")
+import sys, os
+env = Environment(
+ trim_blocks = True,
+ lstrip_blocks = True,
+ loader = FileSystemLoader('templates'))
+with open("cards/build/all.html", "w") as f:
+ f.write(env.get_template('all.html.j2').render(cards=map(os.path.basename, sys.argv[1:])))
endef
-
-export PYTHON_MAKE_JINJA2_RENDERED_CARD
-build/test_card_rendered.html: build/test_card.xml style.html.j2 build/style.css templates/card_header.html.j2
- python3 -c "$$PYTHON_MAKE_JINJA2_RENDERED_CARD" "build/test_card.xml" "build/test_card_rendered.html"
-
-export PYTHON_MAKE_JINJA2_RENDERED_CARD
-cards/build/%.html: cards/%.yaml style.html.j2 build/style.css templates/card_header.html.j2
- python3 -c "$$PYTHON_MAKE_JINJA2_RENDERED_CARD" $< $@
-
-export PYTHON_MAKE_JINJA2_RENDERED_CARD
-cards/build/%.x.html: cards/%.xml style.html.j2 build/style.css templates/card_header.html.j2
- python3 -c "$$PYTHON_MAKE_JINJA2_RENDERED_CARD" $< $@
-
-export PYTHON_MAKE_JINJA2_RENDERED_CARD
-cards/build/all.html: $(CARDS) style.html.j2 build/style.css templates/card_header.html.j2
- python3 -c "$$PYTHON_MAKE_JINJA2_RENDERED_CARD" ALL $@
-
-
-define PYTHON_MAKE_CARD_XML
-from jinja2 import Environment, FileSystemLoader
-with open("test_card.yaml") as f: data = f.read()
-with open("test_card.xml") as f: xml_data = f.read()
-with open("build/test_card.xml", "w") as f:
- f.write(Environment(
- loader=FileSystemLoader('templates'))
- .get_template('card.xml.j2')
- .render(data=data, xml_data=xml_data))
-endef
-export PYTHON_MAKE_CARD_XML
-build/test_card.xml: test_card.yaml test_card.xml templates/card.xml.j2
- python3 -c "$$PYTHON_MAKE_CARD_XML"
+export PYTHON_MAKE_IFRAME_HELL
+cards/build/all.html: $(CARDS_DESTS) templates/all.html.j2
+ python3 -c "$$PYTHON_MAKE_IFRAME_HELL" $(CARDS_DESTS)
define PYTHON_MAKE_STYLE_XSL
@@ -112,9 +52,9 @@ with open("build/style.css") as f: css_data = f.read()
with open("style.html.j2") as f: jinja_data = f.read()
with open("style.js") as f: js_data = f.read()
env = Environment(
- trim_blocks=True,
- lstrip_blocks=True,
- loader=FileSystemLoader('templates'))
+ trim_blocks = True,
+ lstrip_blocks = True,
+ loader = FileSystemLoader('templates'))
card_header = env.get_template('card_header.html.j2').render()
with open("build/style.xsl", "w") as f:
f.write(
@@ -122,16 +62,24 @@ with open("build/style.xsl", "w") as f:
.render( css_data=css_data, jinja_data=jinja_data, js_data=js_data, card_header=card_header))
endef
export PYTHON_MAKE_STYLE_XSL
-build/style.xsl: build/style.css templates/style.xsl.j2 templates/card_header.html.j2 style.html.j2 style.js
+build/style.xsl: build/style.css templates/style.xsl.j2 templates/card_header.html.j2 style.html.j2 style.js build
python3 -c "$$PYTHON_MAKE_STYLE_XSL"
define PYTHON_MAKE_SASS
-import sass
+import sass # libsass
with open("style.scss") as f:
with open("build/style.css", "w") as of:
of.write(sass.compile(string=f.read(), output_style="expanded"))
endef
export PYTHON_MAKE_SASS
-build/style.css: style.scss
+build/style.css: style.scss build
python3 -c "$$PYTHON_MAKE_SASS"
+
+
+build:
+ mkdir -p build
+
+
+cards/build:
+ mkdir -p cards/build
diff --git a/templates/all.html.j2 b/templates/all.html.j2
new file mode 100644
index 0000000..e79e3bd
--- /dev/null
+++ b/templates/all.html.j2
@@ -0,0 +1,42 @@
+
+
+
+{% for cardname in cards %}
+
+
+
+{% endfor %}
+
diff --git a/templates/card.xml.j2 b/templates/card.xml.j2
deleted file mode 100644
index 47be01a..0000000
--- a/templates/card.xml.j2
+++ /dev/null
@@ -1,5 +0,0 @@
-
-{{ data.strip() }}
-
-{{ xml_data }}
-
diff --git a/templates/card_header.html.j2 b/templates/card_header.html.j2
index c24c2e9..853fe72 100644
--- a/templates/card_header.html.j2
+++ b/templates/card_header.html.j2
@@ -1,6 +1,5 @@
{% set async = "media=\"none\" onload=\"if(media!='all')media='all'\"" -%}
-
{% if is_local %}
{#
diff --git a/templates/style.xsl.j2 b/templates/style.xsl.j2
index c8cceac..3dcf55d 100644
--- a/templates/style.xsl.j2
+++ b/templates/style.xsl.j2
@@ -22,7 +22,7 @@
{% endfilter %}
-
+