summaryrefslogtreecommitdiff
path: root/issues/binderlite/ansi2html_terminal_user_feedback.gmi
diff options
context:
space:
mode:
authorArun Isaac2022-07-06 17:41:06 +0530
committerArun Isaac2022-07-06 17:41:06 +0530
commitef2babcd97676ad4d8512b53152c79bbcb6c68b4 (patch)
treedfea3ff6148da44f725d4eaa1f090b3d77e2e651 /issues/binderlite/ansi2html_terminal_user_feedback.gmi
parenta4169d014b483e6e31db977d0cba0a68642c8db6 (diff)
downloadgn-gemtext-ef2babcd97676ad4d8512b53152c79bbcb6c68b4.tar.gz
Take over streaming terminal output to the browser.
Diffstat (limited to 'issues/binderlite/ansi2html_terminal_user_feedback.gmi')
-rw-r--r--issues/binderlite/ansi2html_terminal_user_feedback.gmi41
1 files changed, 14 insertions, 27 deletions
diff --git a/issues/binderlite/ansi2html_terminal_user_feedback.gmi b/issues/binderlite/ansi2html_terminal_user_feedback.gmi
index c0cba55..59da2ae 100644
--- a/issues/binderlite/ansi2html_terminal_user_feedback.gmi
+++ b/issues/binderlite/ansi2html_terminal_user_feedback.gmi
@@ -1,40 +1,27 @@
-# ansi2html terminal user feedback
+# Terminal output to the browser
* status: ongoing, in progress
* type: feature-request
-* assigned: jgart
+* assigned: aruni
* priority: medium
* keywords: binderlite, notebooks, ansi2html
-## Description
+## ansi2html
-https://builds.sr.ht/~sircmpwn/job/610711
+Drew Devault uses ani2html 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://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/
+=> 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
-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
+And, the relevant places in the 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
-https://git.sr.ht/~sircmpwn/builds.sr.ht/tree/master/item/buildsrht/blueprints/jobs.py#L333
+Here's a diagram showing how it will integrate with binderlite.
+=> binderlite_ansi2html_terminal_diagram.png
-I've added a diagram showing how it will integrate with binderlite.
+ansi2html lets us send terminal output to the browser without depending on javascript libraries. However, the downside is that it cannot "stream" terminal output to the browser as it is generated. The only way to get the latest terminal output is to reload the page.