Skip to main content

cdox

A script to automate documentation of your C APIs in markdown format.

cdox reads in a source code file creates documentation based on the comments. it's sort of like doxygen but simpler and creates a markdown file.

Usage

cdox infile outfile

Installation

pip install cdox

Rules

cdox keywords:

  • @name: name of documentation.
  • @description: description of file documentation.
  • @desc: a description of a function.
  • @param: a bullet point for info on a function paramter.
  • @return: a bullet point for what the function returns.

rules:

  • the keywords must be in multiline comments.
  • the multiline comments must start with /* * and end with * */ each on their own line.
  • the function name/protoype must be on the line following the * */

Example Usage

Check out example.md for what the below example would produce.

// test.c

/* *
 * strncmp
 * 
 * @desc: compare two strings up to `n` characters.
 * 
 * @param: `s1` - a char array of at least one char.
 * @param: `s2` - a char array of at least one char.
 * @param: `n` - the number of chars to compare of each string.
 * 
 * @return: 0 if strings are the same else a non-zero int.
 * */
int strncmp(const char *s1, const char *s2, int n)
{
  while(n > 0 && *s1 == *s2++) {
    if(*s1++ == '\0')
      return 0;
    n--;
  }
  return (n == 0 ? 0 : *s1 - *--s2);
}

todo

  • add feature to allow making section headers
  • add @global keyword for documentation of global variables

Release files for cdox 1.0.5

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

Source distribution (sdist)

Source distribution for cdox 1.0.5
File Size Uploaded
cdox-1.0.5.tar.gz 4.6 kB Details

Release files / cdox-1.0.5.tar.gz

Download URL cdox-1.0.5.tar.gz
Size 4.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c4548c44585f28ce5f6044f414e071ed283c23f9c4a316d35e073afdbdaebbfd
BLAKE2b-256 checksum
How to use checksums
a4d71f360c18ba3bb81b200e290fff8dbc6d23f10979f79df634f36775bb750c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

Release history Release notifications | RSS feed

This release

1.0.5 This release

1 release file

1.0.4

1 release file

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.1

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