Commit log

93d2572 doc: update readme

Ayman Bagabas created

32bdd5b feat(git): UpdateServerInfo on push

Click to expand commit body
git update-server-info generates the repository's refs needed for the
git http server

Ayman Bagabas created

68feddf feat: specify custom readme file

Click to expand commit body
* Optionally specify per repo readme file path in config
* Default to "README*" glob and choose the first glob match
* Refactor code and move stuff around

Fixes: https://github.com/charmbracelet/soft-serve/issues/31

Ayman Bagabas created

8ad99d8 refactor(git): use repo path instead of name

Ayman Bagabas created

80df7f4 fix: style adjustments

Click to expand commit body
* Adjust spinner and no readme comment margins

Ayman Bagabas created

0b3479f fix(tui): show error on empty readme and empty tree

Ayman Bagabas created

8a57c24 fix(tui): selecting an item in an empty git tree

Ayman Bagabas created

66a64cf fix: update bubbles window size on change

Ayman Bagabas created

602b14c feat: add tui pagination

Ayman Bagabas created

3795020 feat: show spinner when loading a large commit diff

Ayman Bagabas created

141138a docs: add example images for TUI and file/dir printing

Click to expand commit body
* add image showing file/dir printing
* add TUI image

Christian Rocha created

192c4d9 Add `SOFT_SERVE_HOST` and `SOFT_SERVE_BIND_ADDRESS` docs

Toby Padilla created

91fd3fe Add TUI commands and file printing features to README

Toby Padilla created

56bacc1 fix: start line numbers at 1 (was a regression)

Christian Rocha created

a43daef fix: don't print extra newlines when printing with line numbers

Christian Rocha created

e267bc9 chore: adjust line number coloring

Christian Rocha created

752d67a feat: add server host to config

Click to expand commit body
server host `SOFT_SERVE_HOST` is the broadcast address to the server

Ayman Bagabas created

22a98f9 fix: cat mw: print err if repo not found

Ayman Bagabas created

c5fc8b2 feat: cat middleware: list directory entries

Ayman Bagabas created

fd04680 fix: change cat lineno color and style

Ayman Bagabas created

eaf9f4b feat(tui): only show branches and tags

Ayman Bagabas created

f67596d fix: handle repos with no README.md file

Toby Padilla created

f3e2b7f refactor: rename variables

Ayman Bagabas created

352b06d fix: lazy load git tui bubbles

Ayman Bagabas created

61a8eb1 fix: don't block on git push waiting for config reload

Ayman Bagabas created

6b86cf7 refactor(tui): rename variables and fix ling warnings

Ayman Bagabas created

8fa4404 fix: cache git trees and commits

Ayman Bagabas created

4392caa refactor: git Repo interface naming

Ayman Bagabas created

286dedb fix: cache repo references

Ayman Bagabas created

3308f43 fix(tui): cache ref commits and track annotated tags

Click to expand commit body
* Keep track of the selected ref in each bubble
* Lazy cache commits of each ref on demand
* Find the target hash of annotated tags

Ayman Bagabas created

73fd14e docs: update man page

mango 🤖 created

0069c36 docs: update man page

mango 🤖 created

c251203 ci: add manpage workflow

Christian Muehlhaeuser created

c508766 fix: go mod tidy

Click to expand commit body
go mod tidy -go=1.16 && go mod tidy -go=1.17

Signed-off-by: Carlos A Becker <caarlos0@gmail.com>

Carlos A Becker created

2179011 Generate man page when built with 'mango' build-tag

Click to expand commit body
When building with the 'mango' build-tag (go build -tags mango) enabled,
we will simply generate and print a man-page on startup and immediately
exit again.

Christian Muehlhaeuser created

ead1d7c Disable config repo file display

Toby Padilla created

7d76a60 feat: render markdown files using glamour

Click to expand commit body
Fixes: https://github.com/charmbracelet/soft-serve/issues/87

Ayman Bagabas created

835660c fix: change git tui navigation keys

Click to expand commit body
A (about) -> R (readme)
R (refs) -> B (branches)
L (log) -> C (commits)
T (tree) -> F (files)

Ayman Bagabas created

fa7616f fix: rename bubble helper for clarity

Ayman Bagabas created

a0cc4ea fix: reset tree after switching refs

Click to expand commit body
Fixes: https://github.com/charmbracelet/soft-serve/issues/86

Ayman Bagabas created

8511038 Simplify help, disable navigation options on config repo

Toby Padilla created

078761f fix: skip parsing empty initial admin keys

Ayman Bagabas created

f290a82 chore: go mod tidy

Ayman Bagabas created

8c4370c Use -c/--color for syntax highlighting and -l/--lineno/--linenumber for

Click to expand commit body
line numbers

Toby Padilla created

9ea2a7e feat: display files middleware

Click to expand commit body
sshing with a filepath in a non-interactive terminal spits out the file
content with the option of syntax highlighting and line numbers

Ayman Bagabas created

4fab795 feat: new git tui

Click to expand commit body
* Separate tui bubbles based on functionality
* Wrap gitui bubble in another bubble
* Move readme bubble to git/about
* Add tree/log/refs bubbles
* View changes from a specific branch
* Browse git tree and logs based on selected branch
* Display commit message, stats, and patch
* Display selected branch in footer
* Display file size and permissions in tree
* Omit displaying binary and large files in tree
* Omit displaying long diffs in log
* Use reflow to wrap and truncate long strings
* Sort tree files by name
* Sort refs by name
* Sort log by date

git/tree:
* Use bubbles/list to list tree files
* Display file size, mode, and title
* Use bubbles/viewport to display file content
* Omit displaying binary and large files
* Use glamour/ansi to render and highlight file contents
* Use go-humanize to display file size

git/refs:
* Use bubbles/list to display repository branches
* Propagate selected branch to parent bubble

git/log:
* Display branch commit log
* Truncate long commit titles
* Use bubbles/list to display commits
* Use bubbles/viewport to view commit
* Display commit author, date, hash, and message
* Display commit diff
* Use glamour/ansi to highlight commit diff
* Use go-humanize to display commit stat summary

git/types:
* Define constants
* Define interfaces
* Helper functions

Ayman Bagabas created

dd8e7bc feat: recover from middleware panics

Click to expand commit body
* Disable bubbletea catching panics
* Bubble up bubbletea panics to soft-serve
* Add errorLog to Config

Ayman Bagabas created

57b1eff fix: rename host to bind address

Click to expand commit body
and use env to apply defaults

Ayman Bagabas created

8e032c2 fix: chroma portions of glamour renders that could break layout

Christian Rocha created

6ac16a7 Update README footer

Christian Rocha created