<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>bpkg</title>
    <description>bpkg - </description>
    <link>https://bpkg.sh/feed/rss.xml</link>
    <link>https://bpkg.sh</link>
    <pubDate>2026-03-22T00:01:59+00:00</pubDate>
    <lastBuildDate>2026-03-22T00:01:59+00:00</lastBuildDate>
    <ttl>1800</ttl>
    
    <item>
      <title>kewt</title>
      <link>https://bpkg.sh/pkg/kewt</link>
      <guid>https://bpkg.sh/pkg/kewt</guid>
      <pubDate>2026-03-20T00:00:00+00:00</pubDate>
      <description>
&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;[Project Homepage][https://kewt.krzak.org]&lt;/li&gt;
  &lt;li&gt;[Source Code (GitHub)][https://github.com/n0va-bot/kewt]&lt;/li&gt;
  &lt;li&gt;[Source Code (Home)[https://git.krzak.org/N0VA/kewt]&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://n0va.nekoweb.org&quot;&gt;Author: N0\A&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>bdo-cli</title>
      <link>https://bpkg.sh/pkg/bdo-cli</link>
      <guid>https://bpkg.sh/pkg/bdo-cli</guid>
      <pubDate>2025-03-23T00:00:00+00:00</pubDate>
      <description>&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bdo help&lt;/code&gt; - Show all available commands&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bdo create &amp;lt;repo-name&amp;gt;&lt;/code&gt; - Create and initialize a new repository&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bdo push&lt;/code&gt; - Add, commit, and push changes&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bdo branch &amp;lt;branch-name&amp;gt;&lt;/code&gt; - Create and push a new branch&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bdo checkout&lt;/code&gt; - Reset to match remote main branch&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bdo remove&lt;/code&gt; - Uninstall bdo-cli from your system&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/hellobdo/bdo-cli&quot;&gt;Source Code&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/hellobdo&quot;&gt;Author: bdo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>parse_quick_parameters.sh</title>
      <link>https://bpkg.sh/pkg/parse_quick_parameterssh</link>
      <guid>https://bpkg.sh/pkg/parse_quick_parameterssh</guid>
      <pubDate>2024-11-24T00:00:00+00:00</pubDate>
      <description>
&lt;p&gt;layout: post
title: “parse-quick-parameters”
description: “Given a docstring, configures named parameters for a bash function”
category: bash
tags: [bash]
—&lt;/p&gt;

&lt;p&gt;Provide a documentation string to get named function parameters. Fork of msknapp’s. Similar to docopt&lt;/p&gt;

&lt;h2 id=&quot;installation&quot;&gt;Installation&lt;/h2&gt;

&lt;p&gt;Just copy the file or use package managers.&lt;/p&gt;

&lt;h3 id=&quot;use-bkpg&quot;&gt;Use bkpg&lt;/h3&gt;

&lt;p&gt;Get &lt;a href=&quot;https://www.bpkg.sh/&quot;&gt;bpkg&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To get the source version:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;matthewdeanmartin/parse_quick_parameters.sh
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;To get the hosted version:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;parse_quick_parameters
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;use-git-remote-get&quot;&gt;Use git-remote-get&lt;/h3&gt;

&lt;p&gt;This is a fancy way of just downloading git files.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;pip install git-remote-get
git-remote-get ./ --owner matthewdeanmartin --repo &quot;parse_quick_parameters.sh&quot; deps
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/env bash&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;source &lt;/span&gt;deps/parse_quick_parameters/parse_quick_parameters.sh

&lt;span class=&quot;k&quot;&gt;function &lt;/span&gt;do_something_quick &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    parse_quick_parameters &lt;span class=&quot;s2&quot;&gt;&quot;my_file=-f|--file,bool:run=-r|--run,name=-n|--name&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$@&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;return &lt;/span&gt;0
    &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;my file is: &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$my_file&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;my name is: &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$name&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;run is: &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$run&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;div class=&quot;language-terminal highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gp&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;source &lt;/span&gt;parse_quick_parameters.sh
&lt;span class=&quot;gp&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; do_something_quick &lt;span class=&quot;nt&quot;&gt;--name&lt;/span&gt; name &lt;span class=&quot;nt&quot;&gt;--run&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--file&lt;/span&gt; file
&lt;span class=&quot;go&quot;&gt;my file is: file
my name is: name
run is: true
&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; do_something_quick &lt;span class=&quot;s2&quot;&gt;&quot;file&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;name&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--run&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;my file is: file
my name is: name
run is: true
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;notes&quot;&gt;Notes&lt;/h2&gt;

&lt;p&gt;Shellcheck doesn’t understand the pattern and will raise &lt;a href=&quot;https://github.com/koalaman/shellcheck/wiki/SC2154&quot;&gt;SC2154&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;alternatives&quot;&gt;Alternatives&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Getopts&quot;&gt;getopts&lt;/a&gt; Builtin bash command&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/docopt/docopts&quot;&gt;docopts&lt;/a&gt; Shell version of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;docopts&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/nhoffman/argparse-bash&quot;&gt;argparse-bash&lt;/a&gt; Use python’s argparse in bash&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;contributing&quot;&gt;Contributing&lt;/h2&gt;

&lt;p&gt;Use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Makefile&lt;/code&gt;. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bats&lt;/code&gt; tests assume &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bats&lt;/code&gt; was installed with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;npm&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;make format lint test
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;credits&quot;&gt;Credits&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/msknapp/maintainable-bash/blob/master/1_init/3.1_parameters/shortcut.sh#L3&quot;&gt;msknapp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>drawercli</title>
      <link>https://bpkg.sh/pkg/drawercli</link>
      <guid>https://bpkg.sh/pkg/drawercli</guid>
      <pubDate>2024-06-18T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This cli app supports using termuxlauncher as your primary launcher for Android phones, interactively and easily install. That’s simply the Termuxlauncher Add-on built with fzf🚀&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;drawercli&lt;/code&gt;
…or for the help
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;drawercli --help&lt;/code&gt;&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/luisadha/drawercli&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://gravatar.com/luisadha&quot;&gt;Author: Luis Adha&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>shellshoccar-jpn-tukubai</title>
      <link>https://bpkg.sh/pkg/shellshoccar-jpn-tukubai</link>
      <guid>https://bpkg.sh/pkg/shellshoccar-jpn-tukubai</guid>
      <pubDate>2024-06-10T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This is shellscript implementation of usp Tukubai.&lt;/p&gt;

&lt;p&gt;Most of their commands work for line-record space-separated text files.&lt;/p&gt;

&lt;h2 id=&quot;some-commands&quot;&gt;Some commands&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;self&lt;/code&gt; selects specified fields.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;zen&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;han&lt;/code&gt; convert katakana and alphanumeric characters on specified fields into zenkaku and hankaku respectively.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sm2&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sm4&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sm5&lt;/code&gt; report your business.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;keta&lt;/code&gt; aligns your data.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/Tpaefawzen/ShellShoccar-jpn-Tukubai-just-sh&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://uec.usp-lab.com/TOP/CGI/TOP.CGI&quot;&gt;UEC - usp engineers’ community site (Japanese)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://posixism.org/&quot;&gt;POSIXISM.org (Japanese) (not https)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;author&quot;&gt;Author&lt;/h2&gt;
&lt;p&gt;Tpaefawzen&lt;/p&gt;

&lt;p&gt;This is a fork of Shellshoccar-jpn’s project, which is a fork of usp-engineers-community’s project.&lt;/p&gt;

&lt;h2 id=&quot;licenses&quot;&gt;Licenses&lt;/h2&gt;
&lt;p&gt;Mixture of MIT, CC0 and ISC licenses&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>bash-db</title>
      <link>https://bpkg.sh/pkg/bash-db</link>
      <guid>https://bpkg.sh/pkg/bash-db</guid>
      <pubDate>2024-03-26T00:00:00+00:00</pubDate>
      <description>&lt;h1 id=&quot;bash-db&quot;&gt;bash-db&lt;/h1&gt;

&lt;p&gt;Very simple Key-Value database on bash script. Depends on pre-installed software only (tested on Ubuntu 14.04 LTS):&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;sed&lt;/li&gt;
  &lt;li&gt;bash&lt;/li&gt;
  &lt;li&gt;grep&lt;/li&gt;
  &lt;li&gt;base64&lt;/li&gt;
  &lt;li&gt;xargs&lt;/li&gt;
&lt;/ul&gt;

&lt;h1 id=&quot;install&quot;&gt;Install&lt;/h1&gt;

&lt;h2 id=&quot;bpkg-global-package&quot;&gt;bpkg (global package)&lt;/h2&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;reddec/bash-db
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;make-usrlocalbin&quot;&gt;Make (/usr/local/bin)&lt;/h2&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;make &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;manual-installation&quot;&gt;Manual Installation&lt;/h2&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git clone https://github.com/reddec/bash-db
&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;bash-db
&lt;span class=&quot;nb&quot;&gt;chmod&lt;/span&gt; +x db.sh
&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;db.sh /usr/local/bin/db
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 id=&quot;usage&quot;&gt;Usage&lt;/h1&gt;

&lt;h2 id=&quot;command-line-tool&quot;&gt;Command-line Tool&lt;/h2&gt;
&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;db &amp;lt;method&amp;gt; &amp;lt;database&amp;gt; [arguments...]&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Methods:&lt;/p&gt;

&lt;h3 id=&quot;put&quot;&gt;PUT&lt;/h3&gt;

&lt;p&gt;Insert or update record.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Arg&lt;/th&gt;
      &lt;th&gt;Description&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;key&lt;/code&gt; (required)&lt;/td&gt;
      &lt;td&gt;Unique key. Can be used any value (also spaces if value in bracets)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;value&lt;/code&gt; (optional)&lt;/td&gt;
      &lt;td&gt;Value of record.  Can be used any value (also spaces if value in bracets). If value not set, STDIN will be used.&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h4 id=&quot;example&quot;&gt;Example:&lt;/h4&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;db put test.db name &lt;span class=&quot;s1&quot;&gt;&apos;Red Dec&apos;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;get&quot;&gt;GET&lt;/h3&gt;

&lt;p&gt;Get value of record by key&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Arg&lt;/th&gt;
      &lt;th&gt;Description&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;key&lt;/code&gt; (required)&lt;/td&gt;
      &lt;td&gt;Unique key. Can be used any value (also spaces if value in bracets)&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h4 id=&quot;example-1&quot;&gt;Example:&lt;/h4&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;db get test.db name
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;list&quot;&gt;LIST&lt;/h3&gt;

&lt;p&gt;Get all keys in database&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No arguments&lt;/strong&gt;&lt;/p&gt;

&lt;h4 id=&quot;example-2&quot;&gt;Example:&lt;/h4&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;db list test.db
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;last&quot;&gt;LAST&lt;/h3&gt;

&lt;p&gt;Get the value of the last added record&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No arguments&lt;/strong&gt;&lt;/p&gt;

&lt;h4 id=&quot;example-3&quot;&gt;Example:&lt;/h4&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;db last test.db
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;delete&quot;&gt;DELETE&lt;/h3&gt;

&lt;p&gt;Delete record by key&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Arg&lt;/th&gt;
      &lt;th&gt;Description&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;key&lt;/code&gt; (required)&lt;/td&gt;
      &lt;td&gt;Unique key. Can be used any value (also spaces if value in bracets)&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h4 id=&quot;example-4&quot;&gt;Example:&lt;/h4&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;db delete test.db name
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/reddec/bash-db&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/reddec&quot;&gt;Author: Aleksandr Baryshnikov&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>bash-templater</title>
      <link>https://bpkg.sh/pkg/bash-templater</link>
      <guid>https://bpkg.sh/pkg/bash-templater</guid>
      <pubDate>2024-02-14T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;bash-templater empowers efficient templating within Bash scripts,
streamlining the creation of configuration files, documentation, and more.
With its intuitive syntax and powerful features, you can effortlessly craft
dynamic output.&lt;/p&gt;

&lt;h2 id=&quot;tldr&quot;&gt;TL;DR&lt;/h2&gt;

&lt;p&gt;Installing:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt; bpkg install vicentebolea/bash-templater
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Using it:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;templater vars &amp;lt; file.template
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;use-me&quot;&gt;USE ME&lt;/h2&gt;
&lt;p&gt;You have this &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;file.template&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;language-markdown highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gh&quot;&gt;# My template&lt;/span&gt;
&lt;span class=&quot;gu&quot;&gt;## Author&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt; -&lt;/span&gt; @NAME@ &lt;span class=&quot;nt&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;EMAIL&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;@&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;And this &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;rules&lt;/code&gt; file:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;NAME&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;LEOPOLDO WINSTON
&lt;span class=&quot;nv&quot;&gt;EMAIL&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;leothewinston&lt;span class=&quot;se&quot;&gt;\@&lt;/span&gt;leoserver.com
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You execute this command:&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;templater rules &amp;lt; file.template
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You get this:&lt;/p&gt;
&lt;div class=&quot;language-markdown highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;gh&quot;&gt;# My template&lt;/span&gt;
&lt;span class=&quot;gu&quot;&gt;## Author&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt; -&lt;/span&gt; LEOPOLDO WINSTON &lt;span class=&quot;nv&quot;&gt;&amp;lt;leothewinston@leoserver.com&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;the-only-rule&quot;&gt;The only rule&lt;/h2&gt;

&lt;p&gt;Escape the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;@&lt;/code&gt; character like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;\@&lt;/code&gt; in the rules file.&lt;/p&gt;

&lt;h2 id=&quot;install-me&quot;&gt;INSTALL ME&lt;/h2&gt;
&lt;p&gt;Use the fantastic BASH package manager BPKG and just:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bpkg install vicentebolea/bash-templater
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/vicentebolea/bpkg.github.io&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Authors: &lt;a href=&quot;https://github.com/vicentebolea&quot;&gt;Vicente Adolfo Bolea Sanchez&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>echo-eval</title>
      <link>https://bpkg.sh/pkg/echo-eval</link>
      <guid>https://bpkg.sh/pkg/echo-eval</guid>
      <pubDate>2024-02-06T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This minimalist library takes a bash command as a string, prints it with a shell prompt in front of it, then runs that command using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;eval&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ jq --version
jq-1.6
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;This pattern minimizes the time it takes to debug your bash systems by leaving logs resembling someone typing at a terminal.&lt;/p&gt;

&lt;h2 id=&quot;installation&quot;&gt;Installation&lt;/h2&gt;
&lt;p&gt;You can install this globally…&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt; kj4ezj/echo-eval
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;…or as a project dependency.&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;kj4ezj/echo-eval
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;If you install it as a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bpkg&lt;/code&gt; dependency then you will need to source it in your scripts.&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;source &lt;/span&gt;deps/bin/ee
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Your paths may vary.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;
&lt;p&gt;This library takes the input you give it, prints or echoes it to the terminal with a fake shell prompt in front of it, then tries to run it as a command. For example, the output of this…&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ee &lt;span class=&quot;nb&quot;&gt;uname&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;…looks like this on Linux.&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ uname
Linux
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;You can invoke &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ee&lt;/code&gt; as a function…&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ee &lt;span class=&quot;nb&quot;&gt;echo test&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;…or as a file.&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;./ee.sh &lt;span class=&quot;nb&quot;&gt;echo test&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Some commands may need to be encased in quotes to work the way you intend. For example, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dc&lt;/code&gt; is sensitive to whitespace.&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;echo-eval&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;ee dc &lt;span class=&quot;nt&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;1 2 + p&apos;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;dc &lt;span class=&quot;nt&quot;&gt;-e&lt;/span&gt; 1 2 + p
dc: Could not open file 2
dc: Could not open file +
dc: Could not open file p
echo-eval&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;ee &lt;span class=&quot;s2&quot;&gt;&quot;dc -e &apos;1 2 + p&apos;&quot;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;dc &lt;span class=&quot;nt&quot;&gt;-e&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;1 2 + p&apos;&lt;/span&gt;
3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;In this example, we want the input to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ee&lt;/code&gt; to include the pipe (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;|&lt;/code&gt;).&lt;/p&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;echo-eval&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;EXAMPLE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;&apos;yeet&apos;&lt;/span&gt;
echo-eval&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;ee &lt;span class=&quot;nb&quot;&gt;printf&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$EXAMPLE&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;wc&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt;
18
echo-eval&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;ee &lt;span class=&quot;s1&quot;&gt;&apos;printf &quot;$EXAMPLE&quot; | wc -c&apos;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;printf&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$EXAMPLE&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; | &lt;span class=&quot;nb&quot;&gt;wc&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt;
4
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Quotes were needed to get the correct output of four characters.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;
&lt;p&gt;Written by &lt;a href=&quot;https://github.com/kj4ezj&quot;&gt;Zach Butler&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/kj4ezj/echo-eval&quot;&gt;Source Code&lt;/a&gt; - GitHub&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/kj4ezj/echo-eval#echo-eval&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the GitHub repo for more information.&lt;/p&gt;

</description>
    </item>
    
    <item>
      <title>bashunit</title>
      <link>https://bpkg.sh/pkg/bashunit</link>
      <guid>https://bpkg.sh/pkg/bashunit</guid>
      <pubDate>2023-09-11T00:00:00+00:00</pubDate>
      <description>&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;Write tests files like:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# file: tests/my_test.sh&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;function &lt;/span&gt;test_using_snake_case&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
  assertEquals &lt;span class=&quot;s2&quot;&gt;&quot;1&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;1&quot;&lt;/span&gt;
  assertContains &lt;span class=&quot;s2&quot;&gt;&quot;Linux&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;GNU/Linux&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;function &lt;/span&gt;testUsingCamelCase&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
  assertNotContains &lt;span class=&quot;s2&quot;&gt;&quot;Linus&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;GNU/Linux&quot;&lt;/span&gt;
  assertMatches &lt;span class=&quot;s2&quot;&gt;&quot;.*Linu*&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;GNU/Linux&quot;&lt;/span&gt;
  assertExitCode &lt;span class=&quot;s2&quot;&gt;&quot;0&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then run the test:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bashunit tests/my_test.sh

Running logic_test.sh
✓ Passed: UsingCamelCase
✓ Passed: Using snake &lt;span class=&quot;k&quot;&gt;case&lt;/span&gt;

Tests:      2 passed, 2 total
Assertions: 5 passed, 5 total
All tests passed
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/TypedDevs/bashunit&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Authors: &lt;a href=&quot;https://github.com/Chemaclass&quot;&gt;Jose Maria Valera Reales&lt;/a&gt;, &lt;a href=&quot;https://github.com/khru&quot;&gt;Emmanuel Valverde Ramos&lt;/a&gt;, &lt;a href=&quot;https://github.com/Tito-Kati&quot;&gt;Antonio Gonzalez Gea
&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://bashunit.typeddevs.com&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>protobuf-parser-bash</title>
      <link>https://bpkg.sh/pkg/protobuf-parser</link>
      <guid>https://bpkg.sh/pkg/protobuf-parser</guid>
      <pubDate>2023-07-07T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;A &lt;a href=&quot;https://github.com/protocolbuffers/protobuf&quot;&gt;Protobuf&lt;/a&gt; parser, encoder and decoder in Bash.&lt;/p&gt;

&lt;h2 id=&quot;install&quot;&gt;Install&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; lafkpages/protobuf-parser-bash
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/lafkpages/protobuf-parser-bash&quot;&gt;Source code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/lafkpages&quot;&gt;LuisAFK&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>records.sh</title>
      <link>https://bpkg.sh/pkg/recordssh</link>
      <guid>https://bpkg.sh/pkg/recordssh</guid>
      <pubDate>2023-06-13T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;See https://github.com/orbit-online/records.sh for the full README and more
advanced use-cases.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;Source the script with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;source &quot;records.sh&quot;&lt;/code&gt; and log messages with the
lowercased loglevel as the function name:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;debug &apos;Starting up.&apos;
verbose &apos;Startup completed&apos;
info &apos;Hello world!&apos;
warning &apos;Careful!&apos;
error &apos;Oh no!&apos;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The method signature of the logging functions mimic that of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;printf&lt;/code&gt;:
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;info FORMAT [ARGS...]&lt;/code&gt;. Which means you can format variables.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ var=0x1f
$ info &quot;The decimal version of %s is %d&quot; &quot;$var&quot; &quot;$var&quot;
example.sh: The decimal version of 0x1f is 31
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;All log messages are output to stderr. If you want to log something to stdout
simply run e.g. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;info &apos;message&apos; 2&amp;gt;&amp;amp;1&lt;/code&gt;.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;[Source Code (GitHub)][https://github.com/orbit-online/records.sh]&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://orbit.online&quot;&gt;Author: Orbit Online A/S (Anders Ingemann)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>bash-util-lib</title>
      <link>https://bpkg.sh/pkg/bash-util-lib</link>
      <guid>https://bpkg.sh/pkg/bash-util-lib</guid>
      <pubDate>2022-11-12T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;&lt;strong&gt;Bash Utility Library&lt;/strong&gt; - A library of bash utility functions (from output colors to parameter processing) for use in small projects.&lt;/p&gt;

&lt;h2 id=&quot;install&quot;&gt;Install&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; wsi-services/bash-util-lib
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;source&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;deps/bash-util/bash-util-lib.sh&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/WSI-Services/bash-util-lib&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/samlikins&quot;&gt;Sam Likins&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>Bats</title>
      <link>https://bpkg.sh/pkg/bats</link>
      <guid>https://bpkg.sh/pkg/bats</guid>
      <pubDate>2021-10-23T00:00:00+00:00</pubDate>
      <description>&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;Write tests into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*.bats&lt;/code&gt; files like:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/env bats&lt;/span&gt;

@test &lt;span class=&quot;s2&quot;&gt;&quot;addition using bc&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;nv&quot;&gt;result&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;2+2 | bc&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
  &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$result&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-eq&lt;/span&gt; 4 &lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then run the test:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bats test.bats
 ✓ addition using bc

1 &lt;span class=&quot;nb&quot;&gt;test&lt;/span&gt;, 0 failures
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bats-core/bats-core&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://bats-core.readthedocs.io/&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>magic-version</title>
      <link>https://bpkg.sh/pkg/magic-version</link>
      <guid>https://bpkg.sh/pkg/magic-version</guid>
      <pubDate>2021-08-14T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;calculate version for CI (CODING, GitHub Actions, Jenkins)&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;when&lt;/th&gt;
      &lt;th&gt;version&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;tag&lt;/td&gt;
      &lt;td&gt;1.2.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;branch&lt;/td&gt;
      &lt;td&gt;main-3a11e12&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;MR&lt;/td&gt;
      &lt;td&gt;mr-123-3a11e12&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;PR(GitHub)&lt;/td&gt;
      &lt;td&gt;pr-123-3a11e12&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; sinkcup/magic-version
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;TAG_NAME&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;1.2.0
magic-version
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;blockquote&gt;
  &lt;p&gt;1.2.0&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;more examples in &lt;a href=&quot;https://github.com/sinkcup/magic-version/tree/main/test&quot;&gt;test code&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/sinkcup/magic-version&quot;&gt;Source Code&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/sinkcup&quot;&gt;sink&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>chap</title>
      <link>https://bpkg.sh/pkg/chap</link>
      <guid>https://bpkg.sh/pkg/chap</guid>
      <pubDate>2021-05-06T00:00:00+00:00</pubDate>
      <description>&lt;h2 id=&quot;installation&quot;&gt;Installation&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; kirtfitzpatrick/chap&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;requirements&quot;&gt;Requirements&lt;/h2&gt;

&lt;p&gt;bash 4.0 or greater&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;chap info_msg &lt;span class=&quot;s2&quot;&gt;&quot;Hello, world.&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;span style=&quot;color:cyan&quot;&gt;Info:&lt;/span&gt; Hello, world.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;chap &lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;
Usage:
  chap &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-hV&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
Options:
  &lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;|--help      Print this &lt;span class=&quot;nb&quot;&gt;help &lt;/span&gt;dialogue and &lt;span class=&quot;nb&quot;&gt;exit&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-V&lt;/span&gt;|--version   Print the current version and &lt;span class=&quot;nb&quot;&gt;exit

&lt;/span&gt;Logging:
  info_msg           MESSAGE
  nominal_msg        MESSAGE
  attention_msg      MESSAGE
  warning_msg        MESSAGE
  modification_msg   MESSAGE

Evaluation:
  info_cmd           COMMAND &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt; MESSAGE &lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
  nominal_cmd        COMMAND &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt; MESSAGE &lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
  attention_cmd      COMMAND &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt; MESSAGE &lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
  warning_cmd        COMMAND &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt; MESSAGE &lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
  modification_cmd   COMMAND &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt; MESSAGE &lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;

Internal:
  echo_cmd           COMMAND
  display_link       FILE_LINK_OR_DIR_PATH
  brief_echo         OUTPUT_BUFFER
  brief_eval         COMMAND

Special purpose:
  print_header       &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$0&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$*&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
  verify_line_count  LABEL COMPARISON_OP VALUE COMMAND
  confirm_cmd        COMMAND &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt; MESSAGE &lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
  confirm_reset      &lt;span class=&quot;c&quot;&gt;# Reset auto-confirm&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;example&quot;&gt;Example&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/env bash&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;source &lt;/span&gt;deps/bin/chap

chap print_header &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$0&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$*&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
chap info_msg &lt;span class=&quot;s2&quot;&gt;&quot;Let&apos;s verify line counts.&quot;&lt;/span&gt;
chap verify_line_count &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;s2&quot;&gt;&quot;files&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;-ge&quot;&lt;/span&gt; 4 &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;s2&quot;&gt;&quot;find . -type f -or -type l&quot;&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;
chap info_msg &lt;span class=&quot;s2&quot;&gt;&quot;FYI.&quot;&lt;/span&gt;
chap nominal_msg &lt;span class=&quot;s2&quot;&gt;&quot;As expected.&quot;&lt;/span&gt;
chap attention_msg &lt;span class=&quot;s2&quot;&gt;&quot;Hey old chap, pay attention.&quot;&lt;/span&gt;
chap warning_msg &lt;span class=&quot;s2&quot;&gt;&quot;Something&apos;s wrong.&quot;&lt;/span&gt;
chap modification_msg &lt;span class=&quot;s2&quot;&gt;&quot;We&apos;re making a change.&quot;&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;
chap info_cmd &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;s2&quot;&gt;&quot;grep -A 5 &apos;brief_eval {&apos; deps/bin/chap&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;s2&quot;&gt;&quot;Implementation of brief_eval.&quot;&lt;/span&gt;

&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;
chap confirm_cmd &lt;span class=&quot;s2&quot;&gt;&quot;find . -name &apos;*.sh&apos;&quot;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;s2&quot;&gt;&quot;Prompt to confirm or skip.&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;span style=&quot;color:cyan&quot;&gt;Host:&lt;/span&gt;        Kirts-MacBook-Pro-2019.local&lt;br /&gt;
&lt;span style=&quot;color:cyan&quot;&gt;Command:&lt;/span&gt;     ./demo.sh &lt;br /&gt;
&lt;span style=&quot;color:cyan&quot;&gt;Working Dir:&lt;/span&gt; /Users/kirt/Dropbox/Development/Bidpath/chap-demo&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;color:cyan&quot;&gt;Info:&lt;/span&gt; Verify correct file count. &lt;br /&gt;
&lt;span style=&quot;color:green&quot;&gt;Nominal:&lt;/span&gt; 4 files found. &lt;br /&gt;
&lt;span style=&quot;color:blue&quot;&gt;find . -type f -or -type l&lt;/span&gt;&lt;br /&gt;
./demo.sh&lt;br /&gt;
./deps/bin/chap -&amp;gt; &lt;span style=&quot;color:cyan&quot;&gt;../chap/chap.sh&lt;/span&gt;&lt;br /&gt;
./deps/chap/chap.sh&lt;br /&gt;
./deps/chap/package.json&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;color:cyan&quot;&gt;Info:&lt;/span&gt; FYI.&lt;br /&gt;
&lt;span style=&quot;color:green&quot;&gt;Nominal:&lt;/span&gt; As expected.&lt;br /&gt;
&lt;span style=&quot;color:yellow&quot;&gt;Attention:&lt;/span&gt; Hey old chap, pay attention.&lt;br /&gt;
&lt;span style=&quot;color:red&quot;&gt;Warning:&lt;/span&gt; Something’s wrong.&lt;br /&gt;
&lt;span style=&quot;color:purple&quot;&gt;Modification:&lt;/span&gt; We’re making a change.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;color:cyan&quot;&gt;Info:&lt;/span&gt; Implementation of brief_eval.&lt;br /&gt;
&lt;span style=&quot;color:blue&quot;&gt;grep -A 5 ‘brief_eval {‘ deps/bin/chap&lt;/span&gt;&lt;br /&gt;
function chap_brief_eval {&lt;br /&gt;
  CMD=$1&lt;br /&gt;
  OUTPUT=$(eval “${CMD}”)&lt;br /&gt;
  &lt;br /&gt;
  chap_brief_echo “${OUTPUT}”&lt;br /&gt;
}&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;color:cyan&quot;&gt;Info:&lt;/span&gt; Prompt to confirm or skip.&lt;br /&gt;
&lt;span style=&quot;color:blue&quot;&gt;find . -name ‘*.sh’&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color:purple&quot;&gt;Execute (a=all, s=skip):&lt;/span&gt; &lt;br /&gt;
&lt;span style=&quot;color:cyan&quot;&gt;Initiated at:&lt;/span&gt; 15:22:37&lt;br /&gt;
./demo.sh&lt;br /&gt;
./deps/chap/chap.sh&lt;br /&gt;
&lt;span style=&quot;color:cyan&quot;&gt;Completed at:&lt;/span&gt; 15:22:37&lt;br /&gt;&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/kirtfitzpatrick/chap&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://twitter.com/KirtFitzpatrick&quot;&gt;Kirt Fitzpatrick&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>passmenu</title>
      <link>https://bpkg.sh/pkg/passmenu</link>
      <guid>https://bpkg.sh/pkg/passmenu</guid>
      <pubDate>2021-03-30T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This package integrates pass and dmenu.
It gets all passwords from ~/.password-store, pipes them to dmenu, and selection is copied to clipboard.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;passmenu
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/overclockworked64/passmenu&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/overclockworked64&quot;&gt;adder&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>lcov.sh</title>
      <link>https://bpkg.sh/pkg/lcovsh</link>
      <guid>https://bpkg.sh/pkg/lcovsh</guid>
      <pubDate>2020-06-01T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;Coverage framework for Shell projects&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;Add the following code &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;[[ -z &quot;${LCOV_DEBUG}&quot; ]] || set -x&lt;/code&gt; on top of source file you want in a coverage report, see below example:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/bin/bash&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[[&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-z&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;${&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;LCOV_DEBUG&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;]]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;||&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;set&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-x&lt;/span&gt;

welcome &lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Hi &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$1&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;, I&apos;m testable code&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;

welcome &lt;span class=&quot;s2&quot;&gt;&quot;John&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now, run from command line the following command:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;lcov.sh FILE...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/javanile/lcov.sh&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/francescobianco&quot;&gt;Francesco Bianco&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>warp</title>
      <link>https://bpkg.sh/pkg/warp</link>
      <guid>https://bpkg.sh/pkg/warp</guid>
      <pubDate>2019-05-07T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;Tired of figuring out the relative path to a file, so you can copy it?
Tire no more! Warp is a small bash tool to move or copy a file from one location to another.&lt;/p&gt;

&lt;h2 id=&quot;basic-usage&quot;&gt;Basic Usage&lt;/h2&gt;

&lt;p&gt;To copy a file in a directory in one terminal, to the directory of another terminal, first warp in the file&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;warp &lt;span class=&quot;k&quot;&gt;in &lt;/span&gt;foo.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;In the other terminal, warp copy it&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;warp &lt;span class=&quot;nb&quot;&gt;cp&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/nathan-abercrombie/bash-file-warp&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;mailto:abercrombie.nathan@gmail.com&quot;&gt;Nathan Abercrombie&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>npm-publish</title>
      <link>https://bpkg.sh/pkg/npm-publish</link>
      <guid>https://bpkg.sh/pkg/npm-publish</guid>
      <pubDate>2018-09-14T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;A npm module publisher.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;PACKAGE_NAME&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&amp;lt;name&amp;gt; &lt;span class=&quot;nv&quot;&gt;NEW_VERSION&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&amp;lt;version&amp;gt; npm-publish
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/sugarshin/npm-publish&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://sugarshin.net&quot;&gt;Shingo Sato&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>uget</title>
      <link>https://bpkg.sh/pkg/uget</link>
      <guid>https://bpkg.sh/pkg/uget</guid>
      <pubDate>2018-01-11T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;Downloads a file from an url choosing between wget or curl, or gently warns that the current system can’t make the download. This packages frees the package developer the responsability to check the downloads utility in the target user computer.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;uget THERESOURCEURI
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/danilocgsilva/uget&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;http://danilocgsilva.me&quot;&gt;danilocgsilva&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>rmate</title>
      <link>https://bpkg.sh/pkg/rmate</link>
      <guid>https://bpkg.sh/pkg/rmate</guid>
      <pubDate>2017-06-28T00:00:00+00:00</pubDate>
      <description>&lt;h2 id=&quot;description&quot;&gt;Description&lt;/h2&gt;

&lt;p&gt;This shell script needs to be installed on a remote machine to allow editing files
using TextMate 2 (TM2). TM2 needs to be configured accordingly to accept either local
or remote clients.&lt;/p&gt;

&lt;h3 id=&quot;local-clients&quot;&gt;Local clients&lt;/h3&gt;

&lt;p&gt;It’s a good idea to allow access to TM2 only for local clients. In this case it’s required
to open a SSH connection to the remote system and specify a remote tunnel in addition:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;ssh &lt;span class=&quot;nt&quot;&gt;-R&lt;/span&gt; 52698:localhost:52698 user@example.com
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;After log-in on the remote system a file can be edited by just executing&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;rmate test.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;remote-clients&quot;&gt;Remote clients&lt;/h3&gt;

&lt;p&gt;On some machines, where port forwarding is not possible, for example due to a missing ssh
daemon, it’s required to set TM2 to allow access for “remote clients”. After log-in on the
remote machine a file can be edited by executing&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;rmate &lt;span class=&quot;nt&quot;&gt;-H&lt;/span&gt; textmate-host test.txt
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;requirements&quot;&gt;Requirements&lt;/h2&gt;

&lt;p&gt;A bash with compiled support for “/dev/tcp” is required.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;Edit specified file&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;./rmate &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;arguments] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; file-path
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Read text from stdin&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;hello TextMate&quot;&lt;/span&gt; | ./rmate &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;arguments] -
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;arguments&quot;&gt;Arguments&lt;/h3&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-H, --host HOST  Connect to HOST. Use &apos;auto&apos; to detect the host from SSH.
-p, --port PORT  Port number to use for connection.
-w, --[no-]wait  Wait for file to be closed by TextMate.
-l, --line LINE  Place caret on line number after loading file.
+N               Alias for --line, if N is a number (eg.: +5).
-m, --name NAME  The display name shown in TextMate.
-t, --type TYPE  Treat file as having specified type.
-n, --new        Open in a new window (Sublime Text).
-f, --force      Open even if file is not writable.
-v, --verbose    Verbose logging messages.
-h, --help       Display this usage information.
    --version    Show version and exit.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;default-parameter-configuration&quot;&gt;Default parameter configuration&lt;/h3&gt;

&lt;p&gt;Some default parameters (&lt;em&gt;host&lt;/em&gt; and &lt;em&gt;port&lt;/em&gt;) can be configured by defining them
as the environment variables &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RMATE_HOST&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RMATE_PORT&lt;/code&gt; or by putting them
in a configuration file. The configuration files loaded are &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/etc/rmate.rc&lt;/code&gt;
and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;~/.rmate.rc&lt;/code&gt;, e.g.:&lt;/p&gt;

&lt;div class=&quot;language-ini highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;err&quot;&gt;host:&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;auto&lt;/span&gt;  &lt;span class=&quot;c&quot;&gt;# prefer host from SSH_CONNECTION over localhost
&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;port:&lt;/span&gt; &lt;span class=&quot;err&quot;&gt;52698&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Alternative notation for configuration file is:&lt;/p&gt;

&lt;div class=&quot;language-ini highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;py&quot;&gt;host&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;auto&lt;/span&gt;
&lt;span class=&quot;py&quot;&gt;port&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;52698&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The precedence for setting the configuration is (higher precedence counts):&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;default (localhost, 52698)&lt;/li&gt;
  &lt;li&gt;/etc/rmate.rc&lt;/li&gt;
  &lt;li&gt;~/.rmate/rmate.rc&lt;/li&gt;
  &lt;li&gt;~/.rmate.rc&lt;/li&gt;
  &lt;li&gt;environment variables (RMATE_HOST, RMATE_PORT)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/aurora/rmate&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/aurora&quot;&gt;Harald Lapp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>bash-backup</title>
      <link>https://bpkg.sh/pkg/backup</link>
      <guid>https://bpkg.sh/pkg/backup</guid>
      <pubDate>2017-06-19T00:00:00+00:00</pubDate>
      <description>&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git clone git@github.com:newsdict/bash-backup.git
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;bash-backup
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;env-example .env
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Edit &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.env&lt;/code&gt; file&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bash backup.sh &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;--debug&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;multiple-targets&quot;&gt;Multiple Targets&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;git clone git@github.com:newsdict/bash-backup.git
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;bash-backup
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;env-example .env-sample1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Edit &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.env-sample1&lt;/code&gt; file&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;cp &lt;/span&gt;env-example .env-sample2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Edit &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.env-sample2&lt;/code&gt; file&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;sh backup.sh &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;--debug&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; sample1
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;sh backup.sh &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;--debug&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; sample2
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;flow&quot;&gt;Flow&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Archive the datas. (tar.gz or tar.bz2 or zip)&lt;/li&gt;
  &lt;li&gt;mysqldump - only mysql yet….&lt;/li&gt;
  &lt;li&gt;Rearchive the 1 and 2 (tar.gz or tar.bz2 or zip)&lt;/li&gt;
  &lt;li&gt;Upload to S3. (Generation management) - only s3 yet…….&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id=&quot;environments&quot;&gt;Environments&lt;/h2&gt;

&lt;h3 id=&quot;temporary-directory&quot;&gt;Temporary Directory&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;temporary_directory&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;tmp
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;log-name&quot;&gt;log name&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;log_name&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;logs/backup.&lt;span class=&quot;nv&quot;&gt;$now&lt;/span&gt;.log
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;backup-filename&quot;&gt;backup filename&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;backup_filename&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;backup
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;display-messages&quot;&gt;display messages&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;display_messages&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;execute-archive&quot;&gt;Execute archive&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;archive&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;archive-paths-or-files&quot;&gt;Archive paths or files&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;declare&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-a&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;archive_paths&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=(&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&quot;/var/www/html&quot;&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&quot;/etc/nginx&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;compression-type-of-backup&quot;&gt;Compression type of backup&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;commpression_type&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;gzip&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;gzip: *.tar.gz&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;zip: *.zip&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;bzip2: *.tar.bz2&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;execute-database&quot;&gt;Execute database&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;database&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;database-type-for-dump&quot;&gt;Database Type for Dump&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;declare&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-A&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;database_conf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=(&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;engine&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;mysql&quot;&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;# mysql only&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;sample1_database&quot;&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;# database name&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;username&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;user1&quot;&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;# username&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;password&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;pass&quot;&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;# password&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;host&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;127.0.0.1&quot;&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;# host&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;port&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;3306 &lt;span class=&quot;c&quot;&gt;# port&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;storage-type-for-backup-files&quot;&gt;Storage type for backup files&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;storage_type&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;s3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;s3&lt;/code&gt; only&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;s3-info&quot;&gt;s3 info&lt;/h3&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nb&quot;&gt;declare&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-A&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;s3_conf&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=(&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;keep&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;5
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;access_key&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;secret&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;bucket&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;backup&quot;&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;path&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;test&quot;&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;region&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;ap-northeast-1&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/newsdict/bash-backup&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;httphttps://github.com/yubele&quot;&gt;yubele&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>wipe modules</title>
      <link>https://bpkg.sh/pkg/wipe-modules</link>
      <guid>https://bpkg.sh/pkg/wipe-modules</guid>
      <pubDate>2017-05-03T00:00:00+00:00</pubDate>
      <description>&lt;blockquote&gt;
  &lt;p&gt;A little agent that removes the node_modules folder of non-active projects&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;why&quot;&gt;Why&lt;/h2&gt;

&lt;p&gt;If you’re a Javascript developer, you know the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;node_modules&lt;/code&gt; directory holds thousands or even millions of files, resulting in taking a lot of space in your hard disk.&lt;/p&gt;

&lt;p&gt;Enter &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wipe-modules&lt;/code&gt;, a little agent that wipes (eats, literally) that big &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;node_modules&lt;/code&gt; directory of non-active projects.&lt;/p&gt;

&lt;p&gt;Why in Earth would you want to have those monster-sized &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;node_modules&lt;/code&gt; folders on inactive projects? You got your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;package.json&lt;/code&gt; to recreate it whenever you want, right?&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;wipe-modules &lt;span class=&quot;nt&quot;&gt;--help&lt;/span&gt;

  Usage: wipe-modules &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;path] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;days]

  Path:
    The full path of your code directory

  Days:
    The days you want to &lt;span class=&quot;nb&quot;&gt;set &lt;/span&gt;to mark projects as inactive

  Example: wipe-modules ~/code 30

  That will remove the node_modules of your ~/code projects
  whose been inactive &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;30 days or more.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;using-cron&quot;&gt;Using cron&lt;/h2&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wipe-modules&lt;/code&gt; can be executed as a background job using using &lt;a href=&quot;https://en.wikipedia.org/wiki/Cron&quot;&gt;cron&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The default included &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cron-file&lt;/code&gt; file holds the following syntax:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;0 11 &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$HOME&lt;/span&gt;/bin/wipe-modules ~/code_dir 30
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;That is the crontab (cron table) file, it instructs cron to run the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wipe-modules ~/code_dir 30&lt;/code&gt; script everyday at 11:00 am.&lt;/p&gt;

&lt;p&gt;Edit the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cron-file&lt;/code&gt; to match your own needs, see &lt;a href=&quot;https://en.wikipedia.org/wiki/Cron#Overview&quot;&gt;how to set up a crontab&lt;/a&gt; for more info.&lt;/p&gt;

&lt;p&gt;Now set the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cron-file&lt;/code&gt; crontab file in cron using:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;crontab ~/path_to_cronfile/cron-file
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;And you’re done!&lt;/p&gt;

&lt;p&gt;To check if you’ve successfully added your crontab type:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;crontab &lt;span class=&quot;nt&quot;&gt;-l&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;It should display your crontab.&lt;/p&gt;

&lt;p&gt;To edit a crontab, use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;crontab -e&lt;/code&gt; and to delete all crontabs use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;crontab -r&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Note that &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;crontab -r&lt;/code&gt; will destroy all your crontabs, that’s why it’s a good idea to keep your crontab commands in a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cron-file&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Cron is only supported in unix operating systems.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bntzio/wipe-modules&quot;&gt;Source Code (Github)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://bntz.io&quot;&gt;Enrique Benitez&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://twitter.com/bntzio&quot;&gt;Contact (Twitter)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;license&quot;&gt;License&lt;/h2&gt;

&lt;p&gt;MIT © &lt;a href=&quot;https://bntz.io&quot;&gt;Enrique Benitez&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    
    <item>
      <title>tldr bash client</title>
      <link>https://bpkg.sh/pkg/tldr-bash-client</link>
      <guid>https://bpkg.sh/pkg/tldr-bash-client</guid>
      <pubDate>2017-02-06T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;&lt;strong&gt;A fully-functional &lt;a href=&quot;https://tiswww.case.edu/php/chet/bash/bashtop.html&quot;&gt;bash&lt;/a&gt;
client for the &lt;a href=&quot;https://github.com/tldr-pages/tldr&quot;&gt;tldr&lt;/a&gt; project, providing
poignant examples of terminal commands.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Version: 0.3&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;installation&quot;&gt;Installation&lt;/h2&gt;

&lt;p&gt;Download the tldr bash script to the install location:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;location&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/usr/local/bin/tldr  &lt;span class=&quot;c&quot;&gt;# elevated privileges needed for some locations&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;wget &lt;span class=&quot;nt&quot;&gt;-qO&lt;/span&gt; &lt;span class=&quot;nv&quot;&gt;$location&lt;/span&gt; https://raw.githubusercontent.com/pepa65/tldr-bash-client/master/tldr
&lt;span class=&quot;nb&quot;&gt;sudo chmod&lt;/span&gt; +x &lt;span class=&quot;nv&quot;&gt;$location&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If the location is not in $PATH, you need to specify the path to run it.
Alternately, you can do &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sudo bpkg-install pepa65/tldr&lt;/code&gt; if you have
&lt;a href=&quot;https://github.com/bpkg/bpkg&quot;&gt;bpkg&lt;/a&gt; installed.&lt;/p&gt;

&lt;h3 id=&quot;prerequisites&quot;&gt;Prerequisites&lt;/h3&gt;

&lt;p&gt;coreutils, less, grep, unzip, curl / wget&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt; USAGE: tldr &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;option] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;platform/]command

 &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;platform/]command:          Show page &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;command&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;from platform&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;

 platform is optionally one of: common, linux, osx, sunos

 option is optionally one of:
  &lt;span class=&quot;nt&quot;&gt;-l&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--list&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;platform]:      Show all available pages &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;from platform&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-r&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--render&lt;/span&gt; file:          Render a &lt;span class=&quot;nb&quot;&gt;local &lt;/span&gt;file as tldr markdown
  &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--markdown&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;command&lt;/span&gt;:     Show the markdown &lt;span class=&quot;nb&quot;&gt;source &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;command&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--cache&lt;/span&gt;:                Cache all pages by downloading archive from repo
  &lt;span class=&quot;nt&quot;&gt;-u&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--update&lt;/span&gt;:               Re-download index file from repo
  &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--version&lt;/span&gt;:              Version number and repo location
  &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;, -?, &lt;span class=&quot;nt&quot;&gt;--help&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;:           This &lt;span class=&quot;nb&quot;&gt;help &lt;/span&gt;overview

 All pages and the index are cached locally under &lt;span class=&quot;nv&quot;&gt;$HOME&lt;/span&gt;/.local/share/tldr
 By default, the cached copies will be freshly downloaded after 60 days.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;customization&quot;&gt;Customization&lt;/h2&gt;

&lt;p&gt;The 5 elements in TLDR markup that can be styled with these colors and
backgrounds (last one specified will be used) and modes (more can apply):&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Colors: Black, Red, Green, Yellow, Blue, Magenta, Cyan, White&lt;/li&gt;
  &lt;li&gt;BG: BlackBG, RedBG, GreenBG, YellowBG, BlueBG, MagentaBG, CyanBG, WhiteBG&lt;/li&gt;
  &lt;li&gt;Modes: Bold, Underline, Italic, Inverse&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Newline&lt;/code&gt; can be added to the style list to add a newline before the element
and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Space&lt;/code&gt; to add a space at the start of the line
(style items are separated by space, lower/uppercase mixed allowed)&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;TLDR_TITLE_STYLE (defaults to: Newline Space Bold Yellow)&lt;/li&gt;
  &lt;li&gt;TLDR_DESCRIPTION_STYLE (defaults to: Space Yellow)&lt;/li&gt;
  &lt;li&gt;TLDR_EXAMPLE_STYLE (defaults to: Newline Space Bold Green)&lt;/li&gt;
  &lt;li&gt;TLDR_CODE_STYLE (defaults to: Space Bold Blue)&lt;/li&gt;
  &lt;li&gt;TLDR_VALUE_ISTYLE (defaults to: Space Bold Cyan)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Value style (above) is an Inline style: doesn’t take Newline or Space&lt;/p&gt;

&lt;p&gt;Inline styles for help text: default, URL, option, platform, command, header&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;TLDR_DEFAULT_ISTYLE (defaults to: White)&lt;/li&gt;
  &lt;li&gt;TLDR_URL_ISTYLE (defaults to: Yellow)&lt;/li&gt;
  &lt;li&gt;TLDR_HEADER_ISTYLE (defaults to: Bold)&lt;/li&gt;
  &lt;li&gt;TLDR_OPTION_ISTYLE (defaults to: Bold Yellow)&lt;/li&gt;
  &lt;li&gt;TLDR_PLATFORM_ISTYLE (defaults to: Bold Blue)&lt;/li&gt;
  &lt;li&gt;TLDR_COMMAND_ISTYLE (defaults to: Bold Cyan)&lt;/li&gt;
  &lt;li&gt;TLDR_FILE_ISTYLE (defaults to: Bold Magenta)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Color/BG (Newline and Space also allowed) for error and info messages&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;TLDR_ERROR_COLOR (defaults to: Newline Space Red)&lt;/li&gt;
  &lt;li&gt;TLDR_INFO_COLOR (defaults to: Newline Space Green)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How many days before freshly downloading a potentially stale page&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;TLDR_EXPIRY (defaults to: 60)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alternative location of pages cache&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;TLDR_CACHE (not set by default)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;contributing&quot;&gt;Contributing&lt;/h2&gt;

&lt;p&gt;Please file an issue for a question, a bug or a feature request.
Or even better, send a pull request!&lt;/p&gt;

&lt;h3 id=&quot;license&quot;&gt;License&lt;/h3&gt;

&lt;p&gt;Original client by Ray Lee http://github.com/raylee/tldr (MIT license)&lt;/p&gt;

&lt;p&gt;Relicensed under GPLv3+&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/pepa65/tldr-bash-client&quot;&gt;Source code (Github)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;mailto:solusos@passchier.net&quot;&gt;pepa65&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>osxbootstrap</title>
      <link>https://bpkg.sh/pkg/osxbootstrap</link>
      <guid>https://bpkg.sh/pkg/osxbootstrap</guid>
      <pubDate>2016-09-12T00:00:00+00:00</pubDate>
      <description>&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/divio/osx-bootstrap&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/finalangel&quot;&gt;Angelo Dini&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>hr</title>
      <link>https://bpkg.sh/pkg/hr</link>
      <guid>https://bpkg.sh/pkg/hr</guid>
      <pubDate>2016-07-04T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;Tired of not finding things in your terminal because there’s a lot of logs and
garbage? Tired of destroying the Enter key by creating a “void zone” in your
terminal so that you can see the error that you’re trying to debug?&lt;/p&gt;

&lt;p&gt;Use the old &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;hr /&amp;gt;&lt;/code&gt; tag, but in your terminal.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/lurst/hr&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/lurst&quot;&gt;Gil Goncalves&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>shpec</title>
      <link>https://bpkg.sh/pkg/shpec</link>
      <guid>https://bpkg.sh/pkg/shpec</guid>
      <pubDate>2015-05-05T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This package provides a command for testing your shell scripts.&lt;/p&gt;

&lt;h2 id=&quot;using-shpec&quot;&gt;Using shpec&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/rylnd/shpec&quot;&gt;shpec’s repo&lt;/a&gt; itself is using shpec, so feel free to use it as an example.&lt;/p&gt;

&lt;p&gt;Here is the basic structure that you’ll want:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;└── shpec
    └── an_example_shpec.sh
    └── another_shpec.sh
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Then to run your tests:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;shpec &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;shpec_files]&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;If you’d like your tests to run automatically when they change, we recommend the &lt;a href=&quot;http://entrproject.org/&quot;&gt;entr&lt;/a&gt; utility:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;find &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-name&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;*_shpec.sh&quot;&lt;/span&gt; | entr shpec&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;examples&quot;&gt;Examples&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/rylnd/shpec/tree/master/shpec/shpec_shpec.sh&quot;&gt;shpec’s own tests&lt;/a&gt;
are a great place to start. For more examples, see the &lt;a href=&quot;https://github.com/rylnd/shpec/wiki/Examples&quot;&gt;wiki page&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;matchers&quot;&gt;Matchers&lt;/h3&gt;

&lt;p&gt;The general format is:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;assert matcher arguments
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;where &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;matcher&lt;/code&gt; is one of the following:&lt;/p&gt;

&lt;h4 id=&quot;binary-matchers&quot;&gt;Binary Matchers&lt;/h4&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;equal         &lt;span class=&quot;c&quot;&gt;# equality&lt;/span&gt;
unequal       &lt;span class=&quot;c&quot;&gt;# inequality&lt;/span&gt;
gt            &lt;span class=&quot;c&quot;&gt;# algebraic &apos;&amp;gt;&apos;&lt;/span&gt;
lt            &lt;span class=&quot;c&quot;&gt;# algebraic &apos;&amp;lt;&apos;&lt;/span&gt;
match         &lt;span class=&quot;c&quot;&gt;# regex match&lt;/span&gt;
no_match      &lt;span class=&quot;c&quot;&gt;# lack of regex match&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h4 id=&quot;unary-matchers&quot;&gt;Unary Matchers&lt;/h4&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;present       &lt;span class=&quot;c&quot;&gt;# string presence&lt;/span&gt;
blank         &lt;span class=&quot;c&quot;&gt;# string absence&lt;/span&gt;
file_present  &lt;span class=&quot;c&quot;&gt;# file presence&lt;/span&gt;
file_absent   &lt;span class=&quot;c&quot;&gt;# file absence&lt;/span&gt;
symlink       &lt;span class=&quot;c&quot;&gt;# tests a symlink&apos;s target&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;test&lt;/span&gt;          &lt;span class=&quot;c&quot;&gt;# evaluates a test string&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h4 id=&quot;custom-matchers&quot;&gt;Custom Matchers&lt;/h4&gt;

&lt;p&gt;Custom matchers are loaded from &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;shpec/matchers/*.sh&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For example, here’s how you’d create a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;still_alive&lt;/code&gt; matcher:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# in shpec/matchers/network.sh&lt;/span&gt;
still_alive&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
  ping &lt;span class=&quot;nt&quot;&gt;-oc1&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$1&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; /dev/null 2&amp;gt;&amp;amp;1
  assert equal &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$?&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt; 0
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Then you can use that matcher like any other:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# in shpec/network_shpec.sh&lt;/span&gt;
describe &lt;span class=&quot;s2&quot;&gt;&quot;my server&quot;&lt;/span&gt;
  it &lt;span class=&quot;s2&quot;&gt;&quot;serves responses&quot;&lt;/span&gt;
    assert still_alive &lt;span class=&quot;s2&quot;&gt;&quot;my-site.com&quot;&lt;/span&gt;
  end
end&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;installation&quot;&gt;Installation&lt;/h2&gt;

&lt;p&gt;You can either install with bpkg&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;rylnd/shpec&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;or with curl&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;sh &lt;span class=&quot;nt&quot;&gt;-c&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;curl &lt;span class=&quot;nt&quot;&gt;-L&lt;/span&gt; https://raw.github.com/rylnd/shpec/master/install.sh&lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;or with &lt;a href=&quot;https://github.com/zsh-users/antigen&quot;&gt;antigen&lt;/a&gt; for zsh by
putting &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;antigen bundle rylnd/shpec&lt;/code&gt; in your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.zshrc&lt;/code&gt;&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/rylnd/shpec&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/rylnd&quot;&gt;Ryland Herrick&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>clock</title>
      <link>https://bpkg.sh/pkg/clock</link>
      <guid>https://bpkg.sh/pkg/clock</guid>
      <pubDate>2015-04-19T00:00:00+00:00</pubDate>
      <description>&lt;h2 id=&quot;install&quot;&gt;Install&lt;/h2&gt;

&lt;p&gt;Available as a &lt;a href=&quot;http://www.bpkg.sh/&quot;&gt;bpkg&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; lordvlad/clock
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;clock &amp;lt;&lt;span class=&quot;nb&quot;&gt;command&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&amp;lt;task&amp;gt;] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&amp;lt;options&amp;gt;]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;commands&quot;&gt;Commands&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clock help&lt;/code&gt;    show the help&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clock in&lt;/code&gt;      clock in, will clock out any running task&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clock out&lt;/code&gt;     clock out&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clock log&lt;/code&gt;     show all log entries, or log entries for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;lt;task&amp;gt;&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clock list&lt;/code&gt;    show sums for all tasks&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;task&quot;&gt;Task&lt;/h3&gt;

&lt;p&gt;If no task is specified, the current working directory
  will be used as task identifier&lt;/p&gt;

&lt;h3 id=&quot;options&quot;&gt;Options&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-m|--message&lt;/code&gt;  record additional message when clocking in/out&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-f|--file&lt;/code&gt;     where to save the clocks, defaults to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$HOME/.clocks&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--by-task&lt;/code&gt;     sort log entries by task for &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clock log&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--gt=DATE&lt;/code&gt;     with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clock log&lt;/code&gt;, show only entries after &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DATE&lt;/code&gt;, with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clock list&lt;/code&gt; sum up only entries after &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DATE&lt;/code&gt;.
                &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DATE&lt;/code&gt; can be any string that unix’ &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;date&lt;/code&gt; understands&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--lt=DATE&lt;/code&gt;     with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clock log&lt;/code&gt;, show only entries before &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DATE&lt;/code&gt;, with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;clock list&lt;/code&gt; sum up only entries before &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DATE&lt;/code&gt;.
                &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DATE&lt;/code&gt; can be any string that unix’ &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;date&lt;/code&gt; understands&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;examples&quot;&gt;Examples&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; tasks/&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;work,sleep&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;clock &lt;span class=&quot;k&quot;&gt;in &lt;/span&gt;tasks/work
&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; clocked &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; /home/lordvlad/tasks/work
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;clock &lt;span class=&quot;k&quot;&gt;in &lt;/span&gt;tasks/sleep
&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; clocked out /home/lordvlad/tasks/work
&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; clocked &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; /home/lordvlad/tasks/sleep
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;clock out
&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; clocked out /home/lordvlad/tasks/sleep
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;clock log
&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; Tue 21 Apr 2015 06:31:24 PM UTC 00:01:23        /home/lordvlad/tasks/work
&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; Tue 21 Apr 2015 06:32:47 PM UTC 00:00:04        /home/lordvlad/tasks/sleep
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;clock list
&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; 00:00:04        /home/lordvlad/tasks/sleep
&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; 00:01:23        /home/lordvlad/tasks/work
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/lordvlad/clock&quot;&gt;Source Code (Github)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/lordvlad&quot;&gt;lordvlad&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>is.sh</title>
      <link>https://bpkg.sh/pkg/issh</link>
      <guid>https://bpkg.sh/pkg/issh</guid>
      <pubDate>2015-04-14T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;&lt;strong&gt;is.sh&lt;/strong&gt; allows you to write conditions which can be read by average human being.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;var&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;123

&lt;span class=&quot;k&quot;&gt;if &lt;/span&gt;is equal &lt;span class=&quot;nv&quot;&gt;$var&lt;/span&gt; 123.0&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;then
    &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;it just works&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;fi

if &lt;/span&gt;is not a substring &lt;span class=&quot;nv&quot;&gt;$var&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;foobar&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;then
    &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;and it&apos;s easy to read&quot;&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;fi&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;available-conditions&quot;&gt;Available conditions&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is equal &amp;lt;valueA&amp;gt; &amp;lt;valueB&amp;gt;&lt;/code&gt; - checks if values are the same or if they are equal numbers&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is matching &amp;lt;value&amp;gt; &amp;lt;regexp&amp;gt;&lt;/code&gt; - checks if whole value matches to regular expression&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is substring &amp;lt;value&amp;gt; &amp;lt;string&amp;gt;&lt;/code&gt; - checks if first value is a part of second one&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is empty &amp;lt;value&amp;gt;&lt;/code&gt; - checks if value is empty&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is number &amp;lt;value&amp;gt;&lt;/code&gt; - checks if value is a number&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is gt &amp;lt;numberA&amp;gt; &amp;lt;numberB&amp;gt;&lt;/code&gt; - true if first number is greater than second one&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is lt &amp;lt;numberA&amp;gt; &amp;lt;numberB&amp;gt;&lt;/code&gt; - true if first number is less than second one&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is ge &amp;lt;numberA&amp;gt; &amp;lt;numberB&amp;gt;&lt;/code&gt; - true if first number is greater than or equal to second one&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is le &amp;lt;numberA&amp;gt; &amp;lt;numberB&amp;gt;&lt;/code&gt; - true if first number is less than or equal to second one&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is file &amp;lt;path&amp;gt;&lt;/code&gt; - checks if it is a file&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is dir &amp;lt;path&amp;gt;&lt;/code&gt; - checks if it is a directory&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is link &amp;lt;path&amp;gt;&lt;/code&gt; - checks if it is a symbolic link&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is existent &amp;lt;path&amp;gt;&lt;/code&gt; - checks if there is a file or directory or anything else with this path&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is readable &amp;lt;path&amp;gt;&lt;/code&gt; - checks if file is readable&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is writeable &amp;lt;path&amp;gt;&lt;/code&gt; - checks if file is writeable&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is executable &amp;lt;path&amp;gt;&lt;/code&gt; - checks if file is executable&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is older &amp;lt;pathA&amp;gt; &amp;lt;pathB&amp;gt;&lt;/code&gt; - checks if first file is older than second one&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is newer &amp;lt;pathA&amp;gt; &amp;lt;pathB&amp;gt;&lt;/code&gt; - checks if first file is newer than second one&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is true &amp;lt;value&amp;gt;&lt;/code&gt; - true if value is equal “true” or “0”&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is false &amp;lt;value&amp;gt;&lt;/code&gt; - oposite of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;is true &amp;lt;value&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;negations&quot;&gt;Negations&lt;/h3&gt;

&lt;p&gt;You can negate any condition by putting &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;not&lt;/code&gt; in front of it:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;is a number &lt;span class=&quot;s2&quot;&gt;&quot;abc&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;number&quot;&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;is not a number &lt;span class=&quot;s2&quot;&gt;&quot;abc&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;not a number&quot;&lt;/span&gt;
not a number&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/qzb/is.sh&quot;&gt;Source Code (GitHub)&lt;/a&gt;;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/qzb&quot;&gt;Józef Sokołowski&lt;/a&gt;;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>node-reinstall</title>
      <link>https://bpkg.sh/pkg/node-reinstall</link>
      <guid>https://bpkg.sh/pkg/node-reinstall</guid>
      <pubDate>2015-03-04T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This package re-installs Node.js and NPM using NVM or Nave.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;node-reinstall&lt;/code&gt; can typically be run as-is, though you can specify several arguments to customize to your liking.&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;node-reinstall &lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;
node-reinstall
        completely re-installs Node &amp;amp; NPM and any global node modules.
        It re-installs Node using NVM or Nave

Usage:  node-reinstall &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;--nave&lt;/span&gt;|--nvm|--nvm-latest] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;|--help] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt;|--version] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;NODE_VERSION]

Commands:

        node-reinstall                  re-install node and npm using nvm
        node-reinstall &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;|--help]      show &lt;span class=&quot;nb&quot;&gt;help
        &lt;/span&gt;node-reinstall &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt;|--version]   show the node-reinstall version number
        node-reinstall &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-f&lt;/span&gt;|--force]     installs defaults without user confirmation
        node-reinstall &lt;span class=&quot;nt&quot;&gt;--nave&lt;/span&gt;           re-install using nave
        node-reinstall &lt;span class=&quot;nt&quot;&gt;--nvm&lt;/span&gt;            re-install using stable nvm - the default
        node-reinstall &lt;span class=&quot;nt&quot;&gt;--nvm-latest&lt;/span&gt;     re-install using latest nvm - creationix/nvm:master
        node-reinstall 0.12             specify a default node version - currently

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/brock/node-reinstall&quot;&gt;Source Code (Github)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/brock&quot;&gt;Brock Angelo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>gdub</title>
      <link>https://bpkg.sh/pkg/gdub</link>
      <guid>https://bpkg.sh/pkg/gdub</guid>
      <pubDate>2014-10-20T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;gdub (&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gw&lt;/code&gt; on the command line) is a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gradle&lt;/code&gt; / &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gradlew&lt;/code&gt; wrapper. Not to be
confused with the &lt;a href=&quot;http://www.gradle.org&quot;&gt;Gradle&lt;/a&gt; &lt;a href=&quot;http://www.gradle.org/docs/current/userguide/gradle_wrapper.html&quot;&gt;Wrapper&lt;/a&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gw&lt;/code&gt; uses the Gradle Wrapper on
projects where one is configured, and falls back to use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gradle&lt;/code&gt; from the
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;$PATH&lt;/code&gt; if a wrapper is not available. Also, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gw&lt;/code&gt; is 66% shorter to type than
&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gradle&lt;/code&gt; and 78% shorter to type than &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;./gradlew&lt;/code&gt;. That’s science.&lt;/p&gt;

&lt;p&gt;Anywhere you happen to be on your project, you can run the Gradle tasks of your
project by typing &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gw &amp;lt;tasks&amp;gt;&lt;/code&gt;, regardless of whether you use the Gradle Wrapper
in your project or not.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gw&lt;/code&gt; works by looking upwards from your current directory and will run the
nearest &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;build.Gradle&lt;/code&gt; file with the nearest &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gradlew&lt;/code&gt;. If a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gradlew&lt;/code&gt; cannot be
found, it will run the nearest &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;build.Gradle&lt;/code&gt; with your system’s Gradle. This is
probably always what you want to do if you are running Gradle from within a
project tree that uses the Gradle build system.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://gdub.rocks&quot;&gt;Project Page&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/dougborg/gdub&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;http://dougborg.org&quot;&gt;Doug Borg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>bashsh</title>
      <link>https://bpkg.sh/pkg/bashsh</link>
      <guid>https://bpkg.sh/pkg/bashsh</guid>
      <pubDate>2014-10-01T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;Improves your Bash scripts.&lt;/p&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;The following shebang&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/env bashsh-0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;gives you:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;set -e&lt;/code&gt; by default:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;hello &lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;false&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;world
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;will only print &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;hello&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CMD&lt;/code&gt; for showing executed commands in bold on stderr:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;CMD git status
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CMD_STR&lt;/code&gt; prints the string in bold on stderr and runs it with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;eval&lt;/code&gt;:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;CMD_STR &lt;span class=&quot;s1&quot;&gt;&apos;gitk --all &amp;amp;&apos;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MSG&lt;/code&gt; prints a remark in bold on stderr, formatted as a comment:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;MSG hello world
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;prints &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;# hello world&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;READ_P&lt;/code&gt; works like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;read -p&lt;/code&gt; but prints the first parameter using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MSG&lt;/code&gt;:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;READ_P &lt;span class=&quot;s1&quot;&gt;&apos;What is your name? &apos;&lt;/span&gt; your_name
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;QUOTED&lt;/code&gt; prints the given arguments in a way that is safe to pass to commands:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;My arguments are: &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;$(&lt;/span&gt;QUOTED &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$@&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can find a few examples in the examples directory.&lt;/p&gt;

&lt;h2 id=&quot;caveats--known-limitations&quot;&gt;Caveats / known limitations&lt;/h2&gt;

&lt;p&gt;You &lt;strong&gt;cannot&lt;/strong&gt; just&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;bashsh
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;to install bashsh locally (it is forced to install globally anyway), because if you use&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;#!/usr/bin/env ./relative/path/to/bashsh-0&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;the path of the command supplied to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;env&lt;/code&gt; will be interpreted as relative to the &lt;em&gt;working directory&lt;/em&gt;, not to the &lt;em&gt;script’s directory&lt;/em&gt;.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/mcrio/bashsh&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/felixrabe&quot;&gt;Felix Rabe&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>markdown</title>
      <link>https://bpkg.sh/pkg/markdown</link>
      <guid>https://bpkg.sh/pkg/markdown</guid>
      <pubDate>2014-06-17T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;markdown.bash is a Markdown interpreter using only traditional Unix tools. Specifically, it only uses &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bash&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sed&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;grep&lt;/code&gt;, and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cut&lt;/code&gt; (in one small instance).&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;markdown.bash&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;Use it just like any other Unix program - by either passing files to it or piping input into it.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# Converts `test.md` to HTML and sends to&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# standard output&lt;/span&gt;
markdown.sh samples/test.md

&lt;span class=&quot;c&quot;&gt;# Concatenates all the files and converts&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# them all from Markdown to HTML into `output.html`&lt;/span&gt;
markdown.sh file1 file2 file3 &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; output.html

&lt;span class=&quot;c&quot;&gt;# Also accepts Markdown piped into it&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;# heading1&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;paragraph&quot;&lt;/span&gt; | markdown.sh&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/markdown.bash&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/chadbraunduin&quot;&gt;Chad Braun-Duin&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Packager: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>wifi</title>
      <link>https://bpkg.sh/pkg/wifi</link>
      <guid>https://bpkg.sh/pkg/wifi</guid>
      <pubDate>2014-06-16T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This package provides convenient commands to manage your wifi networks.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt; wifi&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;Some commands require root privileges to access wifi info.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# List currently available wifi networks.&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;wifi.sh scan

&lt;span class=&quot;c&quot;&gt;# Connect to best network&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;wifi.sh connect

&lt;span class=&quot;c&quot;&gt;# Add a network to file.&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;wifi.sh add &amp;lt;SSID&amp;gt; &amp;lt;passphrase&amp;gt;

&lt;span class=&quot;c&quot;&gt;# Show current interface&lt;/span&gt;
wifi.sh interface

&lt;span class=&quot;c&quot;&gt;# this defaults to the LAST interface&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# it finds, for me, this is the most recent USB wifi&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# dongle I plugged in.&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Set interface manually like this:&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;INTERFACE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;wlan0 wifi.sh connect

&lt;span class=&quot;c&quot;&gt;# Set wpa_supplicant.conf location&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;WPA_CONF&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/etc/wpa_supplicant.conf wifi.sh connect&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/wifi&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/dominictarr&quot;&gt;Dominic Tarr&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Packager: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>umq</title>
      <link>https://bpkg.sh/pkg/umq</link>
      <guid>https://bpkg.sh/pkg/umq</guid>
      <pubDate>2014-06-16T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This package makes easy to handle TCP requests on the command-line.&lt;/p&gt;

&lt;p&gt;You can both send and receive messages with the portability only Bash can offer.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;umq &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;umq&lt;/code&gt; is quite a toolbox - there are several ways you can use it.&lt;/p&gt;

&lt;p&gt;Let’s take a &lt;strong&gt;server&lt;/strong&gt;, for example.
The following will create a server and listen on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;localhost&lt;/code&gt; port &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;3000&lt;/code&gt; for all incoming TCP messages.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;umq recv 3000 | &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;while &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;read&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-r&lt;/span&gt; line&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;got: &apos;&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&apos;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;done&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;You can &lt;strong&gt;connect&lt;/strong&gt; and read from the server by using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;umq&lt;/code&gt; itself:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;umq recv localhost 3000&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Pushing&lt;/strong&gt; data is just as easy:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;ping&quot;&lt;/span&gt; | umq push localhost 3000

&lt;span class=&quot;c&quot;&gt;# It should yield the following response&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# on the umq server:&lt;/span&gt;
got: &lt;span class=&quot;s1&quot;&gt;&apos;ping&apos;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;umqs-api&quot;&gt;umq’s API&lt;/h3&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;usage: umq &amp;lt;&lt;span class=&quot;nb&quot;&gt;command&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-hV&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;

examples:
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;hello world&quot;&lt;/span&gt; | umq push localhost 3000
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;umq recv localhost 3000 | &lt;span class=&quot;k&quot;&gt;while &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;read &lt;/span&gt;line&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;do&lt;/span&gt; &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;msg: &lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;$line&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;done

&lt;/span&gt;commands:
  push &amp;lt;host&amp;gt; &amp;lt;port&amp;gt;      push message to host with port
  recv &amp;lt;host&amp;gt; &amp;lt;port&amp;gt;      receive message on host with port
  &lt;span class=&quot;nb&quot;&gt;help&lt;/span&gt; &amp;lt;&lt;span class=&quot;nb&quot;&gt;command&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt;          see more information on a &lt;span class=&quot;nb&quot;&gt;command

&lt;/span&gt;options:
  &lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--help&lt;/span&gt;              display this message
  &lt;span class=&quot;nt&quot;&gt;-V&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--version&lt;/span&gt;           output version&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;real-life-examples&quot;&gt;Real-life Examples&lt;/h3&gt;

&lt;h3 id=&quot;cpu-histogram&quot;&gt;CPU Histogram&lt;/h3&gt;

&lt;p&gt;Using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;umq&lt;/code&gt; with the &lt;a href=&quot;https://github.com/visionmedia/histo&quot;&gt;histo&lt;/a&gt; viewer allows for data to be streamed via TCP to a histogram chart.
See &lt;a href=&quot;https://gist.github.com/jwerle/8076956&quot;&gt;cpu-stream&lt;/a&gt; for a preview.&lt;/p&gt;

&lt;h3 id=&quot;wall-server&quot;&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wall&lt;/code&gt; server&lt;/h3&gt;

&lt;p&gt;Streaming messages to all users via the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;wall&lt;/code&gt; program. See &lt;a href=&quot;https://github.com/jwerle/umq/blob/master/examples/wall-server.sh&quot;&gt;wall-server&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/umq&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>rtail</title>
      <link>https://bpkg.sh/pkg/rtail</link>
      <guid>https://bpkg.sh/pkg/rtail</guid>
      <pubDate>2014-06-16T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;Sometimes you just want to quickly access the final contents of a file on a remote SSH host.
Well, now you can do it.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt; rtail&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# The following will open `/var/log/host.log` on&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# on `somehost.com` as if it was on our machine&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;rtail user@somehost.com &lt;span class=&quot;nt&quot;&gt;-f&lt;/span&gt; /var/log/host.log

&lt;span class=&quot;c&quot;&gt;# All options&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;rtail &lt;span class=&quot;nt&quot;&gt;--help&lt;/span&gt;
rtail &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-hvV&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;ssh_options] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;user@] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;tail_options] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;files...]
&lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--verbose&lt;/span&gt;   &lt;span class=&quot;nb&quot;&gt;enable &lt;/span&gt;verbose output
&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--help&lt;/span&gt;      display this message
&lt;span class=&quot;nt&quot;&gt;-V&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--version&lt;/span&gt;   output version

&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;ssh_options]   ssh options
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;tail_options]  &lt;span class=&quot;nb&quot;&gt;tail &lt;/span&gt;options&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/rtail&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://bpkg.sh/pkg/recho&quot;&gt;“Sister project” &lt;em&gt;recho&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>recho</title>
      <link>https://bpkg.sh/pkg/recho</link>
      <guid>https://bpkg.sh/pkg/recho</guid>
      <pubDate>2014-06-16T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This package makes easy to send quick strings across SSH hosts.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt; recho&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# The following will create a file `/var/log/dump`&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# on `somehost.com` under `user` with the content `beep`&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;recho user@somehost.com beep &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; /var/log/dump

&lt;span class=&quot;c&quot;&gt;# All options&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;recho &lt;span class=&quot;nt&quot;&gt;--help&lt;/span&gt;
recho &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-hvV&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;ssh_options] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;user@] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;echo_options] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;string]
&lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--verbose&lt;/span&gt;   &lt;span class=&quot;nb&quot;&gt;enable &lt;/span&gt;verbose output
&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--help&lt;/span&gt;      display this message
&lt;span class=&quot;nt&quot;&gt;-V&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--version&lt;/span&gt;   output version

&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;ssh_options]   ssh options
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;echo_options]  &lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;options&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/recho&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://bpkg.sh/pkg/rtail&quot;&gt;“Sister project” &lt;em&gt;rtail&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>osx-screencast</title>
      <link>https://bpkg.sh/pkg/osx-screencast</link>
      <guid>https://bpkg.sh/pkg/osx-screencast</guid>
      <pubDate>2014-06-16T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;Easily create a screencast on OS X in a few commands.
Inspired from &lt;a href=&quot;https://gist.github.com/dergachev/4627207&quot;&gt;this gist&lt;/a&gt;.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt; osx-screencast&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;For an animated example visit the GitHub page on the links below.&lt;/p&gt;

&lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;osx-screencast-record&lt;/code&gt; command basically just opens up an application with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;open -a&lt;/code&gt; defaulting to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Quicktime Player&lt;/code&gt; as the application that gets opened. The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-a&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--application&lt;/code&gt; can be used to override this values.&lt;/p&gt;

&lt;h3 id=&quot;record&quot;&gt;Record&lt;/h3&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;osx-screencast record
Opening &lt;span class=&quot;sb&quot;&gt;`&lt;/span&gt;Quicktime Player&lt;span class=&quot;s1&quot;&gt;&apos;...&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Record your screen in the application you’ve chosen and save the file.
You will need to know the path to the file you’ve saved because it will be the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;source&lt;/code&gt; of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;osx-screencast-export&lt;/code&gt; command.&lt;/p&gt;

&lt;h3 id=&quot;export&quot;&gt;Export&lt;/h3&gt;

&lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;osx-screencast-export&lt;/code&gt; command wraps the use of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ffmpeg&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;convert&lt;/code&gt; with default arguments. You can define the output fps for a video with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-f&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--fps&lt;/code&gt; option. The default is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;10&lt;/code&gt;. The delay between each frame in the output can be defined in milliseconds with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-d&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--delay&lt;/code&gt; option. The default is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;5&lt;/code&gt;. The output scale can be defined with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-s&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;--scale&lt;/code&gt; option. The default is &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;320:-1&lt;/code&gt;. See &lt;a href=&quot;https://trac.ffmpeg.org/wiki/Scaling%20(resizing)%20with%20ffmpeg&quot;&gt;this link&lt;/a&gt; for more information on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ffmpeg&lt;/code&gt; scaling.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;osx-screencast &lt;span class=&quot;nb&quot;&gt;export &lt;/span&gt;screencast.mov screencast.gif &lt;span class=&quot;nt&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;&apos;720:-1&apos;&lt;/span&gt;
Transcoding frames...
Converting and writing to destination...
Ok! &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;screencast.mov &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; screencast.gif&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;api&quot;&gt;api&lt;/h3&gt;

&lt;h4 id=&quot;osx-screencast&quot;&gt;osx-screencast&lt;/h4&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;usage: osx-screenshot &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-hV&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
or: osx-screenshot record &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-a&lt;/span&gt; application]
or: osx-screenshot &lt;span class=&quot;nb&quot;&gt;export&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-f&lt;/span&gt; fps] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-s&lt;/span&gt; scale] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; delay] &amp;lt;src&amp;gt; &amp;lt;dest&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h4 id=&quot;record-1&quot;&gt;record&lt;/h4&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;usage: osx-screenshot-record &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
or: osx-screenshot-record &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-a&lt;/span&gt; application]

options:
&lt;span class=&quot;nt&quot;&gt;-a&lt;/span&gt;,--application     Set screen recording application  &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;Default: &lt;span class=&quot;s1&quot;&gt;&apos;Quicktime Player&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;,--help            Show this message&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h4 id=&quot;export-1&quot;&gt;export&lt;/h4&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;usage: osx-screenshot-export &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;
or: osx-screenshot-export &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-f&lt;/span&gt; fps] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-s&lt;/span&gt; scale] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; delay] &amp;lt;src&amp;gt; &amp;lt;dest&amp;gt;

options:
&lt;span class=&quot;nt&quot;&gt;-f&lt;/span&gt;,--fps        Frames per second &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;Default: 10&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;-s&lt;/span&gt;,--scale      Output scaling &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;Default: 320:-1&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt;,--delay      Frame delay
&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;,--help       Show this message&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/osx-screencast&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>nman</title>
      <link>https://bpkg.sh/pkg/nman</link>
      <guid>https://bpkg.sh/pkg/nman</guid>
      <pubDate>2014-06-16T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This package adds the convenience of man pages to &lt;a href=&quot;http://nodejs.org/api/&quot;&gt;the node.js API&lt;/a&gt;.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;nman &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;Just use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;nman&lt;/code&gt; along with the node API you’d like to view.
Some examples:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# For the File System module&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;nman fs

&lt;span class=&quot;c&quot;&gt;# ...and the console&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;nman console

&lt;span class=&quot;c&quot;&gt;# The name is the same as you&apos;d `require` it&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# For the &quot;Assertion Testing&quot;, just like you&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# would `require(assert)`, do...&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;nman assert&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;em&gt;NOTE:&lt;/em&gt; It requires &lt;em&gt;an active internet connection&lt;/em&gt;. It does not come with the docs nor stores offline as they are requested.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/nman&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>json.sh</title>
      <link>https://bpkg.sh/pkg/jsonsh</link>
      <guid>https://bpkg.sh/pkg/jsonsh</guid>
      <pubDate>2014-06-16T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;yo, so it’s a json parser written in bash&lt;/p&gt;

&lt;p&gt;Pipe json to it, and it traverses the json objects and prints out the path to the current object (as a JSON array) and then the object, without whitespace.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt; json.sh&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;json_parse &amp;lt; package.json
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;name&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;s2&quot;&gt;&quot;JSON.sh&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;version&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;s2&quot;&gt;&quot;0.0.0&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;description&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;homepage&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;s2&quot;&gt;&quot;http://github.com/dominictarr/JSON.sh&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;repository&quot;&lt;/span&gt;,&lt;span class=&quot;s2&quot;&gt;&quot;type&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;s2&quot;&gt;&quot;git&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;repository&quot;&lt;/span&gt;,&lt;span class=&quot;s2&quot;&gt;&quot;url&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;s2&quot;&gt;&quot;https://github.com/dominictarr/JSON.sh.git&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;repository&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;type&quot;&lt;/span&gt;:&lt;span class=&quot;s2&quot;&gt;&quot;git&quot;&lt;/span&gt;,&lt;span class=&quot;s2&quot;&gt;&quot;url&quot;&lt;/span&gt;:&lt;span class=&quot;s2&quot;&gt;&quot;https://github.com/dominictarr/JSON.sh.git&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;bin&quot;&lt;/span&gt;,&lt;span class=&quot;s2&quot;&gt;&quot;json_parse&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;s2&quot;&gt;&quot;./JSON.sh&quot;&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;bin&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;json_parse&quot;&lt;/span&gt;:&lt;span class=&quot;s2&quot;&gt;&quot;./JSON.sh&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;dependencies&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt;  &lt;span class=&quot;o&quot;&gt;{}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#  ... etc&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;# Here&apos;s a more complex example:&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#... try it and see&lt;/span&gt;
curl registry.npmjs.org/express | ./JSON.sh | egrep &lt;span class=&quot;s1&quot;&gt;&apos;\[&quot;versions&quot;,&quot;[^&quot;]*&quot;\]&apos;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;options&quot;&gt;Options&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;-b
Brief output. Combines ‘Leaf only’ and ‘Prune empty’ options.&lt;/li&gt;
  &lt;li&gt;-l
Leaf only. Only show leaf nodes, which stops data duplication.&lt;/li&gt;
  &lt;li&gt;-p
Prune empty. Exclude fields with empty values.&lt;/li&gt;
  &lt;li&gt;-h
Show help text.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/JSON.sh&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/dominictarr&quot;&gt;Dominic Tarr&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Packager: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>dots</title>
      <link>https://bpkg.sh/pkg/dots</link>
      <guid>https://bpkg.sh/pkg/dots</guid>
      <pubDate>2014-06-16T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;&lt;img src=&quot;https://i.cloudup.com/RCpB-ASfme.png&quot; alt=&quot;image&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The goal of &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dots&lt;/code&gt; is to automate the process of getting your operating system from a stock build to a fully functional machine.&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dots&lt;/code&gt; should be the first thing you download and run to get your computer set up. Dots differs from dotfiles, beacause dots installs and configures applications as well as builds your profile.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;dots&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;supported-operating-systems&quot;&gt;Supported Operating systems:&lt;/h3&gt;

&lt;h4 id=&quot;mac-os-x&quot;&gt;Mac OS X&lt;/h4&gt;

&lt;p&gt;The OSX build does the following:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;install homebrew&lt;/li&gt;
  &lt;li&gt;installs binaries (graphicsmagick, python, sshfs, ack, git, etc.)&lt;/li&gt;
  &lt;li&gt;sets OSX defaults&lt;/li&gt;
  &lt;li&gt;installs applications via &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;homebrew-cask&lt;/code&gt; (one-password, sublime-text, virtualbox, nv-alt, iterm2, etc.)&lt;/li&gt;
  &lt;li&gt;sets up the ~/.bash_profile&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;ubuntu-server&quot;&gt;Ubuntu (server)&lt;/h4&gt;

&lt;p&gt;The Ubuntu build does the following:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;dash =&amp;gt; bash&lt;/li&gt;
  &lt;li&gt;creates a user&lt;/li&gt;
  &lt;li&gt;installs git and curl&lt;/li&gt;
  &lt;li&gt;sets up the ssh keys&lt;/li&gt;
  &lt;li&gt;configures fail2ban&lt;/li&gt;
  &lt;li&gt;sets up the firewall&lt;/li&gt;
  &lt;li&gt;installs docker&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;Usage: dots &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;options] &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;command&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;args ...]

Options:

&lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--version&lt;/span&gt; Get the version
&lt;span class=&quot;nt&quot;&gt;-h&lt;/span&gt;, &lt;span class=&quot;nt&quot;&gt;--help&lt;/span&gt; This message

Commands:

reload        Reload the dotfiles
boot &amp;lt;os&amp;gt;     Bootstrap the given operating system
update        Update dots&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/dots&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/MatthewMueller&quot;&gt;Matthew Mueller&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Packager: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Logo by &lt;a href=&quot;http://www.thenounproject.com/pchuchla/&quot;&gt;Piotrek Chuchla&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>dbu</title>
      <link>https://bpkg.sh/pkg/dbu</link>
      <guid>https://bpkg.sh/pkg/dbu</guid>
      <pubDate>2014-06-16T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;&lt;img src=&quot;http://www.andreafabrizi.it/images/dropbox_logo.png&quot; alt=&quot;logo&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dbu&lt;/code&gt; (Dropbox Uploader) is a BASH script which can be used to upload, download, list or delete files from Dropbox, an online file sharing, synchronization and backup service.&lt;/p&gt;

&lt;p&gt;It’s written in BASH scripting language and only needs &lt;strong&gt;cURL&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why use this script?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Portable:&lt;/strong&gt; It’s written in BASH scripting and only needs &lt;em&gt;cURL&lt;/em&gt; (curl is a tool to transfer data from or to a server, available for all operating systems and installed by default in many linux distributions).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Secure:&lt;/strong&gt; It’s not required to provide your username/password to this script, because it uses the official Dropbox API for the authentication process.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Please refer &lt;a href=&quot;https://github.com/andreafabrizi/Dropbox-Uploader/wiki&quot;&gt;to the Wiki&lt;/a&gt; for tips and additional information about this project. The Wiki is also the place where you can share your scripts and examples related to Dropbox Uploader.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt; dbu&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;The &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dbu&lt;/code&gt; package comes with two executables - &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dropbox_uploader.sh&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dropShell.sh&lt;/code&gt;.&lt;/p&gt;

&lt;h3 id=&quot;dropbox-uploader&quot;&gt;Dropbox Uploader&lt;/h3&gt;

&lt;p&gt;This script receives commands, pretty much like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git&lt;/code&gt;. The syntax is quite simple:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;dropbox_uploader.sh COMMAND [PARAMETERS]...

[%%]: Optional param
&amp;lt;%%&amp;gt;: Required param
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;available-commands&quot;&gt;Available commands&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;upload&lt;/strong&gt; &amp;lt;LOCAL_FILE/DIR …&amp;gt; &amp;lt;REMOTE_FILE/DIR&amp;gt;
Upload a local file or directory to a remote Dropbox folder.
If the file is bigger than 150Mb the file is uploaded using small chunks (default 4Mb);
in this case a . (dot) is printed for every chunk successfully uploaded and a * (star) if an error occurs (the upload is retried for a maximum of three times).
Only if the file is smaller than 150Mb, the standard upload API is used, and if the -p option is used
the default curl progress bar is displayed during the upload process.
The local file/dir parameter supports wildcards expansion.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;download&lt;/strong&gt; &amp;lt;REMOTE_FILE/DIR&amp;gt; [LOCAL_FILE/DIR]
Download file or directory from Dropbox to a local folder&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;delete&lt;/strong&gt; &amp;lt;REMOTE_FILE/DIR&amp;gt;
Remove a remote file or directory from Dropbox&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;move&lt;/strong&gt; &amp;lt;REMOTE_FILE/DIR&amp;gt; &amp;lt;REMOTE_FILE/DIR&amp;gt;
Move or rename a remote file or directory&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;copy&lt;/strong&gt; &amp;lt;REMOTE_FILE/DIR&amp;gt; &amp;lt;REMOTE_FILE/DIR&amp;gt;
Copy a remote file or directory&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;mkdir&lt;/strong&gt; &lt;REMOTE_DIR&gt;
Create a remote directory on DropBox&lt;/REMOTE_DIR&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;list&lt;/strong&gt; [REMOTE_DIR]
List the contents of the remote Dropbox folder&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;share&lt;/strong&gt; &lt;REMOTE_FILE&gt;
Get a public share link for the specified file or directory&lt;/REMOTE_FILE&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;info&lt;/strong&gt;
Print some info about your Dropbox account&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;unlink&lt;/strong&gt;
Unlink the script from your Dropbox account&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;optional-parameters&quot;&gt;Optional parameters&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;**-f &lt;FILENAME&gt;**
Load the configuration file from a specific file&lt;/FILENAME&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;-s&lt;/strong&gt;
Skip already existing files when download/upload. Default: Overwrite&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;-d&lt;/strong&gt;
Enable DEBUG mode&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;-q&lt;/strong&gt;
Quiet mode. Don’t show progress meter or messages&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;-p&lt;/strong&gt;
Show cURL progress meter&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;-k&lt;/strong&gt;
Doesn’t check for SSL certificates (insecure)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;examples&quot;&gt;Examples&lt;/h3&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;dropbox_uploader.sh upload /etc/passwd /myfiles/passwd.old
dropbox_uploader.sh upload &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt;.zip /
dropbox_uploader.sh download /backup.zip
dropbox_uploader.sh delete /backup.zip
dropbox_uploader.sh &lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; /myDir/
dropbox_uploader.sh upload &lt;span class=&quot;s2&quot;&gt;&quot;My File.txt&quot;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;My File 2.txt&quot;&lt;/span&gt;
dropbox_uploader.sh share &lt;span class=&quot;s2&quot;&gt;&quot;My File.txt&quot;&lt;/span&gt;
dropbox_uploader.sh list&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;dropshell&quot;&gt;DropShell&lt;/h2&gt;

&lt;p&gt;DropShell is an interactive DropBox shell, based on DropBox Uploader:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# Launching the DropShell...&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;dropShell.sh
DropShell v0.2
The Intractive Dropbox SHELL
Andrea Fabrizi - andrea.fabrizi@gmail.com

Type &lt;span class=&quot;nb&quot;&gt;help &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;the list of the available commands.

andrea@Dropbox:/&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;ls&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;D] 0       Apps
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;D] 0       Camera Uploads
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;D] 0       Public
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;D] 0       scripts
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;D] 0       Security
&lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;F] 105843  notes.txt
andrea@DropBox:/ServerBackup&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;get notes.txt&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://www.andreafabrizi.it/2016/01/01/Dropbox-Uploader/&quot;&gt;Homepage&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/dbu&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://www.andreafabrizi.it/&quot;&gt;Andrea Fabrizi&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Packager: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>clip</title>
      <link>https://bpkg.sh/pkg/clip</link>
      <guid>https://bpkg.sh/pkg/clip</guid>
      <pubDate>2014-06-16T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;Really simple clipboard manager in Bash.
You can access it via command-line or inside shell scripts.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt; clip&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Store&lt;/strong&gt;: &lt;em&gt;only stores single value:&lt;/em&gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;foo | clip&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Read&lt;/strong&gt;: &lt;em&gt;read stored value:&lt;/em&gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;clip&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;em&gt;NOTE:&lt;/em&gt; It does not interface with the &lt;em&gt;actual&lt;/em&gt; system clipboard. It has it’s own.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/clip&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>github</title>
      <link>https://bpkg.sh/pkg/github</link>
      <guid>https://bpkg.sh/pkg/github</guid>
      <pubDate>2014-06-15T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This package allows you to perform GitHub actions on your shell scripts.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;github&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;This is how you’d use it via command-line. Note that to use some commands you need to authenticate first.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# Authentication&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;github auth jwerle
Enter host password &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;user &lt;span class=&quot;s1&quot;&gt;&apos;jwerle&apos;&lt;/span&gt;:
  info: Storing access token

&lt;span class=&quot;c&quot;&gt;# Read token:&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;github token get
cf02301afdsfsbff6b06fdsfsbad2c225fdsfdsf

&lt;span class=&quot;c&quot;&gt;# Request feeds with authenticated user:&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;github request GET /feeds
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;s2&quot;&gt;&quot;timeline_url&quot;&lt;/span&gt;: &lt;span class=&quot;s2&quot;&gt;&quot;https://github.com/timeline&quot;&lt;/span&gt;,
  &lt;span class=&quot;s2&quot;&gt;&quot;user_url&quot;&lt;/span&gt;: &lt;span class=&quot;s2&quot;&gt;&quot;https://github.com/{user}&quot;&lt;/span&gt;,
  &lt;span class=&quot;s2&quot;&gt;&quot;current_user_public_url&quot;&lt;/span&gt;: &lt;span class=&quot;s2&quot;&gt;&quot;https://github.com/jwerle&quot;&lt;/span&gt;,
  &lt;span class=&quot;s2&quot;&gt;&quot;_links&quot;&lt;/span&gt;: &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;s2&quot;&gt;&quot;timeline&quot;&lt;/span&gt;: &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;s2&quot;&gt;&quot;href&quot;&lt;/span&gt;: &lt;span class=&quot;s2&quot;&gt;&quot;https://github.com/timeline&quot;&lt;/span&gt;,
      &lt;span class=&quot;s2&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;s2&quot;&gt;&quot;application/atom+xml&quot;&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;,
    &lt;span class=&quot;s2&quot;&gt;&quot;user&quot;&lt;/span&gt;: &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;s2&quot;&gt;&quot;href&quot;&lt;/span&gt;: &lt;span class=&quot;s2&quot;&gt;&quot;https://github.com/{user}&quot;&lt;/span&gt;,
      &lt;span class=&quot;s2&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;s2&quot;&gt;&quot;application/atom+xml&quot;&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;,
    &lt;span class=&quot;s2&quot;&gt;&quot;current_user_public&quot;&lt;/span&gt;: &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
      &lt;span class=&quot;s2&quot;&gt;&quot;href&quot;&lt;/span&gt;: &lt;span class=&quot;s2&quot;&gt;&quot;https://github.com/jwerle&quot;&lt;/span&gt;,
      &lt;span class=&quot;s2&quot;&gt;&quot;type&quot;&lt;/span&gt;: &lt;span class=&quot;s2&quot;&gt;&quot;application/atom+xml&quot;&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
  &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;To see an example of a shell script and more info, go to the GitHub repository below.&lt;/p&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/github&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
    <item>
      <title>term</title>
      <link>https://bpkg.sh/pkg/term</link>
      <guid>https://bpkg.sh/pkg/term</guid>
      <pubDate>2014-06-01T00:00:00+00:00</pubDate>
      <description>&lt;p&gt;This package allows you to manipulate colors, cursor position and make animations on the terminal.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;bpkg &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-g&lt;/span&gt; term&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;usage&quot;&gt;Usage&lt;/h2&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;term&lt;/code&gt; works by accepting commands, just like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git&lt;/code&gt;.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# It&apos;s supposed to output green-ish underlined text&lt;/span&gt;
&lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; term color green&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; term underline&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;echo &lt;/span&gt;heyaaaa&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
heyaaaa&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;terms-api&quot;&gt;term’s API&lt;/h3&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;usage: term &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;-hV&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;]&lt;/span&gt; &amp;lt;&lt;span class=&quot;nb&quot;&gt;command&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;args]

commands:

write &amp;lt;code&amp;gt;           Write a terminal escape code
cursor &amp;lt;op&amp;gt;            Perform operation to cursor
color &amp;lt;color&amp;gt;          Set terminal color by name &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;See colors&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
background &amp;lt;color&amp;gt;     Set terminal background by name &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;See colors&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
move &amp;lt;x&amp;gt; &amp;lt;y&amp;gt;           Move to &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;x, y&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
transition &amp;lt;x&amp;gt; &amp;lt;y&amp;gt;     Transition to &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;x, y&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
clear &amp;lt;section&amp;gt;        Clear terminal section by name &lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;See sections&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
reset                  Reset the terminal escape code sequence
bright                 Write bright escape code
dim                    Write dim escape code
underline              Write underline escape code
blink                  Write blink escape code
reverse                Write reverse escape code
hidden                 Write hidden escape code

colors:

black                  &lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;term color black
red                    &lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;term color red
green                  &lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;term color green
yellow                 &lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;term color yellow
blue                   &lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;term color blue
magenta                &lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;term color magenta
cyan                   &lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;term color cyan
white                  &lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;term color white
gray|grey              &lt;span class=&quot;nv&quot;&gt;$ &lt;/span&gt;term color gray

sections:

start                  Start of line
end                    End of line
up                     Upper section
down                   Lower section
line                   Current line
screen                 Entire screen&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;links&quot;&gt;Links&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://github.com/bpkg/term&quot;&gt;Source Code (GitHub)&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Author: &lt;a href=&quot;https://github.com/jwerle&quot;&gt;Joseph Werle&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    
  </channel>
</rss>
