This commit is contained in:
2025-08-18 21:42:37 +02:00
parent e283e9f696
commit 42c159ddc9
3 changed files with 37 additions and 69 deletions

View File

@@ -10,71 +10,25 @@ import os
bp = Blueprint("notes", __name__, url_prefix="/notes")
# ... keep your existing routes ...
@bp.get("/")
def notes_index():
notes = list_notes()
return render_template("notes/list.html", notes=notes)
@bp.get("/new")
def notes_new():
return render_template("notes/new.html")
@bp.post("/")
def notes_create():
title = (request.form.get("title") or "").strip()
body = (request.form.get("body") or "").strip()
tags_raw = (request.form.get("tags") or "").strip()
tags = [t.strip() for t in tags_raw.split(",") if t.strip()] if tags_raw else []
if not title:
return render_template("notes/new.html", error="Title is required", title=title, body=body, tags_raw=tags_raw), 400
note = create_note(title=title, body=body, tags=tags)
return redirect(url_for("notes.notes_view", note_id=note.id))
@bp.get("/<note_id>")
def notes_view(note_id: str):
note = load_note_by_id(note_id)
if not note:
abort(404)
all_notes = list_notes()
rendered = render_markdown(note.body or "", all_notes=all_notes)
return render_template(
"notes/view.html",
note=note,
rendered_html=rendered["html"],
unresolved_wikilinks=rendered["unresolved_wikilinks"],
outbound_note_ids=rendered["outbound_note_ids"],
)
@bp.post("/<note_id>/body")
def notes_update_body(note_id: str):
new_body = request.form.get("body") or ""
note = update_note_body(note_id, new_body)
if not note:
abort(404)
return redirect(url_for("notes.notes_view", note_id=note.id))
# Debug endpoints remain available while app.debug is True or KB_ENABLE_DEBUG_ROUTES is True
@bp.get("/_debug/ids")
def notes_debug_ids():
if not (current_app.debug or current_app.config.get("KB_ENABLE_DEBUG_ROUTES", False)):
abort(404)
notes = list_notes()
return jsonify(
notes=[
{"id": n.id, "title": n.title, "path": n.rel_path}
for n in notes]
notes=[{"id": n.id, "title": n.title, "path": n.rel_path} for n in notes]
)
@bp.get("/_debug/scan")
def notes_debug_scan():
if not (current_app.debug or current_app.config.get("KB_ENABLE_DEBUG_ROUTES", False)):
abort(404)
vault_path = current_app.config.get("KB_VAULT_PATH")
v = Vault(vault_path)
v.ensure_structure()