|
6 years ago | |
---|---|---|
adblock | 6 years ago | |
cmd | 6 years ago | |
data | 6 years ago | |
exten | 6 years ago | |
golem | 6 years ago | |
gtk | 6 years ago | |
pdf.js@8614c17c1d | 6 years ago | |
webkit | 6 years ago | |
xdg | 6 years ago | |
.gitignore | 6 years ago | |
.gitmodules | 6 years ago | |
LICENSE | 6 years ago | |
Makefile | 6 years ago | |
README.md | 6 years ago | |
TODO.md | 6 years ago | |
main.go | 6 years ago | |
signals_linux.go | 6 years ago | |
socket_unix.go | 6 years ago |
Go away. Nothing to see here. Yet.
go get
/ go generate
Golem does not follow go conventions that go generate
is to be run by the
author and generated code stored in the repository.
Reason for this is that platform the generated code includes a platform- dependant shared object file.
As golem is not a library, the fact that it doesn't directly function with
go get
is not a huge loss.
To install golem with the go
command, instead execute:
go get -d github.com/tkerber/golem
go generate .../golem
go install .../golem
go generate
requires the following programs to execute:
go-bindata
which can be obtained with go get github.com/jteeuwen/go-bindata
go-version
(go get github.com/tkerber/go-version
)node
i.e. node.jsCLOSURE_COMPILER
is set for go generate
,
the closure compiler will be used to produce a minified version of pdf.js
instead.node
is not required is pdf.js in disabled entirely. This can be done by
removing it as a target in the Makefile
.
The name golem
was chosen to remind people of what this browser should not
be: Slow and cumbersome.
The options I considered for the choice of layout engine were Gecko and Webkit. Having using webkit-based browsers much in the past, and having seen many bugs attributed to them in fact being webkit bugs I was originally inclined to use gecko.
Unfortunately gecko is (no longer) built for embedding into applications, and it has no stable API to do so. As a result a gecko-based browser would be very difficult to maintain.
I chose to use webkit instead, and to focus the energy on ensuring that webkit can crash at most one tab at a time.