Universe
Create project in app

MANuals for TYpSt

Template for documenting typst packages and templates.

Usage

Just import the package at the beginning of your manual:

#import "@preview/mantys:0.1.4": *

Mantys supports Typst 0.11.0 and newer.

Writing basics

A basic template for a manual could look like this:

#import "@local/mantys:0.1.4": *

#import "your-package.typ"

#show: mantys.with(
	name:		"your-package-name",
	title: 		[A title for the manual],
	subtitle: 	[A subtitle for the manual],
	info:		[A short descriptive text for the package.],
	authors:	"Your Name",
	url:		"https://github.com/repository/url",
	version:	"0.0.1",
	date:		"date-of-release",
	abstract: 	[
		A few paragraphs of text to describe the package.
	],

	example-imports: (your-package: your-package)
)

// end of preamble

# About
#lorem(50)

# Usage
#lorem(50)

# Available commands
#lorem(50)

Use #command(name, ..args)[description] to describe commands and #argument(name, ...)[description] for arguments:

#command("headline", arg[color], arg(size:1.8em), sarg[other-args], barg[body])[
	Renders a prominent headline using #doc("meta/heading").

	#argument("color", type:"color")[
    The color of the headline will be used as the background of a #doc("layout/block") element containing the headline.
  ]
  #argument("size", default:1.8em)[
    The text size for the headline.
  ]
  #argument("sarg", is-sink:true)[
    Other options will get passed directly to #doc("meta/heading").
  ]
  #argument("body", type:"content")[
    The text for the headline.
  ]

  The headline is shown as a prominent colored block to highlight important news articles in the newsletter:

  #example[```
  #headline(blue, size: 2em, level: 3)[
    #lorem(8)
  ]
  ```]
]

The result might look something like this:

Example for a headline command with Mantys

For a full reference of available commands read the manual.

Changelog

Version 0.1.4

  • Fix missing links in outline (@tingerrr).
  • Fixed problem when evaluating default values with Tidy.

Version 0.1.3

  • Fix for some datatypes not being displayed properly (thanks to @tingerrr).
  • Fix for imbalanced outline columns (thanks again to @tingerrr).

Version 0.1.2

  • Added hydra for better detection of headings in page headers (thanks to @tingerrr for the suggestion).
  • Fixed problem with multiple quotes around default string values in tidy docs.
  • Fixed datatypes linking to wrong documentation urls.

Version 0.1.1

  • Added template files for submission to Typst Universe.

Version 0.1.0

  • Refactorings and some style changes
  • Updated manual.
  • Restructuring of package repository.

Version 0.0.4

  • Added integration with tidy.
  • Fixed issue with types in argument boxes.
  • #lambda now uses #dtype

Breaking changes

  • Adapted scope argument for eval in examples.
    • #example(), #side-by-side() and #shortex() now support the scope and mode argument.
    • The option example-imports was replaced by examples-scope.

Version 0.0.3

  • It is now possible to load a packages’ typst.toml file directly into #mantys:
    #show: mantys.with( ..toml("typst.toml") )
    
  • Added some dependencies:
  • Redesign of some elements:
    • Argument display in command descriptions,
    • Alert boxes.
  • Added #version(since:(), until:()) command to add version markers to commands.
  • Styles moved to a separate theme.typ file to allow easy customization of colors and styles.
  • Added #func(), #lambda() and #symbol() commands, to handle special cases for values.
  • Fixes and code improvements.

Version 0.0.2

  • Some major updates to the core commands and styles.

Version 0.0.1

  • Initial release.