Add support for push links.

This commit is contained in:
Flancian 2020-12-27 20:41:59 +01:00
parent 983ff8d169
commit 1ecf9b262b
4 changed files with 14 additions and 19 deletions

View File

@ -110,15 +110,13 @@ def pull(node):
@bp.route('/wikilink/<node>') # alias for now
def wikilink(node):
n = db.wikilink_to_node(node)
n = G.node(node)
return render_template(
'node_rendered.html',
wikilink=node,
subnodes=db.subnodes_by_wikilink(node),
pull_nodes=n.pull_nodes() if n else [],
# backlinks=db.nodes_by_outlink(node),
node=n,
backlinks=[x.wikilink for x in db.nodes_by_outlink(node)],
pushlinks=n.push_links() if n else [],
pull_nodes=n.pull_nodes() if n else [],
forwardlinks=n.forward_links() if n else [],
)

View File

@ -201,9 +201,9 @@ class Subnode:
"""
# TODO: test.
pull_nodes = subnode_to_actions(self, 'pull')
entities = content_to_forward_links("\n".join(pull_nodes))
return [Node(entity) for entity in entities]
pull_blocks = subnode_to_actions(self, 'pull')
pull_nodes = content_to_forward_links("\n".join(pull_blocks))
return [G.node(node) for node in pull_nodes]
def push_links(self):
"""

View File

@ -34,7 +34,7 @@
-->
<div class="pulllinks">
<span class="pulllinks-header">pulled</span><br />
<span class="pulllinks-header">pulled</span><br />
{% for node in pull_nodes %}
<a href="/node/{{node.uri}}">{{node.uri}}</a><br />
{% endfor %}

View File

@ -16,21 +16,21 @@
{% extends "base.html" %}
{% block content %}
{% if not subnodes %}
{% if not node %}
<div class="not-found">
No node found at [[{{wikilink}}]].
No node found at [[{{node}}]].
<br /><br />
If you <a href="https://flancia.org/go/agora">contributed a subnode</a> named '{{wikilink}}' to the Agora, this node would exist :)
If you <a href="https://flancia.org/go/agora">contributed a subnode</a> that mapped to '{{node}}' in the Agora, this node would exist :)
<br /><br />
Try listing <a href="/nodes">nodes</a> or perhaps <a href="/search">search</a>.
Try listing all <a href="/nodes">nodes</a> or perhaps <a href="/search">search</a>.
</div>
{% endif %}
{% if subnodes %}
{% if node %}
<div class="node">
<span class="node-header"><strong>Node</strong> <a href="/node/{{wikilink}}">[[{{wikilink}}]]</a></span>
<span class="node-header"><strong>Node</strong> <a href="/node/{{node.uri}}">[[{{node.uri}}]]</a></span>
{% for subnode in subnodes %}
{% for subnode in node.subnodes %}
<div class="subnode">
<span class="subnode-header"><strong>Subnode</strong> <a href="{{subnode.url}}">{{subnode.uri}}</a> by <a href="/@{{subnode.user}}">@{{subnode.user}}</a></span>
{{ subnode.content|markdown|linkify|safe }}
@ -39,11 +39,9 @@ Try listing <a href="/nodes">nodes</a> or perhaps <a href="/search">search</a>.
</div>
{% endif %}
<!--
{% for node in pull_nodes %}
<div class="node">
<span class="node-header"><strong>Pulled node</strong> <a href="/node/{{node.uri}}">[[{{node.uri}}]]</a></span>
{{node.subnodes}}
{% for subnode in node.subnodes %}
<div class="subnode">
@ -53,7 +51,6 @@ Try listing <a href="/nodes">nodes</a> or perhaps <a href="/search">search</a>.
{% endfor %}
</div>
{% endfor %}
-->
{% include "links.html" %}