GithubHelp home page GithubHelp logo

chris17453 / ttygif Goto Github PK

View Code? Open in Web Editor NEW
22.0 3.0 0.0 9.37 MB

A modern text to gif tool. For use in headless ci/cd environments providing themed output for documentation.

Python 65.62% Makefile 0.53% Shell 2.13% Cython 31.71%
asciicast ttygif themes cicd gif automation terminal-emulator

ttygif's Introduction

ttygif

A full featured text to gif conversion utility, that just works. It's in beta, so expect rough edges. It's a DIY terminal emulator that reads from STDIN or asciicast file to render themed gif's with layers. Great for documentation and power point presentations.

ttygif in action

htop

Whats the hell is this?

  • It's sparkling fantastic colorfull terminal output AUTOMATION!

how do i get it!?

## requirements gcc, python development libs, cython
yum install python-devel gcc
pip3 install ttygif --user

What are the benifits

  • pipe output into beautifuly themed gifs
  • asciicast to gif
  • perfect fit for CI/CD
  • it runs headless
  • it can be scripted
  • works with python 2 and 3
  • works on linux, mac, raspberry PI
  • its fast, and easy to install
  • it has themes
  • you can make custom themes!
  • you can add background images from the CLI

It's portable

ttygif is self contained with no dependencys other than python/cython. GIF encoding and termal emulation are both implimented with internal cython code. No system fonts are required. All you need to get ttygif to work is a c compiler, python and its development libs. ttygif is a cython project.

shipped themes

  • default (256 color xterm palette)
  • default-4bit (16 colorxterm palette)
  • default-2bit (monochrome palette)
  • windows7 (windows style wrapped terminal)
  • game (8 bit inspired frame)
  • mac (mac styled window)
  • fwdm (old linux style window)
  • scripted (bottom bar with text)
  • opensouirce (bottom bar with text)
  • bar (bottom bar with NO text)

Supported fonts

  • All fonts came from https://int10h.org/oldschool-pc-fonts
  • copyright FON conversion © 2015 VileR, license: CC BY-SA 4.0
  • ttygif supports the "fd" font format. Basicly text files.
  • All .FON files have been exported to fd files for portability.
  • All fonts are copyright of their perspective owners, not me.
  • default font=Verite_9x16

Check them all out here -> fonts.md

ttygif-assets

The following resources are located in the ttygif-assets repo

Examples

some random pics from the asciinema.org website, and my computer

pipe

pipe

Terminal ray tracing

asciicast-174524

term-tris dt cannon

  • with game theme asciicast-232377

Denariusd compile on 30 cores!

asciicast-234628

surpirsed Pikachu

asciicast-236096

CACA_DRIVER=ncurses cacademo

asciicast-687

ttygif's People

Contributors

chris17453 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ttygif's Issues

no mention of Cython

Update

Ahhhh.. it looks like this is written for Python 2.7.x know?

It's more than likely dependent upon my personal system, but I had to install Cython before I could install ttygif

pip install --user Cython

Using macOS 10.13.6 with pyenv and Python 3.7.4

Wrap but not scroll?

When making a recording I get unexpected behavior where new characters added to the bottom right (on a long line, spread across multiple asciicast json lines) are wrapped to the bottom left, overwriting the characters already there.

I would expect a scroll up to happen when it wraps, so it's writing over whitespace instead of the previous line of text.

I can't tell from the readme whether this is auto wrap (DECAWM) mode or not... it seems to wrap but not scroll.

I also can't tell from the readme how exactly I'm supposed to enable or disable auto wrap when reading in from an asciicast file. Do I need to modify every line of the asciicast? Can a flag be added to toggle it for all lines? Can the default be made to behave like asciinema play?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.