Documentation generator for Csound projects
Project description
csdoc
csdoc is a documentation generator for Csound projects. It parses Csound code (.csd, .orc, .inc, etc.) and extracts JSDoc-style comment blocks to generate a beautiful, static HTML documentation site.
Features
- Standard Syntax: Supports
opcode(UDOs),instr, andstructdefinitions. - Recursive Parsing: Automatically follows
#includestatements. - Rich Comments: Supports
@param,@return, and Markdown in descriptions. - Modern CLI: Easy to use with
uvor as a standalone tool.
Installation
You can run csdoc directly using uvx:
uvx --from git+https://github.com/yourusername/csdoc csdoc build main.csd
Or install it in your environment:
pip install csdoc
Usage
Build Documentation
csdoc build <source_file> [options]
<source_file>: The entry point of your Csound project (e.g.,main.csd).-o, --output <dir>: The directory to save the generated site (default:dist).
Export JSON
csdoc json <source_file>
Documentation Format
csdoc looks for tags within /** ... */ comment blocks immediately preceding a definition.
Example
/**
* A gain control UDO.
*
* This opcode applies a simple linear gain to an audio signal.
*
* @param ain The input audio signal
* @param kgain The gain multiplier (0.0 to 1.0)
* @return aout The processed audio signal
*/
opcode Gain, a, ak
ain, kgain xin
xout ain * kgain
endop
Supported Tags
| Tag | Description |
|---|---|
@param {type} name Description |
Documents a parameter or p-field. Type is optional. |
@return {type} Description |
Documents a return value. Type is optional. |
@returns |
Alias for @return. |
Descriptions support standard Markdown syntax, including code blocks, bold text, and lists.
Development
This project uses uv for dependency management.
# Install dependencies
uv sync
# Run the CLI
uv run csdoc --help
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file csdoc-0.1.0.tar.gz.
File metadata
- Download URL: csdoc-0.1.0.tar.gz
- Upload date:
- Size: 21.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
739c7f9d3100e2987c1cbee3b04f5bab7d370c5e344c234ef5fa0f91e550ea63
|
|
| MD5 |
5e3b7035a7ee557db3bfc8c40b3fec19
|
|
| BLAKE2b-256 |
92b1b93d226a52444092d04065e7bc1b15c8cb70d8cd04686dc8b7a253ad214d
|
File details
Details for the file csdoc-0.1.0-py3-none-any.whl.
File metadata
- Download URL: csdoc-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b0e61c036f94fb274c74bc1ecf557b2dd898e2fef62ad736386540168ddc6b7
|
|
| MD5 |
b384162d9a6b0a03360edd6db1e6e073
|
|
| BLAKE2b-256 |
31bbc3e81cbec8b003438e93df980ed619b4f66f95dadc41a956f996622fa89c
|