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
Need to replace --not
switch with something more portable.
Most likely change -v
to be version info.
Move current -v
to -d
for debug mode
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.
Add option to auto-fold entry upon completion. Provide var for width in config.
Change the method of auto indentation to no longer look for a Links: section, but rather tabs. Wrap this in a boolean option.
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:
Leverage the same stack for creating posts to edit existing ones. Strip the leading "i" characters, reset the Links: divider, then edit away.
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
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.
The link node is adding /./ and possibly the wrong type to the urls. Content is correct but not the nodes
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.
Allow for installation of program to an arbirtary directory. Explore what we can do with man page and bash_completion in this scenario.
After burrow phlog
hitting <tab>
should autocomplete with phlog entries by name. Similar functionality for explorations and recipebox as well.
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:
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 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.
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?
Automatically search for a burrow config file and open it in $EDITOR
Stop generating with leading spaces and replace with a leading "i" to be RFC 1436 compliant.
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.
The actions passed as arguments and the switch options are repetitive. Remove the switch duplicates.
Probably the wrong version of getopt is being used. Investigate and fix to be more broadly compatible.
I ran into this after creating a phlog post, realizing the path was wrong, updating the configs and still seeing the wrong link.
Updated everything to be POSIX compliant. Possibly rewrite to /bin/sh instead of bash
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.
PKG_CONFIG environment variables don't exist in the same way as on Linux. Investigate and fix.
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.
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)
It may be a result of configuration on SDF or because cron runs in a non-interactive minimal shell. Needs investigating.
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.