diff --git a/requirements-site.txt b/requirements-site.txt new file mode 100644 index 0000000..7e10602 --- /dev/null +++ b/requirements-site.txt @@ -0,0 +1 @@ +flask diff --git a/site/app.hy b/site/app.hy new file mode 100644 index 0000000..732dfbf --- /dev/null +++ b/site/app.hy @@ -0,0 +1,10 @@ +; + +(import-from flask + Flask render-template request) + + +(def app (Flask "__main__")) ; long story, needed hack + + +(route "/" [] (render-template "index.html")) diff --git a/site/shim.py b/site/shim.py new file mode 100644 index 0000000..3750cba --- /dev/null +++ b/site/shim.py @@ -0,0 +1,35 @@ +# + +import hy + +from hy.models.expression import HyExpression +from hy.models.symbol import HySymbol + +from hy.macros import macro + + +# (route "/" [] +# (render-template "index.html")) + +# (decorate-with (.route app "/") +# (defn index [] +# (render-template "index.html"))) + + +@macro("route") +def route_macro(tree): + tree.pop(0) + path = tree.pop(0) + tree.insert(0, HySymbol("fn")) + + return HyExpression([HySymbol("decorate_with"), + HyExpression([HySymbol(".route"), + HySymbol("app"), + path]), + tree]) + + +from app import app + +if __name__ == '__main__': + app.run(debug=True) diff --git a/site/templates/index.html b/site/templates/index.html new file mode 100644 index 0000000..e69de29