~edwargix/git.sr.ht

9b541f8123bf347103e3c480ee21433d2f9cc1c8 — наб 4 years ago 5dae4f3
Render symlinks as hyperlinks
3 files changed, 9 insertions(+), 4 deletions(-)

M gitsrht/blueprints/repo.py
M gitsrht/templates/blame.html
M gitsrht/templates/blob.html
M gitsrht/blueprints/repo.py => gitsrht/blueprints/repo.py +7 -2
@@ 15,6 15,7 @@ from gitsrht.rss import generate_feed
from gitsrht.types import Artifact
from io import BytesIO
from jinja2 import Markup
from jinja2.utils import url_quote, escape
from pygments import highlight
from pygments.formatters import HtmlFormatter
from pygments.lexers import guess_lexer, guess_lexer_for_filename, TextLexer


@@ 53,10 54,14 @@ def get_readme(repo, git_repo, tip, link_prefix=None):
    return get_formatted_readme("git.sr.ht:git", file_finder, content_getter,
            link_prefix=link_prefix)

def _highlight_file(repo, ref, name, data, blob_id, commit_id):
def _highlight_file(repo, ref, entry, data, blob_id, commit_id):
    link_prefix = url_for('repo.tree', owner=repo.owner,
            repo=repo.name, ref=ref)
    return get_highlighted_file("git.sr.ht:git", name, blob_id, data)
    if entry.filemode == pygit2.GIT_FILEMODE_LINK:
        return Markup(f"<a href=\"{url_quote(data.encode('utf-8'))}\">" +
                f"{escape(data)}</a>")
    else:
        return get_highlighted_file("git.sr.ht:git", entry.name, blob_id, data)

def render_empty_repo(owner, repo):
    origin = cfg("git.sr.ht", "origin")

M gitsrht/templates/blame.html => gitsrht/templates/blame.html +1 -1
@@ 82,7 82,7 @@ pre, body {
        id="L{{loop.index}}"
        >{{loop.index}}</a>
{% endfor %}</pre>
      {{ highlight_file(repo, ref, entry.name,
      {{ highlight_file(repo, ref, entry,
        data, blob.id.hex, commit.id.hex) }}
    </div>
  </div>

M gitsrht/templates/blob.html => gitsrht/templates/blob.html +1 -1
@@ 86,7 86,7 @@ pre, body {
        id="L{{loop.index}}"
        >{{loop.index}}</a>{% if not loop.last %}
{% endif %}{% endfor %}</pre>
      {{ highlight_file(repo, ref, entry.name,
      {{ highlight_file(repo, ref, entry,
        data, blob.id.hex, commit.id.hex) }}
    </div>
    {% else %}