The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

NAME

App::oaf - Output stdin as a GitHub/Slack/Jira etc... formatted code, list, or quote

SYNOPSIS

Output as Format will read from stdin and output code, lists, or quotes based on the provided options and/or environment variables.

usage: oaf [-1mpsLQ] [-f format] [-l lang] [--list[1]] [--quote]
Output stdin according to the given options
-f FORMAT Format to output, defaults to markdown
-h, --help Display this message
-l LANG Programming language of stdin, if supported by FORMAT
-L, --list Output a bullet point list using FORMAT, each line is a list item
-1, --list1 Output a numbered list using FORMAT, each line is a list item
-m Force multiline output, if supported by FORMAT
-p Print the supported formats and exit
-Q, --quote Output as a quote in FORMAT
-s Force single line output, if supported by FORMAT
--version Print the version

EXAMPLES

Output as GitHub Flavored Markdown:

cat some-code | oaf -f github -l perl
```perl
my $n = foo();
return unless $n > 100;
```

Output as MediaWiki:

cat some-code | oaf -f mediawiki -l perl
<syntaxhighlight lang="perl">
my $n = foo();
return unless $n > 100;
</syntaxhighlight>

Output a Markdown list:

echo -e "line1\nline2\nline3" | oaf --list
* line1
* line2
* line3

Output a numbered list formatted for JIRA:

echo -e "line1\nline2\nline3" | oaf --list1 -f jira
# line1
# line2
# line3

Output a quote formatted for Org mode:

echo -e "line1\nline2\nline3" | oaf --quote -f orgmode
#+BEGIN_QUOTE
line1
line2
line3
#+END_QUOTE

INSTALLATION

Currently there are two ways to install.

This requires your system to have Perl installed. Unless you're on Windows you probably have it (here in 2019).

Download

chmod 555 oaf

CPAN

cpan App::oaf

SUPPORTED FORMATS & SERVICES

  • Bitbucket

  • Disqus

  • GitHub

  • GitLab

  • HipChat

  • HTML

  • JIRA

  • Markdown

  • MediaWiki

  • Org-mode

  • POD

  • reStructuredText

  • Slack

DEFAULTS

Defaults can be set by the following environment variables:

  • OAF_FORMAT - output format

  • OAF_LANG - input programming language

The default format is Markdown. There is no default programming language.

AUTHOR

Skye Shaw (sshaw [AT] gmail.com)

SEE ALSO

copy-as-format for Emacs, from which this is based.

COPYRIGHT

Copyright (c) 2017-2019 Skye Shaw.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.