aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorj-james2022-07-02 06:17:16 +0000
committerj-james2022-07-05 01:28:24 +0000
commit97fe1fc1052a35c471dccd0413bb9092e821f009 (patch)
treec69ad725dca665b45b76739293eac6a253244d26
parente37f8e8e38cac6d1c93a4c4bff5874deba4ec5bf (diff)
Create README and move license
-rw-r--r--LICENSE.md (renamed from LICENSE)0
-rw-r--r--README.md9
2 files changed, 9 insertions, 0 deletions
diff --git a/LICENSE b/LICENSE.md
index 961f981..961f981 100644
--- a/LICENSE
+++ b/LICENSE.md
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..23d5fac
--- /dev/null
+++ b/README.md
@@ -0,0 +1,9 @@
+# bamboo
+
+A lightweight and flexible web browser built from scratch.
+
+This project currently includes an implementation of most of HTTP, a (fragile) HTML parser, an OpenGL-based renderer, and a basic style engine. This is planned to include the rest of HTTP, an implementation of HTML5, an implementation of CSS3, a JavaScript compilation target (to run in the browser), and JavaScript support through an embedded external library.
+
+This does not implement TCP or UDP, and instead relies on Nim's [`std/net`](https://nim-lang.org/docs/net.html) to provide a cross-platform implementation of Berkeley Sockets. This also relies on [`treeform/[windy,`](https://github.com/treeform/windy)[`boxy]`](https://github.com/treeform/boxy) for a cross-platform windowing API, and [`treeform/pixie`](https://github.com/treeform/pixie) for a Skia-like graphics engine.
+
+`bamboo` is primarily a learning project, but also happens to be a lightweight and embeddable browser due to its multiple frontends and backends and minimal dependencies. As it is a learning project first and foremost, many features better provided by the standard library have been reimplemented here (notably HTML and URI parsing).