mgbam commited on
Commit
e69a3f3
·
verified ·
1 Parent(s): 9d88d95

Delete genesis/graph.py

Browse files
Files changed (1) hide show
  1. genesis/graph.py +0 -40
genesis/graph.py DELETED
@@ -1,40 +0,0 @@
1
- ## `genesis/graph.py`
2
-
3
- from __future__ import annotations
4
- import os, html
5
- from typing import List
6
-
7
- # Lightweight graph preview from citations (no DB required). If Neo4j is configured, you can extend here.
8
-
9
- def build_preview_graph_html(citations: List[dict]) -> str:
10
- # Simple HTML graph: papers as nodes, edges from a central topic node
11
- if not citations:
12
- return "<p><em>No citations to graph.</em></p>"
13
- nodes = []
14
- edges = []
15
- nodes.append({"id": "topic", "label": "Topic", "color": "#0ea5e9"})
16
- for i, c in enumerate(citations):
17
- nid = f"p{i}"
18
- label = (c.get("title") or "citation").strip()[:80]
19
- url = html.escape(c.get("url", ""))
20
- nodes.append({"id": nid, "label": label, "url": url})
21
- edges.append({"from": "topic", "to": nid})
22
- # Minimal vis.js rendering
23
- return f"""
24
- <div id='g' style='height:480px'></div>
25
- <script src='https://unpkg.com/[email protected]/dist/vis-network.min.js'></script>
26
- <script>
27
- const nodes = new vis.DataSet({nodes});
28
- const edges = new vis.DataSet({edges});
29
- const container = document.getElementById('g');
30
- const data = {{ nodes, edges }};
31
- const options = {{ nodes: {{ shape: 'dot', size: 12 }}, edges: {{ arrows: {{to:false}} }} }};
32
- const network = new vis.Network(container, data, options);
33
- network.on('click', function (params) {{
34
- if(params.nodes && params.nodes.length) {{
35
- const n = nodes.get(params.nodes[0]);
36
- if(n.url) window.open(n.url, '_blank');
37
- }}
38
- }});
39
- </script>
40
- """.replace("{nodes}", str(nodes)).replace("{edges}", str(edges))