2019-01-02 01:55:28 +00:00
# burrow ![status](https://travis-ci.com/jamestomasino/burrow.svg?branch=master) ![license](https://img.shields.io/badge/license-GPL3-blue.svg?style=flat-square)
2018-01-20 05:58:11 +00:00
2018-01-20 21:36:24 +00:00
**burrow** is a helper for building and managing a gopher hole.
2018-01-20 05:58:11 +00:00
## Installation
2018-01-20 20:26:33 +00:00
_Note: On systems without admin access the binary can be run directly from the
git repo, but will lack `man` support and command completion._
2018-01-20 05:58:11 +00:00
2018-03-04 02:23:51 +00:00
See the [Getting Started ](https://github.com/jamestomasino/burrow/wiki/Getting-Started ) guide.
2019-05-12 15:59:16 +00:00
### Install on Linux / MacOS
`sudo make install`
### Install on BSD systems
2019-05-13 12:04:06 +00:00
#### FreeBSD
2019-05-12 15:59:16 +00:00
- Installing bash-completion via either `pkg install bash-completion` or via the `shells/bash-completion` port.
- Installing the GNU version of make via either `pkg install gmake` or the `port devel/gmake` .
2019-05-13 12:06:41 +00:00
- Rather than using `sudo make install` , run `sudo gmake install` .
2019-05-12 15:59:16 +00:00
2019-05-13 12:04:06 +00:00
#### OpenBSD
2019-05-13 12:06:41 +00:00
- Install the GNU version of make via either `pkg_add gmake` or the port `devel/gmake` .
2019-05-13 12:11:19 +00:00
- There is no bash-completion package or port in OpenBSD. However the source code can be found at https://github.com/scop/bash-completion
2019-05-13 12:04:06 +00:00
- Burrow appears to install and run without the presence of bash-completion. Exercise caution.
- As root (or via `doas` ), run `gmake install` .
2018-01-20 05:58:11 +00:00
### Uninstall
2019-05-12 15:59:16 +00:00
`sudo make uninstall` # or gmake uninstall on BSD
2018-01-20 05:58:11 +00:00
## Usage
```bash
2018-01-20 20:26:33 +00:00
burrow phlog # create new phlog post
2018-09-25 01:35:36 +00:00
burrow gophermap # edit a gophermap
2018-04-01 02:41:10 +00:00
burrow rss # generate a RSS feed of phlog entries
2018-03-06 21:44:31 +00:00
burrow edit-config # open your config file for editing
2018-01-20 20:26:33 +00:00
burrow update-git # pull latest git repo for gopher dir, if exists
2018-01-20 05:58:11 +00:00
```
2018-03-06 21:44:31 +00:00
- `edit-config` will open your burrow configuration file for easy editing.
2018-03-04 01:59:58 +00:00
- `phlog` will prompt for the title of a new post, then open it in your default
2019-01-21 23:53:15 +00:00
`$EDITOR` .
2018-01-20 20:26:33 +00:00
2018-09-25 01:35:36 +00:00
- `gophermap` will open a gophermap file for editing. This will
2018-07-16 00:02:15 +00:00
remove any `type i` formatting and allow comments to be added in natural text.
You will still need to create links in the proper gophermap formatting.
2018-04-01 02:41:10 +00:00
- `rss` will automatically generate an RSS feed of your most recent phlog
entries and output it to the root of your gopher directory. This can be
automatically generated by using the config option `config_phlog_autorss` .
2018-03-04 01:59:58 +00:00
- `update-git` will silently attempt to update a git repository at the location
of your gopher hole. It is appropriate for use by a cron job.
2018-01-20 20:26:33 +00:00
2018-01-20 21:44:28 +00:00
_`man burrow` or `burrow -h` for more information._
2018-01-20 07:29:59 +00:00
2018-01-20 05:58:11 +00:00
## Config
2018-01-20 22:30:01 +00:00
The following locations are available for configuration:
2018-01-20 05:58:11 +00:00
2019-01-28 04:18:13 +00:00
1) `/etc/burrow/config`
2019-02-26 00:45:52 +00:00
2) `$XDG_CONFIG_HOME`
3) `$HOME/.config/burrow/config`
4) `$HOME/.config/burrow`
5) `$HOME/.burrow`
2018-01-20 05:58:11 +00:00
2018-01-20 20:26:33 +00:00
These files are processed in the order listed. Variables defined in multiple
locations will use the last assigned value.
The following options are available (defaults shown):
2018-01-20 05:58:11 +00:00
```bash
2018-02-24 01:50:54 +00:00
config_dir_gopher="$HOME/gopher" # local path to gopher site
2018-03-04 01:59:58 +00:00
config_gopher_server="sdf.org" # server of gopher host
config_gopher_port="70" # port of gopher host
config_gopher_root="/users/username/" # path on gopher host to gopher site
2018-02-24 01:50:54 +00:00
config_dir_phlog="phlog" # relative path to phlog
2018-03-04 01:59:58 +00:00
config_phlog_gophermap=true # phlogs use gophermap format by default
config_phlog_usedate=true # use a date-stamp on phlog posts
2018-02-24 01:50:54 +00:00
config_git_commit=false # automatically commit changes if git repo
config_git_push=false # automatically push changes if git repo
2018-03-04 01:59:58 +00:00
2018-03-11 21:38:01 +00:00
config_autoindent=true # automatically reformat gophermaps with leading "i"
# types and parse links at the end of file
2018-04-01 02:41:10 +00:00
config_file_rss="rss.xml" # filename of RSS feed
config_gopher_name="My Gopher Hole" # used in RSS feed output
config_gopher_desc="Description" # used in RSS feed output
config_rss_num_entries="10" # number of entries to inclued in RSS feed
2018-04-02 16:59:57 +00:00
config_phlog_autorss=false # automatically generate RSS feed
2018-04-01 02:41:10 +00:00
2018-01-20 05:58:11 +00:00
```
2018-01-20 20:26:33 +00:00
_Note: This file is a valid Bash script and will be sourced upon load._
2018-12-15 17:27:09 +00:00
## Disambiguity
There is [another burrow project ](https://github.com/sloumdrone/burrow ) created
by _sloumdrone_ . His burrow project is a GUI gopher client. Please check it out!
2020-01-08 16:17:56 +00:00
There is also another project called "Burrow the Burrows" which can be found on gopher at: `gopher://kalos.mine.nu/1/burrow/index.gph` . It aims to construct and maintain a graph of the whole Gopherspace.
2021-10-22 20:14:14 +00:00
There is another [static site generator for gopher ](https://github.com/hyperrealgopher/burrow ) written in Haskell by @hyperrealgopher . It has similar features to my burrow.
_Armen_ now has a [gemini & spartan server ](https://gitlab.com/armen138/burrow ) named burrow.
2021-05-26 12:58:04 +00:00
2018-01-20 05:58:11 +00:00
## Contributing
2018-01-20 20:26:33 +00:00
Pull requests are welcome. For major changes, please open an issue first to
discuss what you would like to change.
2018-01-20 05:58:11 +00:00
## License
[GPL3 ](LICENSE )