summaryrefslogtreecommitdiff
path: root/docs/mainpage.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/mainpage.md')
-rw-r--r--docs/mainpage.md91
1 files changed, 91 insertions, 0 deletions
diff --git a/docs/mainpage.md b/docs/mainpage.md
new file mode 100644
index 000000000..c1b7a0c21
--- /dev/null
+++ b/docs/mainpage.md
@@ -0,0 +1,91 @@
+NetSurf web browser
+===================
+
+The NetSurf code makes use of Doxygen for code documentation.
+
+User Interface
+--------------
+
+There are some basic user guides for the
+[framebuffer](docs/using-framebuffer.md) and
+[monkey](docs/using-monkey.md) frontends.
+
+The [core user options](docs/netsurf-options.md) of the browser are
+documented which are augmented by each frontend in a specific manner.
+
+Documented API
+--------------
+
+There are several documents which detail specific aspects of the
+codebase and APIs.
+
+### Core window
+
+The [core window API](docs/core-window-interface.md) allows frontends
+to use generic core code for user interface elements beyond the
+browser render.
+
+### Source object caching
+
+The [source object caching](docs/source-object-backing-store.md)
+provides a way for downloaded content to be kept on a persistent
+storage medium such as hard disc to make future retrieval of that
+content quickly.
+
+### Javascript
+
+JavaScript is provided by integrating the duktape library. There are [instructions](docs/updating-duktape.md) on how to update the library.
+
+A list of [unimplemented DOM and CSSOM methods](unimplemented.html)
+is available outlining the remaining API that have to be implemented.
+
+Development
+-----------
+
+Compiling a development edition of NetSurf requires a POSIX style
+environment. Typically this means a Linux based system although Free
+BSD, Open BSD, Mac OS X and Haiku all known to work.
+
+### Working with the team
+
+Generally it is sensible to check with the other developers if you are
+planning to make a change to NetSurf intended to be merged.
+
+We are often about on the IRC channel but failing that the developer
+mailing list is a good place to try.
+
+All the project sources are held in [public git repositories](http://source.netsurf-browser.org/)
+
+### Toolchains
+
+Compilation for non POSIX toolkits/frontends (e.g. RISC OS) generally
+relies upon a cross compilation environment which is generated using
+the makefiles found in our
+[toolchains](http://source.netsurf-browser.org/toolchains.git/)
+repository. These toolchains are built by the Continuous Integration
+(CI) system and the
+[results of the system](http://ci.netsurf-browser.org/builds/toolchains/)
+are published as a convenience.
+
+### Quick setup
+
+The [quick start guide](docs/quick-start.md) can be used to get a
+development environment setup quickly and uses the
+[env.sh](env_8sh_source.html) script the core team utilises.
+
+### Manual setup
+
+The Manual environment setup and compilation method is covered by the
+details in the [netsurf libraries](docs/netsurf-libraries.md) document
+for the core libraries and then one of the building documents for the
+specific frontend.
+
+- [Amiga Os cross](docs/building-AmigaCross.md) and [Amiga OS](docs/building-AmigaOS.md)
+- [Framebuffer](docs/building-Framebuffer.md)
+- [GTK](docs/building-GTK.md)
+- [Haiku (BeOS)](docs/building-Haiku.md)
+- [Windows Win32](docs/building-Windows.md)
+
+These documents are sometimes not completely up to
+date and the env.sh script should be considered canonical.
+