Commit Graph

41 Commits

Author SHA1 Message Date
Alex Palaistras e9a813eaa7 Add test Actions workflow
Grawkit Test / Test with GNU AWK (push) Successful in 55s Details
Grawkit Test / Test with Busybox AWK (push) Successful in 1m9s Details
This currently tests against GAWK and Busybox AWK, which should help
cover all POSIX-related compatibilies.
2024-04-09 19:50:00 +01:00
Alex Palaistras 3302655dcd Install dependencies with `sudo` in container build
Grawkit Play Container Build / Container Build (push) Successful in 9m19s Details
2024-04-09 00:25:57 +01:00
Alex Palaistras b1eed71dee Improve formatting for help text
Grawkit Play Container Build / Container Build (push) Successful in 4m52s Details
Help text now expands on usage and default values for accepted
parameters, which should also help with providing configuration on the
Playground interface.
2024-04-09 00:23:35 +01:00
Alex Palaistras 97a84ab7af Move workflows to common `.github` folder 2024-04-08 23:59:46 +01:00
Alex Palaistras 66cee39bb1 Only build container image for source changes 2024-04-08 23:41:58 +01:00
Alex Palaistras 9607a8c0f9 Use Podman for container image builds
Grawkit Play Container Build / Container Build (push) Successful in 5m1s Details
2024-04-08 21:18:28 +01:00
Alex Palaistras 041c002322 Trigger Gitea workflow on any push
Grawkit Play Container Build / Container Build (push) Failing after 1m21s Details
2024-04-07 11:57:53 +01:00
Alex Palaistras 1b3306e7b9 Ensure Docker is set up in Gitea workflow 2024-04-07 11:56:13 +01:00
Alex Palaistras e3f7931341 Update dependencies, add Gitea workflow 2024-04-07 11:56:02 +01:00
Alex Palaistras 6da6d8c20f Add command-line parsing for user configuration
This commit adds basic command-line parsing facilities for Grawkit, in
allowing for user-defined configuration values; a large number of
previously hard-coded values have now been exposed as command-line
options, allowing for greater variability in use.

Fixes: #12
2023-03-25 16:26:24 +00:00
Alex Palaistras 7a50537810 play: Update Go module path
This will now point to the vanity `go.deuill.org` path, which will make
any future migration to different sources simpler.
2022-10-29 19:51:01 +01:00
Alex Palaistras e1208d67bd play: Update Go, use `embed` for static content
This updates to the latest Go version for building the default OCI
container for the Grawkit playground, and switches to using the `embed`
package for serving static content.
2022-10-20 17:40:31 +01:00
Alex Palaistras 3b8c5eca21 Update styling and template
This changes minor aspects of the Playground, including colors, fonts,
and other basic effects, in an effort to improve the aesthetics.
2022-01-22 14:55:45 +00:00
Alex Palaistras ec3cfbdf0e play: Update to latest Go and GoAWK versions
And vendor in dependencies, as is appropriate for end-products.
2022-01-22 14:54:50 +00:00
Alex Palaistras 5500c9c667 play: Add basic Dockerfile for isolated Playground 2019-09-06 22:51:45 +01:00
Alex Palaistras 24d63cd8a9 Implement initial version of Grawkit Web Playground
Running `grawkit` locally can be a hassle for one-off tasks, and can be hard to iterate against
when plotting graphs based on complex command-line descriptions. Given recent fixes for POSIX
compatibility, this commit implements a basic web-based "playground"-style application that allows
for entering command-line descriptions in an HTML textarea, and seeing the results (or errors)
instantly.

The playground application itself is built in Go (Awk itself would be insufficient for the
throughput required, but may be investigated in the future), with the excellent GoAwk library
providing parsing and execution duties, therefore making for a pure-Go implementation (other than
Grawkit itself).

Additional support for setting custom styling and an online deployment with Docker are forthcoming.
2019-08-25 16:30:34 +01:00
Alex Palaistras 23bfc9f33d Make Grawkit POSIX-compatible, remove `gawk`-specific extensions
This commit removes `gawk`-specific extensions in Grawkit, making it work for any POSIX-compatible
AWK, with `gawk`, `nawk`, `busybox awk`, and `goawk` passing the test suite successfully.

The largest changes are related to removing `match` extensions for capturing groups; these were used
for parsing command-lines, and have now being handled in the `parse_command` function in a more robust
way.

Other small changes have been made to the included `Makefile` for allowing tests to run against
different AWK implementations.
2019-08-11 11:29:03 +01:00
Alex Palaistras fada2ba98e Handle and return errors correctly
This commit fixes handling for fatal errors, printing these to standard error and returning a
non-zero error code by checking for these in the `END` section, as required by Awk.
2019-08-08 20:49:34 +01:00
Alex Palaistras c5fed56ef1 README.md: Align and size rendered SVG example 2019-08-06 13:58:00 +01:00
Alex Palaistras 9357d4b942 README.md: Simplify and improve examples and usage information 2019-08-06 12:53:29 +01:00
Alex Palaistras 892a5cec4d Render paths to end of time for branches with no final merges
This is orthogonal to behaviour for rendering paths from the beginning of time for branches created
before the first commit, and helps frame the history in a better way.
2019-08-06 12:51:57 +01:00
Alex Palaistras 72d1059416 Simplify merge handling, add more tests
This further simplifies handling of merges, which was made correct in commit 675e79c. We now
correctly set both source and destination commit references, where an empty source reference means
the base of the branch being merged into.
2019-08-06 12:29:25 +01:00
Alex Palaistras 472cd57dcd
Merge pull request #3 from upcu/master
Update grawkit
2018-10-31 10:53:18 +00:00
Liviu Seniuc 675e79c875
Quick fix
Quick and dirty solution @ merge source
2018-10-24 21:25:55 +03:00
Liviu Seniuc bfb175ec05
Update grawkit
reuse pallete (except black which is reserved for master)
2018-10-24 16:14:17 +03:00
Alex Palaistras 852a796f4a Fix documentation, function names, label text alignment
This commit contains a few minor fixes to documentation and function names, for clarity, and adds a
`textLength` attribute to `<text>` elements in labels, thereby ensuring that the text is contained
within the label.

Fixes #1
2018-01-13 14:14:55 +00:00
Alex Palaistras 8516e8e139 README: Add license badge, link to Orthogonal Git post 2017-01-12 23:06:23 +00:00
Alex Palaistras 7d46f0f493 README: Update example SVGs to latest revision 2017-01-12 22:36:08 +00:00
Alex Palaistras b5708197cf Add initial path for primary branch, fix font pitch to 0.5 of height
The primary branch (`master` or whichever other branch is the primary) has now
an automatic merge path that leads to the beginning of time, much like branches
that have been created before the first commit.

The font pitch is also fixed to half the height, as is usually the case with
monospace fonts.
2017-01-12 22:31:50 +00:00
Alex Palaistras de2258422e README.md: Fix `rawgit.com` URLs to specific commit numbers 2016-12-31 18:39:12 +00:00
Alex Palaistras 55cacf1c89 Fix bugs, styling, README.md 2016-12-31 18:19:50 +00:00
Alex Palaistras a38b7c0b67 README.md: Fix table width for examples 2016-12-28 22:33:00 +00:00
Alex Palaistras 44bc77a8a7 README.md: Add "Status & Examples" section 2016-12-28 22:25:07 +00:00
Alex Palaistras b194ffae2a Fix issues with incorrect canvas sizing, label font size 2016-12-28 22:18:50 +00:00
Alex Palaistras b956f428a6 Add `git tag` support, labels on sidebar for tags and branch names 2016-12-28 21:13:49 +00:00
Alex Palaistras b1291b4adf Moved tests, added color pallete for branches, fixed merges 2016-12-18 13:59:44 +00:00
Alex Palaistras d92ff6a050 Add support and tests for branching, merging 2016-12-18 01:59:20 +00:00
Alex Palaistras 94daa65ecf Change graph for vertical representation
Graphs are now drawn vertically, from top-to-bottom, which simplifies
the drawing algorithm in the case where commit titles, branch names and
tags have to be drawn.
2016-11-01 23:27:58 +00:00
Alex Palaistras e3e7a2cf30 README: Fix tagline 2016-11-01 23:24:18 +00:00
Alex Palaistras ed9c0b9ace tests: Add test for initial state, rename tests 2016-10-30 23:26:01 +00:00
Alex Palaistras 0e5eee146f First version of Grawkit, with simple single-branch test
This version has support for adding commits on a single branch using
`git commit`, and enough scaffolding for adding additional commands and
accompanying tests easily.
2016-10-30 23:17:54 +00:00