update docs
This commit is contained in:
parent
15c0ce3417
commit
0befc24bc0
@ -47,9 +47,9 @@ in stdenv.mkDerivation rec {
|
|||||||
];
|
];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
lua
|
lua
|
||||||
|
pandoc
|
||||||
makeWrapper
|
makeWrapper
|
||||||
copyDesktopItems
|
copyDesktopItems
|
||||||
pandoc
|
|
||||||
];
|
];
|
||||||
|
|
||||||
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||||
|
55
doc/index.md
55
doc/index.md
@ -13,20 +13,55 @@
|
|||||||
Dunlin is a GTK-based Webkit browser which can be extended in (indeed,
|
Dunlin is a GTK-based Webkit browser which can be extended in (indeed,
|
||||||
is mostly written in) [Fennel](https://www.fennel-lang.org).
|
is mostly written in) [Fennel](https://www.fennel-lang.org).
|
||||||
|
|
||||||
## Hacking
|
## Why does the world need another half-assed Webkit browser?
|
||||||
|
|
||||||
$ nix-shell
|
It doesn't, really. But me, personally, I think I do. I want
|
||||||
nix-shell$ overmind start -D
|
a browser that lets me easily change keybindings/add commands to do things
|
||||||
nix-shell$ overmind connect
|
like:
|
||||||
|
|
||||||
|
* find the open Fediverse tab and post a message
|
||||||
|
* watch a local html file and reload when it changes
|
||||||
|
* search the {Lua reference, Ruby docs, GTK docs} for term instead of wading through the the SEO cesspool that is the internet in 2022
|
||||||
|
* search in previously "liked" pages for the thing I found three weeks ago,
|
||||||
|
instead of ... ditto
|
||||||
|
* find the tab that's playing music and pause the player (instead of
|
||||||
|
muting it)
|
||||||
|
* more stuff I haven't thought of
|
||||||
|
|
||||||
This starts a Fennel interpreter and a test runner in tmux windows. Use `C-b n`
|
Full disclosure: Dunlin today can do none of these things, but if I borrow
|
||||||
to switch between them or `C-b d` to detach.
|
enough design decisions from Emacs, I hope some day it will
|
||||||
|
|
||||||
$ fennel dunlin.fnl &
|
## Installation and getting started
|
||||||
$ ./repl.sh
|
|
||||||
|
|
||||||
|
If you're using Nix, you can run `nix-shell` to pull all the
|
||||||
|
dependencies. Otherwise .. Luarocks? Refer to `default.nix` and
|
||||||
|
`shell.nix` and obtain:
|
||||||
|
|
||||||
|
* All Lua packages listed in any `lua5_3.withPackages` stanza
|
||||||
|
* All system packages listed in any `buildInputs` or `nativeBuildInputs`
|
||||||
|
stanzas.
|
||||||
|
|
||||||
|
To run the browser,
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ fennel dunlin.fnl
|
||||||
|
```
|
||||||
|
|
||||||
Dunlin will open a socket in `$XDG_RUNTIME_DIR` to allow communication
|
Dunlin will open a socket in `$XDG_RUNTIME_DIR` to allow communication
|
||||||
with a Fennel REPL. The repl.sh script uses
|
with a Fennel REPL. You can run the `repl.sh` script to connect to it
|
||||||
[socat](http://www.dest-unreach.org/socat/) to connect to it.
|
with [socat](http://www.dest-unreach.org/socat/).
|
||||||
|
|
||||||
|
### Running tests
|
||||||
|
|
||||||
|
Tests are in `test/*.fnl`. The test coverage is not 100% nor will it
|
||||||
|
ever be, probably: tests exist only for the bits that were hard to
|
||||||
|
write (algorithmically complex) and easy to test (not full of UI).
|
||||||
|
|
||||||
|
`make watch` will watch the filesystem in this directory and run the
|
||||||
|
tests whenever something changes.
|
||||||
|
|
||||||
|
### Running everything
|
||||||
|
|
||||||
|
There's a `Procfile` that starts the test runner and a Fennel repl and
|
||||||
|
probably in time some other useful things. I use it with [Overmind](https://github.com/DarthSim/overmind#readme) - `overmind start -D; overmind connect`
|
||||||
|
to create a tmux session.
|
||||||
|
Loading…
Reference in New Issue
Block a user