jamestomasino / burrow Goto Github PK
View Code? Open in Web Editor NEWburrow is a helper for building and managing a gopher hole
Home Page: gopher://gopher.black
License: GNU General Public License v3.0
burrow is a helper for building and managing a gopher hole
Home Page: gopher://gopher.black
License: GNU General Public License v3.0
JAMES TOMASINO(1) General Commands Manual JAMES TOMASINO(1) NAME jamestomasino - developer, writer, table-top gamer, world traveller SYNOPSIS jamestomasino [-aeiou] DESCRIPTION James Tomasino does things on the internet. He administers a tilde com‐ munity on the tildeverse and works as a freelance developer and digital marketing strategist, especially in Pharmaceutical advertising. He also enjoys writing both fiction and non-fiction and does so prolifically on the http, gopher, and gemini protocols. James Tomasino can be found in many of the following places The Tildeverse https://cosmic.voyage is a tilde community based around a col‐ laborative science-fiction universe. Users write stories as the people aboard ships, colonies, and outposts, using the only re‐ maining free, interconnected network that unites the dispersed peoples of the stars. Professional Stuff There's plenty of work here on Github, but the vast majority is in private repositories. Much of the work in the last decade has been for pharmaceutical companies either in website, banner, email, conference panels, or digital sales aid form. In the past he has built applications on a number of platforms. If your pro‐ fessional needs touch digital marketing he's probably experi‐ enced with it. Social things He spends a great deal of time in IRC over at irc.tilde.chat and freenode.net. He's also on the Fediverse at @[email protected] , but the safest way to find him online is to refer to the links on https://tomasino.org. EXIT STATUS The James Tomasino exits with a 0 code on success, a 42 if discovering the answer to the great question of life the universe and everything, 216 if being asked the sum of the 72 hidden names of God, and an imagi‐ nary number if an error occurs. EXAMPLES jamestomasino Answers, `Hello!' jamestomasino -a The sound he makes when falling from a great height jamestomasino -e Useful when encountering an unexpected spider in the bathroom jamestomasino -i He thinks, therefore he is jamestomasino -o Realization and understanding of a great hidden truth jamestomasino -u When someone gets a really good burn in LICENSE Schrödinger License r3 https://github.com/benlk/misc-licenses/blob/master/schrodinger-license.md BUGS There are probably lots of problems with James Tomasino. If you can't hold your tongue about them and need to call them out, I guess you can report issues at the git repositories at https://github.com/jamestomasino AUTHOR James Tomasino <github (at) jamestomasino (dot) com> 2020.08.29 29 August 2020 JAMES TOMASINO(1)
The former sed solution to title-case phlog titles turns out to be gnu specific.
sed 's/.*/\L&/; s/[a-z]*/\u&/g'
Need to find a posix way of doing it. Probably awk with substrings and loops.
It may be a result of configuration on SDF or because cron runs in a non-interactive minimal shell. Needs investigating.
Need to replace --not
switch with something more portable.
If you begin a phlog post and decide to abandon it, quitting the editor will continue to try and create the post. Add a mechanism for quitting without saving the file or otherwise signaling to burrow not to post.
Things to consider:
After burrow phlog
hitting <tab>
should autocomplete with phlog entries by name. Similar functionality for explorations and recipebox as well.
Should creating a phlog, recipe, or topic generate a link in the gophermap if none exists? I think so. I'll probably do that too in here.
I don't know if all systems will have bash_completion support. The current Makefile is a little too optimistic about things. Add some error checking and fallbacks.
I ran into this after creating a phlog post, realizing the path was wrong, updating the configs and still seeing the wrong link.
Please can burrow have the option to insert phlog entries after preamble (such as banner text etc)?
As discussed on IRC, maybe by adding the latest entry either:
Currently each command does only one thing. As features are added, rework the interface to provide a menu of options and a default so complex tasks can be done.
For instance, the phlog command could offer:
1 - New Phlog
2 - List Phlogs
3 - Edit Phlog (and subsequent menu provides a list to choose from)
4 - Delete Phlog
For first pass, simple text menus with numeric input should suffice. Investigate ncurses for menu system later.
Leverage the same stack for creating posts to edit existing ones. Strip the leading "i" characters, reset the Links: divider, then edit away.
PKG_CONFIG environment variables don't exist in the same way as on Linux. Investigate and fix.
Updated everything to be POSIX compliant. Possibly rewrite to /bin/sh instead of bash
Automatically search for a burrow config file and open it in $EDITOR
Allow for installation of program to an arbirtary directory. Explore what we can do with man page and bash_completion in this scenario.
Probably the wrong version of getopt is being used. Investigate and fix to be more broadly compatible.
I have not had much time to look into this, but when the config_gophermap_omitserver option is set, the server and port are still written into the phlog post itself.
It does seem to work in gophermap at the top of config_dir_phlog at least.
This causes issues when the server needs to send a different port to different clients (e.g. gophernicus running with both plain gopher and gopher over TLS)
Make just fell over on FreeBSD 12.0. These three steps worked:
pkg install bash-completion
or via the shells/bash-completion
port. (The first worked fine for me and was the simpler route).pkg install gmake
or the port devel/gmake
.sudo make install
, run sudo gmake install
.Maybe these could be added to the installation guidelines?
Change the method of auto indentation to no longer look for a Links: section, but rather tabs. Wrap this in a boolean option.
Stop generating with leading spaces and replace with a leading "i" to be RFC 1436 compliant.
Most likely change -v
to be version info.
Move current -v
to -d
for debug mode
The implementation of each stat command is completely unique. Find a way to test for gnu and fall-back on bsd like we're doing for getopt.
Gophernicus supports special gophermap directives like =
*
%
and so on. These are not interpretted as links by burrow and are instead wrapped as type i, breaking them. Add detection for these and ignore as we do with gophermap links.
echo isn't as portable as printf
The actions passed as arguments and the switch options are repetitive. Remove the switch duplicates.
Add an option to specify a chmod for new posts & gophermaps. If it's set, after creating or updating a file chmod it automatically. This would be helpful for systems with odd umask settings.
Add option to auto-fold entry upon completion. Provide var for width in config.
The link node is adding /./ and possibly the wrong type to the urls. Content is correct but not the nodes
Gophernicus and motsognir can both fill in the host & port names of gophermaps automatically. Skipping the line endings can add portability if you use those servers or host on multiple servers. Make this an optional feature disabled by default.
The config file could usefully hold an optional line such as date_format
to allow overrides of the default US date order. This would be great for those of us preferring a 'day, DD Month YYYY" format or what-have-you.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.