Skip to main content

TEchX

TEchX is a lightweight typesetting system designed for creating easy and smooth technical documentation. It supports a custom .techx file format, allowing you to easily define sections like titles, authors, API references, and changelogs. TEchX can render these files into both HTML and PDF formats which can be displayed for documentation.

Features

  • Custom Typesetting Language: Use .techx files with a simple syntax to define your documentation structure.

  • HTML Output: Generate clean and responsive HTML documentation from your .techx files.

  • PDF Output: Convert .techx files into polished PDF documents, suitable for printing and sharing.

Installation

You can install TEchX via pip.

Using PIP :

pip  install  techx

Also run pip install requirements.txt to install some dependencies.

Manual Installation

Clone the repository and install it locally:

git  clone  https://github.com/yourusername/TEchX.git
cd  TEchX
pip  install  .

Usage

Once installed, you can use the techx command-line tool to generate HTML and PDF documentation.

Utilities

Generate HTML TechDoc

techx tech_doc.techx --output-html tech_doc.html

This command converts tech_doc.techx into tech_doc.html.

Generate PDF TechDoc

techx tech_doc.techx --output-pdf tech_doc.pdf

This command converts tech_doc.techx into tech_doc.pdf.

TEchX syntax:

TEchX provides a very easy and simple syntax to produce technical documentation for small scale projects and also individual files.

Techdoc uses a simple and intuitive syntax to define sections, code snippets, API references, and changelogs within .techx files. All commands begin with a ~ symbol, and the escape character is also ~. Below is a breakdown of the available commands and their usage.

1. Document Metadata

  • ~title{}: Specifies the title of the document.

    ~title{Project Documentation}
    
  • ~author{}: Specifies the author’s name.

    ~author{John Doe}
    
  • ~date{}: Specifies the date of the document. This is an optional parameter. If left empty, it automatically fetches the date from the system.

    ~date{15 Oct 2005}
    

2. Sections

  • ~section{}: Defines a new section in the document. The section title is provided within the curly braces.

    ~section{Introduction}
    This is the introduction section.
    

3. Code Snippets

  • ~code{language : code}: Embeds a code snippet in the document. The language specifies the programming language for syntax highlighting, and the code is the actual code snippet.

    ~code{bash : npm install myproject}
    

    Multiline code snippets are also supported:

    ~code{javascript : 
    const myProject = require('myproject');
    myProject.doSomething();
    }
    

4. API References

  • ~api{}: Defines an API reference entry. The command is followed by the API method or function name, and a description is provided in the text.

    ~api{API_Reference}
    Description: Executes the main function of the project.
    Parameters: none
    Returns: void
    

5. Changelog

  • ~changelog{}: Defines a changelog section. The changes are listed within the curly braces, with each change prefixed by a hyphen.

    ~changelog{
    - v1.0.0: Initial release
    - v1.1.0: Added new feature
    }
    

6. Text Content

  • Plain Text: Any text outside of a command is treated as plain text and will be rendered directly.

    This is a regular paragraph of text.
    

7. Escape Characters

  • Escape ~: If you need to use the ~ character literally in your text, escape it by doubling the ~. Escaped tilde: '~~'

Contributing

Currently, the project is in a nascent stage with more updates and development yet to come. Any new feature ideas and/or bugs can be reported in an issue or by opening a pull request in this repository! All contributions are most welcome!

License

This project is an open source tool licensed under the MIT License.


Metadata

Release files for techx 0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for techx 0.1
File Size Uploaded
techx-0.1.tar.gz 8.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for techx 0.1
File Interpreter ABI Platform
techx-0.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.4 kB

Release files / techx-0.1.tar.gz

Download URL techx-0.1.tar.gz
Size 8.3 kB
Tags Source
SHA-256 checksum
How to use checksums
236ce876e7467eba6f48e70f9bbccfc1daf0bfe1feee1003328e224bb25ed96d
BLAKE2b-256 checksum
How to use checksums
7660f890cc71e513715933b5f6ff1398f279bc5ca918b3a4548611af376dcc67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Release files / techx-0.1-py3-none-any.whl

Download URL techx-0.1-py3-none-any.whl
Size 8.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a1da9fa0506bfbbafb3f1b84cf570a5d033b2d569168beeb0316ed88ee17aea7
BLAKE2b-256 checksum
How to use checksums
f082fe698237932e56a380266b47b3cbcd2380a96e24f5187420f7924466348b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Release history Release notifications | RSS feed

This release

0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page