texd

package module
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2026 License: MIT Imports: 2 Imported by: 0

README

texd

Go Reference Test, Lint, Release Coverage Go Report Card GitHub license

texd is a TeX as (a) Service solution, designed for your internal document generation on your own servers.

Features

  • Ad-hoc compilation - Send .tex files via HTTP POST, get PDF back
  • Simple HTTP API - No TeX distribution needed on client systems
  • Pluggable TeX distributions - Use Docker containers for different TeX versions
  • Scalable architecture - Deploy as local service, container, or CI pipeline
  • Reference store - Cache commonly used assets to reduce bandwidth
  • Prometheus metrics - Monitor document processing and queue status

Quick Start

# Local mode (requires local TeX installation)
$ texd

# Container mode (uses Docker images)
$ texd registry.gitlab.com/islandoftex/images/texlive:latest

# CI service mode (run texd in Docker)
$ docker run --rm -t -p localhost:2201:2201 ghcr.io/digineo/texd:latest

Then compile a document:

$ curl -X POST \
    -F "input.tex=<input.tex" \
    -o "output.pdf" \
    "http://localhost:2201/render"

Documentation

Contributing

Bug reports and feature requests are welcome at https://github.com/digineo/texd/issues.

Pull requests are welcome, even for minor fixes. For larger features, please open an issue first to discuss your proposal.

See Contributing for more details and related projects.

License

MIT, © 2022, Dominik Menke, see file LICENSE

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Development added in v0.2.0

func Development() bool

func PrintBanner

func PrintBanner(w io.Writer)

PrintBanner will write a small ASCII graphic and versioning information to w.

func Version

func Version() string

Version returns a string describing the version. For release versions this will contain the Git tag and commit ID. When used as library (or in development), this may return just "development".

Types

This section is empty.

Directories

Path Synopsis
cmd
build command
Package main is not intended for use by end users.
Package main is not intended for use by end users.
texd command
Package metrics centralizes Prometheus metric definitions.
Package metrics centralizes Prometheus metric definitions.
dir
Package dir implements an on-disk reference storage adapter.
Package dir implements an on-disk reference storage adapter.
memcached
package memcached implements a reference store adapter backed by a separate Memcached server.
package memcached implements a reference store adapter backed by a separate Memcached server.
nop
Package nop implements a no-op reference store adapter.
Package nop implements a no-op reference store adapter.
Package xlog provides a thin wrapper around log/slog.
Package xlog provides a thin wrapper around log/slog.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL