App-oaf

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


Keywords
bitbucket, command-line-tool, disqus, github, gitlab, hipchat, html, jira, markdown, mediawiki, org-mode, perl, pod, restructuredtext, slack, vim
License
Artistic-1.0-Perl

Documentation

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

curl -o oaf https://raw.githubusercontent.com/sshaw/output-as-format/master/oaf
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.