From 70a2c42a5eef1dab2b7ab75e3c7f6ffc8c8c1959 Mon Sep 17 00:00:00 2001 From: Patrick Spek Date: Fri, 5 Feb 2021 09:55:25 +0100 Subject: Move source files into src --- src/_projects/assixt.md | 55 +++++++++++++++ src/_projects/config.md | 7 ++ src/_projects/dist-helper.md | 7 ++ src/_projects/io-path-dirstack.md | 7 ++ src/_projects/irc-client-plugin-github.md | 7 ++ src/_projects/irc-client-plugin-ignore.md | 7 ++ src/_projects/irc-client-plugin-nickserv.md | 7 ++ src/_projects/irc-client-plugin-urltitle.md | 7 ++ src/_projects/lonestar.html | 83 ++++++++++++++++++++++ src/_projects/mpd-client.md | 7 ++ src/_projects/musashi.md | 7 ++ src/_projects/pod-to-pager.adoc | 102 ++++++++++++++++++++++++++++ src/_projects/scriptkitties-overlay.md | 7 ++ src/_projects/string-fold.md | 7 ++ src/_projects/subbot.md | 7 ++ src/_projects/tachikoma.md | 8 +++ 16 files changed, 332 insertions(+) create mode 100644 src/_projects/assixt.md create mode 100644 src/_projects/config.md create mode 100644 src/_projects/dist-helper.md create mode 100644 src/_projects/io-path-dirstack.md create mode 100644 src/_projects/irc-client-plugin-github.md create mode 100644 src/_projects/irc-client-plugin-ignore.md create mode 100644 src/_projects/irc-client-plugin-nickserv.md create mode 100644 src/_projects/irc-client-plugin-urltitle.md create mode 100644 src/_projects/lonestar.html create mode 100644 src/_projects/mpd-client.md create mode 100644 src/_projects/musashi.md create mode 100644 src/_projects/pod-to-pager.adoc create mode 100644 src/_projects/scriptkitties-overlay.md create mode 100644 src/_projects/string-fold.md create mode 100644 src/_projects/subbot.md create mode 100644 src/_projects/tachikoma.md (limited to 'src/_projects') diff --git a/src/_projects/assixt.md b/src/_projects/assixt.md new file mode 100644 index 0000000..57db5b0 --- /dev/null +++ b/src/_projects/assixt.md @@ -0,0 +1,55 @@ +--- +layout: project +title: Assixt +date: 2017-07-01T00:00:00Z +langs: Perl 6 +license: GPLv3 +repo: https://gitlab.com/tyil/perl6-app-assixt +--- + +`assixt`, or `App::Assixt`, is a Perl 6 module which I wrote in order to make +it easier to write more Perl 6 modules. I also used it as a good project to get +better with Perl 6 with. Nowadays, it's doing much more than I anticipated at +the start of the project. I've turned it into a more complete solution for Perl +6 projects in general. + +`assixt` can create new Perl 6 module skeletons, complete with `.gitignore`, +basic CHANGELOG, Travis and GitLab CI configurations and more. It will also +keep version numbers used accross your project in sync, create correct +distribution tarballs and allows you to upload them to [CPAN][cpan] directly +from the command line. + +I've given a presentation on this project at the 14th Dutch Perl Workshop, and +the slides are available [on the Slides section of my site][slides] as well. + +## Installation + +To install `assixt`, you will need to have Perl 6 installed, and `zef` +available as well. I recommend you use [Rakudo Star][rakudo] releases for +these. If you're using GNU+Linux, you might want to take a look at +[LoneStar][lonestar]. This is a Bash program that will fetch, unpack and +compile Rakudo Star Perl 6 for you, including `zef` and a number of other +common modules. + +If you have Perl 6 installed, simply invoke `zef` to install the module +containing `assixt`: + +```sh +zef install App::Assixt +``` + +## Support and feedback + +Check out `assixt --help` for an overview of what you can do with it. You can +also check the README on the repository to get a more extensive overview of the +possibilities, and some examples on how to use it. + +You can also create issues on the repository if you are still having trouble, +or perhaps even found a bug. The `#perl6` channel on Freenode might also be of +assistance, as I am almost always available in that channel (so long as I'm +awake). You can report feedback through issues or IRC as well. + +[cpan]: https://www.cpan.org/ +[slides]: /slides/ +[lonestar]: /projects/lonestar/ +[rakudo]: https://rakudo.org/ diff --git a/src/_projects/config.md b/src/_projects/config.md new file mode 100644 index 0000000..e3af2e9 --- /dev/null +++ b/src/_projects/config.md @@ -0,0 +1,7 @@ +--- +title: Config +date: 2017-01-01 00:00:00 +langs: Perl 6 +license: GPLv3 +repo: https://github.com/scriptkitties/p6-Config +--- diff --git a/src/_projects/dist-helper.md b/src/_projects/dist-helper.md new file mode 100644 index 0000000..73cab90 --- /dev/null +++ b/src/_projects/dist-helper.md @@ -0,0 +1,7 @@ +--- +title: Dist::Helper +date: 2017-01-01 00:00:00 +langs: Perl 6 +license: GPLv3 +repo: https://github.com/scriptkitties/perl6-dist-helper +--- diff --git a/src/_projects/io-path-dirstack.md b/src/_projects/io-path-dirstack.md new file mode 100644 index 0000000..240b206 --- /dev/null +++ b/src/_projects/io-path-dirstack.md @@ -0,0 +1,7 @@ +--- +title: IO::Path::Dirstack +date: 2017-01-01 00:00:00 +langs: Perl 6 +license: GPLv3 +repo: https://github.com/scriptkitties/perl6-io-path-dirstack +--- diff --git a/src/_projects/irc-client-plugin-github.md b/src/_projects/irc-client-plugin-github.md new file mode 100644 index 0000000..ef5f6d8 --- /dev/null +++ b/src/_projects/irc-client-plugin-github.md @@ -0,0 +1,7 @@ +--- +title: IRC::Client::Plugin::Github +date: 2017-01-01 00:00:00 +langs: Perl 6 +license: GPLv3 +repo: https://github.com/scriptkitties/perl6-IRC-Client-Plugin-Github +--- diff --git a/src/_projects/irc-client-plugin-ignore.md b/src/_projects/irc-client-plugin-ignore.md new file mode 100644 index 0000000..ce4fc17 --- /dev/null +++ b/src/_projects/irc-client-plugin-ignore.md @@ -0,0 +1,7 @@ +--- +title: IRC::Client::Plugin::Ignore +date: 2017-01-01 00:00:00 +langs: Perl 6 +license: GPLv3 +repo: https://github.com/scriptkitties/perl6-IRC-Client-Plugin-Ignore +--- diff --git a/src/_projects/irc-client-plugin-nickserv.md b/src/_projects/irc-client-plugin-nickserv.md new file mode 100644 index 0000000..b9363a5 --- /dev/null +++ b/src/_projects/irc-client-plugin-nickserv.md @@ -0,0 +1,7 @@ +--- +title: IRC::Client::Plugin::NickServ +date: 2017-01-01 00:00:00 +langs: Perl 6 +license: GPLv3 +repo: https://github.com/scriptkitties/perl6-IRC-Client-Plugin-NickServ +--- diff --git a/src/_projects/irc-client-plugin-urltitle.md b/src/_projects/irc-client-plugin-urltitle.md new file mode 100644 index 0000000..36a9e83 --- /dev/null +++ b/src/_projects/irc-client-plugin-urltitle.md @@ -0,0 +1,7 @@ +--- +title: IRC::Client::Plugin::UrlTitle +date: 2017-01-01 00:00:00 +langs: Perl 6 +license: GPLv3 +repo: https://github.com/scriptkitties/perl6-IRC-Client-Plugin-UrlTitle +--- diff --git a/src/_projects/lonestar.html b/src/_projects/lonestar.html new file mode 100644 index 0000000..fd88975 --- /dev/null +++ b/src/_projects/lonestar.html @@ -0,0 +1,83 @@ +--- +layout: project +title: LoneStar +date: 2018-07-01T00:00:00Z +langs: Bash +license: AGPLv3 +repo: https://git.tyil.nl/tyil/lonestar +--- + +{% markdown %} +LoneStar is a simple program, written in Bash, to download and install [the +Rakudo Star Perl 6 distribution](https://rakudo.org). As of the moment of +writing this program, Rakudo Star Perl 6 binaries cannot easily be moved around +on the OS, making regular installation methods more troublesome than they ought +to be. To deal with the installation issue, I wrote LoneStar, to just take care +of it. I chose to use Bash to ensure it can run on a wide range of GNU+Linux +systems without much trouble. +{% endmarkdown %} + +{% markdown %} +## Installation + +LoneStar is given a `Makefile` which can take care of installation. However, it +does not _need_ to be installed if you just want to try it out first. I would +recommend installation anyway, in order to make easy use of the `init` +subcommand (which will update you `$PATH` to include the Perl 6 executables for +you). + +You can clone the repo using git, and use `make` to install it: +{% endmarkdown %} + +{% highlight sh %} +cd "$(mktemp -d)" +git clone https://gitlab.com/tyil/lonestar . +make DESTDIR=/usr/local install +{% endhighlight %} + +{% markdown %} +Some shells will require you to _rehash the $PATH_. On Bash, this is done +using `hash -r`. Zsh users should run `rehash`. Other shell users may have to +consult their respective shell's manual. With newer shells, this is oftentimes +not necessary, though. + +## Usage + +You can invoke `lonestar` without any parameters to get a list of subcommands +it will accept, together with optional parameters. To just get the latest +Rakudo Star Perl 6 distribution installed, use the `install` subcommand. +{% endmarkdown %} + +{% highlight sh %} +lonestar install +{% endhighlight %} + +{% markdown %} +Once it has been installed, you can update your `$PATH` with `init`. +{% endmarkdown %} + +{% highlight sh %} +eval $(lonestar init) +{% endhighlight %} + +{% markdown %} +This will make sure the directory containing the `perl6` program will be +searched whenever you want to run a Perl 6 program. It also includes the +directory that contains all executable modules that have been installed. +Consequentally, this will make the module installer `zef` available to you. + +You can confirm whether Perl 6 works by retrieving the current version. +{% endmarkdown %} + +{% highlight sh %} +perl6 --version +{% endhighlight %} + +If this command did not fail, you should be good to go! + +{% markdown %} +## Issues and feedback + +If you have any issues or feedback on this program, please contact me via any of +the channels listed on the homepage of my blog. +{% endmarkdown %} diff --git a/src/_projects/mpd-client.md b/src/_projects/mpd-client.md new file mode 100644 index 0000000..eea593c --- /dev/null +++ b/src/_projects/mpd-client.md @@ -0,0 +1,7 @@ +--- +title: MPD::Client +date: 2017-01-01 00:00:00 +langs: Perl 6 +license: GPLv3 +repo: https://github.com/scriptkitties/p6-MPD-Client +--- diff --git a/src/_projects/musashi.md b/src/_projects/musashi.md new file mode 100644 index 0000000..e59c8e9 --- /dev/null +++ b/src/_projects/musashi.md @@ -0,0 +1,7 @@ +--- +title: Musashi +date: 2017-01-01 00:00:00 +langs: Perl 6 +license: GPLv3 +repo: https://github.com/scriptkitties/musashi +--- diff --git a/src/_projects/pod-to-pager.adoc b/src/_projects/pod-to-pager.adoc new file mode 100644 index 0000000..ca1af10 --- /dev/null +++ b/src/_projects/pod-to-pager.adoc @@ -0,0 +1,102 @@ +--- +layout: project +title: Pod::To::Pager +date: 2018-07-15T00:00:00Z +langs: Perl 6 +license: AGPLv3 +repo: https://gitlab.com/tyil/perl6-pod-to-pager +--- +:toc: preamble + +`Pod::To::Pager` is a Perl 6 project to generate prettier output from Perl 6 +Pod structures. By default, Perl 6 ships with a very simple Pod formatter, +which can be used by calling `perl6 --doc `. You can specify a doc +formatter by giving it as argument, like `perl6 --doc=Text `. This will +use the `Pod::To::Text` module to format the output, which is also the default. + +But, I wanted something prettier, something I would actually like reading if I +were looking for documentation on a module. Most people are familiar with UNIX +man pages (or at least, most people who will read, this I hope). So I wanted to +create something similar. To get used to Perl 6 Pod, I just tried making simple +text, with some coloring, as this is easier than also trying to learn how man +pages are to be created. + +And so, `Pod::To::Pager` was born. I've received some feedback from the Perl 6 +community, and included some of it in to the module. It comes with a `p6man` +utility, which is very much like `p6doc`. It calls the formatter, and calls a +pager to show the result. It looks very much like the UNIX man pages, and the +pager lets you read it like one. It's basically an on-the-fly generated man +page. + +== Installation + +To install the module, be sure to have Perl 6 and `zef`, the Perl 6 module +manager, installed on your system. You can then call `zef install` to have it +download, test, and install the module: + +[source,sh] +---- +zef install Pod::To::Pager +---- + +== Usage + +Once installed, you can use the module in many ways. You can call it as a Pod +formatter on Perl 6 itself: + +[source,sh] +---- +perl6 --doc=Pager lib/Some/Module.pm6 +---- + +This will render the document on `STDOUT`, and display it in your terminal. If +it doesn't support scrollback, there's a high chance you can't see the top part +of it. To solve that, you can use a pager, like `less`: + +[source,sh] +---- +perl6 --doc=Pager lib/Some/Module.pm6 | less +---- + +This will keep it possible to scroll through the output, until you press `q` to +quit the pager. + +=== p6man + +Since the last form is the way it was intended to be used (hence the *pager* in +`Pod::To::Pager`), there's a utility bundled with the module to make such use +easier. Inspired by the existence of `p6doc`, it's called `p6man`. It will use +`less` as the pager on GNU+Linux if possible, otherwise it will fall back to +`more`. On Windows, it will just use `more`. You can call it with either a +(relative) file path, or a module name: + +[source,sh] +---- +p6man lib/Some/Module.pm6 +p6man App::Assixt +---- + +For the latter variant to work, the module must be installed locally. + +=== In Perl 6 programs + +You can also use it directly in Perl 6 programs. This allows you to change +behaviour of the formatting process, or render the program's own documentation +with this formatter's output. To do that, `use` the module, and call the +`format` method on the formatter class: + +[source,perl6] +---- +use Pod::To::Pager; + +say Pod::To::Pager($=pod); +---- + +This will render the program's own Pod structure, formatted using +`Pod::To::Pager`, and print it to `STDOUT`. + +== Feedback + +If you have any feedback, please reach out to me on `#perl6` on IRC, or create +an issue on the repository. + diff --git a/src/_projects/scriptkitties-overlay.md b/src/_projects/scriptkitties-overlay.md new file mode 100644 index 0000000..cede5a6 --- /dev/null +++ b/src/_projects/scriptkitties-overlay.md @@ -0,0 +1,7 @@ +--- +title: Scriptkitties Overlay +date: 2017-01-01T00:00:00Z +langs: Bash +license: GPLv2+ +repo: https://c.darenet.org/scriptkitties/overlay +--- diff --git a/src/_projects/string-fold.md b/src/_projects/string-fold.md new file mode 100644 index 0000000..60f9cc3 --- /dev/null +++ b/src/_projects/string-fold.md @@ -0,0 +1,7 @@ +--- +title: String::Fold +date: 2017-01-01 00:00:00 +langs: Perl 6 +license: GPLv3 +repo: https://gitlab.com/tyil/perl6-string-fold +--- diff --git a/src/_projects/subbot.md b/src/_projects/subbot.md new file mode 100644 index 0000000..79eb26a --- /dev/null +++ b/src/_projects/subbot.md @@ -0,0 +1,7 @@ +--- +title: SubBot +date: 2017-01-01 00:00:00 +langs: Lua +license: GPLv2 +repo: https://c.darenet.org/tyil/subbot +--- diff --git a/src/_projects/tachikoma.md b/src/_projects/tachikoma.md new file mode 100644 index 0000000..beb03d0 --- /dev/null +++ b/src/_projects/tachikoma.md @@ -0,0 +1,8 @@ +--- +title: Tachikoma +date: 2017-01-01 00:00:00 +langs: Ruby +license: GPLv3 +repo: https://c.darenet.org/scriptkitties/tachikoma +--- + -- cgit v1.1