1
1
Fork
You've already forked TeaCat
0
A powerful and expressive DSL for creating documents, webpages, and GUIs.
  • Rust 97.7%
  • Nix 1.9%
  • Just 0.4%
2026年04月26日 13:26:54 -04:00
src Fix building (again) 2026年04月24日 19:34:24 -04:00
teacat_lib Remove = Header = syntax 2026年04月26日 13:26:54 -04:00
testfiles single-quotes for attribute strings 2026年04月26日 13:03:51 -04:00
.gitignore Rename "run" to "serve" 2026年04月15日 09:39:44 -04:00
Cargo.lock Update Version 2026年04月24日 19:36:04 -04:00
Cargo.toml Update Version 2026年04月24日 19:36:04 -04:00
flake.lock Attempt to add flake 2026年04月12日 11:36:26 -04:00
flake.nix Update flake 2026年04月12日 11:57:54 -04:00
justfile Raw Tags 2026年03月23日 16:56:39 -04:00
license.md Initial Commit! 2026年01月25日 14:54:46 -05:00
logo.svg Add logo.svg 2026年02月02日 00:17:29 -05:00
readme.md PNG logo was unnecessary 2026年04月23日 16:47:08 -04:00
rustfmt.toml Markup 2026年04月12日 18:04:07 -04:00
test.tc @with initial implementation 2026年04月19日 12:06:32 -04:00

TeaCat logo

TeaCat is a modern document language for web pages, designed to be easier to read and write than standard HTML.

Take the following HTML:

<!-- Simple website -->
<!DOCTYPE html>
<html>
	<head>
		<title>My Website</title>
	</head>
	<body>
		<h1>My Website</h1>
		<p>Hello and welcome to my website!</p>
	</body>
</html>

With TeaCat, you can instead write it like this instead:

# simple website
:head [
	:title My Website
]
:body [
	:h1 My Website
	:p Hello and welcome to my website!
]

Features

TeaCat is currently in very early alpha. Everything is subject to change.

Here are some of the planned features:

  • Syntax
    • Tags and attributes
    • Comments
    • Raw tags
    • Markup
  • Templating
    • Variables
    • Functions
    • Modules and imports
    • Standard library
  • Tooling
    • A build system
    • A serve command, with hot-reloading
    • Formatting tools
    • Syntax highlighting

FAQ

Q: Why create another language?

A: I often find myself frustrated by HTML's syntax, which is difficult to read and write due to its unnecessary verbosity.

Q: Where did the name "TeaCat" come from?

A: The language was originally named "Template Cat" as it is meant to be a templating language and I like cats. This was shortened to "TCat", which naturally turned into "TeaCat" over time.

Q: Are JS bindings available?

A: Currently, there are no official JS bindings for TeaCat. However, if this is requested enough, this may change in the future!

Can I use TeaCat in my projects?

A: TeaCat is still early in development, and there are no guarantees of stability as of now. However, if you want to use it, feel free to do so!

On LLMs and AI

TeaCat has a zero-AI policy in all official spaces. This includes (but is not limited to) code, issues, and pull requests. Attempts to circumvent this policy will result in a ban.

Exceptions may be provided for using translation tools in conversations. If you do, we recommend attaching the original text written in your native language, alongside the translated version. Use dedicated translation tools, rather than chatbots.