aboutsummaryrefslogtreecommitdiffstats
path: root/pysite/views
diff options
context:
space:
mode:
Diffstat (limited to 'pysite/views')
-rw-r--r--pysite/views/wiki/edit.py5
-rw-r--r--pysite/views/wiki/render.py4
-rw-r--r--pysite/views/ws/rst.py2
3 files changed, 7 insertions, 4 deletions
diff --git a/pysite/views/wiki/edit.py b/pysite/views/wiki/edit.py
index a111f9ce..a2e98e20 100644
--- a/pysite/views/wiki/edit.py
+++ b/pysite/views/wiki/edit.py
@@ -35,11 +35,14 @@ class EditView(RouteView, DBMixin):
@csrf
def post(self, page):
rst = request.form["rst"]
+ rendered = render(rst)
+
obj = {
"slug": page,
"title": request.form["title"],
"rst": rst,
- "html": render(rst)
+ "html": rendered["html"],
+ "headers": rendered["headers"]
}
self.db.insert(
diff --git a/pysite/views/wiki/render.py b/pysite/views/wiki/render.py
index aa365c4a..9d3e8cc3 100644
--- a/pysite/views/wiki/render.py
+++ b/pysite/views/wiki/render.py
@@ -30,7 +30,7 @@ class RenderView(APIView):
data = data[0]["data"]
try:
- html = render(data)
+ html = render(data)["html"]
return jsonify({"data": html})
except SystemMessage as e:
@@ -51,7 +51,7 @@ class RenderView(APIView):
if match:
data["error_lines"].append(
{
- "row": int(match.group(1)) - 1,
+ "row": int(match.group(1)) - 3,
"column": 0,
"type": "error",
"text": match.group(2)
diff --git a/pysite/views/ws/rst.py b/pysite/views/ws/rst.py
index 19c4129b..24bdb3ca 100644
--- a/pysite/views/ws/rst.py
+++ b/pysite/views/ws/rst.py
@@ -23,7 +23,7 @@ class RSTWebsocket(WS):
self.log.debug(f"RST | Message: {message}")
try:
- data = render(message)
+ data = render(message)["html"]
except Exception as e:
self.log.exception("Parsing error")
data = str(e)