All Projects → postmodern → kramdown-man

postmodern / kramdown-man

Licence: MIT license
A Kramdown convert for converting Markdown files into man pages.

Programming Languages

ruby
36898 projects - #4 most used programming language

kramdown-man

Description

A Kramdown convert for converting Markdown files into man pages.

Features

  • Converts markdown to roff:
    • Supports codespans, emphasis and strong fonts.
    • Supports normal, hanging and tagged paragraphs.
    • Supports bullet lists.
    • Supports multi-paragraph list items and blockquotes.
    • Supports horizontal rules.
    • Supports converting [bash](man:bash(1)) links into man page references.
  • Provides Rake task for converting man/*.md into man pages.
  • Uses the pure-Ruby Kramdown markdown parser.
  • Supports Ruby 2.0 and JRuby.

Synopsis

Render a man page from markdown:

$ kramdown-man <man/myprog.1.md >man/myprog.1

Examples

Render a man page from a markdown file:

require 'kramdown/man'

doc = Kramdown::Document.new(File.read('man/kramdown-man.1.md'))
File.write('man/kramdown-man.1',doc.to_man)

system 'man', 'man/kramdown-man.1'

Define a man and file tasks which render all *.md files within the man/ directory:

require 'kramdown/man/task'
Kramdown::Man::Task.new

Syntax

Formatting

`code`

code

*emphasis*

emphasis

**strong**

strong

Paragraphs

Normal paragraph.

Normal paragraph.

`command` [`--foo`] *FILE*

command [--foo] FILE

`--tagged`
  Text here.

--tagged Text here.

Links

[website](http://example.com/)

website

[bash](man:bash(1))

bash

Email [email protected]

Lists

* one
* two
* three

  extra paragraph
  • one

  • two

  • three

    extra paragraph

    1. one

    2. two

    3. three

      extra paragraph

  1. one

  2. two

  3. three

    extra paragraph

Horizontal Rule

-------------------------------------------------------------------------------

Blockquotes

> Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
>
> --Antoine de Saint-Exupéry

Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.

--Antoine de Saint-Exupéry

Code Blocks

    #include <stdio.h>

    int main()
    {
	    printf("hello world\n");
	    return 0;
    }

#include <stdio.h>

int main()
{
    printf("hello world\n");
    return 0;
}

Requirements

Install

$ gem install kramdown-man

Alternatives

Copyright

Copyright (c) 2013-2020 Hal Brodigan

See {file:LICENSE.txt} for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].