summaryrefslogtreecommitdiff
path: root/issues/binderlite/ansi2html_terminal_user_feedback.gmi
blob: c0cba55e68b3f79459c5267055df8d09a7405e86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# ansi2html terminal user feedback

* status: ongoing, in progress
* type: feature-request
* assigned: jgart
* priority: medium
* keywords: binderlite, notebooks, ansi2html

## Description

https://builds.sr.ht/~sircmpwn/job/610711

https://builds.sr.ht/~sircmpwn/job/611028

This issue proposes an alternative way to generate terminal output to the browser
from a process that does not dependent on js libraries but still looks great.

Drew Devault uses this method in builds.sr.ht, the continuous integration
system/app that is part of the SourceHut suite.

builds.sr.ht generates terminal output using jinja templates and a relatively
small python library called ansi2html. It is already packaged by guix upstream
as python-ansi2html (It could use an update).

https://github.com/pycontribs/ansi2html
https://pypi.org/project/ansi2html/

Here are two examples of it in action at builds.sr.ht:

https://builds.sr.ht/~sircmpwn/job/610711

https://builds.sr.ht/~sircmpwn/job/611028

And, the relevant places in builds.sr.ht code base:

https://git.sr.ht/~sircmpwn/builds.sr.ht/tree/master/item/buildsrht/templates/job.html#L117

https://git.sr.ht/~sircmpwn/builds.sr.ht/tree/master/item/buildsrht/blueprints/jobs.py#L333

I've added a diagram showing how it will integrate with binderlite.