roundabout,
created on Saturday, 30 March 2024, 14:13:38 (1711808018),
received on Wednesday, 31 July 2024, 06:54:43 (1722408883)
Author identity: vlad <vlad.muntoiu@gmail.com>
8f210de704ca70080de22b6917badcf90590df92
app.py
@@ -57,6 +57,7 @@ import jinja_utils
import celery_tasks from celery import Celery, Task import celery_integration import pathlibbabel = Babel(app)
@@ -576,6 +577,7 @@ def repository_tree(username, repository, branch, subpath):
size=size, icon=icon, subpath=os.path.join("/", subpath), extension=pathlib.Path(path).suffix,basename=os.path.basename(path), contents=contents, remote=f"http{'s' if config.suggest_https else ''}://{config.BASE_DOMAIN}/git/{username}/{repository}",
jinja_utils.py
@@ -1,5 +1,7 @@
from app import app from datetime import datetime import markdown from markupsafe import Markup@app.template_filter("split")
@@ -20,3 +22,8 @@ def strftime(value: datetime):
@app.template_filter("decode") def decode(value: bytes, codec: str = "UTF-8", errors: str = "strict"): return value.decode(codec, errors) @app.template_filter("markdown") def decode(value: str): return Markup(markdown.make_html(markdown.tokenise(value)))
templates/file-view.html
@@ -45,7 +45,24 @@
} </style> {% if mode == "text" %}{% if (mode == "text" and extension == ".md") or mimetype == "text/markdown" %} <x-notebook> <label><input type="radio" name="tabs-example" checked>Rendered</label> <x-tab> <article> {{ contents | markdown }} </article> </x-tab> <label><input type="radio" name="tabs-example">Raw</label> <x-tab> <pre class="code-view" style="--line-chars: {{ contents | split('\n') | length | string | length }}"> {% for i in contents | split("\n") %} <code>{{ i }}</code> {% endfor %} </pre> </x-tab> </x-notebook> {% elif mode == "text" %}<pre class="code-view" style="--line-chars: {{ contents | split('\n') | length | string | length }}"> {% for i in contents | split("\n") %} <code>{{ i }}</code>