Skip to content

conch:0.1.0#4551

Open
lucifer1004 wants to merge 1 commit intotypst:mainfrom
lucifer1004:conch
Open

conch:0.1.0#4551
lucifer1004 wants to merge 1 commit intotypst:mainfrom
lucifer1004:conch

Conversation

@lucifer1004
Copy link
Copy Markdown
Contributor

I am submitting

  • a new package
  • an update for a package

Description: A shell simulator that renders interactive terminal sessions in Typst, powered by a Rust WASM plugin.

Type shell commands in your Typst document — conch executes them against a virtual filesystem and renders a realistic terminal window with colored output, syntax highlighting, and animation support (helper script in source repo).

Highlights:

  • 60+ built-in commands (ls, cat, grep, sed, diff, sudo, su, useradd, ...)
  • Virtual filesystem with Unix permissions, symlinks, and uid/gid ownership
  • Three independent layers: terminal frame, ANSI renderer, shell simulator
  • Per-line and per-keystroke animation for GIF/slide generation
  • Integration with slide frameworks (touying, polylux) via terminal-frames()
  • execute() function for raw session data — render however you want
  • 6 themes × 5 chrome styles, fully customizable
  • system() constructor for reusable machine configs (hostname, users, groups, files)

Links:

I have read and followed the submission guidelines and, in particular, I

  • selected a name that isn't the most obvious or canonical name for what the package does
  • added a typst.toml file with all required keys
  • added a README.md with documentation for my package
  • have chosen a license and added a LICENSE file or linked one in my README.md
  • tested my package locally on my system and it worked
  • excluded PDFs or README images, if any, but not the LICENSE
  • ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new A new package submission.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant