Reaves.dev

v0.1.0

built using

Phoenix v1.7.12

Showcase

https://gitlab.com/reavessm/temple

Temple

Temple generates an html page based on sermon metadata scraped from a bulletin pdf

Example

Create a file called copy-paste.txt that looks like this:

Preaching of the Word Rev. Tyler Dirks

Power Perfected Through Weakness

Judges 16:23-31
I. Inclusion Of Undesirable Characters

II. Inescapable Weakness

III. Indomitable

- 4 -

- Reflection Questions -
1) How is perfection achieved? What’s the formula?
2) What’s your M.O. when it comes to dealing with undesirable characters?
3) How do you feel about weakness?
4) How do you feel about Paul’s fomenting use of the word ‘skubala’ in Philippians 3?
5) What is the most indomitable event in human history?
6) Who is the most indomitable figure in existence?

Then create a file that holds the dropbox audio url called url.txt:

https://www.dropbox.com/scl/fi/p1wz502r9bi189wsgnimj/ECPC-Worship-20231001.mp3?rlkey=mkpev3dtwhhw07l9dtfdt6ifa&dl=0

Then you can run mix temple.run and you’ll see:

<p style="text-align: center;"><strong>Sunday Worship</strong></p>
<p style="text-align: center;"><strong>October 1st, 2023</strong></p>
&nbsp;
<p style="text-align: center;"><strong>“Power Perfected Through Weakness”</strong></p>
<p style="text-align: center;">Judges 16:23-31</p>
<p style="text-align: center;">Rev. Tyler Dirks</p>
&nbsp;

<a href="https://dl.dropbox.com/scl/fi/p1wz502r9bi189wsgnimj/ECPC-Worship-20231001.mp3?rlkey=mkpev3dtwhhw07l9dtfdt6ifa&amp;dl=0
">Sermon Audio</a>

&nbsp;

<strong>Sermon Outline:</strong>
<ol>
  
 	<li>Inclusion Of Undesirable Characters</li>
  
 	<li>Inescapable Weakness</li>
  
 	<li>Indomitable</li>
  
</ol>
<strong>Reflection Questions:</strong>
<ol>
  
 	<li>How is perfection achieved? What’s the formula?</li>
  
 	<li>What’s your M.O. when it comes to dealing with undesirable characters?</li>
  
 	<li>How do you feel about weakness?</li>
  
 	<li>How do you feel about Paul’s fomenting use of the word ‘skubala’ in Philippians 3?</li>
  
 	<li>What is the most indomitable event in human history?</li>
  
 	<li>Who is the most indomitable figure in existence?</li>
  
</ol>
https://gitlab.com/reavessm/pc

Pc

To start your Phoenix server:

  • Run mix setup to install and setup dependencies
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Learn more

  • Official website: https://www.phoenixframework.org/
  • Guides: https://hexdocs.pm/phoenix/overview.html
  • Docs: https://hexdocs.pm/phoenix
  • Forum: https://elixirforum.com/c/phoenix-forum
  • Source: https://github.com/phoenixframework/phoenix
https://gitlab.com/reavessm/grdr-beam

GrdrBeam

To start your Phoenix server:

  • Run mix setup to install and setup dependencies
  • Start Phoenix endpoint with mix phx.server or inside IEx with iex -S mix phx.server

Now you can visit localhost:4000 from your browser.

Ready to run in production? Please check our deployment guides.

Learn more

  • Official website: https://www.phoenixframework.org/
  • Guides: https://hexdocs.pm/phoenix/overview.html
  • Docs: https://hexdocs.pm/phoenix
  • Forum: https://elixirforum.com/c/phoenix-forum
  • Source: https://github.com/phoenixframework/phoenix

Demo

https://gitlab.com/reavessm/grdr

GRDR

grdr is a tool to generate blogs and slideshows from markdown files

Built with cargo-make

GitLab last commit

Gitlab pipeline status

Up and Running

In order to get up and running, clone this repo and run cargo make rebuild. This will require cargo make. If you’re a cool kid and want to run this with podman, you can try cargo make kube. This may require aardvark-dns to be installed on your system, but I’m not quite sure why.

Front Matter

Metadata can be stored alongside the content of the file using a front matter system. For example:

title = README
date = 3333-12-31
author = Stephen M. Reaves
author_twitter = rpscln
author_twitch = rapscallionreaves
author_mastodon = rapscallionreaves
tags = ["grdr"]
description = Readme to understand GRDR
slides = false
rivets = []

Everything above should be at the top of the file and a --- is used as a separator. Everything about the --- is considered front matter. This KV system is used to generate content. For example, description is what shows up when listing all the posts, author_mastodon generates a link to a mastodon profile, tags lets posts be grouped together, and rivets allow us to extra parsing outside the bounds of regular markdown.

Rivets

The real meat and potatoes of this tool is the rivets system. Rivets are dynamic parsers to augment normal markdown.

Rivets need to be enabled in the front matter, and inside the content. You can think of the front matter being an on/off switch for certain rivets, and the rivet tags inside the content dictate which parts should be rendered through that particular rivet. Let’s look at an example.

Katex

The first thing people tend to want to do when using markdown is add latex. GRDR handles this with the katex rivet. To use the katex rivet, make sure the rivet is enabled in the front matter (i.e. rivets = ["katex", "some_other_rivet"]) and surround the latex content with rivet tags. In this case the opening tag will be $katex and the closing tag will be katex$.

So you can do:

$katex
f(\relax{x}) = \int_{-\infty}^\infty f(\xi\,)e^{2 \pi i \xi x} \,d\xi
katex$

And have pretty math functions rendered in the final HTML.

Graphviz

Another thing you can do is generate SVGs from Graphviz. Try enabling the graphviz rivet and adding this to your content:

$graphviz
strict digraph t {
  aa[color=green]
    subgraph v {
      aa[shape=square]
        subgraph vv{a2 -> b2}
      aaa[color=red]
        aaa -> bbb
    }
  aa -> be -> subgraph v { d -> aaa}
  aa -> aaa -> v
}
graphviz$

This will require the graphviz binary on your system.

Slides

GRDR can also present posts as slides. The first thing you need to is set slides = true in the front matter. Then everything between a header (#) and a break (___) will become a single slide. For example, this would be a set of three slides:

# Title

Use the left and right arrow keys to move throughout the slides.

___

## First page

Here is some text

___

## Another page

Here is some more

$graphviz
strict digraph t {
    bgcolor="transparent"
    label="Test Graph"
    fontcolor="white"
    beautify=true

    node[style="filled, rounded, bold" fillcolor="white"]
    edge[color="white" fontcolor="white"]

    aa[color=green]
        subgraph v {
            aa[shape=square]
                subgraph vv{a2 -> b2}
            aaa[color=red]
                aaa -> bbb [label="foo"]
        }
    aa -> be -> subgraph v { d -> aaa}
    aa -> aaa -> v
}
graphviz$

___

Showcase

Putting a git(lab|hub) url in between showcase tags will download the README file and put it in a drop down. For example:

$showcase
https://gitlab.com/reavessm/rea
showcase$

Hide

You can also put long content between hide tags and the content will be hidden behind a drop-down in the final html. You can also put a summary on the same line as the opening tag and that will be displayed when the drop-down is closed, in order to give some hints about what secrets you’re hiding.

$hide Super lots of text
foo
.
.
.
bar
hide$
https://gitlab.com/reavessm/rea

REA

rea is a Reverse-Engineering Api generator

Usage

> rea -h
Usage of rea:
  -f string
        File to read from
  -o string
        File to output to (default "out.go")
  -p string
        Package name of generated file (default "main")
  -s string
        Name of struct to be generated (default "Object")
  -v    Verbose output?

Examples

Basic

curl 'https://www.boredapi.com/api/activity' | rea && cat out.go

Advanced

rea -w 'https://randomuser.me/api/' -s User -p accounts -o user.go && cat user.go

Appending

rea -w https://www.boredapi.com/api/activity -o foo.go -s activity
ocm whoami | rea -o foo.go -s user
cat foo.go

Installation

go install gitlab.com/reavessm/rea/cmd/rea@latest
https://gitlab.com/reavessm/osb

ReavesOS

Personal Linux Distro based on Gentoo

Usage

Building and pushing is done with make. If you want to rebuild everything, simply run sudo make. If you only want to build a specific stage (like stage4), run sudo make stage4. If you want a more specific target, run sudo make stage4-amd64-default-zfs. If you want to see all available containers, run make targets.

Targets

Installable targets are:

all
├── stage0
│   ├── portage
│   └── catalyst
├── stage1
│   └── stage1-amd64-default
├── stage2
│   └── stage2-amd64-default
├── stage3
│   └── stage3-amd64-default
└── stage4
    ├── stage4-amd64-default
    └── stage4-amd64-default-zfs

The default target is ‘all’

https://gitlab.com/reavessm/obi

OBI

OS Build Installer is a tool to install images created from containers directly to your hard disk.

What containers can be installed?

Technically any container, but some won’t boot. You’ll need at least a kernel and a bootloader in the image (and probably an init system). We only support containers built by OS Builder. If you really need a different container, you can try installing an OSB container (like ReavesOS) then reinstalling another container on top of that, but we can’t garauntee any level of success for that scenario.

Usage

Dependencies

Install the dependencies in Fedora by runnings sudo dnf install {gpgme,btrfs-progs,device-mapper}-devel

Make sure podman is running as a service by running sudo systemctl start podman

Run it

You can start the actual command by running sudo go run gitlab.com/reavessm/obi/cmd/tui@latest

https://github.com/reavessm/RCFiles

RCFiles

my .bashrc, .bash_aliases, .vimrc, etc.

https://github.com/reavessm/ClosetPlusPlus

ClosetPlusPlus

Clone the repo

run make

run ./Closet++

follow prompts