{ "info": { "author": "Tommy Allen", "author_email": "tommy@esdf.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Terminals :: Terminal Emulators/X Terminals", "Topic :: Utilities" ], "description": "tmux2html\n=========\n\ntmux2html captures full tmux windows or individual panes then parses\ntheir contents into HTML in living |color|. The output can either be\nstill snapshots, or animated sequences.\n\nWith a web server that uses gzip compression, the size over the network\nis negligible for reasonably sized windows or panes.\n\nExamples\n--------\n\nSome of these may be large in dimensions. You'll need to zoom out if you\nwant to see all panes at once. These are not raster graphics!\n\n- |Color| ``[disk: 135KB, gzip: 17KB]``:\n https://share.esdf.io/FGlV4sufpt/color.html\n- Single Pane ``[disk: 124KB, gzip: 13KB]``:\n https://share.esdf.io/oby611JQvB/single.html\n- Full Window (Big) ``[disk: 237KB, gzip: 21KB]``:\n https://share.esdf.io/9t7tgDC4Gf/full.html\n- Animated ``[disk: 204KB, gzip: 146KB]``:\n https://share.esdf.io/sVu5q1xFk9/animated.html\n- Partially Animated (Big) ``[disk: 122KB, gzip: 89KB]``:\n https://share.esdf.io/UNoltIEHt4/partial-animated.html (Only some\n panes are animating)\n- Scrollable pane history ``[disk: 83KB, gzip: 47KB]``:\n https://share.esdf.io/sEDNecDCat/scroll.html (Scroll with the mouse\n wheel, or two fingers on a touch screen.)\n- Complete pane history ``[disk: 63KB, gzip: 18KB]``:\n https://share.esdf.io/bvn100jhi7/history.html\n- Over kill animation ``[disk: 679KB, gzip: 516KB]``:\n https://share.esdf.io/eSZQheewUL/absurd-animation.html (This\n animation is recorded using a 10ms interval. It will not be great on\n mobile devices.)\n- \"Streaming\": https://share.esdf.io/log.html (This displays the HTTP\n log for the links above.)\n\nIf you decide to look at the telnet animations yourself and don't know\nhow to exit, use ``Ctrl-]`` then type ``quit``. For the Star Wars\nanimation, press ``Ctrl-]`` to get the prompt.\n\nRationale\n---------\n\nThis was a weekend project I made for fun and I have no particular use\nfor it beyond annoying my friends about how bad they should feel for not\nusing tmux. I also thought it would be neat to have a render of my\nsessions that didn't result in an image using some crummy font on a\nheadless server.\n\nI suppose you can use cron to capture screens and display it on your\nwebsite, or use it to create terminal snippets for your blog. You could\nalso load a pane render in elinks within your coworker's session. The\nonly limit is your imagination, my friend. :sparkles:\n\nWhat people think of tmux2html\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n tmux2html \u4fbf\u5229\u305d\u3046\u3002\n\n\u2014\n`@nakamuray `__\n\n aaaaoooooo\n\n\u2014 `@l4utert `__\n\n 9:39:46 PM Jef Myers: what the fuck\u00a0is tmux?\n\n\u2014 Jef Myers\n\nRequirements\n------------\n\n- tmux 1.8\n- Python 2.7 or 3.4 (could be wrong since it's not tested in lower\n versions)\n\nInstallation\n------------\n\n.. code:: shell\n\n pip install tmux2html\n\nUsage\n-----\n\n.. code:: shell\n\n tmux2html 4 -o window_5_in_current_session.html\n tmux2html .0 -o first_pane_in_current_window.html\n tmux2html other:1.2 -o second_window_third_pane_in_other_session.html\n\nCommand Line Options\n~~~~~~~~~~~~~~~~~~~~\n\n- ``target`` (positional) - Target window or pane. Uses tmux's target\n syntax, but always 0-indexed. (e.g. ``sess:1.2`` - Session - sess,\n Window 2, Pane 3. Default target is window.)\n- ``-o``, ``--output`` - Output file. Prints to stdout if omitted.\n- ``-m``, ``--mode`` - Output file permissions. Default - 644\n- ``--light`` - Light background.\n- ``--interval`` - Number of seconds between captures.\n- ``--duration`` - Number of seconds to capture. 0 for indefinite\n recording, -1 to disable.\n- ``--stream`` - Continuously renders until stopped and adds a script\n to auto refresh based on ``--interval``. See the notes below for more\n info.\n- ``--fg`` - Foreground color. Can be a color index or R,G,B\n- ``--bg`` - Background color. Can be a color index or R,G,B\n- ``--full`` - Renders the full history of a single pane\n- ``--history`` - Specifies the maximum number of pane history lines to\n include (implies ``--full``)\n\nLimitations\n-----------\n\n- The cursor is not displayed.\n- Basic colors will not match your terminal's configured colors.\n- Animations aren't perfect with a lot of splits and fast resizing.\n- [STRIKEOUT:Animations won't capture scrolling the pane's history\n (selection mode).] Scrolling in the pane's history is now recorded in\n animations.\n- [STRIKEOUT:In animations, a pane is updated with the full pane's\n content.] Only the changed lines are updated on a per-pane basis.\n- Zoomed panes will ruin all the fun.\n- Your imagination :stars:\n\nNotes\n-----\n\n- Still captures are plain HTML and CSS.\n- Animations use Javascript.\n- To keep the size reasonable with animations,\n `pako `__ is used to inflate the\n gzipped frame contents. Combined with decompression of frame content,\n the animations will use a fair amount of CPU. So, you shouldn't run\n animations indefinitely on your low performance or battery operated\n fun machines.\n- ``--stream`` doesn't actually \"stream\", per se. It keeps writing to\n the same file and adds a script that reloads the contents. This can\n be used to have a live feed of a window or pane. However, it's not\n elegant. If you set the interval to too low, your might\n unintentionally DDoS your own web server. Caveat Emptor.\n- The font stack includes\n `Powerline `__ and\n `Nerd `__ fonts because I'm\n pedantic and want to see those fancy glyphs. It falls back to\n ``monospace`` if you don't have any of those fonts installed. The\n caveat: if you have more than one of those fonts installed, the first\n one in the font stack might not be your favorite and you'll be forced\n to set your monitor on fire and buy a new one.\n\nTo Do\n-----\n\n- [STRIKEOUT:If there's practical use for animations in the future,\n only lines that are different should be updated to keep the size\n low.]\n- Tell people to follow me on Twitter\n (`@cloudsiphon `__) if they would\n like to stay up to date on tmux2html, but don't be pushy about it.\n\nSimilar Projects\n----------------\n\n- `gotty `__ - Share your terminal as a\n web application\n- `asciinema `__ - Terminal\n session recorder\n\nLicense\n-------\n\n- tmux2html: MIT\n- `pako `__: MIT\n\n.. |color| image:: https://cloud.githubusercontent.com/assets/111942/14111051/2aa0927e-f597-11e5-85d8-e529c803ec61.png\n.. |Color| image:: https://cloud.githubusercontent.com/assets/111942/14111051/2aa0927e-f597-11e5-85d8-e529c803ec61.png\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tweekmonster/tmux2html", "keywords": "tmux html cool hip neat rad", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "tmux2html", "package_url": "https://pypi.org/project/tmux2html/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tmux2html/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/tweekmonster/tmux2html" }, "release_url": "https://pypi.org/project/tmux2html/0.1.11/", "requires_dist": null, "requires_python": null, "summary": "tmux2html captures full tmux windows or individual panes\nthen parses their contents into HTML.", "version": "0.1.11" }, "last_serial": 2065865, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "be9ee1feba0903a1583e98ad77969d02", "sha256": "4e94a48da873f630a92a1414f1d78de73b55e8f45c1ad923949d5e24b56d85e8" }, "downloads": -1, "filename": "tmux2html-0.1.tar.gz", "has_sig": false, "md5_digest": "be9ee1feba0903a1583e98ad77969d02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20262, "upload_time": "2016-03-30T02:32:06", "url": "https://files.pythonhosted.org/packages/fb/fa/81bd962ad4a909f0ef13843e58ff2931d482848faabae8008fc648625f96/tmux2html-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "37e39badf4f0455e3ac341464f210db4", "sha256": "d29321c19fb4e2df1ca92b2f347712f73daa0a853ac58a601285ea021e4d9ba7" }, "downloads": -1, "filename": "tmux2html-0.1.1.tar.gz", "has_sig": false, "md5_digest": "37e39badf4f0455e3ac341464f210db4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20342, "upload_time": "2016-03-30T21:08:20", "url": "https://files.pythonhosted.org/packages/95/26/0a1622eeca077d3b914ded2ca49f60ea6d5e85c5151473fc2c6f4122402b/tmux2html-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "39193587510dbfc045bd63c404e2297c", "sha256": "31ca8d68a647215040cc21ea056266ec4d7f22dece4fe1df8ccec4be246c7c83" }, "downloads": -1, "filename": "tmux2html-0.1.10.tar.gz", "has_sig": false, "md5_digest": "39193587510dbfc045bd63c404e2297c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31190, "upload_time": "2016-04-13T19:57:17", "url": "https://files.pythonhosted.org/packages/21/9a/57c2ecfdc26b10e33fa75b9e93a3e6cfc1aeafafc4bd0387a29e62bc54b9/tmux2html-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "d07812492a2af0825c53ac073c635aed", "sha256": "bd3178b835fad82841996e062248880070edfa3d24148acc28b3f449f730041d" }, "downloads": -1, "filename": "tmux2html-0.1.11.tar.gz", "has_sig": false, "md5_digest": "d07812492a2af0825c53ac073c635aed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31301, "upload_time": "2016-04-15T17:10:06", "url": "https://files.pythonhosted.org/packages/c5/d3/77cadf8c1fd691af21500d3a7f412f95e01ead4c82e20477f3eb5abb861a/tmux2html-0.1.11.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "4e232070feb9a945dc372bf27d08e6d4", "sha256": "23a0955225ce9ad3aca96c7a8e8ddfb60549943716d9487324b875c394e85abf" }, "downloads": -1, "filename": "tmux2html-0.1.2.tar.gz", "has_sig": false, "md5_digest": "4e232070feb9a945dc372bf27d08e6d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21233, "upload_time": "2016-03-31T03:54:29", "url": "https://files.pythonhosted.org/packages/21/fd/339bf26b6d48b12f1c2088666e5f86545a1e6d10547c57e958e4a06114b5/tmux2html-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "1d82d002f2f17c5b85eb722aa29ec575", "sha256": "ed22e0a49c742891fee918fb19893c8e571c1aa9081a317cac0f924fe5b6cb6d" }, "downloads": -1, "filename": "tmux2html-0.1.3.tar.gz", "has_sig": false, "md5_digest": "1d82d002f2f17c5b85eb722aa29ec575", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21706, "upload_time": "2016-03-31T04:50:07", "url": "https://files.pythonhosted.org/packages/2c/b9/27e8a6888d1993adffebf67db54cb1b2d901ed35dc0dfa1a7eaf4d2313a5/tmux2html-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b636e3856787fb9e44291c91f410b7ad", "sha256": "b7163eb26ab2695a153aac9988043145f54eeba2d876abfe3fa93edc6519bc55" }, "downloads": -1, "filename": "tmux2html-0.1.4.tar.gz", "has_sig": false, "md5_digest": "b636e3856787fb9e44291c91f410b7ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21815, "upload_time": "2016-03-31T15:33:40", "url": "https://files.pythonhosted.org/packages/b5/1c/8199b95e9cf7c1165c3f21310cf0624c59e393af66738d93444da921d98a/tmux2html-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "4647b07edd30651c1114d95dac2f51f8", "sha256": "c5f3083cbcf433306ae12a8153df88be90ca052ed5a567c58bba14cef73602dd" }, "downloads": -1, "filename": "tmux2html-0.1.5.tar.gz", "has_sig": false, "md5_digest": "4647b07edd30651c1114d95dac2f51f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21916, "upload_time": "2016-03-31T22:30:01", "url": "https://files.pythonhosted.org/packages/1f/21/31c50b592d217b5487f0e6b5fbe0a845f4e0b585fecfdca8a370762bfecf/tmux2html-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "ecc37bec1b56a53ea04543c92056965d", "sha256": "17a2c926925971a41b5d44e682ddbb24318d55a552ec8368356ca4c5ad307a3d" }, "downloads": -1, "filename": "tmux2html-0.1.6.tar.gz", "has_sig": false, "md5_digest": "ecc37bec1b56a53ea04543c92056965d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30038, "upload_time": "2016-04-06T07:15:04", "url": "https://files.pythonhosted.org/packages/c7/4c/c3348eeed779297f738ad6130af338d343701b9e5ff493b1a71510dd2271/tmux2html-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "559d2d2fcbd8941c14166b2f31562034", "sha256": "47dac9fc1cf8f3895e9da2a6679b645f9367c7d1f61b7c8d76471d7e96e3169d" }, "downloads": -1, "filename": "tmux2html-0.1.7.tar.gz", "has_sig": false, "md5_digest": "559d2d2fcbd8941c14166b2f31562034", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29965, "upload_time": "2016-04-06T12:47:24", "url": "https://files.pythonhosted.org/packages/a9/8d/5b4425cb2ae9a81b2e571e69e54b7639adbe6896b326eaf635021f738743/tmux2html-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "786dbc99eb7479893495d6c9a5ee6f2e", "sha256": "a4861ad5e8cf4b814c1bde1faf15128337e7c0d194b7237d5c69209e67b23656" }, "downloads": -1, "filename": "tmux2html-0.1.8.tar.gz", "has_sig": false, "md5_digest": "786dbc99eb7479893495d6c9a5ee6f2e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30722, "upload_time": "2016-04-12T22:38:50", "url": "https://files.pythonhosted.org/packages/22/27/e2b63ddfbe93f42eb426e5de833984b6a3acf5a80435a6d49dba1a24ce02/tmux2html-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "4cdc093637dd5764ec5b4d7cd28d9cff", "sha256": "a68c2e46ddf186ae4791b9bb2d037ef3039c21ae31ac05a9225e4e308ca8c27c" }, "downloads": -1, "filename": "tmux2html-0.1.9.tar.gz", "has_sig": false, "md5_digest": "4cdc093637dd5764ec5b4d7cd28d9cff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31160, "upload_time": "2016-04-13T03:21:02", "url": "https://files.pythonhosted.org/packages/a3/c3/342893f52ce0768c52b8478be731fc872e5b04c29cbd62175895ac487cb3/tmux2html-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d07812492a2af0825c53ac073c635aed", "sha256": "bd3178b835fad82841996e062248880070edfa3d24148acc28b3f449f730041d" }, "downloads": -1, "filename": "tmux2html-0.1.11.tar.gz", "has_sig": false, "md5_digest": "d07812492a2af0825c53ac073c635aed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31301, "upload_time": "2016-04-15T17:10:06", "url": "https://files.pythonhosted.org/packages/c5/d3/77cadf8c1fd691af21500d3a7f412f95e01ead4c82e20477f3eb5abb861a/tmux2html-0.1.11.tar.gz" } ] }