GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
SOLDOUT(3) FreeBSD Library Functions Manual SOLDOUT(3)

soldout
markdown parser library

The soldout library only performs the parsing of markdown input, the construction of the output is left to a renderer, which is a set of callback functions called when markdown elements are encountered. Pointers to these functions are gathered into a struct mkd_renderer along with some renderer-related data.

Basic usage will be:

  1. Create output, input buffers by bufnew() function.
  2. Fill input buffer by bufput() function.
  3. Create struct mkd_renderer or use provided renderer.
  4. Call markdown() function.
  5. Process output buffer.
  6. Call bufrelease() function to clean up buffers.

Simple example that uses first argument as a markdown string, converts it to an HTML and outputs it to stdout.
#include <stdio.h>

#include <buffer.h>
#include <markdown.h>
#include <renderers.h>

#define INPUT_UNIT  1024
#define OUTPUT_UNIT 64

int
main(int argc, char *argv[])
{
  struct buf *ib, *ob;

  /* Make sure we have enough arguments. */
  if (argc != 2) {
    return 1;
  }

  ib = bufnew(INPUT_UNIT);
  ob = bufnew(OUTPUT_UNIT);

  /* bufputs() is a wrapper over bufput() for NUL-terminated string. */
  bufputs(ib, argv[1]);

  markdown(ob, ib, &mkd_html);

  /* Note the resulted data is not NUL-terminated string;
   * to make it use bufnullterm(). */
  printf("%.*s", (int)ob->size, ob->data);

  bufrelease(ib);
  bufrelease(ob);
  return 0;
}

soldout_array(3), soldout_buffer(3), soldout_markdown(3), soldout_renderers(3), John Gruber's markdown format

The soldout library was written by Natasha “Kerensikova” Porte <natacha@instinctive.eu>. Manual page was originally written by Massimo Manghi <mxmanghi@apache.org>, and rewritten to mdoc format by Svyatoslav Mishyn <juef@openmailbox.org>.
March 29, 2016 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.