From 5f5fa631013417dd4c9010e3b12084f3bd805895 Mon Sep 17 00:00:00 2001 From: Daniel Silverstone Date: Sun, 1 Jul 2012 13:18:47 +0100 Subject: Transfer current state of netsurfweb as a fresh line of history --- about/awards.en | 87 ++ about/index.en | 210 +++ about/licence.en | 231 +++ about/news.en | 156 ++ about/screenshots/images/amiga-bbc.jpg | Bin 0 -> 157451 bytes about/screenshots/images/amiga-netsurf.jpg | Bin 0 -> 209777 bytes about/screenshots/images/amiga-wikipedia.png | Bin 0 -> 249045 bytes about/screenshots/images/amigathumb-bbc.png | Bin 0 -> 51944 bytes about/screenshots/images/amigathumb-netsurf.png | Bin 0 -> 52186 bytes about/screenshots/images/amigathumb-wikipedia.png | Bin 0 -> 49574 bytes about/screenshots/images/atari-bbc.png | Bin 0 -> 109031 bytes about/screenshots/images/atari-netsurf.png | Bin 0 -> 127453 bytes about/screenshots/images/atari-wikipedia.png | Bin 0 -> 141049 bytes about/screenshots/images/atarithumb-bbc.png | Bin 0 -> 31525 bytes about/screenshots/images/atarithumb-netsurf.png | Bin 0 -> 41156 bytes about/screenshots/images/atarithumb-wikipedia.png | Bin 0 -> 43378 bytes about/screenshots/images/beos-bbc.png | Bin 0 -> 167455 bytes about/screenshots/images/beos-netsurf.png | Bin 0 -> 147832 bytes about/screenshots/images/beos-wikipedia.png | Bin 0 -> 150617 bytes about/screenshots/images/beosthumb-bbc.png | Bin 0 -> 30338 bytes about/screenshots/images/beosthumb-netsurf.png | Bin 0 -> 35258 bytes about/screenshots/images/beosthumb-wikipedia.png | Bin 0 -> 37499 bytes about/screenshots/images/cocoa-bbc.png | Bin 0 -> 228162 bytes about/screenshots/images/cocoa-netsurf.png | Bin 0 -> 248269 bytes about/screenshots/images/cocoa-wikipedia.png | Bin 0 -> 276024 bytes about/screenshots/images/cocoathumb-bbc.png | Bin 0 -> 32707 bytes about/screenshots/images/cocoathumb-netsurf.png | Bin 0 -> 40185 bytes about/screenshots/images/cocoathumb-wikipedia.png | Bin 0 -> 41480 bytes about/screenshots/images/framebuffer-bbc.png | Bin 0 -> 391314 bytes about/screenshots/images/framebuffer-netsurf.png | Bin 0 -> 214766 bytes about/screenshots/images/framebuffer-wikipedia.png | Bin 0 -> 235396 bytes about/screenshots/images/framebufferthumb-bbc.png | Bin 0 -> 45685 bytes .../images/framebufferthumb-netsurf.png | Bin 0 -> 40709 bytes .../images/framebufferthumb-wikipedia.png | Bin 0 -> 44973 bytes about/screenshots/images/gtk-bbc.png | Bin 0 -> 409398 bytes about/screenshots/images/gtk-netsurf.png | Bin 0 -> 250449 bytes about/screenshots/images/gtk-wikipedia.png | Bin 0 -> 273316 bytes about/screenshots/images/gtkthumb-bbc.png | Bin 0 -> 48981 bytes about/screenshots/images/gtkthumb-netsurf.png | Bin 0 -> 45702 bytes about/screenshots/images/gtkthumb-wikipedia.png | Bin 0 -> 49689 bytes about/screenshots/images/riscos-bbc.png | Bin 0 -> 393285 bytes about/screenshots/images/riscos-netsurf.png | Bin 0 -> 201422 bytes about/screenshots/images/riscos-wikipedia.png | Bin 0 -> 219916 bytes about/screenshots/images/riscosthumb-bbc.png | Bin 0 -> 46510 bytes about/screenshots/images/riscosthumb-netsurf.png | Bin 0 -> 42834 bytes about/screenshots/images/riscosthumb-wikipedia.png | Bin 0 -> 47646 bytes about/screenshots/images/windows-bbc.png | Bin 0 -> 384812 bytes about/screenshots/images/windows-netsurf.png | Bin 0 -> 233487 bytes about/screenshots/images/windows-wikipedia.png | Bin 0 -> 265902 bytes about/screenshots/images/windowsthumb-bbc.png | Bin 0 -> 65363 bytes about/screenshots/images/windowsthumb-netsurf.png | Bin 0 -> 67439 bytes .../screenshots/images/windowsthumb-wikipedia.png | Bin 0 -> 75054 bytes about/screenshots/index.en | 157 ++ about/screenshots/window.png | Bin 0 -> 3510 bytes about/team.en | 205 +++ about/thanks.en | 148 ++ cgissi.fcgi | 638 +++++++++ contact/index.en | 134 ++ developers/StyleGuide.pdf | Bin 0 -> 48560 bytes developers/contribute.en | 124 ++ developers/gsoc/2008ideas.en | 235 +++ developers/gsoc/2009ideas.en | 280 ++++ developers/gsoc/index.en | 146 ++ developers/index.en | 156 ++ developers/publicity.en | 101 ++ documentation/develop.en | 150 ++ documentation/guide.en | 1514 ++++++++++++++++++++ documentation/images/back.png | Bin 0 -> 708 bytes documentation/images/bwin.png | Bin 0 -> 48631 bytes documentation/images/cache.png | Bin 0 -> 2047 bytes documentation/images/connect.png | Bin 0 -> 2312 bytes documentation/images/content.png | Bin 0 -> 1005 bytes documentation/images/create.png | Bin 0 -> 656 bytes documentation/images/delete.png | Bin 0 -> 830 bytes documentation/images/dwnld.png | Bin 0 -> 32431 bytes documentation/images/expand.png | Bin 0 -> 631 bytes documentation/images/fonts.png | Bin 0 -> 1209 bytes documentation/images/forward.png | Bin 0 -> 815 bytes documentation/images/history.png | Bin 0 -> 889 bytes documentation/images/home.png | Bin 0 -> 903 bytes documentation/images/homeconf.png | Bin 0 -> 1316 bytes documentation/images/hotlist.png | Bin 0 -> 1121 bytes documentation/images/images.png | Bin 0 -> 1871 bytes documentation/images/interface.png | Bin 0 -> 1857 bytes documentation/images/language.png | Bin 0 -> 2200 bytes documentation/images/launch.png | Bin 0 -> 481 bytes documentation/images/memory.png | Bin 0 -> 1725 bytes documentation/images/open.png | Bin 0 -> 757 bytes documentation/images/print.png | Bin 0 -> 715 bytes documentation/images/reload.png | Bin 0 -> 1091 bytes documentation/images/resinstall/boot.png | Bin 0 -> 9211 bytes documentation/images/resinstall/bootinstall.png | Bin 0 -> 6927 bytes documentation/images/resinstall/configure.png | Bin 0 -> 30836 bytes documentation/images/resinstall/system.png | Bin 0 -> 7308 bytes documentation/images/save.png | Bin 0 -> 782 bytes documentation/images/scale.png | Bin 0 -> 855 bytes documentation/images/search.png | Bin 0 -> 1070 bytes documentation/images/security.png | Bin 0 -> 1858 bytes documentation/images/stop.png | Bin 0 -> 1068 bytes documentation/images/themes.png | Bin 0 -> 2529 bytes documentation/images/up.png | Bin 0 -> 703 bytes documentation/index.en | 209 +++ documentation/info.en | 140 ++ documentation/nstheme.en | 156 ++ documentation/progress.en | 300 ++++ documentation/resinstall.en | 129 ++ documentation/robuild.en | 107 ++ documentation/roinfo.en | 186 +++ documentation/translations.en | 136 ++ downloads/amiga/index.en | 156 ++ downloads/atari/index.en | 121 ++ downloads/beos/index.en | 106 ++ downloads/extras.en | 80 ++ downloads/gtk/index.en | 204 +++ downloads/index.en | 89 ++ downloads/macosx/index.en | 129 ++ downloads/other/nstools.zip | Bin 0 -> 5904299 bytes downloads/riscos/index.en | 184 +++ downloads/riscos/testbuilds.en | 93 ++ downloads/source/index.en | 117 ++ downloads/themes/Aquatic.theme | Bin 0 -> 20635 bytes downloads/themes/Aquatici.png | Bin 0 -> 3842 bytes downloads/themes/Dinky.theme | Bin 0 -> 7972 bytes downloads/themes/Dinkyi.png | Bin 0 -> 1831 bytes downloads/themes/Iyonix.theme | Bin 0 -> 83153 bytes downloads/themes/Iyonixi.png | Bin 0 -> 14590 bytes downloads/themes/Kemp.theme | Bin 0 -> 26239 bytes downloads/themes/Kempi.png | Bin 0 -> 6494 bytes downloads/themes/Qute.theme | Bin 0 -> 30722 bytes downloads/themes/Qutei.png | Bin 0 -> 6043 bytes downloads/themes/RO5.theme | Bin 0 -> 86432 bytes downloads/themes/RO5i.png | Bin 0 -> 14612 bytes downloads/themes/Remembrance.theme | Bin 0 -> 19630 bytes downloads/themes/Remembrancei.png | Bin 0 -> 8600 bytes downloads/themes/Steel.theme | Bin 0 -> 47576 bytes downloads/themes/Steeli.png | Bin 0 -> 2986 bytes downloads/themes/index.en | 115 ++ errors/404.en | 55 + errors/406.php | 52 + index.en | 216 +++ netsurf.css | 1146 +++++++++++++++ netsurf.png | Bin 0 -> 16486 bytes projects/hubbub/index.en | 84 ++ projects/iconv/index.en | 68 + projects/index.en | 74 + projects/libcss/index.en | 145 ++ projects/libdom/index.en | 51 + projects/libnsbmp/index.en | 67 + projects/libnsfb/index.en | 63 + projects/libnsgif/index.en | 66 + projects/libparserutils/index.en | 89 ++ projects/libpencil/index.en | 47 + projects/librosprite/index.en | 71 + projects/libsvgtiny/images/svgtiger.png | Bin 0 -> 36244 bytes projects/libsvgtiny/index.en | 55 + projects/libwapcaplet/index.en | 59 + projects/projects.css | 175 +++ projects/rufl/images/rufl_chars.png | Bin 0 -> 79165 bytes projects/rufl/index.en | 74 + projects/tinct/index.en | 47 + projects/ttf2f/index.en | 69 + webimages/arrow.png | Bin 0 -> 101 bytes webimages/caution.png | Bin 0 -> 2818 bytes webimages/da2004.png | Bin 0 -> 7394 bytes webimages/da2005.jpg | Bin 0 -> 3718 bytes webimages/da2006.png | Bin 0 -> 11120 bytes webimages/da2007.png | Bin 0 -> 8098 bytes webimages/da2008.png | Bin 0 -> 6455 bytes webimages/depicture.jpg | Bin 0 -> 6404 bytes webimages/dlamiga.png | Bin 0 -> 3445 bytes webimages/dlapple.png | Bin 0 -> 3087 bytes webimages/dlatari.png | Bin 0 -> 1890 bytes webimages/dlhaiku.png | Bin 0 -> 906 bytes webimages/dllinux.png | Bin 0 -> 1983 bytes webimages/dlriscos.png | Bin 0 -> 1942 bytes webimages/dlsource.png | Bin 0 -> 3322 bytes webimages/dlwindows.png | Bin 0 -> 2785 bytes webimages/downloadarrow.png | Bin 0 -> 2798 bytes webimages/downloadbg.png | Bin 0 -> 533 bytes webimages/downloadbl.png | Bin 0 -> 456 bytes webimages/downloadbr.png | Bin 0 -> 461 bytes webimages/downloadlogo.png | Bin 0 -> 3999 bytes webimages/downloadtl.png | Bin 0 -> 463 bytes webimages/downloadtr.png | Bin 0 -> 461 bytes webimages/favicon.png | Bin 0 -> 812 bytes webimages/logoadv6.png | Bin 0 -> 9050 bytes webimages/logofoundry.png | Bin 0 -> 19658 bytes webimages/logogsoc2008.png | Bin 0 -> 33645 bytes webimages/logoppf.png | Bin 0 -> 7569 bytes webimages/logosimtec.png | Bin 0 -> 4803 bytes webimages/nav.png | Bin 0 -> 425 bytes webimages/netsurf.png | Bin 0 -> 1573 bytes webimages/nstheme.png | Bin 0 -> 1718 bytes webimages/oldnetsurf.png | Bin 0 -> 127726 bytes webimages/oldnetsurf_t.png | Bin 0 -> 34356 bytes webimages/oldthrobber.gif | Bin 0 -> 34793 bytes webimages/source.png | Bin 0 -> 2033 bytes webimages/tiba2009.png | Bin 0 -> 7757 bytes webmasters/index.en | 93 ++ welcome/index.de | 66 + welcome/index.en | 65 + welcome/index.it | 65 + welcome/index.ja | 66 + 203 files changed, 10557 insertions(+) create mode 100644 about/awards.en create mode 100644 about/index.en create mode 100644 about/licence.en create mode 100644 about/news.en create mode 100644 about/screenshots/images/amiga-bbc.jpg create mode 100644 about/screenshots/images/amiga-netsurf.jpg create mode 100644 about/screenshots/images/amiga-wikipedia.png create mode 100644 about/screenshots/images/amigathumb-bbc.png create mode 100644 about/screenshots/images/amigathumb-netsurf.png create mode 100644 about/screenshots/images/amigathumb-wikipedia.png create mode 100644 about/screenshots/images/atari-bbc.png create mode 100644 about/screenshots/images/atari-netsurf.png create mode 100644 about/screenshots/images/atari-wikipedia.png create mode 100644 about/screenshots/images/atarithumb-bbc.png create mode 100644 about/screenshots/images/atarithumb-netsurf.png create mode 100644 about/screenshots/images/atarithumb-wikipedia.png create mode 100644 about/screenshots/images/beos-bbc.png create mode 100644 about/screenshots/images/beos-netsurf.png create mode 100644 about/screenshots/images/beos-wikipedia.png create mode 100644 about/screenshots/images/beosthumb-bbc.png create mode 100644 about/screenshots/images/beosthumb-netsurf.png create mode 100644 about/screenshots/images/beosthumb-wikipedia.png create mode 100644 about/screenshots/images/cocoa-bbc.png create mode 100644 about/screenshots/images/cocoa-netsurf.png create mode 100644 about/screenshots/images/cocoa-wikipedia.png create mode 100644 about/screenshots/images/cocoathumb-bbc.png create mode 100644 about/screenshots/images/cocoathumb-netsurf.png create mode 100644 about/screenshots/images/cocoathumb-wikipedia.png create mode 100644 about/screenshots/images/framebuffer-bbc.png create mode 100644 about/screenshots/images/framebuffer-netsurf.png create mode 100644 about/screenshots/images/framebuffer-wikipedia.png create mode 100644 about/screenshots/images/framebufferthumb-bbc.png create mode 100644 about/screenshots/images/framebufferthumb-netsurf.png create mode 100644 about/screenshots/images/framebufferthumb-wikipedia.png create mode 100644 about/screenshots/images/gtk-bbc.png create mode 100644 about/screenshots/images/gtk-netsurf.png create mode 100644 about/screenshots/images/gtk-wikipedia.png create mode 100644 about/screenshots/images/gtkthumb-bbc.png create mode 100644 about/screenshots/images/gtkthumb-netsurf.png create mode 100644 about/screenshots/images/gtkthumb-wikipedia.png create mode 100644 about/screenshots/images/riscos-bbc.png create mode 100644 about/screenshots/images/riscos-netsurf.png create mode 100644 about/screenshots/images/riscos-wikipedia.png create mode 100644 about/screenshots/images/riscosthumb-bbc.png create mode 100644 about/screenshots/images/riscosthumb-netsurf.png create mode 100644 about/screenshots/images/riscosthumb-wikipedia.png create mode 100644 about/screenshots/images/windows-bbc.png create mode 100644 about/screenshots/images/windows-netsurf.png create mode 100644 about/screenshots/images/windows-wikipedia.png create mode 100644 about/screenshots/images/windowsthumb-bbc.png create mode 100644 about/screenshots/images/windowsthumb-netsurf.png create mode 100644 about/screenshots/images/windowsthumb-wikipedia.png create mode 100644 about/screenshots/index.en create mode 100644 about/screenshots/window.png create mode 100644 about/team.en create mode 100644 about/thanks.en create mode 100755 cgissi.fcgi create mode 100644 contact/index.en create mode 100644 developers/StyleGuide.pdf create mode 100644 developers/contribute.en create mode 100644 developers/gsoc/2008ideas.en create mode 100644 developers/gsoc/2009ideas.en create mode 100644 developers/gsoc/index.en create mode 100644 developers/index.en create mode 100644 developers/publicity.en create mode 100644 documentation/develop.en create mode 100644 documentation/guide.en create mode 100644 documentation/images/back.png create mode 100644 documentation/images/bwin.png create mode 100644 documentation/images/cache.png create mode 100644 documentation/images/connect.png create mode 100644 documentation/images/content.png create mode 100644 documentation/images/create.png create mode 100644 documentation/images/delete.png create mode 100644 documentation/images/dwnld.png create mode 100644 documentation/images/expand.png create mode 100644 documentation/images/fonts.png create mode 100644 documentation/images/forward.png create mode 100644 documentation/images/history.png create mode 100644 documentation/images/home.png create mode 100644 documentation/images/homeconf.png create mode 100644 documentation/images/hotlist.png create mode 100644 documentation/images/images.png create mode 100644 documentation/images/interface.png create mode 100644 documentation/images/language.png create mode 100644 documentation/images/launch.png create mode 100644 documentation/images/memory.png create mode 100644 documentation/images/open.png create mode 100644 documentation/images/print.png create mode 100644 documentation/images/reload.png create mode 100644 documentation/images/resinstall/boot.png create mode 100644 documentation/images/resinstall/bootinstall.png create mode 100644 documentation/images/resinstall/configure.png create mode 100644 documentation/images/resinstall/system.png create mode 100644 documentation/images/save.png create mode 100644 documentation/images/scale.png create mode 100644 documentation/images/search.png create mode 100644 documentation/images/security.png create mode 100644 documentation/images/stop.png create mode 100644 documentation/images/themes.png create mode 100644 documentation/images/up.png create mode 100644 documentation/index.en create mode 100644 documentation/info.en create mode 100644 documentation/nstheme.en create mode 100644 documentation/progress.en create mode 100644 documentation/resinstall.en create mode 100644 documentation/robuild.en create mode 100644 documentation/roinfo.en create mode 100644 documentation/translations.en create mode 100644 downloads/amiga/index.en create mode 100644 downloads/atari/index.en create mode 100644 downloads/beos/index.en create mode 100644 downloads/extras.en create mode 100644 downloads/gtk/index.en create mode 100644 downloads/index.en create mode 100644 downloads/macosx/index.en create mode 100644 downloads/other/nstools.zip create mode 100644 downloads/riscos/index.en create mode 100644 downloads/riscos/testbuilds.en create mode 100644 downloads/source/index.en create mode 100644 downloads/themes/Aquatic.theme create mode 100644 downloads/themes/Aquatici.png create mode 100644 downloads/themes/Dinky.theme create mode 100644 downloads/themes/Dinkyi.png create mode 100644 downloads/themes/Iyonix.theme create mode 100644 downloads/themes/Iyonixi.png create mode 100644 downloads/themes/Kemp.theme create mode 100644 downloads/themes/Kempi.png create mode 100644 downloads/themes/Qute.theme create mode 100644 downloads/themes/Qutei.png create mode 100644 downloads/themes/RO5.theme create mode 100644 downloads/themes/RO5i.png create mode 100644 downloads/themes/Remembrance.theme create mode 100644 downloads/themes/Remembrancei.png create mode 100644 downloads/themes/Steel.theme create mode 100644 downloads/themes/Steeli.png create mode 100644 downloads/themes/index.en create mode 100644 errors/404.en create mode 100644 errors/406.php create mode 100644 index.en create mode 100644 netsurf.css create mode 100644 netsurf.png create mode 100644 projects/hubbub/index.en create mode 100644 projects/iconv/index.en create mode 100644 projects/index.en create mode 100644 projects/libcss/index.en create mode 100644 projects/libdom/index.en create mode 100644 projects/libnsbmp/index.en create mode 100644 projects/libnsfb/index.en create mode 100644 projects/libnsgif/index.en create mode 100644 projects/libparserutils/index.en create mode 100644 projects/libpencil/index.en create mode 100644 projects/librosprite/index.en create mode 100644 projects/libsvgtiny/images/svgtiger.png create mode 100644 projects/libsvgtiny/index.en create mode 100644 projects/libwapcaplet/index.en create mode 100644 projects/projects.css create mode 100644 projects/rufl/images/rufl_chars.png create mode 100644 projects/rufl/index.en create mode 100644 projects/tinct/index.en create mode 100644 projects/ttf2f/index.en create mode 100644 webimages/arrow.png create mode 100644 webimages/caution.png create mode 100644 webimages/da2004.png create mode 100644 webimages/da2005.jpg create mode 100644 webimages/da2006.png create mode 100644 webimages/da2007.png create mode 100644 webimages/da2008.png create mode 100644 webimages/depicture.jpg create mode 100644 webimages/dlamiga.png create mode 100644 webimages/dlapple.png create mode 100644 webimages/dlatari.png create mode 100644 webimages/dlhaiku.png create mode 100644 webimages/dllinux.png create mode 100644 webimages/dlriscos.png create mode 100644 webimages/dlsource.png create mode 100644 webimages/dlwindows.png create mode 100644 webimages/downloadarrow.png create mode 100644 webimages/downloadbg.png create mode 100644 webimages/downloadbl.png create mode 100644 webimages/downloadbr.png create mode 100644 webimages/downloadlogo.png create mode 100644 webimages/downloadtl.png create mode 100644 webimages/downloadtr.png create mode 100644 webimages/favicon.png create mode 100644 webimages/logoadv6.png create mode 100644 webimages/logofoundry.png create mode 100644 webimages/logogsoc2008.png create mode 100644 webimages/logoppf.png create mode 100644 webimages/logosimtec.png create mode 100644 webimages/nav.png create mode 100644 webimages/netsurf.png create mode 100644 webimages/nstheme.png create mode 100644 webimages/oldnetsurf.png create mode 100644 webimages/oldnetsurf_t.png create mode 100644 webimages/oldthrobber.gif create mode 100644 webimages/source.png create mode 100644 webimages/tiba2009.png create mode 100644 webmasters/index.en create mode 100644 welcome/index.de create mode 100644 welcome/index.en create mode 100644 welcome/index.it create mode 100644 welcome/index.ja diff --git a/about/awards.en b/about/awards.en new file mode 100644 index 0000000..669b898 --- /dev/null +++ b/about/awards.en @@ -0,0 +1,87 @@ + + + +NetSurf | Awards + + + + + + + + + +
+ + + +

Awards

+ +

NetSurf picked up another accolade, winning in the "best non-commercial product" category at The Icon Bar Awards 2009. NetSurf had previously been nominated by The Icon Bar's readers.

+ +

At Drobe Launch Pad's annual awards, NetSurf triumphed again in the category for "best non-commercial software", winning the 2008 award.

+ +

NetSurf beat off stiff competition to win the 2007 award for "best non-commercial software" at Drobe Launch Pad's annual event. NetSurf was nominated for the award by Drobe's readers.

+ +

NetSurf won the Best of 2006 award at Drobe Launch Pad for "best non-commercial software" and the NetSurf development team came runner up in the category for "best overall contribution".

+ +

NetSurf and the NetSurf Developers were nominated in 2005 for the "best non-commercial software" and "best general contribution" awards in Drobe Launch Pad's prestigious annual ceremony. The NetSurf entries came runner up in both categories.

+ +

NetSurf won the award for "best non-commercial software" in the Best of 2004 awards, hosted by Drobe Launch Pad.

+ + + + +
+ + +
+ +
+ + + \ No newline at end of file diff --git a/about/index.en b/about/index.en new file mode 100644 index 0000000..160ccc3 --- /dev/null +++ b/about/index.en @@ -0,0 +1,210 @@ + + + +NetSurf | About NetSurf + + + + + + + + + +
+ + + +

About NetSurf

+ +

NetSurf is a free, open source web browser. It is written in C and released under the GNU Public Licence version 2. NetSurf has its own layout and rendering engine entirely written from scratch. It is small and capable of handling many of the web standards in use today.

+ +
+ +

Project Goals

+ +

The NetSurf project's goals and aims are:

+ +
+
Have fun
+
NetSurf is developed in people's spare time, so our main goal is to have fun – hopefully learning something and creating a product that people find useful along the way. If you want to join in, check out the developer and contributor area!
+
Adhere to the standards
+
There are many web standards. HTTP, HTML and CSS are just a few of them, and new specifications appearing all the time. The NetSurf team is devoted to implementing these standards.
+
Superior user experience
+
We want NetSurf to provide a consistent interface to the user that fits right in with your desktop environment. We aim to make NetSurf's interface clean and simple while providing access to powerful functionality.
+
Keep NetSurf small
+
NetSurf is a web browser with a small footprint, and we want to keep it that way.
+
Portability
+
We want NetSurf to be available to as many users as possible. We've already seen ports to handheld devices and would like to help anyone attempting a new port.
+
Modularity
+
Many of of the components designed for NetSurf are available separately, so that others might use them in their own projects.
+
+ +

Project History

+ +

The NetSurf project was started in April 2002 in response to a discussion of the deficiencies of the RISC OS browsers that were available at the time. NetSurf has been developed continuously ever since. The latest features and bug fixes have always been available immediately to RISC OS users through the project's autobuilder. NetSurf had become the most widely used browser on RISC OS well before NetSurf's first release, version 1.0, on 17th May 2007. Development builds have continued to be more widely used than release versions by RISC OS users.

+ +

Screenshot of an ancient NetSurf version. An old version from April 2004 displaying the Drobe web site in March 2009.

+ +

A GTK port was started in June 2004, which runs on Unix-like platforms. Initially this port was created in order to aid the development and testing of the RISC OS version. Over time, the GTK port has become a fully fledged part of the project and cemented NetSurf's commitment to portability.

+ +
+

Old NetSurf throbber animation.

+

NetSurf's exuberant throbber animation in 2004.

+
+ +

NetSurf has now been ported to many more platforms with native front ends being created for BeOS & Haiku, as well as AmigaOS 4. A dumb framebuffer port also exists, which has no particular operating system or GUI toolkit requirements.

+ +

Timeline

+ +

Some of the major events and changes in the project's history are chronicled below.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Apr 2002NetSurf project started
Jun 2004GTK port available
May 2007NetSurf 1.0 released
Jun 2007NetSurf packaged in Debian
Jun 2007Hubbub HTML parser started
Jul 2007LibDOM DOM implementation started
Aug 2007NetSurf 1.1 released
Jan 2008NetSurf web site redesigend and rewritten
Mar 2008NetSurf 1.2 released
May 2008LibCSS CSS parser started
Jun 2008BeOS & Haiku port available
Aug 2008AmigaOS 4 port available
Aug 2008Hubbub used in NetSurf builds
Sep 2008Framebuffer port available
Apr 2009NetSurf 2.0 released
May 2009NetSurf 2.1 released
Jul 2009LibCSS used in NetSurf builds
Mar 2010New cache designed and used in NetSurf
Apr 2010NetSurf 2.5 released
Sep 2010NetSurf 2.6 released
Jan 2011Atari port available
Jan 2011Mac OS X port available
Apr 2011NetSurf 2.7 released
Sep 2011Frames and iframes in NetSurf core
Sep 2011NetSurf 2.8 released
Mar 2012LibDOM used in NetSurf builds
Apr 2012NetSurf 2.9 released
+ +

GTK NetSurf screenshot. A more recent NetSurf showing Wikipedia.

+ +

Get the latest version from our download section.

+ +
+ +
+
+ +

Ports & Availability

+ +

This section explains the various NetSurf front ends and should cover whether NetSurf is available for your system. NetSurf currently has seven different front ends. These are for RISC OS, GTK, BeOS, AmigaOS, Atari, Mac OS X and dumb framebuffers.

+ +

Desktop front ends

+ +

The RISC OS front end is suitable for RISC OS 4 and greater. The AmigaOS front end is suitable for AmigaOS 4. The BeOS front end works on BeOS, Zeta and Haiku. The Mac OS X port requires at least version 10.5.

+ +

GTK NetSurf screenshot. NetSurf's GTK front end showing the BBC Homepage.

+ +

NetSurf's GTK front end works on Unix-like systems, including Linux, FreeBSD, NetBSD, Solaris and others. There are no native Windows or MacOS X ports of NetSurf at the moment, however the GTK front end can be built for those platforms. The GTK front end is available from the package repositories of many Linux distributions including Debian and Ubuntu.

+ +

Framebuffer front end

+ +

NetSurf's framebuffer front end has no particular operating system or GUI toolkit requirements. Its mouse pointer, all its widgets etc, are drawn though NetSurf's internal plotters, the same rendering interface used to draw web pages. This makes the framebuffer front end highly portable. Currently the framebuffer front end can target the following framebuffer surface providers:

+ +
+
The Linux framebuffer
+
Output to a Linux framebuffer and input from Linux input event device nodes. The output device may be specified and defaults to /dev/fb0. The input node search path may also be specified, and defaults to /dev/input/.
+
SDL
+
The SDL surface is a straightforward port to the SDL library which is available for many operating systems. This allows the framebuffer NetSurf front end to be run inside a desktop window, making development easier.
+
X
+
The X surface uses the XCB. This allows the framebuffer NetSurf front end to be run inside an X desktop window, making development easier.
+
VNC
+
The VNC server surface uses the libvncserver library to provide a straightforward unsecured VNC server. Multiple clients may connect.
+
The ABLE framebuffer
+
This surface handler enables NetSurf's framebuffer front end to run directly on the ABLE bootloader, shipped with hardware from Simtec.
+
+ +

Releases vs Development trunk

+ +

Users can run our release versions of NetSurf, or they can run development versions. Our release versions are tested and released when we are happy with them. Development versions are snapshots of the current state of the code, as the developers are working on it. These versions may have newer features or bug fixes that haven't made it into a release yet, however (depending on what the developers are doing) they might also have new bugs, instability, or they may produce reams of debugging output.

+ +

We recommend users use the release versions, unless they particularly want to help us by reporting issues with development versions. People building NetSurf from source are encouraged to build the current HEAD, rather than a release, as it is most up-to-date and has features that may not yet have been released.

+ +

NetSurf in Action

+ +

Since NetSurf started out on RISC OS hardware, which is not particularly fast – the most widely used RISC OS hardware is a 200 MHz StrongARM RiscPC – so it runs well on resource constrained hardware such as handhelds. Even on fast modern desktops, users benefit from NetSurf's efficiency through its fast startup time and lightweight approach.

+ +

Photo of NetSurf running on a Simtec DePicture.

+ +

The image above shows NetSurf's framebuffer front end running on top of a Simtec DePicture's bootloader! It's using an ARM9-based Samsung S3C2440 CPU running at 400 MHz.

+ +

People also use NetSurf on other handheld gadgets, such as the Openmoko mobile phone and the Nokia N810 internet tablet. NetSurf's full page scaling abilities help it to make the best use of a small screen.

+ +

Want to help?

+ +

The NetSurf project needs help and input if it is to keep moving forward. There are many ways for users to contribute to the NetSurf project. One of the simplest is to try the latest development build regularly. If you find any bugs, features you like or changes you don't like you can give feedback to the developers. It is this valuable feedback that helps shape NetSurf into a program people enjoy using.

+ +

Visit the "How can I help?" page to see other ideas for contributing to the project. If you can program and you'd like to improve NetSurf, then we'd love to hear from you. Pick an area you'd like to improve or a feature you want to add and contact the developers. Also, take a look at the developer and contributor area of this site.

+ +
+
+ + + + +
+ + +
+ +
+ + + diff --git a/about/licence.en b/about/licence.en new file mode 100644 index 0000000..03bdfb3 --- /dev/null +++ b/about/licence.en @@ -0,0 +1,231 @@ + + + +NetSurf | Licence + + + + + + + + + +
+ + + +

NetSurf Licence

+ +

The source code, documentation, translatable messages files and UI definitions contained within NetSurf are licensed under the following terms:

+ +
+ +

NetSurf is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.

+ +

In addition, as a special exception, permission is granted to link the code of this release of NetSurf with the OpenSSL project's "OpenSSL" library (or with modified versions of it that use the same licence as the "OpenSSL" library), and distribute the linked executables. You must obey the GNU General Public License version 2 in all respects for all of the code used other than "OpenSSL". If you modify the code, you may extend this exception to your version of the code, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.

+ +
+ +

All visual artwork contained within NetSurf is licensed under the terms of the MIT License.

+ +

The full text of the MIT and GPL licenses are provided in Annex A and Annex B of this document.

+ +

Annex A: The MIT License

+ +
+ +

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+ +

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+ +

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ +
+ +

Annex B: The GNU General Public License

+ +
+ + +

GNU GENERAL PUBLIC LICENSE

+

Version 2, June 1991

+ +

Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

+ +

+Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed.

+ + +

Preamble

+ +

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.

+ +

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

+ +

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

+ +

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

+ +

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

+ +

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

+ +

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

+ +

The precise terms and conditions for copying, distribution and modification follow.

+ +

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

+ +

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

+ +

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

+ +

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

+ +

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

+ +

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

+ +
+
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+ +

These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

+ +

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

+ +

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

+ +

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

+ + +
+
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+ +

The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

+ +

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

+ +

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

+ +

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

+ +

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

+ +

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

+ +

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

+ +

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

+ +

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

+ +

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

+ +

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.

+ +

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

+ +

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

+ +

NO WARRANTY

+ +

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

+ +

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

+ +

END OF TERMS AND CONDITIONS

+ +

How to Apply These Terms to Your New Programs

+ +

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

+ +

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

+ +

<one line to give the program's name and an idea of what it does.>
Copyright (C) <yyyy> <name of author>

+ +

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

+ +

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

+ +

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

+ +

Also add information on how to contact you by electronic and paper mail.

+ +

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

+ +

Gnomovision version 69, Copyright (C) <year> <name of author>
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.

+ +

The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.

+ +

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

+ +

Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.

<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice

+ +

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.

+ +
+ + + + +
+ + +
+ +
+ + + \ No newline at end of file diff --git a/about/news.en b/about/news.en new file mode 100644 index 0000000..db3308a --- /dev/null +++ b/about/news.en @@ -0,0 +1,156 @@ + + + +NetSurf | News + + + + + + + + + +
+ + + +

News

+ +
+
NetSurf 2.9 released 28 Apr 2012
+
NetSurf 2.9 contains many improvements over the previous release. The most significant changes are new multi-tasking behaviour, optimised URL handling, fetcher optimisations, cache optimisations, and faster CSS selection. Full details in the change log. We recommend all users upgrade.
+
LibDOM progress 26 Mar 2012
+
The NetSurf Developers held a developer workshop over the weekend, during which much progress was made on LibDOM which sits at the heart of our NetSurf 3.0 plans. NetSurf trunk is now using the LibDOM library in place of LibXML2, and we hope to extract several benefits from this change over the coming months. Thanks to Collabora who kindly hosted the workshop.
+
New home for TTF2f 07 Dec 2011
+
The RISC OS font conversion utility TTF2f has a new web page here, on the NetSurf site. It is capable of converting TrueType, OpenType and other formats to the native RISC OS format. It supports conversion of large fonts with wide Unicode coverage. Anyone wishing to develop TTF2f further should get in touch!
+
NetSurf 2.8 released 21 Sep 2011
+
NetSurf 2.8 adds support for frames and iframes on all platforms, MIME type sniffing, and a new image cache. Image decoding can now be deferred until images are required for more optimal resource use and faster page load times. The release also incorporates many other new features, optimisations, improvements and bug fixes. Full details in the change log. We recommend all users upgrade.
+
NetSurf 2.7 released 16 Apr 2011
+
NetSurf 2.7 contains many improvements over the previous release. The most significant change is the addition of core global history, bookmarks and cookie management features. Full details in the change log. We recommend all users upgrade.
+
Mac OS X port and other frontend news 20 Jan 2011
+
A new Mac OS X port has been created. It can be built from source, following the instructions in the source tree. An Atari port has also been created, and the Windows, AmigaOS, GTK and RISC OS ports all continue to be developed.
+
NetSurf 2.6 released 21 Sep 2010
+
NetSurf 2.6 is primarily a bug fix release. It contains some improvements to page rendering, fetching & caching, memory usage, as well as some front-end specific fixes. Full details in the change log. We recommend all users upgrade.
+
NetSurf 2.5 released 24 Apr 2010
+
NetSurf 2.5 contains many improvements over the previous release. The major changes are the use of our brand new CSS parser and selection engine (LibCSS), and a newly designed cache for fetched content. Full details in the change log. We recommend all users upgrade.
+
NetSurf at Wakefield Show 2010 14 Jan 2010
+
NetSurf 2.5 is expected to be released at the Wakefield RISC OS Show. The release will focus on the CSS engine, memory usage and speed, as well as fixing bugs. NetSurf 2.5 is likely to be the last release for RISC OS.
+
NetSurf in The Icon Bar Awards 2009 01 Jan 2010
+
NetSurf won in the category of "Best non-commercial product" in The Icon Bar's 2009 RISC OS awards. Thanks to everyone who voted for us!
+
Google Summer of Code Roundup 15 Sep 2009
+
As many of you know, NetSurf has participated in Google Summer of Code for a second consecutive year. This year we ran three projects which have all been of great benefit to the project.
+
New developers sought 06 Aug 2009
+
A maintainer is required for the RISC OS front end. Also anyone with Perl scripting ability could help overhaul the autobuilder.
+
NetSurf 2.1 released 23 May 2009
+
NetSurf 2.1 is a bug fix release. It contains some improvements to page rendering as well as some front-end specific fixes. Full details in the change log. We recommend all users upgrade.
+
NetSurf as an embedded web kiosk 12 May 2009
+
Media watch: LinuxDevices has put up a tutorial for setting up NetSurf's framebuffer front end on embedded linux devices and creating a web kiosk.
+
NetSurf 2.0 released 25 Apr 2009
+
NetSurf 2 is a major update over the 1.x release series, and represents almost two years of development. New features include a new HTML parser, SVG support, PDF export, improved page layout and a more complete GTK interface. This is also the first release for our new framebuffer target and the native ports to AmigaOS, BeOS and Haiku.
+
GSoC students selected 20 Apr 2009
+
This year we will have students working on a Document Object Model implementation, the usability and feature set of NetSurf's core multi-platform interface, and adding features to the GTK front end.
+
Google Summer of Code 18 Mar 2009
+
NetSurf has been accepted into Google Summer of Code 2009, as a mentoring organisation. Students interested in getting involved should check out our project ideas.
+
NetSurf 2.0 plan & summary of recent development 09 Mar 2009
+
NetSurf 2.0 to be released next month. Recent changes to page layout, form submission improved, upgraded AmigaOS port, framebuffer front end advanced and many other changes.
+
Another year, another accolade 07 Jan 2009
+
At the end of a busy year for NetSurf, with the release of NetSurf 1.2, the development of many new features, ports to new operating systems and participation in Google Summer of Code, NetSurf was voted for an award by Drobe's venerable readership. Thanks to everyone who voted for us!
+
Summary of recent developments 09 Nov 2008
+
New framebuffer port, better CSS support, improved page layout, tabbed browsing improvements, new features and functionality for BeOS and AmigaOS ports.
+
AmigaOS and BeOS ports 18 Aug 2008
+
New native port to AmigaOS and work on the BeOS port continues. Both ports are at an early stage, but usable.
+
Summary of recent developments 17 Aug 2008
+
Bumper development summary, including performance and page layout improvements, better text selection handling, vastly improved GTK front end, ports to new platforms and Google Summer of Code round-up.
+
Now using Hubbub 11 Aug 2008
+
NetSurf now uses Hubbub, our new HTML parser which is compliant with the HTML5 specification. This fixes many issues and ensures we handle broken HTML in the same way as the other mainstream browsers.
+
BeOS port started 03 Jun 2008
+
NetSurf is now running natively on the BeOS operating system. The early port is available from SVN.
+
GSoC projects selected 22 Apr 2008
+
The student projects that will be carried out this summer have been announced. See our GSoC page for details.
+
NetSurf 1.2 released 22 Mar 2008
+
The second update to NetSurf 1 has been released. It offers several bug fixes over the previous release and we recommend that users upgrade.
+
Google Summer of Code 17 Mar 2008
+
NetSurf is participating in Google Summer of Code 2008, as a mentoring organisation. Students interested in getting involved should apply to Google. More information on our GSoC page.
+
Summary of recent development 02 Mar 2008
+
Pages are now periodically reflowed as images are downloaded. Handling of presentational markup is improved. Better form element handling and many other fixes and improvements.
+
Summary of recent development 03 Feb 2008
+
NetSurf's cookie and HTTP redirect support have been enhanced. Layout upgrades, including better form element display and float positioning. SVG redraw is now faster on RISC OS.
+
NetSurf web site redesigned 02 Jan 2008
+
We've redesigned the web site to make it easier to navigate. Much of the content has been rewritten to make it clear that NetSurf is a multi-platform web browser.
+
Summary of recent development 02 Jan 2008
+
Recent work on the development branch of NetSurf has added SVG support to the GTK build and the beginnings of SVG Tiny support to the RISC OS version. Other changes have included refinements to the web page scaling facilities.
+
NetSurf 1.1 released 13 Aug 2007
+
The first update to NetSurf 1 has been released. It offers several bug fixes over the previous release and we recommend that users upgrade.
+
NetSurf in Debian testing 03 Jun 2007
+
NetSurf is now packaged in Debian linux. Currently it is in Debian testing.
+
NetSurf 1.0 released 19 May 2007
+
The first stable release of NetSurf is now available. The NetSurf project was first started in 2003 and development builds have been available from the project web site since then.
+
Media watch 04 Dec 2006
+
An article at The Iconbar reviews recent developments and discusses future plans for the project.
+
Moved to subversion 09 Apr 2006
+
We have migrated to Subversion, a more powerful and advanced versioning system than CVS.
+
The road to 1.0 25 Mar 2006
+
Our plans for version 1.0 for the RISC OS and GTK builds.
+
Experimental GTK port 22 Jun 2004
+
A new GTK front end has been checked in. It allows NetSurf to be tested on Uinx-like systems.
+
Sourceforge project registered 19 Apr 2002
+
After an online discussion about the deficiencies of existing web browser on the RISC OS plaform, the NetSurf web browser project has been started.
+
+ + + + +
+ + +
+ +
+ + + \ No newline at end of file diff --git a/about/screenshots/images/amiga-bbc.jpg b/about/screenshots/images/amiga-bbc.jpg new file mode 100644 index 0000000..9f81de2 Binary files /dev/null and b/about/screenshots/images/amiga-bbc.jpg differ diff --git a/about/screenshots/images/amiga-netsurf.jpg b/about/screenshots/images/amiga-netsurf.jpg new file mode 100644 index 0000000..fb89848 Binary files /dev/null and b/about/screenshots/images/amiga-netsurf.jpg differ diff --git a/about/screenshots/images/amiga-wikipedia.png b/about/screenshots/images/amiga-wikipedia.png new file mode 100644 index 0000000..b1c3f7d Binary files /dev/null and b/about/screenshots/images/amiga-wikipedia.png differ diff --git a/about/screenshots/images/amigathumb-bbc.png b/about/screenshots/images/amigathumb-bbc.png new file mode 100644 index 0000000..bd57eae Binary files /dev/null and b/about/screenshots/images/amigathumb-bbc.png differ diff --git a/about/screenshots/images/amigathumb-netsurf.png b/about/screenshots/images/amigathumb-netsurf.png new file mode 100644 index 0000000..ea06d06 Binary files /dev/null and b/about/screenshots/images/amigathumb-netsurf.png differ diff --git a/about/screenshots/images/amigathumb-wikipedia.png b/about/screenshots/images/amigathumb-wikipedia.png new file mode 100644 index 0000000..b7636c9 Binary files /dev/null and b/about/screenshots/images/amigathumb-wikipedia.png differ diff --git a/about/screenshots/images/atari-bbc.png b/about/screenshots/images/atari-bbc.png new file mode 100644 index 0000000..872ddbc Binary files /dev/null and b/about/screenshots/images/atari-bbc.png differ diff --git a/about/screenshots/images/atari-netsurf.png b/about/screenshots/images/atari-netsurf.png new file mode 100644 index 0000000..0b9f9cd Binary files /dev/null and b/about/screenshots/images/atari-netsurf.png differ diff --git a/about/screenshots/images/atari-wikipedia.png b/about/screenshots/images/atari-wikipedia.png new file mode 100644 index 0000000..a9b8dc4 Binary files /dev/null and b/about/screenshots/images/atari-wikipedia.png differ diff --git a/about/screenshots/images/atarithumb-bbc.png b/about/screenshots/images/atarithumb-bbc.png new file mode 100644 index 0000000..25a1139 Binary files /dev/null and b/about/screenshots/images/atarithumb-bbc.png differ diff --git a/about/screenshots/images/atarithumb-netsurf.png b/about/screenshots/images/atarithumb-netsurf.png new file mode 100644 index 0000000..54f98cb Binary files /dev/null and b/about/screenshots/images/atarithumb-netsurf.png differ diff --git a/about/screenshots/images/atarithumb-wikipedia.png b/about/screenshots/images/atarithumb-wikipedia.png new file mode 100644 index 0000000..e5177d5 Binary files /dev/null and b/about/screenshots/images/atarithumb-wikipedia.png differ diff --git a/about/screenshots/images/beos-bbc.png b/about/screenshots/images/beos-bbc.png new file mode 100644 index 0000000..f0d898d Binary files /dev/null and b/about/screenshots/images/beos-bbc.png differ diff --git a/about/screenshots/images/beos-netsurf.png b/about/screenshots/images/beos-netsurf.png new file mode 100644 index 0000000..8581b89 Binary files /dev/null and b/about/screenshots/images/beos-netsurf.png differ diff --git a/about/screenshots/images/beos-wikipedia.png b/about/screenshots/images/beos-wikipedia.png new file mode 100644 index 0000000..e67adac Binary files /dev/null and b/about/screenshots/images/beos-wikipedia.png differ diff --git a/about/screenshots/images/beosthumb-bbc.png b/about/screenshots/images/beosthumb-bbc.png new file mode 100644 index 0000000..3f9df12 Binary files /dev/null and b/about/screenshots/images/beosthumb-bbc.png differ diff --git a/about/screenshots/images/beosthumb-netsurf.png b/about/screenshots/images/beosthumb-netsurf.png new file mode 100644 index 0000000..04d40c5 Binary files /dev/null and b/about/screenshots/images/beosthumb-netsurf.png differ diff --git a/about/screenshots/images/beosthumb-wikipedia.png b/about/screenshots/images/beosthumb-wikipedia.png new file mode 100644 index 0000000..10da511 Binary files /dev/null and b/about/screenshots/images/beosthumb-wikipedia.png differ diff --git a/about/screenshots/images/cocoa-bbc.png b/about/screenshots/images/cocoa-bbc.png new file mode 100644 index 0000000..0e3b35c Binary files /dev/null and b/about/screenshots/images/cocoa-bbc.png differ diff --git a/about/screenshots/images/cocoa-netsurf.png b/about/screenshots/images/cocoa-netsurf.png new file mode 100644 index 0000000..198ee4c Binary files /dev/null and b/about/screenshots/images/cocoa-netsurf.png differ diff --git a/about/screenshots/images/cocoa-wikipedia.png b/about/screenshots/images/cocoa-wikipedia.png new file mode 100644 index 0000000..d634ce7 Binary files /dev/null and b/about/screenshots/images/cocoa-wikipedia.png differ diff --git a/about/screenshots/images/cocoathumb-bbc.png b/about/screenshots/images/cocoathumb-bbc.png new file mode 100644 index 0000000..cfdd34a Binary files /dev/null and b/about/screenshots/images/cocoathumb-bbc.png differ diff --git a/about/screenshots/images/cocoathumb-netsurf.png b/about/screenshots/images/cocoathumb-netsurf.png new file mode 100644 index 0000000..54ef640 Binary files /dev/null and b/about/screenshots/images/cocoathumb-netsurf.png differ diff --git a/about/screenshots/images/cocoathumb-wikipedia.png b/about/screenshots/images/cocoathumb-wikipedia.png new file mode 100644 index 0000000..125cd63 Binary files /dev/null and b/about/screenshots/images/cocoathumb-wikipedia.png differ diff --git a/about/screenshots/images/framebuffer-bbc.png b/about/screenshots/images/framebuffer-bbc.png new file mode 100644 index 0000000..a092f84 Binary files /dev/null and b/about/screenshots/images/framebuffer-bbc.png differ diff --git a/about/screenshots/images/framebuffer-netsurf.png b/about/screenshots/images/framebuffer-netsurf.png new file mode 100644 index 0000000..e687321 Binary files /dev/null and b/about/screenshots/images/framebuffer-netsurf.png differ diff --git a/about/screenshots/images/framebuffer-wikipedia.png b/about/screenshots/images/framebuffer-wikipedia.png new file mode 100644 index 0000000..018d78f Binary files /dev/null and b/about/screenshots/images/framebuffer-wikipedia.png differ diff --git a/about/screenshots/images/framebufferthumb-bbc.png b/about/screenshots/images/framebufferthumb-bbc.png new file mode 100644 index 0000000..9d09957 Binary files /dev/null and b/about/screenshots/images/framebufferthumb-bbc.png differ diff --git a/about/screenshots/images/framebufferthumb-netsurf.png b/about/screenshots/images/framebufferthumb-netsurf.png new file mode 100644 index 0000000..1394a47 Binary files /dev/null and b/about/screenshots/images/framebufferthumb-netsurf.png differ diff --git a/about/screenshots/images/framebufferthumb-wikipedia.png b/about/screenshots/images/framebufferthumb-wikipedia.png new file mode 100644 index 0000000..9b61355 Binary files /dev/null and b/about/screenshots/images/framebufferthumb-wikipedia.png differ diff --git a/about/screenshots/images/gtk-bbc.png b/about/screenshots/images/gtk-bbc.png new file mode 100644 index 0000000..c8bba3c Binary files /dev/null and b/about/screenshots/images/gtk-bbc.png differ diff --git a/about/screenshots/images/gtk-netsurf.png b/about/screenshots/images/gtk-netsurf.png new file mode 100644 index 0000000..e410670 Binary files /dev/null and b/about/screenshots/images/gtk-netsurf.png differ diff --git a/about/screenshots/images/gtk-wikipedia.png b/about/screenshots/images/gtk-wikipedia.png new file mode 100644 index 0000000..0f531f5 Binary files /dev/null and b/about/screenshots/images/gtk-wikipedia.png differ diff --git a/about/screenshots/images/gtkthumb-bbc.png b/about/screenshots/images/gtkthumb-bbc.png new file mode 100644 index 0000000..09152d4 Binary files /dev/null and b/about/screenshots/images/gtkthumb-bbc.png differ diff --git a/about/screenshots/images/gtkthumb-netsurf.png b/about/screenshots/images/gtkthumb-netsurf.png new file mode 100644 index 0000000..4384f86 Binary files /dev/null and b/about/screenshots/images/gtkthumb-netsurf.png differ diff --git a/about/screenshots/images/gtkthumb-wikipedia.png b/about/screenshots/images/gtkthumb-wikipedia.png new file mode 100644 index 0000000..846a4af Binary files /dev/null and b/about/screenshots/images/gtkthumb-wikipedia.png differ diff --git a/about/screenshots/images/riscos-bbc.png b/about/screenshots/images/riscos-bbc.png new file mode 100644 index 0000000..0c64a92 Binary files /dev/null and b/about/screenshots/images/riscos-bbc.png differ diff --git a/about/screenshots/images/riscos-netsurf.png b/about/screenshots/images/riscos-netsurf.png new file mode 100644 index 0000000..13ccf2f Binary files /dev/null and b/about/screenshots/images/riscos-netsurf.png differ diff --git a/about/screenshots/images/riscos-wikipedia.png b/about/screenshots/images/riscos-wikipedia.png new file mode 100644 index 0000000..e81a251 Binary files /dev/null and b/about/screenshots/images/riscos-wikipedia.png differ diff --git a/about/screenshots/images/riscosthumb-bbc.png b/about/screenshots/images/riscosthumb-bbc.png new file mode 100644 index 0000000..77ca0cd Binary files /dev/null and b/about/screenshots/images/riscosthumb-bbc.png differ diff --git a/about/screenshots/images/riscosthumb-netsurf.png b/about/screenshots/images/riscosthumb-netsurf.png new file mode 100644 index 0000000..66a0ad6 Binary files /dev/null and b/about/screenshots/images/riscosthumb-netsurf.png differ diff --git a/about/screenshots/images/riscosthumb-wikipedia.png b/about/screenshots/images/riscosthumb-wikipedia.png new file mode 100644 index 0000000..7343264 Binary files /dev/null and b/about/screenshots/images/riscosthumb-wikipedia.png differ diff --git a/about/screenshots/images/windows-bbc.png b/about/screenshots/images/windows-bbc.png new file mode 100644 index 0000000..be67608 Binary files /dev/null and b/about/screenshots/images/windows-bbc.png differ diff --git a/about/screenshots/images/windows-netsurf.png b/about/screenshots/images/windows-netsurf.png new file mode 100644 index 0000000..8ec4d93 Binary files /dev/null and b/about/screenshots/images/windows-netsurf.png differ diff --git a/about/screenshots/images/windows-wikipedia.png b/about/screenshots/images/windows-wikipedia.png new file mode 100644 index 0000000..6b5f900 Binary files /dev/null and b/about/screenshots/images/windows-wikipedia.png differ diff --git a/about/screenshots/images/windowsthumb-bbc.png b/about/screenshots/images/windowsthumb-bbc.png new file mode 100644 index 0000000..fcbc4f4 Binary files /dev/null and b/about/screenshots/images/windowsthumb-bbc.png differ diff --git a/about/screenshots/images/windowsthumb-netsurf.png b/about/screenshots/images/windowsthumb-netsurf.png new file mode 100644 index 0000000..23bda99 Binary files /dev/null and b/about/screenshots/images/windowsthumb-netsurf.png differ diff --git a/about/screenshots/images/windowsthumb-wikipedia.png b/about/screenshots/images/windowsthumb-wikipedia.png new file mode 100644 index 0000000..ccc1e63 Binary files /dev/null and b/about/screenshots/images/windowsthumb-wikipedia.png differ diff --git a/about/screenshots/index.en b/about/screenshots/index.en new file mode 100644 index 0000000..9cacc9e --- /dev/null +++ b/about/screenshots/index.en @@ -0,0 +1,157 @@ + + + +NetSurf | Screenshot Gallery + + + + + + + + + +
+ + + +

Screenshot Gallery

+ +

NetSurf is available for various platforms.

+ + + +

RISC OS

+ +

The NetSurf project started out on RISC OS in 2002. Since then, it has gone on to become the platform's premier browser.

+ + + +

GTK (e.g. Linux, BSDs, etc...)

+ + + +

Mac OS X

+ + + +

AmigaOS 4

+ + + +

Framebuffer

+ +

The framebuffer front end lets NetSurf run on any system that can provide a framebuffer surface and user input. It has no operating system or GUI toolkit requirements.

+ + + +

Haiku & BeOS

+ + + +

Atari

+ + + +

Windows

+ +

Currently very basic, the Windows port is really just a demonstration at the moment.

+ + + + + +
+ + +
+ +
+ + + diff --git a/about/screenshots/window.png b/about/screenshots/window.png new file mode 100644 index 0000000..e004eca Binary files /dev/null and b/about/screenshots/window.png differ diff --git a/about/team.en b/about/team.en new file mode 100644 index 0000000..09221f4 --- /dev/null +++ b/about/team.en @@ -0,0 +1,205 @@ + + + +NetSurf | The NetSurf Developers + + + + + + + + + +
+ + + +

The NetSurf Developers

+ +

James Bursa

+ + + +

John-Mark Bell

+ +

John-Mark spends most of his time avoiding the layout engine, as he thinks that overexposure to it will result in the early onset of dementia. Over the years, he has contributed to a number of areas of NetSurf – particularly anything that doesn't involve touching any user interface code. He is also responsible for creating many of the project's core libraries.

+ + + +

Michael Drake

+ +

Michael is involved most in developing the layout and rendering engine. He also contributes to other areas of the core code and usually seeks to evade front end work. When he is induced to work on platform specific code, it is typically to address interaction with the core, or to implement, fix, or improve performance of the front end's rendering code.

+ +

He is responsible for most of the project's web site, and has worked on the project graphics and documentation.

+ + + +

Richard Wilson

+ +

When he finds time away from his day job as an international man of mystery, Richard enjoys flailing his arms towards a keyboard and trying to make NetSurf as beautiful as the contours of a Cuban virgin's thighs.

+ +

He is responsible for implementing various sections of NetSurf – the ones he'll admit to include GIF, BMP and ICO support, the current frames implementation, minor sections of the CSS and layout code, the hotlist and global history, toolbars and themes, URL auto-completion, buffered rendering, interactive help, the RISC OS GUI and image rendering code, RISC OS image virtual memory / compression, and probably 90% of the bugs.

+ +

Unfortunately Richard has had precious little time for development work recently, but an aged RiscPC is his partner when he does.

+ + + +

John Tytgat

+ +

John is an occasional NetSurf contributor mostly related to cross-compile build aspects based on his knowledge and involvement in the GCCSDK project and OSLib. He also contributed the first Unicode related changes in NetSurf.

+ +

His RISC OS NetSurf builds are done using the GCCSDK cross-compiler on an Ubuntu Linux desktop machine and tested on RiscPC and A9home.

+ + + +

Adrian Lees

+ + + +

Daniel Silverstone

+ +

Generally grumpy, occasionally clever, but consistently ginger; Daniel works mostly on the GTK port of NetSurf and in a more airy hand-wavy way on most of the newer libraries which make up the NetSurf project.

+ +

Daniel does most of his development work on his Ubuntu systems and is also half-responsible for the Debian and Ubuntu packaging of the project's output. Daniel also helps to maintain the server that hosts the project's web site and mailing lists.

+ + + +

Rob Kendrick

+ +

Rob contributes mainly to the GTK port of NetSurf, and helping with general portability issues between platforms. He wrote the Cairo rendering back end which gives the GTK port anti-aliased rendering, as well as devising the new themes format. Also some other minor contributions to the main base of the code.

+ +

Rob does most of his development work on his Linux desktop running Ubuntu, and also makes extensive use of an A9home for testing. He also helps maintain the server that hosts the project's web site and mailing lists.

+ + + +

Vincent Sanders

+ + + +

François Revol

+ +

François is a BeOS fan and Haiku developer. He started porting NetSurf to BeOS to fill the void between Links and Firefox, and to replace the closed-source NetPositive as default browser in Haiku.

+ +

He's always rushing to fix C89 breakages since BeOS binaries must be built using gcc 2.95 because of C++ ABI compatibility. Currently François builds under ZETA (BeOS R6), and tests under Haiku both on real hardware and in QEMU.

+ + + +

Chris Young

+ +

Chris is responsible for porting NetSurf to AmigaOS 4, to get an all-round decent web browser on the platform rather than having to use several outdated or incomplete ones. He refuses to deal with any of the core code beyond prodding it with a pointy stick when it doesn't quite work as expected.

+ +

His development work, testing and compiling is all done on an AmigaOne G4-XE.

+ + + +

Steve Fryatt

+ +

Steve maintains the RISC OS port of NetSurf, having rashly volunteered himself in an attempt to stop the platform losing yet another web browser. His involvement with the core is limited, not least by the fact that he still hasn't had the time to work out what a lot of it does.

+ +

His development work is done on Ubuntu Linux using the GCCSDK for cross-compiling, with testing done on RPCEmu and an Iyonix.

+ + + +

Sven Weidauer

+ +

Sven wrote and maintains the Mac OS X front end. He tries to avoid touching the core but knows that he eventually will have to. His main development machine is an iMac running OS X Snow Leopard and he does some testing on an old PPC iBook running Leopard.

+ + + + + + + +
+ + +
+ +
+ + + diff --git a/about/thanks.en b/about/thanks.en new file mode 100644 index 0000000..648cf74 --- /dev/null +++ b/about/thanks.en @@ -0,0 +1,148 @@ + + + +NetSurf | Thanks from the NetSurf Team! + + + + + + + + + +
+ + + +

Thanks from the NetSurf Team!

+ +

We would like to thank the following organisations for their kind generosity and the help they have given us:

+ + + +

Last updated 28 September 2011

+ +

Advantage Six

+ +

Advantage Six Ltd offer design, manufacture and support services for OEM customers. One of their products is the A9home computer which runs the RISC OS operating system.

+ +

Advantage Six have donated two A9homes to the NetSurf developers. At RISC OS computer shows, Advantage Six have often shared their internet connection with the NetSurf stand. This allows us to show people NetSurf in action, and also for users to show us how they use NetSurf.

+ + + +

The Foundry

+ +

The Foundry is a world-leading innovator of visual effects and image processing technologies that boost productivity in motion picture and video post-production. Users of their software include Hollywood movie makers such as Warner Bros, The Moving Picture Company, Weta Digital, Sony Pictures, and more.

+ +

The Foundry donated a 1.66 GHz intel core duo powered Mac Mini running Mac OS X 10.6.8 to the NetSurf project. It has been set up to allow developers to log in and use remotely, enabling us to build and test the browser on Mac OS X.

+ + + +

Google Summer of Code

+ +

Google Summer of Code generously offers funding for students to work on open source projects over the summer. NetSurf was selected to participate as a mentoring organisation in both the 2008 and 2009 programmes. Several excellent students worked with us and the experience proved a great success for NetSurf.

+ +

GSoC 2008

+ +

Our students completed our new HTML5 parser, vastly overhauled the GTK front end, implemented PDF export, added print functionality to the GTK version and split bits of NetSurf out into separate libraries, for ease of maintenance and use by other projects. In addition to all this, taking part in Google Summer of Code also raised NetSurf's profile in the wider open source community.

+ + + +

GSoC 2009

+ +

In the second year our students worked on several areas of the project. Much work was done on our new Document Object Model library. A set of core widgets like scrollbars and text inputs was created. Much previously RISC OS specific functionality was moved from the RISC OS front end to the multi-platform core. These include treeviews, global history, cookie management, and page text search. The GTK front end was much improved with interfaces for the new core functionality and other features like a search bar and favicons.

+ + + +

Pepperfish

+ +

Pepperfish is a small independent hosting provider. They generously host the NetSurf web site, mailing lists and downloads. They also take care of all our web server setup and configuration needs.

+ + + +

Simtec Electronics

+ +

Simtec Electronics is an experienced electronics development and design consultancy. In addition to their range of design and manufacture services, they provide an extensive range of standard hardware and software products that include ARM processor evaluation boards, I/O modules, the ABLE boot loader firmware and an embedded USB host stack.

+ +

Simtec sponsored the framebuffer port of NetSurf. This front end requires no GUI toolkit. It runs on the Linux framebuffer and on Simtec's ABLE boot loader. This enables NetSurf to be used on small devices without the overheads of a desktop windowing system.

+ + + + + +
+ + +
+ +
+ + + \ No newline at end of file diff --git a/cgissi.fcgi b/cgissi.fcgi new file mode 100755 index 0000000..09e3c5e --- /dev/null +++ b/cgissi.fcgi @@ -0,0 +1,638 @@ +#!/usr/bin/perl + +# \file +# cgissi.fcgi -- A FastCGI script to emulate Server-Side Includes +# +# At the time of writing, it supports #include, #fsize and #flastmod +# + +use warnings; +use strict; + +use Digest::MD5 qw(md5_base64); +use File::Spec; +use FCGI; +use POSIX qw(strftime); + +# Content cache to avoid regenerating pages unless it's absolutely necessary +# +# This hash maps between the full local path to the URL data +# and a hash containing cache data. For example: +# +# { "/foo/bar/baz" => +# { last_modified => 0123456789, +# data_digest => "base64(MD5($data))" +# data_last_modified => 0123456789, +# data => "generated page content", +# dependencies => +# { "/foo/bar/bat" => +# { last_modified => 0123456789, +# commands => +# [ +# { command => "include" | "fsize" | "flastmod", +# start_offset = 123, +# end_offset = 456 +# }, +# { command => "include" | "fsize" | "flastmod", +# start_offset = 678, +# end_offset = 901 +# } +# ] +# } +# } +# } +# } +# +my %cache; + +# Request object +my $request = FCGI::Request(); + +# Loop until the server tells us to quit +while ($request->Accept() >= 0) { + # Get document root for this request + my $docroot = $ENV{DOCUMENT_ROOT}; + + # Get path of item for this request + # Yes, this is hacky. It appears that REDIRECT_PATH contains + # the destination document resulting from content negotiation. + # As this is an absolute path, we strip the document root from it. + my ($path) = ($ENV{REDIRECT_PATH} =~ m/$docroot(.*)/); + + # Find item in cache + my $cachedata = $cache{$docroot . $path}; + + # Determine if we need to (re)generate page + validate_cache_entry($docroot, $path, $cachedata); + + # Refetch cache entry + # (as it may have been created by validate_cache_entry) + $cachedata = $cache{$docroot . $path}; + + # TODO It would be nice to send 304 responses where appropriate + # and also to pay attention to conditional requests namely + # If-(None-)Match and If-(Un)Modified-Since + + # Cache-related headers + print "ETag: " . $$cachedata{data_digest} . "\r\n"; + # Don't use %Z here, as perl's strftime appears to assume that the + # time is always in the local timezone + print "Last-Modified: " . strftime("%a, %d %b %Y %H:%M:%S GMT", + gmtime($$cachedata{data_last_modified})) . "\r\n"; + + # Send Content-Type header + print "Content-Type: text/html; charset=ISO-8859-1\r\n"; + print "\r\n"; + + # And the page data + print $$cachedata{data}; +} + +################################################################################ + +# Run an include command +# +# \param filepath The full path of the file to include +# \param data Data buffer to append file data to (reference) +# +sub do_include +{ + my ($filepath, $data) = @_; + + if (-e $filepath) { + # Unlike Zeus, we don't recursively apply SSI. + open FILE, $filepath; + { + local $/ = undef; + $$data .= ; + } + close FILE; + } +} + +# Run a fsize command +# +# \param filepath The full path of the file to measure the size of +# \param data Data buffer to append size to (reference) +# +sub do_fsize +{ + my ($filepath, $data) = @_; + my @units = ( "B", "kB", "MB", "GB", "TB" ); # should be sufficient ;) + + if (-e $filepath) { + my $size = -s $filepath; + my $index = 0; + + while ($size > 1000) { + $size /= 1024; + $index++; + } + + $$data .= sprintf("%.1f %s", $size, $units[$index]); + } +} + +# Run a flastmod command +# +# \param filepath The full path of the file to get the modification time of +# \param data Data buffer to append modification time to (reference) +# +sub do_flastmod +{ + my ($filepath, $data) = @_; + + if (-e $filepath) { + my $mod_string = + strftime("%d %b %Y %R", gmtime((stat($filepath))[9])); + + $$data .= $mod_string . " UTC"; + } +} + +# Process an include command +# +# \param command The command string to process +# \param data Data buffer to append output to (reference) +# \param docroot The document root +# \param path Path of the current document, relative to ::docroot +# \return The full path of the included file +# +sub process_include_command +{ + my ($command, $data, $docroot, $path) = @_; + my $filepath; + + if ($command =~ /file=/) { + my ($relpath) = ($command =~ m/file="(.*)"/); + my ($vol, $dirs, $file) = + File::Spec->splitpath($docroot . $path); + $filepath = File::Spec->rel2abs($relpath, + File::Spec->catpath($vol, $dirs, "")); + } elsif ($command =~ /virtual=/) { + my ($vpath) = ($command =~ m/virtual="(.*)"/); + if ($vpath =~ m#^/.*#) { + $filepath = $docroot . $vpath; + } else { + my ($vol, $dirs, $file) = + File::Spec->splitpath($docroot . $path); + $filepath = File::Spec->rel2abs($vpath, + File::Spec->catpath($vol, $dirs, "")); + } + } + + do_include($filepath, $data); + + return $filepath; +} + +# Process an fsize command +# +# \param command The command string to process +# \param data Data buffer to append output to (reference) +# \param docroot The document root +# \param path Path of the current document, relative to ::docroot +# \return The full path of the included file +# +sub process_fsize_command +{ + my ($command, $data, $docroot, $path) = @_; + my $filepath; + + if ($command =~ /file=/) { + my ($relpath) = ($command =~ m/file="(.*)"/); + my ($vol, $dirs, $file) = + File::Spec->splitpath($docroot . $path); + $filepath = File::Spec->rel2abs($relpath, + File::Spec->catpath($vol, $dirs, "")); + } elsif ($command =~ /virtual=/) { + my ($vpath) = ($command =~ m/virtual="(.*)"/); + if ($vpath =~ m#^/.*#) { + $filepath = $docroot . $vpath; + } else { + my ($vol, $dirs, $file) = + File::Spec->splitpath($docroot . $path); + $filepath = File::Spec->rel2abs($vpath, + File::Spec->catpath($vol, $dirs, "")); + } + } + + do_fsize($filepath, $data); + + return $filepath; +} + +# Process an flastmod command +# +# \param command The command string to process +# \param data Data buffer to append output to (reference) +# \param docroot The document root +# \param path Path of the current document, relative to ::docroot +# \return The full path of the included file +# +sub process_flastmod_command +{ + my ($command, $data, $docroot, $path) = @_; + my $filepath; + + if ($command =~ /file=/) { + my ($relpath) = ($command =~ m/file="(.*)"/); + my ($vol, $dirs, $file) = + File::Spec->splitpath($docroot . $path); + $filepath = File::Spec->rel2abs($relpath, + File::Spec->catpath($vol, $dirs, "")); + } elsif ($command =~ /virtual=/) { + my ($vpath) = ($command =~ m/virtual="(.*)"/); + if ($vpath =~ m#^/.*#) { + $filepath = $docroot . $vpath; + } else { + my ($vol, $dirs, $file) = + File::Spec->splitpath($docroot . $path); + $filepath = File::Spec->rel2abs($vpath, + File::Spec->catpath($vol, $dirs, "")); + } + } + + do_flastmod($filepath, $data); + + return $filepath; +} + +# Complete parsing of and process a command string +# +# \param template Open file handle of template input +# \param char Current input character +# \param command The command string read so far +# \param data Buffer to append data into (reference) +# \param docroot The document root +# \param path Path of the current document relative to ::docroot +# \param start_offset Offset into template input of start of SSI command +# \param cacheentry The cache entry for the current document +# +sub process_command +{ + my ($template, $char, $command, $data, + $docroot, $path, $start_offset, $cacheentry) = @_; + my $keyword = lc($command); + my $dash_count = 0; + my $filepath; + + # See state machine documentation in generate_page_full for details of + # how this function works. + + # Reject command if it's one we know nothing about + if ($keyword ne "include" && $keyword ne "fsize" && + $keyword ne "flastmod") { + # ProcessCmd -> Initial transition occurs in generate_page_full + $$data .= " +
  • English
  • + + + + + + + + + +
    + + + +

    Contacting the Developers

    + + + +

    User support tracker

    + +
    +
    Bug tracker - [Submit bug report], [View reported bugs]
    +
    If you run into problems using NetSurf, please read the guidelines for reporting bugs and submit them to the bug tracker.
    +
    Request tracker - [Make request], [View existing requests]
    +
    If you have ideas for improving NetSurf, you can suggest them on our feature request tracker.
    +
    + +

    Mailing lists

    +

    NetSurf has several mailing lists for different purposes. Please subscribe to the ones you're interested in.

    + +

    Users

    + +
    +
    NetSurf Users
    +
    This mailing list is used for general discussion of NetSurf. Subscribe if you wish to use, test or develop NetSurf. Please note that all posts to the mailing list are read and noted by the development team, even if we don't reply.
    +
    + +

    Development

    + +
    +
    NetSurf Development
    +
    This mailing list is intended for developer and contributor discussion.
    +
    NetSurf Commits
    +
    This mailing list is read only, but listed here for completeness. It reports checkin details. (If you want to comment on a post here, send your comment to the NetSurf Dev. list.)
    +
    + +

    IRC channel

    +

    The #netsurf IRC channel on the Freenode network is used for discussion of NetSurf development. Developers are usually around on the IRC channel between 1000 and 0100 UTC.

    + +

    If you're new to IRC, don't ask if you can ask a question – just ask the question! Also, give people a chance to see your question and reply. Developers don't have their eyes glued to their IRC terminal but they'll have it open in the background while they do other things. If you disconnect two minutes after asking something noone may see until after you've gone.

    + +

    If you want to contribute to the NetSurf project, please contact the developers via the development mailing list or on IRC.

    + +

    General e-mail addresses

    +

    There are several general e-mail addresses that can be used to contact team members. Note that use of the mailing lists or support tracker is preferable, since there are more people to reply so you can get a faster response.

    + +
    +
    NetSurf browser
    +
    +
    +
    help@netsurf-browser.org
    +
    For general queries about NetSurf.
    +
    bugs@netsurf-browser.org
    +
    For bug reports about NetSurf.
    +
    security@netsurf-browser.org
    +
    For reporting any security issues found in NetSurf.
    +
    +
    +
    NetSurf web site
    +
    +
    +
    webmaster@netsurf-browser.org
    +
    For contacting the people who run the NetSurf web site.
    +
    hostmaster@netsurf-browser.org
    +
    For contacting the people who run the server that hosts the NetSurf site.
    +
    +
    +
    + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/developers/StyleGuide.pdf b/developers/StyleGuide.pdf new file mode 100644 index 0000000..e03ae50 Binary files /dev/null and b/developers/StyleGuide.pdf differ diff --git a/developers/contribute.en b/developers/contribute.en new file mode 100644 index 0000000..3681419 --- /dev/null +++ b/developers/contribute.en @@ -0,0 +1,124 @@ + + + +NetSurf | Contribution Guide + + + + + + + + + +
    + + + +

    Contribution Guide

    + +

    People ask us how they can help the NetSurf project. This section of the site is here to help people contribute to the project. You should be able to find all you need here. If not, please contact us!

    + +

    Contributing to NetSurf

    + +

    NetSurf is open for anyone to contribute to. Everyone is very welcome to help! There are all sorts of ways to contribute to the project. For some ideas, see the list below:

    + +
    +
    Publicity
    +
    +

    Help tell people about NetSurf.

    +
      +
    • If you have a web site, you could add a link to the NetSurf page. Such as +
      <a href="http://www.netsurf-browser.org/">NetSurf Web Browser</a>
      +Which appears as: NetSurf Web Browser.
    • +
    • A selection of adverts are available for use in magazines, pamphlets and on web sites. See the publicity page for more information.
    • +
    +
    +
    Provide feedback
    +
    +

    We need to know what you think about NetSurf, if we are to develop a web browser people enjoy using.

    +
      +
    • Report any bugs you find.
    • +
    • Request the features you want.
    • +
    • Discuss your opinions of NetSurf on the mailing list.
    • +
    • Run the bleeding edge version of NetSurf to provide the most helpful feedback to developers.
    • +
    +
    +
    Non-programming contribution
    +
    +

    If you want to contribute to the project directly but are unable to program, there are still many ways for you to help.

    +
      +
    • Translation of NetSurf and the NetSurf web site into other languages.
    • +
    • Creation of new themes.
    • +
    • Help with Templates design.
    • +
    • Help answer peoples questions on the mailing lists, if you know the answer.
    • +
    +
    +
    Programming
    +
    +

    NetSurf's developers have limited time to work on the project. If you are a capable programmer there are all sorts of ways you could help the project.

    +
      +
    • Help with the core of NetSurf: Fetching, Layout, etc.
    • +
    • Help improve the RISC OS user interface.
    • +
    • Help improve the GTK user interface.
    • +
    • Submit patches for bugs.
    • +
    • Submit patches to implement features you want.
    • +
    +
    +
    + +

    If you want to help, get in touch!

    + + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/developers/gsoc/2008ideas.en b/developers/gsoc/2008ideas.en new file mode 100644 index 0000000..38a1c4e --- /dev/null +++ b/developers/gsoc/2008ideas.en @@ -0,0 +1,235 @@ + + + +NetSurf | Google Summer of Code 2008 Ideas + + + + + + + + +
    + + + +

    Google Summer of Code Ideas

    + +

    This page lists our project ideas for Google Summer of Code 2008.

    + +

    Details of our selected students and their projects can be found on our GSoC page.

    + +
    +
    Before applying for a project
    +
    +
      +
    • Join our IRC channel #netsurf on Freenode and introduce yourself. Also, subscribe to the developer mailing list.
    • +
    • Have access to a computer with supported OS (RISC OS, Linux, FreeBSD, etc) or an OS relevant for the project you want to apply for (Windows, Mac OS).
    • +
    • Get up to speed with Subversion, as we use this for source control, and get the NetSurf source code.
    • +
    • Build NetSurf and enjoy using it. (Ask if you need help.)
    • +
    • Get familiarised with the source code – read the code documentation.
    • +
    +
    +
    When applying for a project
    +
    +
      +
    • Create a set of project milestones (ranging from a couple to maximum 10). This will be useful for you as guidance and for us to set our expectations right.
    • +
    • Include your IRC nick in your application if you've spoken with us on #netsurf, so that we recognise you.
    • +
    +
    +
    During the project
    +
    +
      +
    • Most of NetSurf team communication happens via #netsurf IRC during evenings and nights (CET). We expect you to join in on a regular basis for help, discussions and project updates. Note that you're not restricted to speaking to your assigned mentor; the whole development team are willing to help wherever they can.
    • +
    • When improving NetSurf's layout engine, be able to create test cases and verify that existing test cases don't get broken.
    • +
    • Keep NetSurf's project goals in mind, especially the first point.
    • +
    +
    +
    + +

    Please get in touch if any of these ideas appeal to you or if you have your own idea for either NetSurf or one of NetSurf's sub-projects. Come and chat to the developers in the NetSurf IRC channel or post to the developer mailing list.

    + +

    All these ideas require knowledge of C, as NetSurf is entirely written in C.

    + +

    See the Feature Requests tracker for more ideas.

    + +

    New CSS parser and selector engine

    +

    NetSurf's current CSS parser and selector engine has several limitations. The existing code could be improved or rewritten. The limitations include:

    +
      +
    • All rules within @media { ... } blocks are ignored.
    • +
    • Handling of invalid CSS does not follow the specification.
    • +
    • CSS specificity and importance issues
    • +
    +

    Improvements here would improve NetSurf's rendering of many web pages, as well as the infamous acid2 test.

    +
    +

    In the long-term, NetSurf will be requiring a DOM StyleSheet and CSS binding. The current CSS parser and selection engine aren't really structured in a manner that permits this to happen. Therefore, this project could take one of two forms:

    +
      +
    • Focus upon and fix the limitations in the current CSS engine
    • +
    • Develop an entirely new CSS engine to replace the existing one
    • +
    +

    There is an outline description of a new CSS engine, which may be of interest to those who want to take the second approach to this project. This description is fairly complete from an external API perspective. The implementation details of a new engine are completely negotiable – we have some idea of what's needed, but the student's input will be highly valued.

    +

    Regardless of which approach is taken, we would expect that testing of the code is performed on a regular basis to ensure that things are still working as expected. New testcases should be written to exercise existing bugs and test out new functionality.

    +
    +

    Skills required: C, CSS, parsing

    +

    Difficulty: Medium

    +

    Existing code: CSS parser and modules, Documentation

    +

    References: CSS 2.1 specification DOM Level 2 Style specification

    + +

    Native Windows or Mac OS X ports

    +

    NetSurf currently has user-interface layers for the RISC OS Window Manager and for GTK (on Linux, FreeBSD, etc.). The GTK interface works on Windows or Mac OS X, but a native interface for these systems would give a better experience.

    +

    Skills required: C, Windows UI development or Mac OS X UI development

    +

    Difficulty: Medium

    +

    Existing code: Declarations of functions that each interface must implement, RISC OS specific code, GTK specific code

    +

    References:

    + +

    Keyboard navigation

    +

    The browser currently requires a mouse to use. Keyboard shortcuts would move between and activate links, inputs, etc. The document structure is stored in a tree, and algorithms for walking through the tree to find the next link or input would need to be developed. A further improvement would be to take layout position into account and implement moving in 2D.

    +

    Skills required: C, HTML, CSS, usability

    +

    Difficulty: Easy

    +

    Existing code: Key press handling, Box tree structures

    +

    References:

    + +

    Printing improvements

    +

    Printing is currently only available on RISC OS, and the output is difficult for the user to predict. Work could include implementing printing for GTK, print preview, intelligent paging or reformatting, support for print stylesheets, and user control over what parts of the page are printed. This might include writing a portable base and platform-specific layer.

    +

    Skills required: C, CSS, GTK, possibly Cairo, possibly Postscript

    +

    Difficulty: Hard

    +

    Existing code: RISC OS printing implementation

    +

    References:

    + +

    PDF plotter

    +

    NetSurf's graphics output is abstracted through "plotters", which are a set of functions that render output to some destination. For example, there are plotters for RISC OS window, GTK window, and DrawFile (a vector graphics format) output. Implementing a PDF plotter would turn NetSurf into a general HTML to PDF conversion tool.

    +
    +

    NetSurf already uses several Open Source libraries (cAres & cURL, IJG JPEG, OpenSSL, libXML2, zlib, etc), so it is likely that an existing PDF write-capable library can be found and used in this project. Firstly, research the possible candidate libraries, based on criteria like: supported programming languages, its platform independence, ease of use, licence and any other possible advantages (like support for writing other vector based file formats, etc). Such research will actually mean writing some test/prototype code using those libraries in order to get familiar with their interfaces.

    +

    It is unlikely that this project will involve developing a PDF writing library from scratch. We won't rule this out for certain, but would require some convincing arguments from you.

    +

    During the evaluation of PDF writing libraries, we expect the student to become familiar with the requirements of the NetSurf plotter interface, figuring out what the issues could be from NetSurf API point view and for the PDF write library candidates. A plan should then be devised to solve these issues.

    +

    After hooking the PDF write library into NetSurf and getting some useful PDF files from web pages, it will be time to come up with a strategy to test your code. As we tend to be lazy, at least sometimes, we won't buy the "Save as..." manual save and view in a PDF viewer approach.

    +

    It could very well be that this project involves working closely together with people assigned for the "Printing improvements" project.

    +

    These project boundaries are not set in stone. We think it is a well defined project but we're happy to hear suggestions from you to enrich the project or redefine certain aspects of it.

    +
    +

    Skills required: C, graphics, PDF

    +

    Difficulty: Medium

    +

    Existing code: Plotter interface, RISC OS plotter, GTK plotter, DrawFile plotter

    +

    References:

    +

    Mentor: John Tytgat

    + +

    Page reader

    +

    The web is a vast resource of information and services. Traditional browsers enable its access for people who can see. NetSurf attempts to help partially sighted users with a sophisticated scaling / zoom feature, however it could be improved further with a page reading option. Speech synthesis could be used to render pages as spoken output.

    +

    There are already several libraries for speech synthesis. This project would first involve enabling NetSurf to speak the textual content of a page. Further work would improve the usability of the system by consideration for such factors as:

    +
      +
    • Overview mode, which announces the document headings
    • +
    • Section skipping to allow swift to access to the next part of the document
    • +
    • Repetition of the current section or skipping back to previous sections
    • +
    • How to differentiate link text from the rest of the text
    • +
    • How to handle emphasis tags; <em> and <strong>
    • +
    +

    Skills required: C, accessibility

    +

    Difficulty: Medium – Hard

    +

    Existing code:

    +

    References: eSpeak text to speech synthesizer

    + +

    Dynamic pseudo classes

    +

    NetSurf currently has no support for CSS dynamic pseudo classes (e.g. :hover). The work would involve adding support for these classes to the CSS parser and selection engine and modifying the layout engine to handle dynamic style changes.

    +

    Skills required: C, HTML, CSS

    +

    Difficulty: Hard

    +

    Existing code: CSS parser, HTML handler and layout engine

    +

    References: CSS 2.1 specification

    + + +

    Abstract RISC OS GUI code into a separate library

    +

    NetSurf's RISC OS user interface is rich and powerful. It supports many features such as editable toolbars, dialogue box handling and menu generation. If the interface code was abstracted into a separate library, other RISC OS applications could benefit from the availability of a sophisticated, tried and tested and style guide compliant GUI toolkit.

    +

    Skills required: C, RISC OS WIMP, OSLib

    +

    Difficulty: Medium – Hard

    +

    Existing code: RISC OS specific code

    +

    References: OSLib

    + +

    Extracting the core into a library

    +

    NetSurf is currently conceptually split in two – the front-end (GUI) and the back-end (core):

    +
      +
    • The GUI is responsible for providing entry points allowing the back end to open and manipulate browser windows, as well as plotting to them.
    • +
    • The core does all fetching, parsing and layout. It also handles user preferences.
    • +
    +

    These two parts are then statically linked together.

    +

    Ideally, the back-end part of the browser would be abstracted to a stand-alone library, which a front-end could provide a table of entry points to. This allows for more than one program to use NetSurf's abilities efficiently, as well as giving us a chance to rationalise and tidy up the current rather ad-hoc API.

    +

    Skills required: C

    +

    Difficulty: Medium – Hard

    +

    Existing code: See "Native Windows or Mac OS X ports" and "PDF plotter". Options code in back-end

    +

    References:

    + +

    Improved inline element handling

    +

    NetSurf's handling of inline elements is particularly incomplete. This task would involve improving the way in which these elements are handled. Particular issues include:

    +
      +
    • Borders, margins, and padding
    • +
    • Backgrounds (colour & image) and background image position
    • +
    • CSS white-space support (wrapping)
    • +
    • Unicode line breaking algorithm
    • +
    +

    Skills required: C, HTML, CSS

    +

    Difficulty: Hard

    +

    Existing code: Layout code, Documentation

    +

    References: CSS 2.1 specification

    + +

    Improved GTK front end; tabs, downloads, etc

    +

    The GTK port, while capable of navigating the web and displaying web pages, lacks may of the features which would make it suitable for every day browsing. There are lots of features that could be added which would improve the user experience. These include:

    +
      +
    • Tabs
    • +
    • Download implementation
    • +
    • Text selection, with copy & paste
    • +
    • Save / export
    • +
    +

    Skills required: C, GTK

    +

    Difficulty: Medium

    +

    Existing code: GTK specific code, Core code for text selection, export, etc

    +

    References:

    + + + +
    + + +
    + +
    + + + diff --git a/developers/gsoc/2009ideas.en b/developers/gsoc/2009ideas.en new file mode 100644 index 0000000..d141d2c --- /dev/null +++ b/developers/gsoc/2009ideas.en @@ -0,0 +1,280 @@ + + + +NetSurf | Google Summer of Code 2009 Ideas + + + + + + + + +
    + + + +

    Google Summer of Code Ideas

    + +

    This page lists our project ideas for Google Summer of Code 2009.

    + +
    +
    Before applying for a project
    +
    +
      +
    • Join our IRC channel #netsurf on Freenode and introduce yourself. Also, subscribe to the developer mailing list.
    • +
    • Have access to a computer with supported OS (RISC OS, Linux, FreeBSD, BeOS, AmigaOS etc) or an OS relevant for the project you want to apply for (Windows, Mac OS).
    • +
    • Get up to speed with Subversion, as we use this for source control, and get the NetSurf source code.
    • +
    • Build NetSurf and enjoy using it. (Ask if you need help.)
    • +
    • Get familiarised with the source code – read the code documentation.
    • +
    • Consider submitting a patch to fix an issue on our bug tracker or feature request tracker
    • +
    +
    +
    When applying for a project
    +
    +
      +
    • Tell us about yourself, your experience, and why you want to work with us.
    • +
    • Describe the project you want to do, and how you plan to go about doing it. Do not simply copy the project description from the ideas page.
    • +
    • Create a set of project milestones (ranging from a couple to maximum 10) with expected completion dates. This will be useful for you as guidance and for us to set our expectations right.
    • +
    • Describe how you will test your contributions.
    • +
    • Include your IRC nick in your application if you've spoken with us on #netsurf, so that we recognise you. We strongly recommend that you communicate with us before submitting an application.
    • +
    • We expect GSoC to be mostly equivalent to a full-time job. Therefore, please tell us if you have any other demands on your time.
    • +
    +
    +
    During the project
    +
    +
      +
    • Most of NetSurf team communication happens via #netsurf IRC during evenings and nights (CET). We expect you to join in on a regular basis for help, discussions and project updates. Note that you're not restricted to speaking to your assigned mentor; the whole development team are willing to help wherever they can.
    • +
    • When improving NetSurf's layout engine, be able to create test cases and verify that existing test cases don't get broken.
    • +
    • Keep NetSurf's project goals in mind, especially the first point.
    • +
    +
    +
    + +

    There is some more information in the GSoC section of our wiki. Note particularly the student guidelines.

    + +

    Please get in touch if any of these ideas appeal to you or if you have your own idea for either NetSurf or one of NetSurf's sub-projects. Come and chat to the developers in the NetSurf IRC channel or post to the developer mailing list.

    + +

    All these ideas require knowledge of C, as NetSurf is entirely written in C.

    + +

    See the Feature Requests tracker for more ideas.

    + +

    Keyboard navigation

    +

    The browser currently requires a mouse to use. Keyboard shortcuts would move between and activate links, inputs, etc. The document structure is stored in a tree, and algorithms for walking through the tree to find the next link or input would need to be developed. A further improvement would be to take layout position into account and implement moving in 2D.

    +

    Skills required: C, HTML, CSS, usability

    +

    Difficulty: Easy

    +

    Existing code: Key press handling, Box tree structures

    +

    References:

    + +

    Page reader

    +

    The web is a vast resource of information and services. Traditional browsers enable its access for people who can see. NetSurf attempts to help partially sighted users with a sophisticated scaling / zoom feature, however it could be improved further with a page reading option. Speech synthesis could be used to render pages as spoken output.

    +

    There are already several libraries for speech synthesis. This project would first involve enabling NetSurf to speak the textual content of a page. Further work would improve the usability of the system by consideration for such factors as:

    +
      +
    • Overview mode, which announces the document headings
    • +
    • Section skipping to allow swift to access to the next part of the document
    • +
    • Repetition of the current section or skipping back to previous sections
    • +
    • How to differentiate link text from the rest of the text
    • +
    • How to handle emphasis tags; <em> and <strong>
    • +
    +

    Skills required: C, accessibility

    +

    Difficulty: Medium – Hard

    +

    Existing code:

    +

    References: eSpeak text to speech synthesizer

    + +

    LibDOM

    +

    LibDOM is an implementation of the W3C DOM. It currently implements a large proportion of DOM Level 3 Core. It is a work in progress and requires a fairly large number of fixes and additions before it can be integrated into NetSurf. Note that the scope of this project is quite large. We expect you to prioritise the parts you intend to implement.

    +
    +

    Things that need doing include:

    +
      +
    • +

      Use vtables rather than known function names + switching on node type

      +

      A vtable is a structure containing function pointers. Each node type will populate the vtable with the appropriate functions. These may then be called by any client without the client needing to know what the node type is.

      +
    • +
    • +

      Implement the rest of DOM 3/2/1/0, primarily:

      +
        +
      • Events
      • +
      • HTML
      • +
      • Other DOM modules
      • +
      +
    • +
    • +

      Test suite

      +

      The W3C provide a test suite for DOM implementations. It is stored in an XML format and currently, has transformations from this format to Java and JavaScript source code. Ideally, a transformation into C source code will be written so that LibDOM may be tested automatically.

      +
    • +
    • +

      Integration with NetSurf

      +
    • +
    +
    +

    Skills required: C, DOM, XSLT (for the test suite)

    +

    Difficulty: Medium – Hard

    +

    Existing code: LibDOM sources

    +

    References: DOM specifications

    + +

    Layout engine improvements

    +

    The layout engine forms part of the core of the browser. It is responsible for calculating the position of each part of the page. It currently has a number of deficiencies which should be addressed. These include the following parts of the CSS specification:

    +
      +
    • Stacking order (z-index)
    • +
    • Fixed position (position: fixed;)
    • +
    • Fixed backgrounds (background-attachment: fixed;)
    • +
    • Vertical alignment (vertical-align)
    • +
    • Handling of white space and wrapping (white-space)
    • +
    +

    There are also other layout issues which could be tackled. For example in table layout some CSS properties, like height, are not handled for table rows.

    +

    Skills required: C, HTML, CSS

    +

    Difficulty: Medium – Hard

    +

    Existing code: layout engine, rendering code

    +

    References: CSS 2.1 specification, CSS 2.1 property index

    + +

    Automated layout test engine

    +

    When NetSurf's layout engine is modified there is a risk that the change may break other pages. When problems are found, we create test cases which demonstrate the problem and keep them as regression tests once the issue is fixed. Currently, it takes quite a lot of manual effort to test NetSurf against all these test pages manually.

    +
    +

    This project will create a tool for automatically testing NetSurf's layout engine for regressions. There are three components that will make up the completed project:

    +
    +
    Minimal test front end
    +
    +

    The first task will be to write the code necessary to call NetSurf's core engine to fetch a page, perform layout on it and dump the page's box tree. The box dump specifies the x/y coordinates, width and height of every box in the render tree, as well as other pertinent information.

    +

    This will involve the implementation of a simple test "front end". Unlike the GTK, RISC OS or BeOS, etc front ends, it is not to be a usable web browser, but a command line tool. The minimal debug and framebuffer front ends can be used as example code.

    +
    +
    A defined test data format
    +
    +

    The existing test data is fine for manual testing. However, for automated testing to work, there needs to be some ground truthed comparison data for each test input. There also needs to be a way of determining which comparison data is associated with which test.

    +

    To ensure that the test front end is working correctly, some amount of test input and comparison data will need to be created. The existing test suite can be used as a starting point for this.

    +
    +
    A test runner
    +
    +

    This can be some kind of script that runs the NetSurf test code for each page in the test suite and compares the box dump NetSurf produces with the expected data. It can output the test name and then PASS or FAIL.

    +
    +
    +
    +

    Skills required: C, HTML, CSS, scripting

    +

    Difficulty: Medium

    +

    Existing code: existing test case repository, box dump code – box_dump() (note that this is extremely verbose and contains much data that is of little use in automated testing), debug front end, framebuffer front end

    +

    References:

    + +

    Core UI enhancements

    +

    So that NetSurf can draw pages on different platforms, there is an interface between the core cross-platform code and the front end UI code that abstracts plotting. This interface is used to plot everything within the browser's content area.

    +

    There are parts of NetSurf's user interface which are common across platforms. However, each platform frontend has to implement these separately. This results in unnecessary duplication of functionality. Therefore, it would be good to move support for some of the common widgets into the core and draw them using the same plotting interface as used for the content area.

    +

    Initially, this will require:

    +
      +
    • A plotter-based treeview for global history, cookie manager and bookmarks.
    • +
    • A plotter-based (single & multi line) text input widget.
    • +
    +

    Further to the above, the way NetSurf's core implements HTML frames is not particularly portable. This could be addressed as an extension.

    +

    Skills required: C, Usability

    +

    Difficulty: Easy – Medium

    +

    Existing code: Core treeview interface, Core treeview code

    +

    References: plotters interface, textarea widget code

    + +

    Native Windows or Mac OS X port

    +

    NetSurf currently has user-interface layers for several systems including RISC OS, GTK (on Linux, FreeBSD, etc.), AmigaOS and BeOS. The GTK interface works on Windows or Mac OS X, but a native interface for these systems would give a better experience.

    +

    The existing front end implementations can be used as examples. Of these, the framebuffer front end is very self contained and the debug front end is the most minimal. For the rendering of NetSurf's content area, a set of plotters needs to be implemented for drawing primitives such as rectangles, plotting bitmaps and text.

    +

    Skills required: C, Windows UI development or Mac OS X UI development

    +

    Difficulty: Medium

    +

    Existing code: Declarations of functions that each interface must implement, plotters interface, RISC OS specific code, GTK specific code, BeOS specific code, AmigaOS specific code, framebuffer specific code

    +

    References:

    + +

    Improved GTK front end

    +

    NetSurf's GTK front end is fairly usable at present, but would benefit from enhancement.

    +

    Outstanding functionality includes:

    +
      +
    • Find
    • +
    • Bookmarks (also see core UI enhancements idea)
    • +
    • Improved contextual right-click menu ("Save image as..." and "Open in new tab..." for example)
    • +
    • GUI should adjust to match GTK interface preferences (icons in menu, text under toolbar buttons, etc.)
    • +
    • File uploads
    • +
    • View source
    • +
    • Documentation (user guide)
    • +
    • Favicons
    • +
    +

    Skills required: C, GTK

    +

    Difficulty: Easy – Medium

    +

    Existing code: GTK specific code

    +

    References:

    + +

    Improved Haiku/BeOS front end

    +

    NetSurf's BeOS frontend is reasonably usable, but would benefit from some enhancement.

    +

    Outstanding functionality includes:

    +
      +
    • Tabs
    • +
    • Download window
    • +
    • Bookmarks, also see core UI enhancements idea
    • +
    • History, also see core UI enhancements idea
    • +
    • Fix <frame> support, also see core UI enhancements idea
    • +
    • Printing
    • +
    • Preferences window
    • +
    +
    +

    Note: Any student interested in working on this front end should apply to both the NetSurf and Haiku organisations. The developer who would mentor this project is also a mentor for the Haiku organisation.

    +
    +

    Skills required: C++, BeOS/Haiku UI toolkits

    +

    Difficulty: Easy – Medium

    +

    Existing code: BeOS specific code

    +

    References: Haiku organisation ideas

    + +

    Improved RISC OS front end

    +

    NetSurf's RISC OS front end is the most feature complete. There are various ways in which it could be improved. These include:

    +
      +
    • Tabs
    • +
    • Better config e.g. web page language choice option
    • +
    • Richer status bar, perhaps progress bar and icons for SSL, and to indicate what it's doing
    • +
    • OLE
    • +
    • Favicons
    • +
    +

    Skills required: C, RISC OS Wimp programming using OSLib

    +

    Difficulty: Medium

    +

    Existing code: RISC OS specific code

    +

    References: OSLib

    + + + +
    + + +
    + +
    + + + diff --git a/developers/gsoc/index.en b/developers/gsoc/index.en new file mode 100644 index 0000000..5b5e424 --- /dev/null +++ b/developers/gsoc/index.en @@ -0,0 +1,146 @@ + + + +NetSurf | Google Summer of Code + + + + + + + + +
    + + + +

    Google Summer of Code

    + +

    The NetSurf project was selected to participate in Google Summer of Code 2009 as a mentoring organisation. This year we are mentoring three students.

    + +
    +
    Bo Yang
    +
    +
      +
    • Project: Add DOM support to NetSurf
    • +
    • Mentor: John-Mark Bell (jmb)
    • +
    • Details: Abstract
    • +
    +
    +
    Paul Blokus
    +
    +
      +
    • Project: Core UI enhancements and keyboard navigation
    • +
    • Mentor: Michael Drake (tlsa)
    • +
    • Details: Abstract
    • +
    +
    +
    Mark Benjamin
    +
    +
      +
    • Project: NetSurf GTK+ interface improvements
    • +
    • Mentor: Rob Kendrick (rjek)
    • +
    • Details: Abstract
    • +
    +
    +
    + + + +

    Our project ideas page for Google Summer of Code is still available.

    + +

    We ask students to keep NetSurf's project goals in mind, especially the first point. We also ask them to communicate with the developers as much as possible. More information for students is available on the development wiki.

    + +

    Google Summer of Code 2008

    + +

    NetSurf participated as a mentoring organisation in Google Summer of Code 2008. We ran four projects which are listed below.

    + +
    +
    Adam Blokus
    +
    +
      +
    • Project: PDF Plotter and printing improvements
    • +
    • Mentor: John Tytgat (joty)
    • +
    • Details: Abstract, Introduction
    • +
    +
    +
    Sean Fox
    +
    +
      +
    • Project: Abstract the Core Functionality to Stand-alone Libraries
    • +
    • Mentor: James Bursa (zamez)
    • +
    • Details: Abstract
    • +
    +
    +
    Michael Lester
    +
    + +
    +
    Andrew Sidwell
    +
    +
      +
    • Project: Work on and integrate Hubbub
    • +
    • Mentor: John-Mark Bell (jmb)
    • +
    • Details: Abstract, Introduction
    • +
    +
    +
    + +

    Our 2008 GSoC ideas page is still available.

    + + + + +
    + + +
    + +
    + + + diff --git a/developers/index.en b/developers/index.en new file mode 100644 index 0000000..ad2a712 --- /dev/null +++ b/developers/index.en @@ -0,0 +1,156 @@ + + + +NetSurf | Developers and Contributors + + + + + + + + + +
    + + + +

    Developer and Contributor Area

    + +

    People ask us how they can help the NetSurf project. This section of the site is here to help people contribute to the project. You should be able to find all you need here. If not, please contact us!

    + +
    + +

    Contributing to NetSurf

    + +

    Everyone is very welcome to help NetSurf! There are all sorts of ways to contribute to the project.

    + +
    +
    Publicity
    +
    Help spread the word! NetSurf needs user, contributor and developer participation to stay vibrant.
    +
    Provide feedback
    +
    If you'd like to be involved in the future direction of NetSurf's development you can help by making feature requests and bug reports. Discussion of what you like and dislike about NetSurf is useful to the developers.
    +
    Non-programming contribution
    +
    If you'd like to contribute directly to the project but can't program, there are still many ways for you to participate. Details in the contribution guide.
    +
    Programming
    +
    If you can program then you are welcome to join the developers! If there's some aspect you'd like to improve, or feature you'd like to implement, contact us via the developer mailing list or on IRC and go from there. Also, see the instructions for submitting patches.
    +
    + +

    Take a look at the contribution guide for more ideas and information.

    + +

    Run bleeding edge NetSurf

    + +

    The most important way though which NetSurf users can contribute to the NetSurf project is by regularly testing the current development builds and providing feedback.

    + +

    RISC OS users can download a precompiled test build, which can be installed and run in exactly the same way as NetSurf releases. Users of other platforms can obtain the latest source code and follow the simple compilation instructions.

    + +

    Once running the latest build you can browse the web as normal and let us know if you run into problems. Does the browser crash? Can you reproduce the crash? Did it crash at a specific site? What was the URL? Do you like the new features of the development build? How could NetSurf's interface be improved? These and more are the sorts of questions we're interested in your answers to. Our goal is to make NetSurf a piece of software everyone loves to use, and to do that we need your input!

    + +

    The NetSurf documentation contains guidelines for making feature requests and reporting bugs.

    + +

    Submitting patches

    + +

    If you've developed a patch for NetSurf you can send it to us by either:

    + +
      +
    1. Putting it on the patch tracker.
    2. +
    3. Posting to the NetSurf Development mailing list and attaching the patch.
    4. +
    5. Giving the patch to one of the developers in the NetSurf IRC channel.
    6. +
    + +

    If it is a tiny patch, the third option is best. Otherwise use the first or second.

    + +

    Our pictorial Style Guide (single-page PDF) shows our code style.

    + +

    Porting NetSurf

    + +

    We are always interested to hear from people porting NetSurf to different hardware or operating systems. If you are keen to port NetSurf to a new platform please get in touch. NetSurf's developers are keen to ensure NetSurf is highly portable, so feedback is appreciated.

    + +

    We would be especially interested in hearing from anyone who could implement the NetSurf user interface under Windows.

    + +
    + +
    +
    + +

    Getting NetSurf source code

    + +

    The source is kept in a Subversion repository. To check the latest source out use the command provided in the developer documentation.

    + +

    Instructions for building the GTK version will be checked out with the source code. A guide to building NetSurf on RISC OS can be found in the documentation section of the web site.

    + +

    It is also possible to browse the source online via the web interface.

    + +

    Recent changes

    + +

    All times are in UTC.

    + + +

    Contact the other developers

    + +

    If you want to contribute to NetSurf, the best thing to do is to get in touch with the developers. NetSurf's core development team communicate a great deal via IRC and also via the developer's mailing list.

    + +

    If you speak with the developers, you may find someone has already started what you intend to do or already put considerable thought into how to do it.

    + +

    General information

    + +

    We intend to make new major releases of NetSurf every year or so. These will happen when there are enough new features in the development versions to justify a new release. Prior to releases, addition of new features will be halted, and only bugfixes will occur. Major new releases will be made when NetSurf is sufficiently stable and the development version contains significant features that have not yet been released.

    + +

    The progress page gives an indication of the current status of NetSurf's features.

    + +
    +
    + + + + + +
    + + +
    + +
    + + + diff --git a/developers/publicity.en b/developers/publicity.en new file mode 100644 index 0000000..beac060 --- /dev/null +++ b/developers/publicity.en @@ -0,0 +1,101 @@ + + + +NetSurf | Publicity + + + + + + + + + +
    + + + +

    Publicity

    + +

    There isn't much here yet, except the NetSurf logo image in vector format.

    + +
    +
    Full NetSurf logo
    +
    + +
    +
    NetSurf emblem (no text)
    +
    + +
    +
    + +

    More coming soon.

    + +

    Web buttons

    + +

    Web banners

    + +

    Magazine adverts

    + + + + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/documentation/develop.en b/documentation/develop.en new file mode 100644 index 0000000..9406e3b --- /dev/null +++ b/documentation/develop.en @@ -0,0 +1,150 @@ + + + +NetSurf | Developer Documentation + + + + + + + + + +
    + + + +

    Developer Information

    + +

    This document contains various information for developers or anyone interested in contributing to NetSurf.

    + + + +

    Last updated 11 November 2007

    + +

    Source control

    + +

    The source is kept in a Subversion repository. To check the source out use the command:

    + +

    $ svn checkout svn://svn.netsurf-browser.org/trunk/netsurf

    + +

    You can also browse the source via the web interface.

    + +

    Recent changes can be seen on the development page. An an RSS feed of recent changes is also provided by CIA. All checkins are reported on the Commits mailing list.

    + +

    Contact James to get write access to the SVN repository.

    + + +

    Compiling

    + +

    The recommended compiler is GCC. A guide to building NetSurf on RISC OS is available, as are instructions for building the GTK version. NetSurf can also be cross-compiled for RISC OS using GCCSDK.

    + +

    The autobuilder compiles NetSurf every 15 minutes if changes have been checked into SVN.

    + +

    A debug version of NetSurf can be built. This is command-line only and does not include any GUI code. It runs natively on Linux so can be debugged and checked using gdb, efence, valgrind, etc.

    + +

    Dependencies

    + +

    In addition to the compiler, NetSurf requires a number of additional tools to be available. These are enumerated below. Additionally, the libraries which NetSurf uses are also listed

    + +

    Tools

    + + +

    Libraries

    + + +
    RISC OS specific libraries
    + + + +

    Source documentation

    + +

    See the Docs directory for source code documentation. Our pictorial Style Guide (single-page PDF) shows our code style.

    + + +

    Communication

    + +

    The main method of communication between the developers is the #netsurf IRC channel.

    + +

    The developers' mailing list is also used for less transient communication.

    + + +

    Translations

    + +

    Translations of NetSurf to other languages are welcome. No programming knowledge is required, just the ability to use a template editor and a text editor. Please see the translations page for more information.

    + + + + +
    + + +
    + +
    + + + diff --git a/documentation/guide.en b/documentation/guide.en new file mode 100644 index 0000000..48acdec --- /dev/null +++ b/documentation/guide.en @@ -0,0 +1,1514 @@ + + + +NetSurf | User Guide + + + + + + + + + +
    + + + +

    Note that this document was written for the RISC OS version of NetSurf.

    + +

    User Guide

    + + + +

    Last updated 10 November 2007

    + +

    Using NetSurf

    + +

    To run NetSurf, simply double click on the NetSurf application. This will cause the NetSurf icon to appear on the iconbar. Select clicking on this icon will open a browser window. Adjust clicking on NetSurf's iconbar icon opens the hotlist management window.

    + +

    Iconbar Menu

    + +

    The iconbar menu contains options which concern the application as a whole.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Interactive Help

    + +

    Instant on-line help is available throughout the software, in the form of interactive help. This offers quick help information, in bullet point format, about the item under the pointer.

    + +

    To use interactive help, suitable software must be running. The program 'Help' is shipped with all RISC OS computers and it can be run from NetSurf's Help > Interactive help menu item.

    + +

    Browser Window

    + +

    The browser window is used to fetch and display web pages and other content available on the World Wide Web. It can also display files that are stored locally on your computer. The file types that NetSurf can handle include HTML, CSS and various image formats.

    + +

    + +

    The area at the top of the browser window is called the toolbar. At the bottom, it can be seen that the horizontal scroll bar does not cover the full width of the window. Next to the horizontal scroll bar, is the status bar. The main section in the middle of the window is the most important part, the content area.

    + +

    The content area displays web pages and other material, such as images. Web pages contain hyperlinks (often just called 'links') which can point to another part of the page, to a different page or to any other type of file. Links pointing to types of files that NetSurf doesn't recognise will open a download window. Placing the pointer over a link changes the pointer to a 'clicking hand', to indicate that the item can be clicked on.

    + +

    Toolbar

    + +

    The section at the top of the window is called the toolbar. It allows quick access to various commonly used features. Many more functions are available through the menus. The toolbar can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section. Available icons are listed below.

    + +

    + +

    Toolbar Icons

    + +

    Back Clicking on this button makes NetSurf go back to the previous page in the local history list. Select click to view the previous page in the current window. Adjust click to view it in a new window. Form information is not resubmitted.

    + +

    Forward Clicking on this button allows you to advance through the local history list. Select click to view the next page in the current window. Adjust click to view it in a new window. Form information is not resubmitted.

    + +

    History Select clicking on this button opens a window containing the local history tree. Adjust clicking opens the global history window. More detailed information can be found in the History section.

    + +

    Home Clicking on this button returns to the configured home page.

    + +

    Hotlist Select clicking on this button opens the hotlist management window. Adjust clicking adds the current location to the hotlist.

    + +

    Print Clicking on this button will open the print dialogue box.

    + +

    reload Select clicking on this button will make NetSurf fetch and redraw the current page again. Adjust clicking forces NetSurf to fetch the current page as well as any objects it contains, such as images and style sheets.

    + +

    Save Clicking on this button will open a save dialogue box, to allow you to save the page for future reference.

    + +

    Scale Clicking on this button will open the scale view window. It allows you to scale documents, affecting both text and pictures.

    + +

    Search Clicking on this button opens the find text window. It allows you to search for a string of text within a document.

    + +

    Stop Clicking on this button stops whatever process the window is doing.

    + +

    Up Clicking on this button moves up the directory tree. For example, if you are looking at http://www.domain.com/directory/page.html, clicking on the up icon takes you to http://www.domain.com/directory/ and a further click would result in a location of http://www.domain.com/.

    + +

    Icons that are greyed out indicate that their function is unavailable. This happens when a new browser window is first opened. Since the window will be displaying its first page, there would be no previous page and the back button is greyed out. Also, as this is the first page, the forward button is also greyed out.

    + +

    Throbber: This NetSurf logo animates while a page is downloading or rendering. It indicates that NetSurf is doing something.

    + +

    URL Bar

    + +

    The white writable icon on the toolbar is called the URL Bar and it shows the location of the current page. Here, you can enter the address of the page you want to view next. Text files dropped onto the URL bar are treated as URLs.

    + +

    Next to the URL bar is a pop-up menu button which opens a list of URLs previously typed into the URL bar. Clicking on one of the URLs opens the page.

    + +

    The current URL can be dragged from the URL bar to be saved or dropped onto other applications. A Ctrl drag saves the URL in Text format and a Shift drag saves it in ANT URL format. Systems that don't support text selection in writable icons (i.e. non RISC OS Select systems) allow the URL to be dragged out in Text format without the use of either Ctrl or Shift.

    + +

    URL Completion

    + +

    When typing into the URL bar, NetSurf opens a window below displaying suggestions for the full address. If the address you want is not shown, the box can be ignored. If the intended address is shown, select clicking on it will complete the address and open the page automatically. An adjust click on a URL copies it into the URL but does not load the page. The Up and Down cursor keys can be used to select an address from the list and the Return key opens the page. Escape closes the URL completion window. The function of other keys in the URL bar, such as the Left and Right cursor keys, is unaffected by this feature.

    + +

    Status Bar

    + +

    The status bar, at the bottom of the window, displays information to the user. When you move the pointer over a link, the status bar will display the URL that the link points to. The status bar also displays information about NetSurf's progress while retrieving a page.

    + +

    Between the status bar and the horizontal scroll bar is the status bar resizer. Over this widget, the pointer changes to a double headed arrow and you can drag the status bar resizer to set the width of the status bar.

    + +

    Content Area

    + +

    The content area is the main part of the browser window; it displays documents and images. Various types of action can be performed in the content area, including:

    + + + +

    Some operations, such as a dragging and clicking will behave differently depending on the content over which the action is carried out. For example, dragging over text initiates text selection whereas dragging over non-textual content will drag-scroll the page.

    + +

    Further options are available through the menu, some of which are only available when menu is clicked over certain types of content. For example the Object submenu is available only when menu is clicked over an object, such as an image.

    + +

    Text Selection

    + +

    Textual content on pages can be selected and copied. Text in text areas can be selected and then cut or copied to the global clipboard. The global clipboard contents can also be pasted into text areas.

    + +
      +
    • Select click clears previous selections.
    • +
    • Select drag over text clears previous selection and creates new selection.
    • +
    • Adjust click adds to selection. If Adjust was clicked outside the selection the nearest end of the selection is moved to where adjust was clicked. If Adjust was clicked inside the current selection, the second (last) end of the selection is moved to where Adjust was clicked. If Adjust is clicked on a link, the selection is not modified and link handling behaviour is followed.
    • +
    • Adjust drag over text dynamically does the same as repeatedly doing an Adjust click as you move the mouse, except, Adjust drag over links modifies the selection and does not follow the link.
    • +
    + +

    Ctrl+C copies selected text to the global clipboard. Ctrl+A selects all text, while Ctrl+Z clears the selection.

    + +

    Drag Scrolling

    + +

    The page can be scrolled by dragging non-textual areas up and down. During a drag scroll action, the pointer changes to a hand.

    + +
      +
    • Select drag on any non textual area of the page (except plugin areas and overflow: scroll scrollbars) drags the page.
    • +
    • Adjust drag on any part of the page, including text, provided there is no selection drags the page. Page drag scrolling is not possible over plugin areas or scrollbars, such as those for text areas or overflow: scroll.
    • +
    + +

    Link Handling

    + + + +
      +
    • Select click on a link follows the link in current window.
    • +
    • Adjust click on a link opens the link in new window.
    • +
    • Shift+Select click on a link opens a download dialogue box for the link target.
    • +
    • Shift+Adjust click on a link opens a save box for saving link the target address as a URL file.
    • + +
    + +

    Drag Saving

    + +

    Content can be dragged directly from the page to a filer window with the Ctrl key.

    + +
      +
    • Ctrl+Select drag saves the item under the pointer to a filer window or another application. The item is saved in its original format.
    • +
    • Ctrl+Adjust drag saves the item under the pointer to a filer window or another application. Generally it saves it in the most applicable RISC OS format.
    • +
    + +

    Different items are treated as follows.

    + +
      +
    • If the content drag save is initiated on a bitmap image, it is saved in its original format with Select. With Adjust it is saved as a sprite.
    • + +
    • If the content drag save is initiated on a text selection, it is saved as text, whether it comes from an HTML page, CSS file or whatever. Select / Adjust usage makes no difference.
    • +
    • If the content drag save is initiated on a part of a web page that is neither image or selection, the page is saved as a "full save" with Select. With Adjust, the HTML is saved only.
    • + +
    • text/plain is always saved as text.
    • +
    + + + +

    Form Completion

    + +

    Forms allow information to be entered and submitted to an agent such as a web server or mail server. Some form controls can be styled by web pages, so they may look quite different from one page to the next. Some common form controls are described below.

    + +
    +
    Buttons
    +
    Buttons trigger some action when selected. Common button actions are to submit or reset the form.
    + +
    Checkboxes
    +
    Checkboxes are on/off switches that can be toggled. Checkboxes containing a red square are "on".
    + +
    Radio Buttons
    +
    Radio buttons are like checkboxes except that groups of radio buttons are mutually exclusive: when one is switched "on", all others with the same name are switched "off". Radio buttons containing a red circle are "on".
    + +
    Selection Menus
    +
    Selection menus open a menu, from which an item, or in some cases several items, can be selected. Selected items are displayed with a tick (✓) next to them. The pointer changes to indicate a pop-up menu is available over selection menu controls.
    + +
    TextInput
    +
    A text input allows a single line of text to be entered and edited. Pressing Return in a text input will submit the form.
    + +
    File Input
    +
    File inputs say "Drop file here" and allow local files to be submitted. Dragging a file to them sets the path to the file.
    + +
    Text Area
    +
    Text areas are similar to text inputs but they allow multiple lines to be edited. Pressing Return in a text area moves the caret to the next line.
    +
    + +

    Tab can be used to move the caret to the next text input or text area control. Shift+Tab moves input focus back to the previous text box.

    + +

    Menus

    + +

    The browser window menu contains options relating to the content of the current window. Some of these options are unavailable at present as this area of NetSurf is not complete. The following options are available:

    + + + + + + + + + + + + + + +

    The Page submenu contains the following options relevant to the current page.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    The Object submenu contains the following options relevant to the current object. This submenu is only available when the pointer is placed over an object such as a link or an image.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    The selection submenu contains the following options, for manipulating the current selection and performing clipboard actions.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    The Navigate submenu contains the following options, useful for navigating the web.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    The Display submenu contains the various options which affect the rendering of the current window. Other configuration options are described in the configuration section.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    If the buttons, URL bar and throbber are all disabled, the toolbar at the top of the window is removed, leaving more space for the main content area.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    The Utilities submenu allows you to access some of NetSurf's extra features.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    The Help submenu contains options for fast access to help and information while you're using NetSurf.

    + + + + + + + + + + + + + + + + + + + + + + + + + +

    File Types

    + +

    When NetSurf encounters a file type it does not recognise, it opens a download window to allow the file to be saved to disc. (Note, NetSurf ignores local files of unrecognised file types.) The file types that NetSurf understands are listed below, with their RISC OS file type and MIME type(s) .

    + + + + + + + + + + + + + + + + + + +
    NameTypeMIME type(s)
    Acorn URI&f91N/A
    ANT URL&b28N/A
    CSS&f79text/css
    Drawfile&affapplication/drawfile
    application/x-drawfile
    image/drawfile
    image/x-drawfile
    Flash&188application/x-shockwave-flash
    GIF&695image/gif
    HTML&faftext/html
    IEURL&1baN/A
    JNG&f78image/jng
    image/x-jng
    JPEG&c85image/jpeg
    image/pjpeg
    MNG&f83image/mng
    image/x-mng
    video/mng
    video/x-mng
    NetSurf ThemeN/Aapplication/x-netsurf-theme
    PNG&b60image/png
    Sprite&ff9image/x-riscos-sprite
    Text&ffftext/plain
    + +

    Flash files are not handled by NetSurf directly but are displayed by an external plugin.

    + +

    NetSurf recognises different file types by their RISC OS file type for local files and by their content-type header for files sourced from the internet. Files are not identified by their extension or content. This means that for a file to be displayed, servers must be configured to send the correct content-type header and local files must have the correct RISC OS file type set.

    + +

    Download Window

    + +

    Whenever you follow a link to a file that NetSurf doesn't know how to handle, NetSurf opens the download window. This allows you to save a local copy of the file. The download window is shown below.

    + +

    + +

    As soon as the download window opens, NetSurf starts downloading the file to your Scrap directory. At any time, either as the file downloads or after it has finished, it is possible drag the file icon at the top of the window to the directory where you wish to keep the file. This action causes the file to be moved to your desired location from Scrap and if the download is incomplete, the remainder of the file will also go to the new location.

    + +

    The Source field indicates the location of the file being downloaded.

    + +

    Initially, the Destination field allows the local filename of the file being downloaded to be set. Once the local destination of the file has been set, by dragging the icon to a filer window, the local path is shown here. Clicking on it will open the associated directory.

    + +

    The bottom part of the download window displays information about the download's progress. On the left, the amount already downloaded and the total size are displayed. In the middle, the download speed is indicated and that the right, and estimated time remaining is shown. A beige progress bar indicates the download's progress visually.

    + +

    History

    + +

    While browsing the World Wide Web, you may come across interesting pages and some time later, you may wish to return to them. NetSurf's history stores the addresses (URLs) of the web pages you visit so that you can return to a page without having to remember the URL or how you first came across it.

    + +

    NetSurf supports two distinct types of history; local and global. Local history contains only the pages that are visited in any particular window. Global history contains all the pages that have been visited in NetSurf and is remembered when NetSurf is restarted.

    + +

    Local History Window

    + +

    NetSurf's local history window provides a diagrammatical overview of the browsing history of a particular window. Each web page that is visited is represented by a thumbnail in a tree diagram. Beneath each thumbnail the page title is shown. Clicking on a thumbnail will cause the NetSurf browser window to return to that particular page.

    + +

    Global History Window

    + +

    NetSurf's global history stores the addresses (URLs) of all the web pages you visit. To open the global history window, you can adjust click on the history toolbar button on a browser window, use the browser window menu option or use the iconbar menu. The global history is made up from "addresses" and "directories".

    + +

    An address consists of a name and a URL. Addresses in the global history can point to any kind of file and double clicking on one will launch the URL in NetSurf. Addresses also store the date the URL was visited. By default, addresses are listed in the order they were visited and they are grouped by date within directories.

    + +

    Directories store groups of addresses. In the default global history view, there are directories for each day up to the beginning of last week and further directories for previous weeks. The global history is expired after a maximum of four weeks.

    + +

    The global history display works in a similar way to a filer window, although there are some important differences. Directories are not opened in new windows. Instead, the whole of the history is displayed in one window and directories represented by branches in a tree diagram. Double clicking on a closed directory will open it, displaying its contents as a new branch. Double clicking on an open directory will close it. When addresses are double clicked on, their URL is launched by NetSurf.

    + +

    Next to the address and directory icons there are toggle boxes, which can be used to expand and collapse branches in the history tree. Clicking on the branch toggle boxes next to directories has exactly the same effect as double clicking on a directory. Expanding an address with the branch toggle box displays the other information it contains. (The URL and the time it was visited.) The space bar can also be used to expand or collapse selected addresses.

    + +

    As with filer windows, selections can be made by dragging selection boxes and adjust clicking can be used to add or remove items from the selection.

    + +

    Toolbar

    + +

    The global history toolbar allows quick access to various commonly used features. More functions are available through the menus. The toolbar can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section. Available icons are listed below.

    + +

    Delete Selection Clicking on this button deletes any selected directories or addresses from the global history.

    + +

    Expand Addresses Select clicking on this button expands any addresses that are being shown, to display additional information about each one. Adjust clicking hides the additional information for any expanded addresses.

    + +

    Launch Selection Clicking on this button launches all selected addresses in separate browser windows. If a directory is selected any addresses it contains will be launched.

    + +

    Open Directories Select clicking on this button opens every directory in the global history. Adjust clicking closes any open directories.

    + +

    Menus

    + +

    The global history menu contains options which allow you to manage the content of your global history. The options available are:

    + + + + + + + + + + + +

    The History submenu contains the following options which apply to the global history window in general.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    The selection submenu, which is only available when a selection has been made in the global history window, contains the following options.

    + + + + + + + + + + + + + + + + + + + +

    Hotlist Management Window

    + +

    While browsing the World Wide Web, you may come across pages that you wish to return to. NetSurf's hotlist provides a convenient way of storing these addresses (URLs) so that you can return to the page without having to remember the URL or how you first came across the page. To open the hotlist management window, you can adjust click on NetSurf's iconbar icon or select click on the Hotlist toolbar button in a browser window. Hotlists are made up from "addresses" and "directories". There can be as many of each of these as you like.

    + +

    An address consists of a name and a URL. Hotlist addresses can point to any kind of file and double clicking on one will launch the URL in NetSurf. The name can be anything but, for web pages, it is set to the page title by default. The simplest way to add an address to the hotlist is to adjust click on the Hotlist toolbar button in a browser window. This adds the URL of the current page to the hotlist. Additionally, files on your hard disc can be added by dragging them to the hotlist from a filer window. Addresses also store other usage information, such as the date the address was added to the hotlist, when it was last visited and how many times it has been visited in total.

    + +

    Directories are used to group related addresses to allow for easy location of the address you want. They can be nested and contain a mixture of addresses and other directories.

    + +

    The hotlist display works in a similar way to a filer window, although there are some important differences. Directories are not opened in new windows. Instead, the whole hotlist is displayed in one window and directories represented by branches in a tree diagram. Double clicking on a closed directory will open it, displaying its contents as a new branch. Double clicking on an open directory will close it. When addresses are double clicked on, their URL is launched by NetSurf.

    + +

    Next to the address and directory icons there are toggle boxes, which can be used to expand and collapse branches in the hotlist tree. Clicking on the branch toggle boxes next to directories has exactly the same effect as double clicking on a directory. Expanding an address with the branch toggle box displays the other information it contains, such as the URL and its usage statistics. The space bar can also be used to expand or collapse selected addresses.

    + +

    As with filer windows, selections can be made by dragging selection boxes and adjust clicking can be used to add or remove items from the selection. Selections can then be dragged and dropped within the hotlist management window to move them around. It is possible to drop a selection into a closed directory by releasing it over the bottom half of the target directory. Dropping the selection over the top half of a directory or address will insert the selection above that item. Finally, dropping a selection over the lower half of an address will move it below the address.

    + +

    Renaming of addresses and directories can by achieved by clicking on an item with the Alt key held down. The URLs within expanded address entries can also be altered in this way. Selected items can be deleted from the toolbar, menus or with Ctrl+X

    + +

    NetSurf's hotlist is stored as an HTML file which can be found in Choices:WWW.NetSurf. This means the hotlist file can be loaded into a NetSurf browser window and used as a links page or set to your default home page. The hotlist file is saved when you quit NetSurf.

    + +

    Toolbar

    + +

    The hotlist toolbar allows quick access to various commonly used features. More functions are available through the menus. The toolbar can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section. Available icons are listed below.

    + +

    Toolbar Icons

    + +

    Create Directory Clicking on this button adds a new directory to the bottom of the hotlist. The cursor is placed at the name of the new directory. Either type Ctrl-U and rename it or press Return to accept the default name.

    + +

    Delete Selection Clicking on this button deletes any selected directories or addresses from the hotlist.

    + +

    Expand Addresses Select clicking on this button expands any addresses that are being shown, to display additional information about each one. Adjust clicking hides the additional information for any expanded addresses.

    + +

    Launch Selection Clicking on this button launches all selected addresses in separate browser windows. If a directory is selected any addresses it contains will be launched.

    + +

    Open Directories Select clicking on this button opens every directory in the hotlist. Adjust clicking closes any open directories.

    + +

    Icons that are greyed out indicate that their function is unavailable.

    + +

    Menus

    + +

    The hotlist menu contains options which allow you to manage the content of your hotlist. The options available are:

    + + + + + + + + + + + +

    The Hotlist submenu contains the following options which apply to the hotlist in general.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    The selection submenu, which is only available when a selection has been made in the hotlist management window, contains the following options.

    + + + + + + + + + + + +

    Addresses added to the hotlist from a NetSurf browser window have a default name set. For HTML files, this is the page title.

    + + + + + + + + + + + + + +

    Configuring NetSurf

    + +

    NetSurf can be tailored to suit your needs by configuring the way it looks and behaves. Most of NetSurf's configuration options are available from the global choices panel. Display options for browser windows are set up for an individual browser window and then saved globally in the browser window menus.

    + +

    Toolbars can be customised to contain only the icons you want, in the order you want, in toolbar edit mode. This is covered in the toolbar customisation section.

    + +

    Global Configuration

    + +

    The configuration panel is opened from the iconbar menu.

    + +
    + + +

    NetSurf's global configuration sections

    +
    + +

    Clicking on one of the section icons will open a new configuration window, allowing you to set up that particular aspect of NetSurf.

    + +

    All of NetSurf's configuration section windows have the following three buttons at the bottom.

    + +
    +
    +
    Default
    +
    This button can be used to reset NetSurf's options, for the current configuration window, to the original values that are built into NetSurf. Use this button if you think that you have configured something wrongly and want to try the "factory settings".
    +
    Cancel
    +
    Select clicking on this button will close the window. Any changes you have made will be discarded.
    Adjust clicking on this button will return all the options in the window back to the last saved values, that were shown when you opened the window.
    +
    Set
    +
    Select clicking on this button will save your changes and close the window.
    Adjust clicking on this button will save your changes and leave the window open.
    +
    +
    + +

    Cache Configuration

    + +

    NetSurf keeps local copies of some content, which has been downloaded from the internet. This local copy of downloaded data is called a cache and it improves NetSurf's performance. The cache is used so that if, for example, you visit a page that contains an image and then go to another page that uses the same image, NetSurf will not need to download the same image twice.

    + +

    NetSurf has two separate caches, the memory cache and the disc cache.

    + +
    Memory cache
    + +

    The memory cache is used to store data related to the most recent pages you have seen. Since this data is stored in memory, it can be accessed very quickly. The memory cache is not preserved over sessions, and is lost when you quit NetSurf.

    + +
    +
    +
    Size
    +
    This option can be used to alter the size of NetSurf's memory cache. A larger cache will allow more content to be stored in memory, at the expense of greater memory usage.
    +
    +
    + +
    Disc cache
    + +

    The disc cache is used to store content from web sites on your computer's hard disc. This allows you to return to old pages without having to download them again. The disc cache also stores other persistent data (data that is recovered next time you start NetSurf). It stores web page thumbnails for showing in global history.

    + +
    +
    +
    Duration
    +
    This option can be used to alter the maximum length of time data will stay in the disc cache, without being used, before it is dropped from the cache. Note that files are not automatically deleted from your hard disc when they are dropped from the cache. Files in the cache are each assigned a file name. When the file is dropped from the cache its file name is freed up, so that a new file to be written to the cache can overwrite it. NetSurf does not automatically delete dropped files for performance reasons and to keep hard disc usage to a minimum. To manually delete dropped files, use the "perform maintenance button below.
    +
    Perform maintenance
    +
    This button can be used to delete any redundant files from NetSurf's disc cache.
    +
    +
    + +

    At the current time the disc cache is not fully operational. It is only used for storing images.

    + +

    Connection Configuration

    + +

    NetSurf accesses the internet by contacting remote computers. The options here can be used to configure how it does this.

    + +
    HTTP Proxy
    + +

    Some computers need to be connected to the internet through a proxy server. If your Internet Service Provider has a proxy server, the details can be entered here.

    + +
    +
    +
    Proxy type
    +
    This option can be used to select a proxy type. "No proxy" means you do not require a proxy to connect to the internet. "Simple proxy" means use a proxy that does not require authentication (a username and password). "Basic authentication" means use a proxy that requires a username and password. "NTLM authentication" also means use a proxy that requires a username and password. Consult your ISP to find out which option to use. If a proxy is required, "Simple proxy" is the most common type.
    +
    Host
    +
    This option can be used to set the host name for the proxy server. This option will be greyed out if "No proxy" has been selected above.
    +
    Port
    +
    This option can be used to set the port number for the proxy server. This option will be greyed out if "No proxy" has been selected above.
    +
    Username
    +
    This option can be used to set a username for use with the proxy server. This option will be greyed out unless a proxy with authentication has been selected for the proxy type.
    +
    Password
    +
    This option can be used to set a password for use with the proxy server. This option will be greyed out unless a proxy with authentication has been selected for the proxy type.
    +
    +
    + +
    Fetching
    + +

    The way NetSurf fetches content from the internet can be tailored to suit your hardware and the speed of your internet connection. These are quite advanced configuration options and should not need to be modified, in most cases.

    + +
    +
    +
    Maximum fetches
    +
    This option can be used to set the maximum number of simultaneous fetches (downloading multiple things in parallel) that NetSurf will carry out at one time. After this limit is reached, new fetches will be queued and fetched as the current fetches are completed. High values will benefit people with fast connections and fast computers, that are able to keep up with all the incoming data.
    +
    Fetches per host
    +
    This option can be used to set the maximum number of simultaneous fetches per host. This means the limit to the number of simultaneous downloads from a particular web site. Simultaneous downloads from the same host can speed up fetching web pages quite dramatically because images on the page can be fetched in parallel, rather than in series.
    +
    Cached connections
    +
    This option can be used to set the maximum number of persistent connections that NetSurf can maintain at any one time. Persistent connections, or "Keep-Alive" connections are HTTP sessions that allow multiple requests to be sent over the same connection. In some cases they have been shown to result in an almost 50% speed up in latency times for HTML documents with lots of images.
    +
    +
    + +

    Content Configuration

    + +

    Content is the name given to material downloaded from the World Wide Web. It can be web pages, images, animations and more.

    + +
    Content blocking
    + +

    NetSurf can prevent certain types of content from loading and stop pages from performing certain actions.

    + +
    +
    +
    Hide advertisements
    +
    This option can be used to stop NetSurf from displaying advertisements on web pages. This can be useful for pages which contain distracting or obtrusive adverts. Note that NetSurf can only make an educated guess at which content is an advert and which is not. This can mean that some adverts will be fail to be blocked, or more seriously, when advertisement blocking is enabled some valid content may occasionally be blocked.
    +
    Disable pop-up windows
    +
    This option can be used to stop web pages from opening new browser windows on your desktop. Some pages may try to open advertisements in new windows, when you visit the page, or open some links in pop-up windows, instead of the current window. Disabling pop-ups means that the only way a new window can be opened is when a user explicitly opens it.
    +
    Disable plug-ins
    +
    This option can be used to disable plug-ins. Plug-ins are external applications that can handle specific types of content, for example Flash files. This option disables the use of plug-ins, meaning that NetSurf will simply not display the particular file, or use any alternative content provided by a web page.
    +
    +
    + +

    Font Configuration

    + +

    Most content and information on the World Wide Web is text. It is important to set NetSurf up so that it displays text that you find comfortable to read.

    + +
    Font faces
    + +

    You can set which specific font on your system that you want NetSurf to use for each of the five styles of typeface that are available for use on the World Wide Web.

    + +
    +
    +
    Sans-serif
    +
    This option can be used to select a particular sans-serif font on your system. It will be used whenever a web page specifies a sans-serif typeface. Helvetica (Homerton) is an example of a sans-serif font.
    +
    Serif
    +
    This option can be used to select a particular serif font on your system. It will be used whenever a web page specifies a serif typeface. Times (Trinity) is an example of a serif font.
    +
    Monospace
    +
    This option can be used to select a particular monospace font on your system. It will be used whenever a web page specifies a monospace typeface. Courier (Corpus) is an example of a monospace font.
    +
    Cursive
    +
    This option can be used to select a particular cursive font on your system. It will be used whenever a web page specifies a cursive typeface. ZapfChancery (Churchill) is an example of a cursive font.
    +
    Fantasy
    +
    This option can be used to select a particular fantasy font on your system. It will be used whenever a web page specifies a fantasy typeface. There is no particular style of font associated with fantasy, so any fancy looking but readable font would be apt and suitable.
    +
    Default
    +
    This option can be used to set the default font style. It is used when web pages do not specify a font face of their own. Sans-serif and serif are the most typical options for this setting.
    +
    +
    + +
    Font size
    + +

    The size of text used to render web pages can be controlled with the following options. It is important to ensure that the text NetSurf renders is at a size you find comfortable to read.

    + +
    +
    +
    Default
    +
    This option can be used to set the default font size. The default font size is the size at which text will be rendered whenever web pages do not specify a size. It is also the base size that is used where web sites specify relative font sizes.
    +
    Minimum
    +
    This option can be used to set the minimum font size. No text will be rendered smaller than this size, even if a web site specifies a smaller size. This option is used to ensure that web pages are never rendered with smaller text than you find easy to read.
    +
    +
    + +

    Home Page Configuration

    + +

    The home page is the page that is opened when you open a new window from the icon bar.

    + +
    Home page
    + +
    +
    +
    URL
    +
    This option can be used to set NetSurf's home page address. Any address can be typed into the box, or an address can be selected from a menu of recently visited URLs. These URLs are addresses that have previously been typed into the URL bar of a NetSurf browser window.
    +
    Open browser window on start-up
    +
    This option can be used to make NetSurf open a new browser window on the desktop, when the application is started.
    +
    +
    + +

    Image Configuration

    + +

    A great deal of content on the internet is in the form of images. NetSurf allows the display of images to be tailored to suit the hardware you use.

    + +
    Image quality
    + +

    NetSurf can use various different methods to display images on web pages. If you are using NetSurf in a 16 million colour screen mode, all the options will perform the same. If you use less than 16 million colours then there is a trade-off between image quality and rendering speed. The exception to this is the "Use OS" option, which will never display images with alpha channels (varying degrees of transparency) as well as any of the other options. The four image quality settings are described below.

    + +
    +
    Use OS
    +
    This means that RISC OS's routines (OS_SpriteOp) are used to display images. This option results in poor quality (especially so for images with alpha channels as the alpha channel is emulated using standard calls) and also poor speed. This option is not recommended unless you are having problems with the other options.
    +
    Direct to screen
    +
    This is the fastest available output, but suffers the same low quality as using the OS routines in less than 16 million colours. However, this option can render images with alpha channels correctly. If you are on a slow machine you may want to use this for background images.
    +
    Dithered
    +
    This is a quick method for improving the display of images in screen modes with less than 16 million colours. It emulates twice as many colours as are available in the current screen mode (for less than 16 million colours). It gives a fair increase in display quality for many images and you won't notice much speed loss. If you're on a slow machine you will probably find this best for foreground images.
    +
    Error diffused
    +
    This is another method for improving the display of images in screen modes with less than 16 million colours. It is slower than dithering but offers the highest quality representation of images. If you run in an 8bpp (256 colour) screen mode then this is as aesthetically pleasing as you can get. As it is slower than the other options, you may only want to use it for foreground images, even on a medium powered machine (such as a SA RiscPC).
    +
    + +

    Note that if you are using a 16 million colour mode then neither error diffusion or dithering will be used, even if one of these options is selected. This is because all possible colours can be displayed directly. Naturally, use of a 16 million colour million colour screen mode gives the best possible display, if you have the image quality setting set to "Direct to screen", "Dithered" and "Error diffused". If you use 16 million colours and have a fast machine, it is best to use "Error diffused", so that if you ever drop to a low colour screen mode you still get the best available image quality.

    + +
    +
    +
    Foreground
    +
    This option can be used to set the type of rendering to be used for foreground images. Since foreground images are often important features of web pages and cover relatively small areas, it is worth setting this setting as high as you can get away with on your hardware. For details on what each of the options actually does, see the notes above.
    +
    Background
    +
    This option can be used to set the type of rendering to be used for background images. Since background images are rarely vital features of web pages and can cover large areas, it would be wise to set this setting to a lower quality than for foreground images, if you are not running NetSurf on one of the latest machines. For details on what each of the options actually does, see the notes above.
    +
    Preview image
    +
    This section shows the results of your image quality choices on the visual appearance of images. In 16 million colour screen modes, the "Direct to screen", "Dithered" and "Error diffused" will look the same. If the "Use OS" option is used for the foreground image, the preview will demonstrate the poor handling of alpha channels that this mode exhibits. In 256 colour modes, the differences between the different quality settings should be quite pronounced.
    +
    +
    + +
    Animations
    + +

    Some web pages use animations, which are a series of still images played in sequence.

    + +
    +
    +
    Speed limit
    +
    This option can be used to set the minimum time delay between displaying each frame of an animation. Increasing this value will cause animations to run slower. Fast animations require a lot of computational effort, so a very low setting can cause your computer to slow down when rapid animations are displayed.
    +
    Disable animations
    +
    This option can be used to stop animations from being played. If animations are disabled then the first frame of the animation is shown as a static image.
    +
    +
    + +

    Interface Configuration

    + +

    The way NetSurf interacts with its users is called its interface. Various aspects of NetSurf's behaviour can be tailored to suit your requirements.

    + +
    Downloading / saving files
    + +

    You can use NetSurf to save content from the internet onto your local hard disc.

    + +
    +
    +
    Strip filename extensions when saving
    +
    This option can be used to remove the file extensions (eg .html and .jpeg) from file names. The extensions are not needed on RISC OS as it records the file type by other means. You may want to retain file extensions if you plan to transfer saved files to other computers, running different operating systems.
    +
    Request confirmation before overwriting files
    +
    This option can be used to make NetSurf to ask for confirmation before overwriting a file of the same name, when saving. Please note that NetSurf does not allow directories to be overwritten. Also note that SparkFS causes zip files and other archives to be treated as directories.
    +
    +
    + +
    Interactive features
    + +

    NetSurf has various features that can provide information and additional functionality as you use or interact with the program.

    + +
    +
    +
    Display recently visited URLs as you type
    +
    This option can be used to enable NetSurf's URL suggestion feature. When this is enabled and you type into the URL bar of a NetSurf browser window, then a small window is opened up below the URL bar, which shows previously visited URLs that could be used to complete the URL you're typing. For more information, see the URL completion section.
    +
    Hover URLs by the pointer for local history
    +
    This option can be used to make NetSurf display the URL of the thumbnail under your mouse pointer in local history windows. The URL is displayed in a floating box, beside the pointer.
    +
    +
    + +

    Language Configuration

    + +

    NetSurf has been designed to work in different languages and you can select the one that you find most suitable.

    + +
    Language
    + +
    +
    +
    Interface
    +
    This option can be used to select the language to use for NetSurf's interface. This includes menus, dialogue boxes and interactive help text. The only available languages are those that have had resources prepared for them. At the current time, these are English, Dutch, French and German.
    +
    Web pages
    +
    This option can be used to request for web pages to be sent in your preferred language. Some web sites are available in a variety of languages. NetSurf will request that web servers send pages in the language of your choice. If your desired language is unavailable, the server will ignore the request and use a default language.
    +
    +
    + +

    Memory Configuration

    + +

    NetSurf provides you with a certain amount of control over how it uses the memory on your system. The way you set up NetSurf's memory usage will depend on how much memory your system has and how many other applications you tend to have running while browsing the World Wide Web.

    + +
    Image memory
    + +

    NetSurf uses memory to store images downloaded from the internet, while you are viewing them. It can store both compressed and uncompressed images in memory.

    + +
    +
    +
    Direct
    +
    This option can be used to set the maximum amount of memory NetSurf will use for storing uncompressed images. The more memory you allocate to this, the more images NetSurf will be able to hold in memory. Uncompressed images, held in memory can be displayed very quickly.
    +
    Automatic handling
    +
    This option can be used to tell NetSurf to make an intelligent guess at the best amount of memory to use for uncompressed images on your system. Generally, this option will work well for most users.
    +
    Compressed
    +
    This option can be used to set the maximum amount of memory NetSurf will use for storing compressed images. The more memory you allocate to this, the more images NetSurf will be able to hold in memory. Uncompressed images, held in memory, can be displayed quickly. When the "direct" and "compressed" memory is full, images can be dropped out of memory and stored on your hard disc. This is part of NetSurf's disc cache functionality and options for controlling this are provided in the cache configuration section.
    +
    Automatic handling
    +
    This option can be used to tell NetSurf to make an intelligent guess at the best amount of memory to use for compressed images on your system. Generally, this option will work well for most users.
    +
    +
    + +

    Security Configuration

    + +

    As the World Wide Web has grown in popularity, so too has the number of people who try to exploit its users for some nefarious end. Browser security and privacy features have become increasingly important.

    + +
    Cross-site privacy
    + +

    When you visit one page, after following a link on another page, a browser can tell the new page the address of the page that linked to them.

    + +
    +
    +
    Send site referral information
    +
    This option can be used to allow NetSurf to send referral information. When this option is disabled, NetSurf will not tell web sites the address of the page you came from. In most cases this should not cause any problems, but some sites do require you to send referral information. In these cases you might find images don't load or you get Forbidden messages from their server. On the other hand, if you do send referral information, web sites will be able to tell what web site you were at before you followed a link to their site. This allows them to find out what other sites are linking to them and is not usually any cause for distress.
    +
    +
    + +
    Site history
    + +

    NetSurf records all the web sites you have visited as part of its global history feature. Entries can be deleted from the global history window directly and NetSurf allows the length of time items are kept in global history to be configured.

    + +
    +
    +
    Duration
    +
    This option can be used to set the length of time entries are stored in global history, before they are deleted. Setting the duration to zero days turns off the global history feature.
    +
    +
    + +

    Theme Configuration

    + +

    The 'look and feel' of NetSurf's interface can be changed. This is done by installing and selecting themes.

    + +
    Available themes
    + +

    This section displays a preview of all the currently installed themes. New themes are available at the NetSurf themes page.

    + +
    +
    +
    Theme selection pane
    +
    This section can be used to select a theme. A theme is selected using the radio buttons. If a theme you have just installed does not appear for selection, NetSurf needs to be told to re-scan the themes directory. It is re-scanned when the choices window is opened or by adjust clicking on the Cancel button. The currently loaded theme is cached so any updates to that theme will not be loaded until NetSurf is restarted. Alternatively, it is possible to switch to another theme, re-scan themes and then switch back.
    +
    +
    + +

    Toolbar customisation

    + +

    Icons on NetSurf's toolbars can be switched on & off and moved around. The sprites used for the icons can be changed by installing different themes.

    + +

    To move the icons around, enable toolbar edit mode by clicking menu over the toolbar and choosing "Edit toolbar". This will open the toolbar editing panel. Icons can be dragged back and forth between the temporary panel and the toolbar. Separators for groups of icons can be created by dragging the separator sprite from the toolbar edit panel and dropping it where you want it to go. To exit toolbar edit mode, select "Edit toolbar" again from the toolbar menu.

    + +

    When you exit toolbar edit mode, the new toolbar layout is saved and new windows opened from then on will use your customised toolbar.

    + +

    Keyboard Shortcuts

    + +

    NetSurf supports keyboard shortcuts, which allow quick access to features and make NetSurf easier to use. The supported keypresses and corresponding functions are listed below.

    + +

    Content

    + + + + + + + + + + + +
    ShortcutFunction
    Ctrl+NOpen the current page in a new window
    Ctrl+F1Display information about the current page or content
    F3Save the page source
    Ctrl+F3Save the page as text
    Shift+F3Full save of the web page, including images etc
    Ctrl+Shift+F3Save the page as a Drawfile
    F8View the page source code in a text editor
    PrintOpen the print dialogue box
    + +

    Display

    + + + + + + + + + + + + + + + +
    ShortcutFunction
    Page DownScroll down by one page
    Page UpScroll up by one page
    Cursor DownScroll down one line
    Ctrl+Cursor DownGo to the bottom of the page
    Cursor UpScroll up one line
    Ctrl+Cursor UpGo to the top of the page
    F11Open the scale view window
    Ctrl+QReduce scale of view
    Ctrl+WIncrease scale of view
    Ctrl+Shift+QReduce scale of view by 10%
    Ctrl+Shift+WIncrease scale of view by 10%
    Shift+F11View box outlines. This may be useful if you are creating your own web page. Cyan marks the content's edge, magenta marks the padding's edge and yellow marks the margin's edge.
    + +

    Navigation

    + + + + + + +
    ShortcutFunction
    F5Reload the current page
    Ctrl+F5, Ctrl+RReload the current page and any images and style sheets that the page uses
    EscStop the current page loading
    + +

    General

    + + + + + + + + + +
    F1Open the documentation contents page in a new window
    F2Move the caret to URL bar and clear it to "www."
    F4Open the text search window
    F6Open the hotlist management window
    F7Open the local history window
    Ctrl+F7Open the global history window
    Ctrl+F2Close the window
    + + + + +
    + + +
    + +
    + + + diff --git a/documentation/images/back.png b/documentation/images/back.png new file mode 100644 index 0000000..6f69a3d Binary files /dev/null and b/documentation/images/back.png differ diff --git a/documentation/images/bwin.png b/documentation/images/bwin.png new file mode 100644 index 0000000..1ebb0e8 Binary files /dev/null and b/documentation/images/bwin.png differ diff --git a/documentation/images/cache.png b/documentation/images/cache.png new file mode 100644 index 0000000..dc3099a Binary files /dev/null and b/documentation/images/cache.png differ diff --git a/documentation/images/connect.png b/documentation/images/connect.png new file mode 100644 index 0000000..2cc1c5d Binary files /dev/null and b/documentation/images/connect.png differ diff --git a/documentation/images/content.png b/documentation/images/content.png new file mode 100644 index 0000000..510a079 Binary files /dev/null and b/documentation/images/content.png differ diff --git a/documentation/images/create.png b/documentation/images/create.png new file mode 100644 index 0000000..2ed42f6 Binary files /dev/null and b/documentation/images/create.png differ diff --git a/documentation/images/delete.png b/documentation/images/delete.png new file mode 100644 index 0000000..c6d5f90 Binary files /dev/null and b/documentation/images/delete.png differ diff --git a/documentation/images/dwnld.png b/documentation/images/dwnld.png new file mode 100644 index 0000000..04be6b3 Binary files /dev/null and b/documentation/images/dwnld.png differ diff --git a/documentation/images/expand.png b/documentation/images/expand.png new file mode 100644 index 0000000..de66b94 Binary files /dev/null and b/documentation/images/expand.png differ diff --git a/documentation/images/fonts.png b/documentation/images/fonts.png new file mode 100644 index 0000000..70814f4 Binary files /dev/null and b/documentation/images/fonts.png differ diff --git a/documentation/images/forward.png b/documentation/images/forward.png new file mode 100644 index 0000000..42f022a Binary files /dev/null and b/documentation/images/forward.png differ diff --git a/documentation/images/history.png b/documentation/images/history.png new file mode 100644 index 0000000..f7170ce Binary files /dev/null and b/documentation/images/history.png differ diff --git a/documentation/images/home.png b/documentation/images/home.png new file mode 100644 index 0000000..3cae6ab Binary files /dev/null and b/documentation/images/home.png differ diff --git a/documentation/images/homeconf.png b/documentation/images/homeconf.png new file mode 100644 index 0000000..ec9fbb5 Binary files /dev/null and b/documentation/images/homeconf.png differ diff --git a/documentation/images/hotlist.png b/documentation/images/hotlist.png new file mode 100644 index 0000000..8fca67b Binary files /dev/null and b/documentation/images/hotlist.png differ diff --git a/documentation/images/images.png b/documentation/images/images.png new file mode 100644 index 0000000..13560fe Binary files /dev/null and b/documentation/images/images.png differ diff --git a/documentation/images/interface.png b/documentation/images/interface.png new file mode 100644 index 0000000..329c8d3 Binary files /dev/null and b/documentation/images/interface.png differ diff --git a/documentation/images/language.png b/documentation/images/language.png new file mode 100644 index 0000000..70d91f3 Binary files /dev/null and b/documentation/images/language.png differ diff --git a/documentation/images/launch.png b/documentation/images/launch.png new file mode 100644 index 0000000..68724ed Binary files /dev/null and b/documentation/images/launch.png differ diff --git a/documentation/images/memory.png b/documentation/images/memory.png new file mode 100644 index 0000000..00cd1cd Binary files /dev/null and b/documentation/images/memory.png differ diff --git a/documentation/images/open.png b/documentation/images/open.png new file mode 100644 index 0000000..bf026b4 Binary files /dev/null and b/documentation/images/open.png differ diff --git a/documentation/images/print.png b/documentation/images/print.png new file mode 100644 index 0000000..2b7aad3 Binary files /dev/null and b/documentation/images/print.png differ diff --git a/documentation/images/reload.png b/documentation/images/reload.png new file mode 100644 index 0000000..a98d0cf Binary files /dev/null and b/documentation/images/reload.png differ diff --git a/documentation/images/resinstall/boot.png b/documentation/images/resinstall/boot.png new file mode 100644 index 0000000..385a81f Binary files /dev/null and b/documentation/images/resinstall/boot.png differ diff --git a/documentation/images/resinstall/bootinstall.png b/documentation/images/resinstall/bootinstall.png new file mode 100644 index 0000000..d34eecc Binary files /dev/null and b/documentation/images/resinstall/bootinstall.png differ diff --git a/documentation/images/resinstall/configure.png b/documentation/images/resinstall/configure.png new file mode 100644 index 0000000..33bdcbb Binary files /dev/null and b/documentation/images/resinstall/configure.png differ diff --git a/documentation/images/resinstall/system.png b/documentation/images/resinstall/system.png new file mode 100644 index 0000000..41b57e4 Binary files /dev/null and b/documentation/images/resinstall/system.png differ diff --git a/documentation/images/save.png b/documentation/images/save.png new file mode 100644 index 0000000..071d54d Binary files /dev/null and b/documentation/images/save.png differ diff --git a/documentation/images/scale.png b/documentation/images/scale.png new file mode 100644 index 0000000..bf62e5c Binary files /dev/null and b/documentation/images/scale.png differ diff --git a/documentation/images/search.png b/documentation/images/search.png new file mode 100644 index 0000000..6744873 Binary files /dev/null and b/documentation/images/search.png differ diff --git a/documentation/images/security.png b/documentation/images/security.png new file mode 100644 index 0000000..1070999 Binary files /dev/null and b/documentation/images/security.png differ diff --git a/documentation/images/stop.png b/documentation/images/stop.png new file mode 100644 index 0000000..975333a Binary files /dev/null and b/documentation/images/stop.png differ diff --git a/documentation/images/themes.png b/documentation/images/themes.png new file mode 100644 index 0000000..27a8010 Binary files /dev/null and b/documentation/images/themes.png differ diff --git a/documentation/images/up.png b/documentation/images/up.png new file mode 100644 index 0000000..b773dad Binary files /dev/null and b/documentation/images/up.png differ diff --git a/documentation/index.en b/documentation/index.en new file mode 100644 index 0000000..b03dbcd --- /dev/null +++ b/documentation/index.en @@ -0,0 +1,209 @@ + + + +NetSurf | Documentation + + + + + + + + + +
    + + + +

    Documentation

    + +

    This page provides an overview of NetSurf's documentation. The documentation is split into sections, as follows:

    + + + +

    Last updated 2 January 2007

    + +

    General documentation

    + + + +

    User documentation

    + + + +

    Contributor documentation

    + + + +

    Developer documentation

    + + + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/documentation/info.en b/documentation/info.en new file mode 100644 index 0000000..1bd5376 --- /dev/null +++ b/documentation/info.en @@ -0,0 +1,140 @@ + + + +NetSurf | User Information + + + + + + + + + +
    + + + +

    User Information

    + +

    This page is is relevant to all users of NetSurf. RISC OS users can also check the RISC OS user information further information on the RISC OS version of NetSurf.

    + + + +

    Last updated 2 January 2008

    + +

    Getting NetSurf

    + +

    There are two versions of NetSurf available:

    + +
    +
    Stable releases
    +
    These are recommended for most users, particularly if this is your first experience of NetSurf.
    +
    Development builds
    +
    These are built automatically from the latest bleeding-edge source code and may be unstable. Development builds are currently available only for RISC OS users. Users of other platforms can obtain the latest source code and follow the simple compilation instructions.
    +
    + +

    Note that some features may be fully implemented on the RISC OS version and not started on the GTK version. This is indicated on the progress page.

    + +

    Which version to choose

    + +

    If you are new to NetSurf (or don't want to run potentially unstable versions), the stable release series is the best option. Stable releases are made infrequently and comprise bug and security fixes to the previous stable release. Major stable releases introduce new features and form the base of the next stable release series.

    + +

    If you want to keep up with the latest developments in NetSurf, then the development builds are for you. However, as these represent the current state of development, they may be unstable or introduce new bugs. They also have significantly less testing than releases from the stable series.

    + +

    Reporting bugs

    +

    The NetSurf developers are very much open to bug reports. Please follow these simple guidelines.

    + +

    Before submitting a bug report, please:

    + +
      +
    1. check that the bug exhibits itself in the latest version available for download at the time.
    2. +
    3. try to find a reproducible way of triggering the bug.
    4. +
    5. check the progress page be sure that something has actually been implemented.
    6. +
    + +

    When reporting bugs, please:

    + +
      +
    1. state the version of NetSurf you are using.
    2. +
    3. say what hardware and operating system you are using.
    4. +
    5. say whether you can reproduce the problem or whether is was a one-off occurrence that you can't reproduce.
    6. +
    7. explain clearly and concisely the precise nature of the problem. (eg. does the computer hang, does NetSurf crash or report an error or is there a layout problem on a particular site? If it is a layout problem, please explain what is wrong.)
    8. +
    9. if a specific site is failing, give the full URL.
    10. +
    11. list the exact steps required to reproduce the bug.
    12. +
    13. if you can narrow a bug down to a minimal test-case, then that's great. Please provide it as it's likely to speed up a fix. (Don't worry if you can't.)
    14. +
    + +

    Bug reports should be made on the bug tracker. Follow the "Submit New" link and fill in the form. If you have no SourceForge user account, please include your email address so that the developers can contact you. Note that when uploading files to the bug tracker (e.g. Log files), you may need to compress the file before uploading. The limit is 256kB.

    + +

    Following the above guidelines will save the developers' time and speed up NetSurf's development.

    + +

    Feature requests

    + +

    The NetSurf team welcome feature requests and innovative ideas for improving the browsing experience. Before making suggestions, please look at the progress page to check that the feature isn't already planned. Suggestions can be made on the feature request tracker.

    + +

    JavaScript

    + +

    At present, NetSurf has no support for JavaScript. Without a JavaScript implementation, NetSurf is able to provide access to most of sites on the World Wide Web. Some sites, however, will not display correctly or be unworkable due to heavy reliance on this standard.

    + +

    JavaScript is support is planned but we are currently a long way off supporting it. Many things need to be done before JavaScript can be considered, such as a DOM implementation. JavaScript support will require a huge amount of work to complete. If you are keen to help out please visit the developer and contributor area.

    + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/documentation/nstheme.en b/documentation/nstheme.en new file mode 100644 index 0000000..bfc7e3c --- /dev/null +++ b/documentation/nstheme.en @@ -0,0 +1,156 @@ + + + +NetSurf | NSTheme Guide + + + + + + + + + +
    + + + +

    Creating Themes

    + +

    This document is a brief guide to creating themes for use with NetSurf and packaging them with NSTheme. It is split up into the following sections:

    + + + +

    Last updated 22 March 2005

    + +

    Overview

    + +

    A theme contains a set of sprites for NetSurf's toolbar icons and some further information about the theme, such as the background colour of the toolbar and the theme name. NSTheme is an application that loads the sprites, allows the additional information to be set and then packages the theme into a single file for distribution.

    + +

    Sprites

    + +

    A theme contains a number of sprites; two for each button, a single separator sprite and extra sprites for the throbber animation. These sprites are to be grouped into a single sprite file and each sprite must be given a certain name, so that they can be attributed to the correct button.

    + +

    The toolbar buttons and the matching sprite names are listed below.

    + + + + + + + + + + + + + + + + +
    Browser Window
    ButtonSprite name
    Backback
    Forwardforward
    Historyhistory
    Homehome
    Hotlisthotlist
    Printprint
    Reloadreload
    Savesave
    Scale Viewscale
    Search / Find Textsearch
    Stopstop
    Upup
    + + + + + + + + + +
    Hotlist Window
    ButtonSprite name
    Create Directorycreate
    Delete Selectiondelete
    Launch Selectionlaunch
    Open Directoryopen
    Expand Addressesexpand
    + + + + + + + + +
    Global History Window
    ButtonSprite name
    Delete Selectiondelete
    Launch Selectionlaunch
    Open Directoryopen
    Expand Addressesexpand
    + +

    Each button has a sprite for its pressed and unpressed states. The pressed sprites are preceded with the letter 'p'. For the Save button, there will be both 'save' and 'psave' sprites.

    + +

    A sprite named 'separator' is used to separate groups of icons on the toolbar and the throbber is made up of any number of sprites named 'throbber0' to 'throbberN'. When NetSurf is inactive, 'throbber0' is displayed and when it is active, the throbber animation loops through 'throbber1' to 'throbberN'.

    + +

    For a five frame animation, there would be five sprites named 'throbber1' to 'throbber5' plus the inactive sprite, 'throbber0'.

    + +

    The sprites can have any dimensions and if some sprites are larger than others, NetSurf will centre the smaller ones on the toolbar automatically.

    + +

    Using NSTheme

    + +

    NSTheme's user interface should be fairly self explanatory and interactive help is available throughout the application. An existing theme can be loaded by dragging it to the NSTheme window. To create a new theme, drag a sprite file to NSTheme. Theme name and author information can be entered or altered with writable icons.

    + +

    Tick "Left align throbber" if you want the throbber to appear at the left of the toolbar. If un-ticked, the throbber will be displayed at the right. If your throbber animation uses a mask that moves from frame to frame, tick "Redraw every frame", which clears the previous frame of amimation before plotting the new one on top. Leave "Redraw every frame" un-ticked if the throbber doesn't feature a moving mask as this feature can make the throbber flicker while it animates.

    + +

    The Generate report button warns of any problems with the theme. For example, if no sprites have been loaded it will report, "No sprite file present". If a sprite file is loaded but the pressed Save button is missing, it will report, "Sprite 'psave' (browser save icon (pushed)) is missing". The Remove sprites button removes any sprites that had been loaded into the program.

    + +

    Sprites can be extracted from an existing theme with the Export option on the NSTheme window menu. When creating a new theme it may be helpful to extract the sprite file from the supplied theme (!NetSurf.Resources.Theme) and replace these sprites with your own.

    + +

    In the colours section, the background colours for the browser window toolbar, the hotlist toolbar and the browser window's status bar can be configured, along with the colour of text displayed in the status bar.

    + +

    To save a finished theme, use the save option in the NSTheme window menu. Once a theme file has been created, it must be placed in Choices:WWW.NetSurf.Themes to be found by NetSurf.

    + +

    Distribution

    + +

    Completed themes can be submitted for inclusion on NetSurf's themes page. They are served as Content-Type: application/x-netsurf-theme which NetSurf recognizes and installs as themes.

    + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/documentation/progress.en b/documentation/progress.en new file mode 100644 index 0000000..34398ea --- /dev/null +++ b/documentation/progress.en @@ -0,0 +1,300 @@ + + + +NetSurf | Development Progress + + + + + + + + + +
    + + + +

    Development Progress

    + +

    This page provides an indication of the current status of various features and gives an idea of where future development will be aimed. Features are split up as follows:

    + + + +

    Last updated 30 April 2009

    + +

    + + + + + + + +
    TitleStatusNotes
    Web standardsIn progressMost of HTML 4 and CSS 2.1 are implemented which enabled NetSurf to access most of the web, however, JavaScript is currently unimplemented. This means NetSurf currently lacks support for certain dynamic content.
    User interface (RISC OS)Nearly doneRISC OS interface is mature.
    User interface (GTK)In progressThe nsgtk user interface is sufficient to allow web browsing but currently lacks many features expected of a web browser.
    DocumentationIn progressMuch of the core functionality and RISC OS specific features are documented. There is very scant documentation for nsgtk.
    + +

    Web standards

    + + + + + + + + + + + + + + + + + +
    TitleStatusNotes
    CookiesNearly doneUser interface to handle invalid cookies not available.
    CSS 1Nearly done
    CSS 2Nearly done
    CSS 3Just startedSome of the selectors have been implemented.
    HTML 4Nearly done
    HTML 5Just startedAn HTML 5 compliant parser is being developed.
    HTTP 1.1Complete
    HTTP AuthenticationComplete
    HTTPSComplete
    DOM Level 0Just startedCore mostly complete.
    DOM Level 1Just startedCore mostly complete.
    DOM Level 2Just startedCore mostly complete.
    DOM Level 3Just startedCore mostly complete.
    JavaScriptNot startedDetails on the User Information page.
    + +

    Important HTML features

    + + + + + + + + +
    TitleStatusNotes
    FormsNearly done
    FramesNearly doneMargin attributes are unimplemented.
    Frames affect back / forward navigation and history thumbnails.
    Image MapsComplete
    ListsComplete
    TablesNearly doneElements col, colgroup, rowgroup and caption not implemented.
    Extra space is divided equally among columns instead of in proportion with content width.
    + +

    CSS features

    + + + + + + + + + +
    TitleStatusNotes
    SelectorsNearly doneCSS 1 and CSS 2 selectors implemented. A few CSS 3 selectors are implemented too.
    Pseudo-classesJust started
    Pseudo-elementsJust started
    Media typesNearly doneNetSurf currently only uses the screen-targetted CSS, even when printing.
    @importComplete
    CascadeNearly doneThere is no user stylesheet.
    + +

    CSS properties

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TitleStatusNotes
    background-attachmentNot started
    background-colorComplete
    background-imageComplete
    background-positionComplete
    background-repeatComplete
    background (shorthand)Complete
    border-collapseComplete
    border-colorComplete
    border-spacingComplete
    border-styleComplete
    border-[top|right|bottom|left]Complete
    border-*-colorComplete
    border-*-styleComplete
    border-*-widthComplete
    bottomComplete
    caption-sideNot started
    clearNearly doneSome issues with floats remain.
    clipNot started
    colorComplete
    contentNot started
    counter-incrementCompleteCan't be used until content property is implemented.
    counter-resetCompleteCan't be used until content property is implemented.
    cursorComplete
    directionNot started
    displayComplete
    empty-cellsNot started
    floatNearly doneSome issues with floats remain.
    font-familyNearly doneOnly generic font types are recognised, not specific font names.
    font-sizeComplete
    font-size-adjustNot started
    font-stretchNot started
    font-styleComplete
    font-variantIn progressSmall caps not done.
    font-weightComplete
    font (shorthand)CompleteDependent on the status of individual properties.
    heightComplete
    leftComplete
    letter-spacingNot started
    line-heightNearly done
    list-style-imageComplete
    list-style-positionNot started
    list-style-typeNearly done
    list-style (shorthand)CompleteDependent on the status of individual properties.
    margin-[top|right|bottom|left]Complete
    margin (shorthand)Complete
    marker-offsetNot started
    marksNot started
    max-heightComplete
    max-widthComplete
    min-heightComplete
    min-widthComplete
    orphansNot started
    outline-colorNot started
    outline-styleNot started
    outline-widthNot started
    outline (shorthand)Not started
    overflowComplete
    padding-[top|right|bottom|left]Complete
    padding (shorthand)Complete
    pageNot started
    page-break-[after|before|inside]Not started
    positionIn progressFixed position not implemented.
    quotesNot started
    rightComplete
    sizeNot started
    table-layoutNot started
    text-alignComplete
    text-decorationComplete
    text-indentComplete
    text-shadowNot started
    text-transformComplete
    topComplete
    unicode-bidiNot started
    vertical-alignIn progressOnly implemented for table cells.
    visibilityIn progress
    white-spaceIn progress
    widowsNot started
    widthComplete
    word-spacingNot started
    z-indexNot started
    + +

    Image support

    + + + + + + + + + + + + + + + +
    TitleStatusNotes
    Artworks (RISC OS)CompleteRequires AWRender.
    BMPComplete
    Drawfile (RISC OS)Complete
    GIFComplete
    ICOComplete
    JNGComplete
    JPEGComplete
    MNGNearly doneInteractive features aren't supported.
    PNGNearly doneGamma correction is not correct for PNGs with alpha channels.
    Sprite (RISC OS)Complete
    SVG Tiny (RISC OS)In progressVia Libsvgtiny.
    SVG (GTK)CompleteVia rsvg.
    + +

    RISC OS specific standards

    + + + + + + +
    TitleStatusNotes
    Acorn URI ProtocolComplete
    Ant URL ProtocolComplete
    Plugin ProtocolNearly doneIncomplete implementation.
    + +

    NetSurf features

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    TitleStatusNotes
    Advertisement BlockingComplete
    Buffered Rendering OptionsCompleteSubstantially improves the display of content.
    Details in the User Guide (RISC OS).
    Configuration (RISC OS)Complete
    Configuration (GTK)Nearly done
    Disc CacheNot started
    Dithering (RISC OS)CompleteGives improved rendering in sub true colour screen modes.
    Both simple dithering and error diffusion available.
    Documentation (RISC OS)Nearly doneSee the contents page.
    Documentation (GTK)Just startedCurrently only build instructions exist for nsgtk. There is no user guide.
    Downloads (RISC OS)CompleteFollowing a link to a file NetSurf can't render opens the download dialogue box.
    Downloads (GTK)Complete
    Find Text (RISC OS)Nearly doneDoesn't find phrases if they are split across lines.
    Find Text (GTK)Just started
    Full Save (RISC OS)Nearly doneSave pages with CSS files and images.
    Doesn't rewrite URLs for CSS background images.
    Full Save (GTK)Not started
    History - Global (RISC OS)Nearly doneDetails in the User Guide.
    History - Global (GTK)Just startedSome support but very incomplete.
    History - Local (RISC OS)CompleteDetails in the User Guide.
    History - Local (GTK)Nearly done
    Hotlist / bookmarks (RISC OS)Nearly doneDetails in the User Guide.
    Hotlist / bookmarks (GTK)Not started
    Interactive Help (RISC OS)Nearly done
    Interactive Help (GTK)Nearly doneExtensive tool tips for GUI but none for rendering area.
    Memory CacheComplete
    Printing (RISC OS)CompleteDetails on the RISC OS User Information page.
    Printing (GTK)Complete
    Proxy SupportIn progressProtocols other than HTTP are incorrectly proxied.
    Save as Drawfile (RISC OS)Nearly doneEmbedded drawfiles aren't exported when saving page as Draw. (Draw is a RISC OS vector graphics format.)
    Save as Text (RISC OS)In progressSome issues with spacing out of text.
    Save as Text (GTK)Not started
    Scale View (RISC OS)CompleteWeb pages and images can be scaled up and down.
    Text SelectionNearly doneText selection in text areas is incomplete.
    Themes (RISC OS)CompleteThemes are available from the NetSurf themes page.
    Themes (GTK)In progress
    Toolbar Customisation (RISC OS)CompleteToolbars can be customised to show the icons you want, in the order you want.
    Details in the User Guide.
    Toolbar Customisation (GTK)Not started
    Unicode Font Support (RISC OS)Nearly doneDetails on the RISC OS User Information page.
    Unicode Font Support (GTK)Complete
    URL CompletionCompleteWhen typing a URL into the URL bar, NetSurf will display suggestions for the full address.
    View Source (RISC OS)CompletePress F8 or Page > View source on main menu.
    View Source (GTK)Complete
    + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/documentation/resinstall.en b/documentation/resinstall.en new file mode 100644 index 0000000..c3a0c34 --- /dev/null +++ b/documentation/resinstall.en @@ -0,0 +1,129 @@ + + + +NetSurf | RISC OS Resource Installation Guide + + + + + + + + + +
    + + + +

    RISC OS Resource Installation Guide

    + +

    This page is a pictorial guide to installing resources on RISC OS.

    + + + +

    Last updated 29 November 2008

    + +

    Introduction

    + +

    Many RISC OS applications depend on some shared resources and modules in order to run. These shared resources can be used by several different programs at the same time and are stored inside the RISC OS Boot Structure.

    + +

    NetSurf, like many RISC OS applications, comes with two directories; !Boot and !System. These directories contain all the resources that NetSurf requires to run. The Boot Structure is specifically organised so that applications can find the resources they need to run.

    + +

    To install the resources that NetSurf depends on, the supplied !Boot and !System directories need to be merged with your system's Boot Structure. Fortunately this procedure is automated by drag-and-drop tools which do this job for you.

    + +

    Running Configure

    + +

    First of all, we need to run the RISC OS Configure application. There are several ways to do this:

    + +
      +
    • The most common way to run Configure is to double click !Boot, in the root directory of your hard disc.
    • +
    • On RISC OS 5 you can click menu over the switcher icon which resides at the extreme right hand side of the iconbar. Choose the "Configure" option from the menu.
    • +
    • On some versions of the OS from RISCOS Ltd there is a "Choices..." option, which runs Configure, on the switcher menu.
    • +
    + +

    The Configure Window

    + +

    After running Configure you will have a window which looks like the above. Note that the icons you see will vary depending on which version of RISC OS you have.

    + +

    Merging a !System directory

    + +

    In the Configure window, click on the "System" icon. This opens the System Merge window, as pictured below.

    + +

    The System Merge Window

    + +

    Simply drag the !System directory supplied with the software onto this window and click the "Merge" button. The System Merge tool will then automatically merge the new resources into your Boot Structure.

    + +

    Merging a !Boot directory

    + +

    In the Configure window, click on the "Boot" icon. This opens the Boot sequence Configure window, as pictured below.

    + +

    The Boot sequence Configure Window

    + +

    In this window, click on the "Install" icon. This opens the Boot Merge window, as pictured below.

    + +

    The Boot Merge Window

    + +

    Simply drag the !Boot directory supplied with the software onto this window and click the "Merge" button. The Boot Merge tool will then automatically merge the new resources into your Boot Structure.

    + +

    Note: some old versions of RISC OS do not have a Boot Merge tool. In this case, you must instead drop the supplied !Boot over the !Boot directory which resides in the root directory of your hard disc drive.

    + + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/documentation/robuild.en b/documentation/robuild.en new file mode 100644 index 0000000..31a878e --- /dev/null +++ b/documentation/robuild.en @@ -0,0 +1,107 @@ + + + +NetSurf | Building on RISC OS + + + + + + + + + +
    + + + +

    Building NetSurf on RISC OS

    + +

    This document outlines the process required to get a build system for NetSurf set up on a RISC OS machine.

    + + + +

    Last updated 10 August 2009

    + +

    Requirements

    + + + +

    Getting started

    + +

    This section details quick-start instructions for getting NetSurf compiled under RISC OS. If you want more detail, see the rest of this document.

    + +
      +
    1. Download and install the requirements listed above.
    2. +
    3. Force the RISC OS SVN client to handle ,xxx extensions correctly by issuing: +
      *Set svn$filetypeext ""
      +This may be set permanently by uncommenting the appropriate line in !SVN's !Boot file.
    4. +
    5. Check out the latest source code from SVN, by issuing the following command in a TaskWindow: +
      *svn co svn://svn.netsurf-browser.org/trunk/netsurf
    6. +
    7. Open the "netsurf" directory that gets created, this now contains all the source code.
    8. +
    9. Read the "BUILDING-RISC_OS" document in the "Docs" directory. This explains how to actually get NetSurf to build.
    10. +
    + + + +
    + + +
    + +
    + + + diff --git a/documentation/roinfo.en b/documentation/roinfo.en new file mode 100644 index 0000000..3bb00c2 --- /dev/null +++ b/documentation/roinfo.en @@ -0,0 +1,186 @@ + + + +NetSurf | RISC OS User Information + + + + + + + + + +
    + + + +

    RISC OS User Information

    + +

    This page is for issues specific to the RISC OS version of NetSurf. See the general user information page for more information about NetSurf.

    + + + +

    Last updated 23 December 2011

    + +

    Getting started

    + +

    Installation

    + +

    NetSurf requires RISC OS 4.02 or later and builds are available from the project's web site.

    + +

    Installation of "NetSurf" is a three step process:

    + +
      +
    1. Use the Boot Merge facility provided by Configure to merge the supplied !Boot directory with the one on your system.
      If there is no !Boot merge facility on your system, simply drag the supplied !Boot over your existing boot structure.
    2. +
    3. Use the System Merge facility provided by Configure to merge the supplied !System directory with the one on your system.
    4. +
    5. Drag the !NetSurf application directory out of the archive, to your desired location.
    6. +
    + +

    Double click on !NetSurf in your chosen location to launch NetSurf.

    + +

    Note: if you are unsure how to follow steps 1 and 2 above, then please see our pictorial guide to resource installation.

    + +

    Requirements

    + +

    When NetSurf is run it will look for all the resources it needs to function correctly. If anything is not found, it displays an error message indicating the resource it could not locate on your system. If such a message appears, NetSurf is likely to be requesting one of the following resources.

    + +

    Items contained in the !Boot and !System directories supplied with NetSurf:

    + +
    +
    Acorn URI
    +
    The Acorn URI module is used to pass URIs (of which URLs are an example) back and forth between different applications.
    +
    Iconv
    +
    This module provides improved character encoding support.
    +
    SharedUnixLibrary
    +
    This is a support module for programs compiled using UnixLib.
    +
    Tinct
    +
    Tinct is used for image plotting. It provides support for plotting sprites with alpha channels.
    +
    + +

    If NetSurf starts without a problem, there is no need to upgrade any resources on your system.

    + +

    Additional Resources

    + +

    The following resources are not required to run NetSurf, although they do add additional functionality.

    + +
    +
    Flash plugin
    +
    This allows you to view Flash files on web sites.
    +
    MimeMap Datafile
    +
    A resource containing many different MIME types and their equivalent RISC OS file types.
    +
    + +

    Upgrading NetSurf

    + +

    If you are upgrading from a previous version of NetSurf, quit NetSurf and delete your old version. Drag the !NetSurf application to your required destination. NetSurf stores your choices, cookies, hotlist and themes in Choices:WWW.NetSurf, so the !NetSurf application directory can be deleted without any loss of your NetSurf configuration.

    + +

    It is possible to copy the new version of NetSurf over your old version to perform the upgrade. Please be aware that this could result in files that are no longer required being left in your copy of NetSurf although this should not cause any problems in usage.

    + +

    Fonts in NetSurf

    + +

    NetSurf has support for displaying pages containing Unicode characters that aren't normally available on RISC OS, for example accented Latin letters, Greek, Cyrillic, Japanese, and various symbols.

    + +

    The font choices let you pick a font for each of the five standard families available to web authors (in CSS). The choices specify the preferred font to use. If a character is not available in the chosen font, but it's present in some other font that you have installed, then NetSurf will automatically use it. There's no need to change the font choices to view pages with characters that are not available in the chosen font.

    + +

    Note that you can only choose a font family. NetSurf will automatically use weights from the family for bold and slanted text, if available.

    + +

    Installing More Fonts

    + +

    The fonts that come with RISC OS cover Latin (Homerton, Trinity, Corpus), Greek (Sidney), and various symbols (Selwyn, Sidney). (On RISC OS 3-4, only the "Latin 1" characters from the standard fonts, which cover Western European languages, can be used by NetSurf).

    + +

    If you want to display pages with other characters correctly, you'll need to install fonts containing them. When a character is not present in any available font, the Unicode character code will be displayed.

    + +

    If you see the codes 0091, 0092, 0096, or others starting 009, that indicates that the page is not specifying the character set that it is using correctly. Installing fonts won't help. We haven't yet decided what the best way to work around this problem is.

    + +

    Any font supplied with a correctly designed "Encoding" file should work. In practice, native fonts covering anything other than Latin 1 are rare. The solution is to convert TrueType fonts using TTF2f (this currently produces fonts suitable for RISC OS 5 only).

    + +

    After installing new fonts, NetSurf will need restarting so that it detects them.

    + +

    Problems and Unimplemented Features

    + +
      +
    • Substituted characters are taken from the first font that contains them, even if a character which matches the weight or slant better is available.
    • +
    • Unicode line breaking is not implemented.
    • +
    • Right-to-left text (Hebrew, Arabic) is not implemented.
    • +
    + +

    Printing

    + +

    When NetSurf is run without the Unicode Font Manager, printing will work correctly. When printing with the Unicode Font Manager, as on RISC OS 5 or with a softloaded Unicode Font Manager, there are a few things you may need to install.

    + +
      +
    1. Using the standard RISC OS 5 release of the printer drivers doesn't work due to lack of Unicode support in the RISC OS 5 printer drivers. However, a version of "Printers" that supports printing to non-PostScript printers is available from RISC OS Open Ltd.
    2. +
    3. Printing to PostScript printers with Unicode support is not possible with the standard PostScript drivers. In order to print correctly, the more advanced PostScript 3 printer driver by John Tytgat and Martin Würthner is required.
    4. +
    5. If you use Geminus, you'll need to run at least version 1.34.
    6. +
    + + + + +
    + + +
    + +
    + + + diff --git a/documentation/translations.en b/documentation/translations.en new file mode 100644 index 0000000..f86ab84 --- /dev/null +++ b/documentation/translations.en @@ -0,0 +1,136 @@ + + + +NetSurf | Producing Translations + + + + + + + + + +
    + + + +

    Producing Translations

    + +

    This page contains information for anyone interested in translating NetSurf into other languages.

    + + + +

    Last updated 17 June 2006

    + +

    Getting started

    + +

    Translations of NetSurf into other languages are very welcome. Currently we have the reference version in English and translations into Dutch, French and German.

    + +

    Mailing list

    + +

    Translators are encouraged to join the developer's mailing list. Please join the mailing list if you would like to translate NetSurf into a new language or help with an existing translation.

    + +

    The mailing list is for any discussion related to development or translation of NetSurf and will be used to indicate any changes that have been made to NetSurf's interface, web site or documentation.

    + +

    Obtaining files

    + +

    There are two types of files that can be translated; those that are part of the web site and those that are part of the NetSurf application.

    + +

    The documentation is part of the web site and it is copied into the NetSurf application by the autobuilder. The autobuilder automatically makes a few changes to links in the documentation, to ensure they work off line. It is important that it is the web site version of the documentation is translated.

    + +

    The simplest way to get the latest files is to use Subversion, as follows:

    + +

    *svn checkout svn://svn.netsurf-browser.org/trunk/netsurf/!NetSurf
    *svn checkout svn://svn.netsurf-browser.org/trunk/netsurfweb

    + +

    The Subversion client must first have been seen by the filer.

    + +

    The important files are

    + +
      +
    • !NetSurf/Docs.intro_??
    • +
    • !NetSurf/Resources/??/Messages
    • +
    • !NetSurf/Resources/??/Templates
    • +
    • In netsurfweb: Any file ending in ".??"
    • +
    + +

    "??" is a two letter country code, such as "de" (Germany) or "fr" (France)

    + +

    Alternatively, the three files from !NetSurf can be taken from the latest build and any documentation or web material can be found on the web site. Do not be put off by the amount of files that can be translated. A translation of just NetSurf's interface is much better than no translation at all!

    + +

    Please translate from the English version as this will always be most up to date.

    + +

    Requirements

    + +

    No programming knowledge is required, just the ability to use a template editor (for example WinEd) and a text editor capable of editing UTF-8 encoded files (for example Zap).

    + +

    NetSurf's Messages files are UTF-8 encoded. In Zap 1.47 Beta, to select UTF-8 mode, click menu over the window and select:

    + +

    Edit > Encoding > UTF8

    + +

    File submission

    + +

    Please send any translated files to Michael <tlsa@netsurf-browser.org>.

    + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/downloads/amiga/index.en b/downloads/amiga/index.en new file mode 100644 index 0000000..a8025c6 --- /dev/null +++ b/downloads/amiga/index.en @@ -0,0 +1,156 @@ + + + +NetSurf | AmigaOS Downloads + + + + + + + + + +
    + + + +

    AmigaOS NetSurf Downloads

    + +
    +
    +
    Test build (Aminet)
    +
    A development build is available for those that want to try the latest experimental features.
    +
    +
    + +
    +
    +
    +

    NetSurf 2.9 for AmigaOS (5.9MB) 27 Mar 2012

    + +

    Requires:

    +
      +
    • AmigaOS 4
    • +
    +
    + +
    +

    NetSurf 2.9 source code (2.5MB) 27 Mar 2012

    +

    Build instructions

    +

    Build NetSurf for:

    +
      +
    • AmigaOS
    • +
    • Linux
    • +
    • Free/NetBSD
    • +
    • And more
    • +
    +
    +
    +
    +
    + +

    Check out the change log to see what's changed since the last release.

    + +

    Previous releases

    +
    +
    NetSurf 2.8
    +
    + +
    +
    NetSurf 2.7
    +
    + +
    +
    NetSurf 2.6
    +
    + +
    +
    NetSurf 2.5
    +
    + +
    +
    NetSurf 2.1
    +
    + +
    +
    NetSurf 2.0
    +
    + +
    +
    + +

    Latest Source

    + +

    Alternatively, you can obtain the latest source, if you want to play with the AmigaOS port.

    + + + + +
    + + +
    + +
    + + + diff --git a/downloads/atari/index.en b/downloads/atari/index.en new file mode 100644 index 0000000..d681faf --- /dev/null +++ b/downloads/atari/index.en @@ -0,0 +1,121 @@ + + + +NetSurf | Atari Downloads + + + + + + + + + +
    + + + +

    Atari NetSurf Downloads

    + +
    +
    +
    Test build (off site)
    +
    Development builds may be available for those that want to try the latest experimental features.
    +
    +
    + +
    +
    +
    +

    NetSurf 2.9 for Atari (10.0MB) 27 Mar 2012

    + +

    Requires:

    +
      +
    • FreeMiNT 1.17
    • +
    +
    + +
    +

    NetSurf 2.9 source code (2.3MB) 27 Mar 2012

    +

    Build instructions

    +

    Build NetSurf for:

    +
      +
    • Atari
    • +
    • Linux
    • +
    • Free/NetBSD
    • +
    • And more
    • +
    +
    +
    +
    +
    + +

    Check out the change log to see what's changed since the last release.

    + + + +

    Latest Source

    + +

    Alternatively, you can obtain the latest source, if you want to play with the AmigaOS port.

    + + + + +
    + + +
    + +
    + + + diff --git a/downloads/beos/index.en b/downloads/beos/index.en new file mode 100644 index 0000000..281f265 --- /dev/null +++ b/downloads/beos/index.en @@ -0,0 +1,106 @@ + + + +NetSurf | BeOS Downloads + + + + + + + + + +
    + + + +

    Haiku and BeOS NetSurf Downloads

    + +
    +
    +
    +

    NetSurf 2.0 for Haiku (6.2MB) 25 Apr 2009

    +

    Extract to boot and create symlink for Deskbar

    + +
    + +
    +

    NetSurf 2.0 source code (1.4MB) 25 Apr 2009

    +

    Build instructions

    +

    Build NetSurf for:

    +
      +
    • Haiku
    • +
    • BeOS
    • +
    • Linux
    • +
    • Free/NetBSD
    • +
    • And more
    • +
    +
    +
    +
    +
    + +

    Check out the change log to see what's changed since the last release.

    + +

    The latest development build is available, which should be unzipped to "/boot".

    + +

    Source

    + +

    Alternatively, you can obtain the latest source, if you want to play with the BeOS/Haiku port.

    + + + + +
    + + +
    + +
    + + + diff --git a/downloads/extras.en b/downloads/extras.en new file mode 100644 index 0000000..c1d8e31 --- /dev/null +++ b/downloads/extras.en @@ -0,0 +1,80 @@ + + + +NetSurf | Extras + + + + + + + + + +
    + + + +

    NetSurf Extras

    + +

    This page contains additional downloads available for NetSurf users.

    + + + + +

    NSTheme is a theme packager for the RISC OS version of NetSurf. Themes can be installed from the themes page.

    + + + + +
    + + +
    + +
    + + + diff --git a/downloads/gtk/index.en b/downloads/gtk/index.en new file mode 100644 index 0000000..0500c0f --- /dev/null +++ b/downloads/gtk/index.en @@ -0,0 +1,204 @@ + + + +NetSurf | GTK Downloads + + + + + + + + + +
    + + + +

    GTK NetSurf Downloads

    + +
    +
    +
    Latest development source
    +
    Bleeding-edge source code is available for those that want to try the latest experimental features.
    +
    +
    + +

    NetSurf's GTK front end works on systems that provive a Unix-like environment, such as Linux, FreeBSD, NetBSD, Solaris and others. If your distribution packages NetSurf, you can use that. Otherwise you can download and build the source code.

    + +
    +
    +
    +

    NetSurf 2.9 source code (2.5MB) 27 Mar 2012

    +

    Build instructions

    +

    Build NetSurf for:

    +
      +
    • Linux
    • +
    • Free/NetBSD
    • +
    • Solaris
    • +
    • RISC OS
    • +
    • And more
    • +
    +
    +
    +
    +
    + +

    Check out the change log to see what's changed since the last release.

    + +

    Packages

    +

    We provide packages for installation of NetSurf releases on various systems.

    + +
    +
    NetSurf 2.7
    +
    + +
    +
    + + + +

    Previous releases

    +
    +
    NetSurf 2.8
    +
    + +
    +
    NetSurf 2.7
    +
    + +
    +
    NetSurf 2.6
    +
    + +
    +
    NetSurf 2.5
    +
    + +
    +
    NetSurf 2.1
    +
    + +
    +
    NetSurf 2.0
    +
    + +
    +
    NetSurf 1.2
    +
    + +
    +
    NetSurf 1.1
    +
    + +
    +
    NetSurf 1.0
    +
    + +
    +
    + +

    Framebuffer NetSurf

    + +

    There are actually two versions of NetSurf available for Unix-like systems. In addition to the GTK front end, which is for normal desktop usage, there is a framebuffer front end for NetSurf which requires no windowing environment or GUI toolkits. It currently supports the Linux framebuffer and ABLE's framebuffer.

    + +

    Please obtain the latest source, if you want to play with the framebuffer build.

    + + + + +
    + + +
    + +
    + + + diff --git a/downloads/index.en b/downloads/index.en new file mode 100644 index 0000000..5df60a0 --- /dev/null +++ b/downloads/index.en @@ -0,0 +1,89 @@ + + + +NetSurf | Downloads + + + + + + + + + +
    + + + +

    NetSurf Downloads

    + +

    Download NetSurf for your operating system:

    + + + +

    Alternatively, download NetSurf's source code:

    + + + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/downloads/macosx/index.en b/downloads/macosx/index.en new file mode 100644 index 0000000..d325f39 --- /dev/null +++ b/downloads/macosx/index.en @@ -0,0 +1,129 @@ + + + +NetSurf | Mac OS X Downloads + + + + + + + + + +
    + + + +

    Mac OS X NetSurf Downloads

    + + + +
    +
    +
    +

    NetSurf 2.9 for Mac OS X (1.3MB) 27 Mar 2012

    + +

    Requires:

    +
      +
    • Mac OS X 10.6 or later
    • +
    +

    Compatible with i386 & x86_64 systems.

    +
    + +
    +

    NetSurf 2.9 source code (2.3MB) 27 Mar 2012

    +

    Build instructions

    +

    Build NetSurf for:

    +
      +
    • Mac OS X
    • +
    • Linux
    • +
    • Free/NetBSD
    • +
    • And more
    • +
    +
    +
    +
    +
    + +

    Check out the change log to see what's changed since the last release.

    + +

    Previous releases

    +
    +
    NetSurf 2.8
    +
    + +
    +
    NetSurf 2.7
    +
    + +
    +
    + +

    Latest Source

    + +

    Alternatively, you can obtain the latest source, if you want to play with the Mac OS X port.

    + + + + +
    + + +
    + +
    + + + diff --git a/downloads/other/nstools.zip b/downloads/other/nstools.zip new file mode 100644 index 0000000..c7b70aa Binary files /dev/null and b/downloads/other/nstools.zip differ diff --git a/downloads/riscos/index.en b/downloads/riscos/index.en new file mode 100644 index 0000000..ceaf32d --- /dev/null +++ b/downloads/riscos/index.en @@ -0,0 +1,184 @@ + + + +NetSurf | RISC OS Downloads + + + + + + + + + +
    + + + +

    RISC OS NetSurf Downloads

    + +
    +
    +
    Test builds
    +
    Bleeding-edge test builds are available for those that want to try the latest experimental features.
    +
    +
    + +
    +
    +
    +

    NetSurf 2.9 for RISC OS (2.8MB) 27 Mar 2012

    +

    Installation instructions

    +

    Binary download includes:

    + +

    Requires either:

    +
      +
    • RISC OS 6; any version
    • +
    • RISC OS 5.07 or later
    • +
    • RISC OS 4.02 or later
    • +
    +
    + +
    +

    NetSurf 2.9 source code (2.5MB) 27 Mar 2012

    +

    Build instructions

    +

    Build NetSurf for:

    +
      +
    • RISC OS
    • +
    • Linux
    • +
    • Free/NetBSD
    • +
    • Solaris
    • +
    • And more
    • +
    +
    +
    +
    +
    + +

    Check out the change log to see what's changed since the last release.

    + +

    Previous releases

    +
    +
    NetSurf 2.8
    +
    + +
    +
    NetSurf 2.7
    +
    + +
    +
    NetSurf 2.6
    +
    + +
    +
    NetSurf 2.5
    +
    + +
    +
    NetSurf 2.1
    +
    + +
    +
    NetSurf 2.0
    +
    + +
    +
    NetSurf 1.2
    +
    + +
    +
    NetSurf 1.1
    +
    + +
    +
    NetSurf 1.0
    +
    + +
    +
    + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/downloads/riscos/testbuilds.en b/downloads/riscos/testbuilds.en new file mode 100644 index 0000000..6a4181e --- /dev/null +++ b/downloads/riscos/testbuilds.en @@ -0,0 +1,93 @@ + + + +NetSurf | RISC OS Development Builds + + + + + + + + + +
    + + + +

    RISC OS Development Builds

    + +

    The development build available on this page is built automatically from the latest source code in SVN.

    + +

    Notice:
    At any given time these builds may be unstable or have verbose logging enabled which could compromise performance of the browser.

    + + + + +

    By regularly running a recent development build you can help us improve NetSurf by providing feedback to the authors.

    + +

    Any bug reports or feature requests should be posted on the NetSurf issue tracker. If you aren't running RISC OS, you can fetch the latest source and build NetSurf for your system.

    + +

    Recent SVN Activity

    +

    All times are in UTC.

    + + +

    Development Build Packages

    + +

    NetSurf development builds for RISC OS are also available though the RiscPKG packaging system. To use the package, add the line
    pkg http://www.netsurf-browser.org/downloads/development/riscpkg/packages
    to Choices:RiscPkg.Sources. See the RiscPkg documentation for more information.

    + + + + +
    + + +
    + +
    + + + diff --git a/downloads/source/index.en b/downloads/source/index.en new file mode 100644 index 0000000..21c1daa --- /dev/null +++ b/downloads/source/index.en @@ -0,0 +1,117 @@ + + + +NetSurf | Source Code + + + + + + + + + +
    + + + +

    NetSurf Source Code

    + +

    The source code for each release version of NetSurf is available.

    + + + +

    Development version source code

    + +

    NetSurf's source code is stored in a Subversion (SVN) repository. The best way to obtain the latest source code is to check it out of SVN. To do so, run the following command:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/netsurf

    + +

    The latest source code can also be viewed via a web interface.

    + +

    Using Subversion, as described above, is the recommended way to obtain the source, however it is possible to download it from here.

    + +
      + +
    + +

    Build Instructions

    + +

    There are two versions of NetSurf: NetSurf for RISC OS and GTK NetSurf (often referred to as nsgtk).

    + +

    Unix-like platforms

    +

    Users of Unix-like platforms, including Linux, should follow the build instructions provided in the Docs/BUILDING-GTK file. This can be found in the source tree or viewed via the SVN web interface.

    + +

    RISC OS

    +

    RISC OS users should consult the build instructions in the documentation.

    + +

    Haiku and BeOS

    +

    Users of BeOS-like platforms should follow the build instructions provided in the Docs/BUILDING-BeOS file. This can be found in the source tree or viewed via the SVN web interface.

    + +

    AmigaOS

    +

    Users of AmigaOS should follow the build instructions provided in the Docs/BUILDING-AmigaOS file. This can be found in the source tree or viewed via the SVN web interface.

    + + + + +
    + + +
    + +
    + + + + diff --git a/downloads/themes/Aquatic.theme b/downloads/themes/Aquatic.theme new file mode 100644 index 0000000..bbaee9c Binary files /dev/null and b/downloads/themes/Aquatic.theme differ diff --git a/downloads/themes/Aquatici.png b/downloads/themes/Aquatici.png new file mode 100644 index 0000000..bdb5e82 Binary files /dev/null and b/downloads/themes/Aquatici.png differ diff --git a/downloads/themes/Dinky.theme b/downloads/themes/Dinky.theme new file mode 100644 index 0000000..5168046 Binary files /dev/null and b/downloads/themes/Dinky.theme differ diff --git a/downloads/themes/Dinkyi.png b/downloads/themes/Dinkyi.png new file mode 100644 index 0000000..903e5d4 Binary files /dev/null and b/downloads/themes/Dinkyi.png differ diff --git a/downloads/themes/Iyonix.theme b/downloads/themes/Iyonix.theme new file mode 100644 index 0000000..9203909 Binary files /dev/null and b/downloads/themes/Iyonix.theme differ diff --git a/downloads/themes/Iyonixi.png b/downloads/themes/Iyonixi.png new file mode 100644 index 0000000..d8061aa Binary files /dev/null and b/downloads/themes/Iyonixi.png differ diff --git a/downloads/themes/Kemp.theme b/downloads/themes/Kemp.theme new file mode 100644 index 0000000..3c9dfc8 Binary files /dev/null and b/downloads/themes/Kemp.theme differ diff --git a/downloads/themes/Kempi.png b/downloads/themes/Kempi.png new file mode 100644 index 0000000..06769d0 Binary files /dev/null and b/downloads/themes/Kempi.png differ diff --git a/downloads/themes/Qute.theme b/downloads/themes/Qute.theme new file mode 100644 index 0000000..bda55de Binary files /dev/null and b/downloads/themes/Qute.theme differ diff --git a/downloads/themes/Qutei.png b/downloads/themes/Qutei.png new file mode 100644 index 0000000..4da29be Binary files /dev/null and b/downloads/themes/Qutei.png differ diff --git a/downloads/themes/RO5.theme b/downloads/themes/RO5.theme new file mode 100644 index 0000000..fc964dc Binary files /dev/null and b/downloads/themes/RO5.theme differ diff --git a/downloads/themes/RO5i.png b/downloads/themes/RO5i.png new file mode 100644 index 0000000..7688688 Binary files /dev/null and b/downloads/themes/RO5i.png differ diff --git a/downloads/themes/Remembrance.theme b/downloads/themes/Remembrance.theme new file mode 100644 index 0000000..63ca8b5 Binary files /dev/null and b/downloads/themes/Remembrance.theme differ diff --git a/downloads/themes/Remembrancei.png b/downloads/themes/Remembrancei.png new file mode 100644 index 0000000..29bad2a Binary files /dev/null and b/downloads/themes/Remembrancei.png differ diff --git a/downloads/themes/Steel.theme b/downloads/themes/Steel.theme new file mode 100644 index 0000000..f48b21c Binary files /dev/null and b/downloads/themes/Steel.theme differ diff --git a/downloads/themes/Steeli.png b/downloads/themes/Steeli.png new file mode 100644 index 0000000..1797e29 Binary files /dev/null and b/downloads/themes/Steeli.png differ diff --git a/downloads/themes/index.en b/downloads/themes/index.en new file mode 100644 index 0000000..fc3a688 --- /dev/null +++ b/downloads/themes/index.en @@ -0,0 +1,115 @@ + + + +NetSurf | Themes + + + + + + + + + +
    + + + +

    Themes

    + +

    NetSurf allows you to change the look and feel of its interface by installing themes. (Note that this feature is currently only supported by the RISC OS version of NetSurf.) If you have designed a theme which you would like to make available here, contact tlsa@netsurf-browser.org.

    + +

    Select a theme link from below and NetSurf will ask for confirmation before the theme is installed. To revert to a theme you have used previously, open the theme section of NetSurf's Choices and select it from there.

    + +

    Aquatic

    + +

    Install theme

    +

    Author: Matt Aubury (Port: Richard Spencer)

    + +

    Dinky

    + +

    Install theme

    +

    Author: Gavin Wraith

    + +

    IYONIX

    + +

    Install theme

    +

    Author: Richard G. Hallas

    + +

    Kemp

    + +

    Install theme

    +

    Author: Arvid Axelsson (Port: Gavin Wraith)

    + +

    Qute

    + +

    Install theme

    +

    Author: Arvid Axelsson (Port: Stuart Halliday)

    + +

    Remembrance

    + +

    Install theme

    +

    Author: Matt Aubury (Port: Richard Spencer)

    + +

    RISC OS 5

    + +

    Install theme

    +

    Author: Richard G. Hallas

    + +

    Steel

    + +

    Install theme

    +

    Author: Chris Wraight

    + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/errors/404.en b/errors/404.en new file mode 100644 index 0000000..b0b5409 --- /dev/null +++ b/errors/404.en @@ -0,0 +1,55 @@ + + + +NetSurf | 404 Error + + + + + + + + + +
    + + + +

    Error 404: Not found

    + +

    Sorry, the page you're looking for doesn't exist. Try one of the links below or use the site search facility.

    + +
    +
    NetSurf homepage
    +
    Introduction to NetSurf and project summary
    +
    Downloads
    +
    Download the NetSurf web browser
    +
    Documentation
    +
    User information, user guides and developer information
    +
    Developer area
    +
    Information for contributors to the project and developers
    +
    Webmaster area
    +
    Information for webmasters
    +
    Contact us
    +
    All the details you need to get in touch
    +
    + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/errors/406.php b/errors/406.php new file mode 100644 index 0000000..f8cd231 --- /dev/null +++ b/errors/406.php @@ -0,0 +1,52 @@ + + +Language Negotiation Failure + +

    Language Negotiation Failure

    +

    A problem occurred when finding the requested file in your +language. Please email james@semichrome.net quoting the following +so that the problem can be rectified.

    +

    REQUEST_URI: {$_SERVER["REQUEST_URI"]}
    +Accept-Language: {$_SERVER["HTTP_ACCEPT_LANGUAGE"]}

    + + +END; +} + +?> diff --git a/index.en b/index.en new file mode 100644 index 0000000..808dd01 --- /dev/null +++ b/index.en @@ -0,0 +1,216 @@ + + + +NetSurf Web Browser + + + + + +

    NetSurf

    + + + +
    +
    +

    Small as a mouse, fast as a cheetah and available for free. NetSurf is a multi-platform web browser for RISC OS, UNIX-like platforms (including Linux), Mac OS X, and more.

    + +

    Whether you want to check your webmail, read the news or post to discussion forums, NetSurf is your lightweight gateway to the world wide web. Actively developed, NetSurf is continually evolving and improving.

    + + + +

    Written in C, this award winning open source project features its own layout engine. It is licensed under GPL version 2.

    + +

    Why choose NetSurf?

    + +
    +
    Speed
    +
    Efficiency lies at the heart of the NetSurf engine, allowing it to outwit the heavyweights of the web browser world. The NetSurf team continue to squeeze more speed out of their code.
    +
    Interface innovation
    +
    Simple to use and easy to grasp, NetSurf significantly raised the bar for user interface design on the RISC OS platform. Designed carefully by RISC OS users and developers to integrate well with the desktop, NetSurf is seen as the benchmark for future applications. NetSurf pioneered the concept of web page thumbnailing, offering an intuitive graphical tree-like view of visited web sites.
    +
    Lean requirements
    +
    From a modern monster PC to a humble 30MHz ARM 6 computer with 16MB of RAM, the web browser will keep you surfing the web whatever your system. Originally written for computer hardware normally found in PDAs, cable TV boxes, mobile phones and other hand-held gadgets, NetSurf is compact and low maintenance by design.
    +
    Portable
    +
    NetSurf can be built for a number of modern computer platforms 'out of the box'. Written in C, with portability in mind, NetSurf is developed by programmers from a wide range of computing backgrounds, ensuring it remains available for as many users as possible.
    +
    Standards compliant
    +
    Despite a myriad of standards to support, NetSurf makes surfing the web enjoyable and stress-free by striving for complete standards compliancy. As an actively developed project, NetSurf aims to stay abreast of new and upcoming web technologies.
    +
    + +

    See the project goals and progress page for further information on where NetSurf is headed.

    + +

    Want to help?

    + +

    There are always things that need doing, and not enough time in the day, so we'd be delighted if you want to help develop NetSurf. Visit the "How can I help?" page to see ideas for contributing to the project.

    + +

    If you can program and you'd like to improve NetSurf, then we'd love to hear from you. Pick an area you'd like to improve or a feature you want to add and contact the developers. Also, take a look at the developer and contributor area of this site.

    +
    + +
    +
    + + +

    Latest news

    + +
    +
    NetSurf 2.9 released 28 Apr 2012
    +
    NetSurf 2.9 contains many improvements over the previous release. The most significant changes are new multi-tasking behaviour, optimised URL handling, fetcher optimisations, cache optimisations, and faster CSS selection. Full details in the change log. We recommend all users upgrade.
    +
    LibDOM progress 26 Mar 2012
    +
    The NetSurf Developers held a developer workshop over the weekend, during which much progress was made on LibDOM which sits at the heart of our NetSurf 3.0 plans. NetSurf trunk is now using the LibDOM library in place of LibXML2, and we hope to extract several benefits from this change over the coming months. Thanks to Collabora who kindly hosted the workshop.
    +
    New home for TTF2f 07 Dec 2011
    +
    The RISC OS font conversion utility TTF2f has a new web page here, on the NetSurf site. It is capable of converting TrueType, OpenType and other formats to the native RISC OS format. It supports conversion of large fonts with wide Unicode coverage. Anyone wishing to develop TTF2f further should get in touch!
    +
    +

    See more news

    + +

    NetSurf 2.9 features

    + +

    NetSurf 2.9 is available for: RISC OS; Linux and other UNIX-like systems; Mac OS X; and AmigaOS 4.

    + +
    +
    General
    +
    +
      +
    • Web standards: HTML 4.01 and CSS 2.1
    • +
    • Image formats: PNG, GIF, JPEG, SVG, JNG, MNG and BMP
    • +
    • HTTPS for secure online transactions
    • +
    • Unicode text
    • +
    • Web page thumbnailing
    • +
    • Local history trees
    • +
    • Global history
    • +
    • Hotlist manager (bookmarks)
    • +
    • Cookie manager
    • +
    • URL completion
    • +
    • Text selection
    • +
    • Scale view
    • +
    • Search-as-you-type text search highlighting
    • +
    • Save pages complete with images
    • +
    • Fast, lightweight layout and rendering engine
    • +
    +
    +
    RISC OS only
    +
    +
      +
    • Image formats: Sprite, Drawfile and ArtWorks
    • +
    • Drawfile export
    • +
    +
    +
    + +

    Awards

    + +

    NetSurf picked up another accolade, winning in the "best non-commercial product" category at The Icon Bar Awards 2009. NetSurf had previously been nominated by The Icon Bar's readers.

    + +

    At Drobe Launch Pad's annual awards, NetSurf triumphed again in the category for "best non-commercial software", winning the 2008 award.

    +

    See more awards

    + +
    +
    + + +
    + + +
    + +
    + + + diff --git a/netsurf.css b/netsurf.css new file mode 100644 index 0000000..72b4597 --- /dev/null +++ b/netsurf.css @@ -0,0 +1,1146 @@ +html, body { + margin: 0; + padding: 0; } + +body { + color: #000; + background-color: #fff; + font-family: sans-serif; + font-size: 94%; + margin: 0 auto; + position: relative; } + +a:link { + text-decoration: underline; + color: #00f; } + +a:visited { + text-decoration: underline; + color: #60a; } + +a:hover { + text-decoration: none; } + +a:active { + text-decoration: underline; + color: #f00; } + +h1 { + font-size: 200%; + font-weight: bold; } + +h2 { + font-size: 160%; + padding-top: 5mm; + border-top: 1px solid black; } + +h3 { + font-size: 140%; + font-weight: bold; } + +h4 { + font-size: 120%; + font-weight: bold; } + +h5 { + font-size: 120%; + font-style: italic; } + +h1, h2, h3 { + clear: both; } + +dl { + margin: 1em 0em; + padding: 0; } + +dt { + margin: 0.3em 0 0 0; + padding: 0; + font-weight: bold; } + +dd { + margin: 0 0 0.3em 1em; + padding: 0; } + +dd > ul { + margin-top: 0; + margin-left: 0.5em; + padding-left: 0; + margin-bottom: 1em; } + +.banner { + margin: 0; + padding: 0; + background-color: #94adff; + color: black; + text-align: left; } + +.banner img { + border: none; + color: #000; + height: 86px; + width: 308px; + display: block; } + +.navigation { + width: 12.6em; + padding: 0; + position: absolute; + left: 0; + top: 86px; + background: #c6d3ff url("webimages/nav.png") repeat-y top left; } + +.navigation .navsection { + font-size: 106%; + border-top: 1px solid white; + margin: 0; + padding: 0.8em; } + +.navigation ul { + margin: 0; + padding: 0; + background: #bbcbff; } + +.navigation li { + display: block; + list-style-type: none; + margin: 0; } + +.navigation li a { + display: block; + padding: 0.2em 0.5em 0.2em 1em; + color: #00f; + text-decoration: none; + border-top: 1px solid #ccd8ff; + border-bottom: 1px solid #a4b9ff; + border-left: 1px solid #ccd8ff; + border-right: 1px solid #a4b9ff; } + +.navigation li a:visited { + display: block; + color: #00f; + text-decoration: none; } + +.navigation li a:hover { + display: block; + color: #00f; + background: #ccd8ff; + text-decoration: none; } + +.navigation li a:active { + display: block; + padding: 0.2em 0.3em 0.2em 1.2em; + color: #00f; + background: #ccd8ff; + text-decoration: none; + outline: none; } + +.navigation li ul { + margin: 0; + padding: 0; } + +.navigation li li { + display: block; + list-style-type: none; + margin: 0; } + +.navigation li li a { + display: block; + padding: 0.2em 0.5em 0.2em 2em; + color: #00f; + text-decoration: none; + background: url("webimages/arrow.png") no-repeat 1.2em 50%; } + +.navigation li li a:visited { + display: block; + color: #00f; + text-decoration: none; } + +.navigation li li a:hover { + display: block; + color: #00f; + background: #ccd8ff url("webimages/arrow.png") no-repeat 1.2em 50%; + text-decoration: none; } + +.navigation li li a:active { + display: block; + padding: 0.2em 0.3em 0.2em 2.2em; + color: #00f; + text-decoration: none; + background: #ccd8ff url("webimages/arrow.png") no-repeat 1.4em 50%; } + +.navigation h2 { + margin: 0; + padding: 0.4em 0.6em; + font-size: 75%; + background: #bbcbff; + border-top: 1px solid #ccd8ff; + border-left: 1px solid #ccd8ff; + border-right: 1px solid #a4b9ff; } + +.navigation p { + margin: 0; + padding: 0.4em 0.6em; + font-size: 75%; + background: #bbcbff; + border-top: none; + border-left: 1px solid #ccd8ff; + border-right: 1px solid #a4b9ff; } + +.navigation h2.navtitle { + font-weight: bold; + text-align: center; + font-size: 75%; } + +.navigation dl { + margin: 0; + padding: 0.4em 0.6em; + font-size: 75%; + background: #bbcbff; + border-bottom: 1px solid #a4b9ff; + border-left: 1px solid #ccd8ff; + border-right: 1px solid #a4b9ff; } + +.navsection > dl > dd + dt { + margin-top: 1em; } + +.navigation dl dl { + margin: 0; + padding: 0; + border: none; + font-size: 100%; } + +.navigation ul.languages, .navigation ul.sitelinks { + margin: 0; + padding: 0.4em 0.6em; + font-size: 75%; + background: #bbcbff; + border-top: 1px solid #ccd8ff; + border-bottom: 1px solid #a4b9ff; + border-left: 1px solid #ccd8ff; + border-right: 1px solid #a4b9ff; } + +.navigation ul.languages li, .navigation ul.sitelinks li { + border: none; + background: transparent; + padding: 0; + margin: 0; + font-weight: bold; } + +.navigation ul.sitelinks li + li { + margin-top: 0.2em; } + +.navigation ul.languages li a, .navigation ul.sitelinks li a { + display: block; + padding: 0; + margin: 0; + font-weight: normal; + border: none; } + +.navigation ul.languages li a:hover, .navigation ul.sitelinks li a:hover { + display: block; + color: #00f; + padding: 0 0 0 0.2em; + margin: 0; + background: transparent; + text-decoration: none; } + +a.seemore, span.seemore { + text-align: right; + font-weight: bold; } + +a.seemore:after, span.seemore:after { + content: " »"; } + +.onlycontent { + font-size: 104%; + margin: 0 1em; } + +h2.firsthead { + border: none; + padding: 0; + margin-top: 1.4em; } + +.content { + background-color: #fff; + margin: 0 0 0 12.6em; + padding: 1em; } + +.content .frontpageintro { + float: left; + width: 49%; } + +.content .frontpagelatestinfo { + float: right; + width: 50%; + background-color: #fff; } + +.content .frontpageintro h2 { + border: none; + padding-top: 0; } + +.content .frontpagelatestinfo h2 { + border: none; + padding-top: 0; } + +.content .frontpagelatestinfo > div { + padding-left: 1em; } + +#leader { + font-weight: bold; } + +div.frontscreen { + overflow: auto; + width: 100%; + border-color: #94adff; } + +div.frontscreen p.frontscreen { + margin: 0 auto; + width: 252px; + border: 2px solid #c5d3ff; } + +div.frontscreen a { + display: block; + margin: 0; } + +div.frontscreen a img { + width: 250px; + height: 188px; + display: block; + margin: 0; + padding: 0; + border: 1px solid #fff; } + +div.frontscreen a:hover img { + border: 1px solid #00f; } + +div.frontscreen a { + text-decoration: none; } + +div.frontscreen a:hover span { + text-decoration: underline; } + +div.frontscreen span { + display: block; + margin: 0; + padding: 0.2em; + text-align: center; + background-color: #d8e2ff; + border-top: 2px solid #c5d3ff; } + +.downloadbox { + padding-top: 20px; + position: relative; + overflow: hidden; + width: 100%; + color: white; + max-width: 28em; + margin: 0 auto; } + +.downloadbox a { + color: white; + display: block; + height:100%; } + +.downloadbox .downloadcontainer { + position: relative; + width: 100%; + margin: 0; } + +.downloadbox .downloadcontent { + border: 6px solid #0000b8; + margin: 0; + background: #000059 url("webimages/downloadbg.png") repeat-x top left; } + +.downloadbox div.topleft { + border: none; + position: absolute; + width: 31px; + height: 30px; + top: 0; + left: 0; + background: url("webimages/downloadtl.png") top left; } + +.downloadbox div.topright { + border: none; + position: absolute; + width: 31px; + height: 30px; + top: 0; + right: 0; + background: url("webimages/downloadtr.png") top right; } + +.downloadbox div.bottomleft { + border: none; + position: absolute; + width: 31px; + height: 30px; + bottom: 0; + left: 0; + background: url("webimages/downloadbl.png") bottom left; } + +.downloadbox div.bottomright { + border: none; + position: absolute; + width: 31px; + height: 30px; + bottom: 0; + right: 0; + background: url("webimages/downloadbr.png") bottom right; } + +.downloadbox div.arrow { + border: none; + position: absolute; + width: 81px; + height: 81px; + top: 0px; + left: 16px; + background: url("webimages/downloadarrow.png") no-repeat bottom right; } + +.content .frontpagelatestinfo .downloadbox h2 { + margin: 0; + display: block; + padding: 0.2em 20px 0.8em 100px; + min-height: 45px; } + +.downloadbox h2 a { + text-decoration: none; } + +.downloadbox h2 a:hover { + text-decoration: underline; } + +.downloadbox .downloadcontent ul { + min-height: 64px; + background: url("webimages/downloadlogo.png") no-repeat bottom right; + margin: 0 0 0 1.5em; + padding: 0.2em 110px 10px 1.5em; } + +.downloadbox p { + margin: 1em 120px 0 1em; + padding: 0 0 1em 0; + text-align: right; } + +.searchbox { + position: absolute; + right: 0; + top: 0; + text-align: right; + padding: 15px 1em 0 0; } + +.searchbox input { + margin: 2px; } + +.searchbox input[type=text] { + border: 1px solid #4b77ff; + background: #eef2ff; + color: #000; } + +.searchbox input[type=submit] { + border: 2px outset #94adff; + color: #000; + background: #94adff; } + +.frontnews { + margin: 0; } + +.frontnews dt { + font-weight: normal; + padding-right:6.5em; + position: relative; + margin-top: 1em; } + +dl.frontnews > dt a:link, dl.frontnews > dt a:visited, +dl.frontnews > dt a:hover, dl.frontnews > dt a:active { + font-weight: bold; } + +.frontnews dt span { + position: absolute; + top: 0; + right: 0; + color: #888; + font-style: normal; + text-align: right; } + +p.award { + clear: both; } + +p.award a.award { + float: right; + margin: 0 0 0.5em 1em; } + +p.award a img { + border: 0; } + +.more { + margin-top: 0; + text-align: right; + font-weight: bold; } + +.breadcrumbs { + text-align: right; + margin: 0; } + +.footer { + clear: both; + font-style: italic; + color:#666; + text-align: right; } + +.footer p { + margin-top: 1.5em; + padding-top: 0.4em; + border-top: 2px solid #94adff; } + +.downloadosselection { + margin: 1.2em auto; + width: 80%; + font-size: 130%; + border-spacing: 0.2em; + padding: 0; } + +.downloadosselection li { + display: block; + border-top: 1px #bbcbff solid; + border-bottom: 1px #bbcbff solid; + margin: 0; + padding: 0; } + +.downloadosselection li + li { + display: block; + border-top: none; } + +.downloadosselection li a { + display: block; + padding: 10px 0 10px 50px; + min-height: 20px; + margin: 0; } + +.downloadosselection li.riscos a { + background: url("webimages/dlriscos.png") no-repeat 0% 50%; } + +.downloadosselection li.gtk a { + background: url("webimages/dllinux.png") no-repeat 0% 50%; } + +.downloadosselection li.beos a { + background: url("webimages/dlhaiku.png") no-repeat 0% 50%; } + +.downloadosselection li.amiga a { + background: url("webimages/dlamiga.png") no-repeat 0% 50%; } + +.downloadosselection li.windows a { + background: url("webimages/dlwindows.png") no-repeat 0% 50%; } + +.downloadosselection li.atari a { + background: url("webimages/dlatari.png") no-repeat 0% 50%; } + +.downloadosselection li.macosx a { + background: url("webimages/dlapple.png") no-repeat 0% 50%; } + +.downloadosselection li.source a { + background: url("webimages/dlsource.png") no-repeat 0% 50%; } + +.downloadosselection li a:hover { + background-color: #e8edff; } + +.downloadlatestouter { + width:93%; + margin: 0 auto; + position: relative; + padding-top: 6px; + clear: both; } + +.downloadlatest { + display: table; + border-spacing: 1em; } + +.downloadlatest > .downloadlatestbox { + display: table-cell; + padding:0 1em 1em 1em; + background: #bbcbff; + border: 4px solid #98b0ff; } + +.downloadlatest > .downloadlast { + background: #bbcbff url("webimages/downloadlogo.png") no-repeat bottom right; } + +.downloadlatest .downloadfirst { + padding-left: 80px; } + +.downloadlatest .downloadmain { + font-size: 120%; + margin-top: 0.8em; + border-bottom: 2px solid #fff; } + +.downloadlatest .downloadmain > a { + background: url(webimages/source.png) no-repeat top left; } + +.downloadlatest .downloadfirst > a { + background: url(webimages/netsurf.png) no-repeat top left; } + +.downloadlatest .downloadmain a { + font-weight: bold; + display: block; + padding-left: 45px; + padding-bottom: 1.8em; + min-height: 34px; + text-decoration: none; + position: relative; } + +.downloadlatest .downloadmain a span { + text-decoration: underline; } + +.downloadlatest .downloadmain a:hover span { + text-decoration: none; } + +.downloadlatest .downloadmain a span + span { + color: #000; + text-decoration: none; + font-weight: normal; } + +.downloadlatest .preul { + margin-bottom: 0; } + +.downloadlatest ul { + margin-top: 0; } + +.downloadlatest .downloaddate { + font-size: 70%; + position: absolute; + right: 0; + bottom: 0.5em; } + +.downloadlatest .downloadinstructions { + text-align: right; + font-style: italic; } + +.downloadlatest .downloadinstructions a:before { + content: "("; } + +.downloadlatest .downloadinstructions a:after { + content: ")"; } + +.downloadlatestouter div.arrow { + display: block; + border: none; + position: absolute; + width: 81px; + height: 81px; + top: 0px; + left: 26px; + background: url("webimages/downloadarrow.png") no-repeat bottom right; } + +.developmentbuilds { + display: table; + width: 90%; + margin: 1em auto; + border-spacing: 1.2em; } + +.developmentbuilds li { + display: table-row; } + +.developmentbuilds li a, .developmentbuilds li span { + display: table-cell; + vertical-align: middle; + text-align: center; } + +.developmentbuilds li a { + display: table-cell; + padding-top: 34px; } + +.developmentbuilds li a[href="/downloads/development/netsurf.zip"] { + background: url("webimages/netsurf.png") no-repeat top center; } + +.developmentbuilds li a[href^="/downloads/development/netsurf-r"] { + background: url("webimages/source.png") no-repeat top center; } + +.developmentbuilds li a[href="releases/nstheme.zip"] { + background: url("webimages/nstheme.png") no-repeat top center; } + +.bignote { + margin: -0.5em 0 1em 1em; + padding: 0.6em 0.8em; + width: 40%; + min-width: 15em; + float: right; + background-color: #ffeeb6; } + +.bignote dl { + margin: 0; + padding: 0; } + +.bignote dt { + margin: 0; + padding: 0; } + +.bignote dd { + margin: 0; + padding: 0; } + +.caution { + margin: 1.33em auto; + width: 60%; + min-height: 51px; + padding: 10px 10px 10px 110px; + background: #fff2a9 url("webimages/caution.png") no-repeat 5px center; + border: 3px solid #ffe85c; + font-weight: bold; } + +/* + * Recent SVN Activity + */ + +.changelog p { + margin-top: 0.2em; + margin-bottom: 0em; } + +.entry + .entry .meta { + border-top: 1px solid #ddd; + padding-top: 0.6em; + margin-top: 0.6em; } + +.msg { + padding-left: 5em; } + +.date { + font-weight: normal; } + +.author { + color: #005; } + +.svnpath { + color: #777; } + + +/* + * Themes Page + */ + +.themename { + margin-top: 1em; + padding-top: 5mm; + margin-bottom: 3mm; + border-top: thin solid #ddd; } + +.themeimage { + padding-bottom: 0; + margin-bottom: 3mm; + overflow: auto; } + +.themeimage a img { + border: 1px solid #fff; } + +.themeimage a img:hover { + border: 1px solid #00f; } + +.themeauthor { + padding: 0; + margin: 0; + background-color: #fff; } + +/* + * Screenshot gallery + */ + +ul.screenshotgallery { + margin: 1em 0; + padding: 0; + overflow: auto; } + +ul.screenshotgallery li { + float: left; + font-size: 90%; + display: block; + border: 2px solid #c5d3ff; + margin: 7px; } + +ul.screenshotgallery li > a { + display: block; + margin: 0; + padding: 0; + border: 1px solid #fff; } + +ul.screenshotgallery li > a:hover { + display: block; + margin: 0; + padding: 0; + border: 1px solid #00f; } + +ul.screenshotgallery li > a img { + border: none; + margin: 0; + padding: 0; + display: block; } + +ul.screenshotgallery li span { + display: block; + margin: 0; + padding: 0.2em 0 0.2em 0; + text-align: center; + font-weight: bold; + background-color: #d8e2ff; + border-top: 2px solid #c5d3ff; } + +/* + * About NetSurf + */ + +dl.projectgoals { + counter-reset: goal; } + +dl.projectgoals > dt:before { + content: counter(goal) ". "; + counter-increment: goal; } + +table.timeline { + margin-bottom: 1em; } + +table.timeline th { + white-space: nowrap; + text-align: left; + vertical-align: top; + padding-right: 1em; } + +table.timeline td { + text-align: left; + vertical-align: top; } + +/* + * News + */ + +dl.news > dt { + font-size: 120%; + color: #000; + padding-left: 8em; + position: relative; } + +dl.news > dt > span { + color: #888; + position: absolute; + left: 0; } + +dl.news > dd { + margin-bottom: 1em; } + + +/* + * Documentation + */ + +.docsections > li { + margin-bottom: 1em; } + +.updated { + text-align: right; } + +.headnote { + color: #777; + font-style: italic; } + + +/* + * User Guide + */ + +.submenu { + border-bottom: thin solid #ddd; } + +.menupath { + margin-bottom: 0; + font-weight: bold; + color: #555; } + +.menuitem { + margin-top: 0; } + +.menu { + border-spacing: 0px; + margin-left: auto; + margin-right: auto; + border: 1px solid black; } + +.menu a { + text-decoration: none; } + +.menutitle { + background-color: #ccc; + font-variant: small-caps; + text-align: center; + border-bottom: 1px solid black; + font-weight: normal; } + +.menusplit { + border-top: 1px dashed black; } + +.menuarrow { + text-align: right; } + +.guidescreenshot { + float:right; + padding:0 0 1em 1em; } + +.guidescreenshotfeature { + text-align: center; } + +.guideiconinfo { + clear: left; } + +.guideicon { + float: left; + padding: 0.2em; } + +.action { + font-family: monospace; + color: #600; } + +.window { + border: #000 solid 1px; + background-color: #ddd; + display: block; + width: 70%; + margin: 0 auto 1em auto; + padding: 1em 0 0.5em 0.5em; } + +.window ul { + display: block; + padding: 0; + margin: 0; } + +.window li { + display: block; + float: left; + width: 6em; + text-align: center; + background: #ddd; + padding: 0; + margin: 0 0.5em 1.1em 0; + padding: 0; } + +.window li > span { + display: block; + margin: 0 auto 0.3em auto; } + +.window p { + clear: both; + text-align: right; + font-style: italic; + margin: 0 1em 0 0; } + +.window p.throbber { + display: table-cell; + vertical-align: middle; + text-align: left; + padding: 0 1em 0.5em 0.5em; + margin: 0; } + +.window p.throbber + .throbber { + padding-left: 0; } + +.window span a { + text-decoration: none; } + +.option_group { + margin: 0 0 1em 0; + padding: 0 0 0 1em; + border-left: 1px #888 solid; } + +.note { + width: 80%; + background-color: #d2ffd2; + padding: 0.8em; + border: 4px ridge #d2ffd2; + margin-left: auto; + margin-right: auto; } + +.caption { + text-align: right; + font-style: italic; } + + +/* + * NSTheme + */ + +.toolbarsprites { + font-size: 90%; + display: table-cell; + padding: 0 0 0 1em; + vertical-align: top; } + +.toolbarsprites th, .toolbarsprites td { + padding: 1px 6px 1px 0; } + +.toolbarsprites th[colspan] { + text-align: center; } + +.toolbarsprites + .toolbarsprites { + border-left: thin solid #bbb; } + +.toolbarsprites + p { + margin-top: 1em; } + + +/* + * Progress page + */ + +.progress { + width: 100%; + border-spacing: 2px; + margin-left: auto; margin-right: auto; } + +.progress td { + vertical-align: top; } + +.progress .progresstitle { + width: 28%; } + +.progress .progressstatus { + width: 7em; } + +.notplanned { + background-color: #eee; + color: #333; + font-style: italic; } + +.notstarted { + background-color: #ffd4d4; } + +.juststarted { + background-color: #ffe8d2; } + +.inprogress { + background-color: #ffffd0; } + +.nearlydone { + background-color: #e6ffce; } + +.complete { + background-color: #ccffcc; } + + +/* + * Two Column + */ + +.content .leftcol { + float: left; + width: 49%; } + +.content .rightcol { + float: right; + width: 50%; + background-color: #fff; } + +.content .leftcol h3 { + font-size: 120%; + font-weight: bold; } + +.content .rightcol h3 { + font-size: 120%; + font-weight: bold; } + +.content .rightcol > div { + padding-left: 1em; } + +.content .rightcol .changelog .msg { + padding-left: 2em; } + +.content .example { + overflow: auto; + background: #feb; + color: #a42; + border: 1px solid #db1; + padding: 0.1em 0.3em; } + + +/* + * GSoC + */ + +.details { + margin: 0 1em 0 2em; + background: #ddd; + border: 1px solid #000; + padding: 0 1em 1em 1em; } + + +/* + * Welcome page + */ + +.welcomenslinks { + display: table; + width: 100%; + margin: 0; + border-spacing: 0; + padding: 0; + background: #ccd8ff; } + +.welcomenslinks li { + display: table-cell; + text-align: center; + padding: 0.2em 0.3em 0.3em 0.3em; + vertical-align: middle; } + +.welcomenslinks li + li { + border-left: 2px solid #b1c3ff; } + +.welcomeversion { + border: none; + padding: 0; + margin: 1.2em auto 0 auto; + width: 90%; + color: #444; } + +.welcomeintro { + width: 90%; + margin: 1em auto; + color: #666; } + +.websearch { + margin: 1.5em auto; + padding: 1.2em 0.3em; + background: #d8e2ff; + border: 2px solid #c5d3ff; + width: 80%; + text-align: center; } + +.websearch input[type=text] { + border: 1px solid #62697f; + background: #f9faff; + color: #000; + margin-right: 0.3em; } + +.websearch input[type=submit] { + border: 2px outset #cedaff; + color: #000; + background: #cedaff; } + +.welcomelinks { + display: table; + width: 80%; + margin: 0 auto 3em auto; } + +.welcomelinks ul { + display: table-cell; + padding-left: 2.5em; } + +.welcomelinks ul + ul { + padding-left: 1em; } + + +/* + * Thanks page + */ + +img.thankslogo { + float: right; + margin: 0 0 1em 1em; } + + +/* + * GSoC page + */ + +dl.gsocstudents li { + color: #222; } diff --git a/netsurf.png b/netsurf.png new file mode 100644 index 0000000..8ba116c Binary files /dev/null and b/netsurf.png differ diff --git a/projects/hubbub/index.en b/projects/hubbub/index.en new file mode 100644 index 0000000..442d95a --- /dev/null +++ b/projects/hubbub/index.en @@ -0,0 +1,84 @@ + + + +Hubbub | HTML Parsing Library + + + + + + + +

    Hubbub

    + +

    What is Hubbub?

    + +

    Hubbub is an HTML5 compliant parsing library, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

    + +

    The HTML5 specification defines a parsing algorithm, based on the behaviour of mainstream browsers, which provides instructions for how to parse all markup, both valid and invalid. As a result, Hubbub parses web content well.

    + +

    If you are looking for an HTML5 parser in Python or Ruby, you may wish to look at html5lib.

    + +

    Features

    + + + +

    Future:

    + + + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/hubbub

    + +

    Hubbub is licensed under the MIT Licence.

    + +

    Releases

    + + + +

    Contact

    + +

    If you would like to help develop Hubbub, or have questions about the library, please join the NetSurf developer mailing list.

    + + + \ No newline at end of file diff --git a/projects/iconv/index.en b/projects/iconv/index.en new file mode 100644 index 0000000..bae338c --- /dev/null +++ b/projects/iconv/index.en @@ -0,0 +1,68 @@ + + + +Iconv for RISC OS + + + + + + + +

    Iconv for RISC OS

    + +

    What is Iconv?

    + +

    Iconv is a module for RISC OS which provides character set conversion akin to that provided by the C iconv() function.

    + +

    Installation

    + +

    You must follow these two steps carefully or installation will fail:

    + +
    +
    1. Merge !System directory
    +
    Use the System merge utility provided by Configure to merge the supplied !System directory with the one on your system.
    +
    2. Merge !Boot directory
    +

    Use the Boot merge facility in Configure to merge the supplied !Boot directory with the one on your system.

    If there is no Boot merge facility provided on your system, simply drag the supplied !Boot directory over your existing boot structure.

    +
    + +

    Note: if you are unsure how to follow these steps, then please see the pictorial guide to resource installation on the NetSurf site.

    + +

    Download

    + +

    Please download iconv and follow the two installation steps above.

    + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/iconv

    + +

    Iconv is licensed under the MIT Licence.

    + +

    Contact

    + +

    Please report any problems with this module directly to John-Mark Bell.

    + + + diff --git a/projects/index.en b/projects/index.en new file mode 100644 index 0000000..524319f --- /dev/null +++ b/projects/index.en @@ -0,0 +1,74 @@ + + + +Projects + + + + + + + +

    Projects

    + +

    Core project

    + +

    Our main project is NetSurf, an open source web browser. As part of the work on NetSurf, several other resources have been developed. These sub-projects are available separately from NetSurf, so that they may be used by developers of other software.

    + +

    Sub-projects

    + +
    +
    Hubbub
    +
    HTML5 compliant parsing library
    +
    LibCSS
    +
    CSS parser and selection library
    +
    LibDOM
    +
    DOM library
    +
    LibParserUtils
    +
    Parser building library
    +
    LibWapcaplet
    +
    String internment library
    +
    Libsvgtiny
    +
    SVG Tiny library
    +
    LibNSFB
    +
    Framebuffer Abstraction library
    +
    Libnsbmp
    +
    BMP and ICO decoding library
    +
    Libnsgif
    +
    GIF decoding library
    +
    LibROSprite
    +
    RISC OS Sprite decoding library
    +
    Iconv
    +
    RISC OS character encoding support module
    +
    RUfl
    +
    RISC OS Unicode font library
    +
    TTF2f
    +
    Font converter to RISC OS format
    +
    Tinct
    +
    Advanced RISC OS Sprite plotting module
    +
    Libpencil
    +
    RISC OS Drawfile export library
    +
    + + + diff --git a/projects/libcss/index.en b/projects/libcss/index.en new file mode 100644 index 0000000..674b320 --- /dev/null +++ b/projects/libcss/index.en @@ -0,0 +1,145 @@ + + + +LibCSS | CSS Library + + + + + + + +

    LibCSS

    + +

    What is LibCSS?

    + +

    LibCSS is a CSS (Cascading Style Sheet) parser and selection engine, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence. For further details, see the readme.

    + +

    Features

    + + + +

    Future:

    + + + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/libcss

    + +

    LibCSS is licensed under the MIT Licence.

    + +

    Releases

    + +

    Most recent first:

    + +
    +
    LibCSS 0.1.2
    +
    TarballChanges
    +
    LibCSS 0.1.1
    +
    TarballChanges
    +
    LibCSS 0.1.0
    +
    TarballChanges
    +
    LibCSS 0.0.2
    +
    TarballChanges
    +
    LibCSS 0.0.1
    +
    Tarball – First release
    +
    + +

    Changes

    + +
    +
    LibCSS 0.1.2
    +
      +
    • Avoided interning standard strings for every stylesheet, style tag and style attribute.
    • +
    • Made significant optimisations to style selection.
    • +
    • Fixed case where font-family is unspecified in input CSS.
    • +
    • Added some support for @font-face.
    • +
    • Fixed !important on opacity property.
    • +
    • Added support for parsing CSS3 Multi-column layout properties.
    • +
    +
    LibCSS 0.1.1
    +
      +
    • Improved build tree cleaning.
    • +
    • Fixed build with GCC 4.6.
    • +
    • Added support for selection of page-break properties.
    • +
    • Optimised style selection.
    • +
    +
    LibCSS 0.1.0
    +
      +
    • Fixed destruction of bytecode for clip property.
    • +
    • Added scoping for use from C++ programs.
    • +
    • Removed need for library initialisation and finalisation.
    • +
    • Added support for CSS2 system colours.
    • +
    • Added support for CSS2 system fonts.
    • +
    • Altered external representation of colours to aarrggbb.
    • +
    • Added support for CSS3 rgba() colour specifier.
    • +
    • Added support for CSS3 'transparent' colour keyword.
    • +
    • Added support for CSS3 hsl() and hsla() colour specifiers.
    • +
    • Added support for CSS3 'currentColor' colour keyword.
    • +
    • Added support for CSS3 'opacity' property.
    • +
    • Added support for CSS3 selectors.
    • +
    • Added support for CSS3 namespaces.
    • +
    • Enabled clients to fetch imported stylesheets in parallel.
    • +
    • Made internal bytecode 64-bit safe.
    • +
    • Fixed leaking of strings.
    • +
    • Rewritten property parsers.
    • +
    • Certain property parsers auto-generated at build time.
    • +
    • Added clang build support.
    • +
    • Various portability enhancements.
    • +
    • Fixed selection for pseudo elements.
    • +
    • Added simultaneous selection for base and pseudo elements.
    • +
    • Namespaced all global symbols.
    • +
    • Updated test suite.
    • +
    • Future-proofed ABI.
    • +
    • Ensured fixed point maths saturates instead of overflowing.
    • +
    • Fixed clip property handling.
    • +
    • Fixed selection and cascade of "uncommon" CSS properties.
    • +
    • Added structure versioning for client input.
    • +
    +
    LibCSS 0.0.2
    +
      +
    • Allow stylesheets to be used in multiple contexts simultaneously.
    • +
    • Fix possible stylesheet reuse crash.
    • +
    +
    LibCSS 0.0.1
    +
    First release.
    +
    + +

    Contact

    + +

    If you would like to help develop LibCSS, or have questions about the library, please join the NetSurf developer mailing list.

    + + + diff --git a/projects/libdom/index.en b/projects/libdom/index.en new file mode 100644 index 0000000..d59d1fb --- /dev/null +++ b/projects/libdom/index.en @@ -0,0 +1,51 @@ + + + +LibDOM | DOM Library + + + + + + + +

    LibDOM

    + +

    What is LibDOM?

    + +

    LibDOM is an implementation of the W3C DOM, written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too. For further details, see the readme.

    + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/libdom

    + +

    LibDOM is licensed under the MIT Licence.

    + +

    Contact

    + +

    If you would like to help develop LibDOM, or have questions about the library, please join the NetSurf developer mailing list.

    + + + diff --git a/projects/libnsbmp/index.en b/projects/libnsbmp/index.en new file mode 100644 index 0000000..9486304 --- /dev/null +++ b/projects/libnsbmp/index.en @@ -0,0 +1,67 @@ + + + +Libnsbmp | BMP Decoding Library + + + + + + + +

    Libnsbmp

    + +

    What is Libnsbmp?

    + +

    Libnsbmp is a decoding library for BMP and ICO image file formats, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

    + +

    Features

    + + + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/libnsbmp

    + +

    Libnsbmp is licensed under the MIT Licence.

    + +

    Releases

    + + + +

    Contact

    + +

    If you would like to discuss Libnsbmp, please join the NetSurf developer mailing list.

    + + + \ No newline at end of file diff --git a/projects/libnsfb/index.en b/projects/libnsfb/index.en new file mode 100644 index 0000000..3ac3d9b --- /dev/null +++ b/projects/libnsfb/index.en @@ -0,0 +1,63 @@ + + + +LibNSFB | Framebuffer Abstraction Library + + + + + + + +

    LibNSFB

    + +

    What is LibNSFB?

    + +

    LibNSFB is a framebuffer abstraction library, written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too.

    + +

    The overall idea of the library is to provide a generic abstraction to a linear section of memory which corresponds to a visible array of pixel elements on a display device. Different colour depths are supported and the library provides routines for tasks such as drawing onto the framebuffer and rectangle copy operations.

    + +

    LibNSFB currently supports the following as framebuffer providers:

    + + + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/libnsfb

    + +

    LibNSFB is licensed under the MIT Licence.

    + +

    Contact

    + +

    If you would like to help develop LibNSFB, or have questions about the library, please join the NetSurf developer mailing list.

    + + + diff --git a/projects/libnsgif/index.en b/projects/libnsgif/index.en new file mode 100644 index 0000000..afd2d9c --- /dev/null +++ b/projects/libnsgif/index.en @@ -0,0 +1,66 @@ + + + +Libnsgif | GIF Decoding Library + + + + + + + +

    Libnsgif

    + +

    What is Libnsgif?

    + +

    Libnsgif is a decoding library for the GIF image file format, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

    + +

    Features

    + + + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/libnsgif

    + +

    Libnsgif is licensed under the MIT Licence.

    + +

    Releases

    + + + +

    Contact

    + +

    If you would like to discuss Libnsgif, please join the NetSurf developer mailing list.

    + + + \ No newline at end of file diff --git a/projects/libparserutils/index.en b/projects/libparserutils/index.en new file mode 100644 index 0000000..2e09aea --- /dev/null +++ b/projects/libparserutils/index.en @@ -0,0 +1,89 @@ + + + +LibParserUtils | Parser Building Library + + + + + + + +

    LibParserUtils

    + +

    What is LibParserUtils?

    + +

    LibParserUtils is a library for building efficient parsers, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

    + +

    Features

    + + + +

    Charset support

    + +

    LibParserUtils has the following built-in charset converters.

    + + + +

    Note: LibParserUtils can optionally be built to use iconv(), enabling support for many more charsets. See the readme file for details.

    + + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/libparserutils

    + +

    LibParserUtils is licensed under the MIT Licence.

    + +

    Releases

    + + + +

    Contact

    + +

    If you would like to help develop LibParserUtils, or have questions about the library, please join the NetSurf developer mailing list.

    + + + \ No newline at end of file diff --git a/projects/libpencil/index.en b/projects/libpencil/index.en new file mode 100644 index 0000000..8a07b16 --- /dev/null +++ b/projects/libpencil/index.en @@ -0,0 +1,47 @@ + + + +Libpencil | Drawfile export library + + + + + + + +

    Libpencil

    + +

    What is Libpencil?

    + +

    Libpencil is a library for exporting images in the RISC OS Drawfile format. Drawfile is a vector (object orientated) graphics format. Libpencil is written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too.

    + +

    Source code

    + +

    You can browse the source code via the online interface.

    + +

    Contact

    + +

    If you would like to help develop Libpencil, or have questions about the library, please join the NetSurf developer mailing list.

    + + + \ No newline at end of file diff --git a/projects/librosprite/index.en b/projects/librosprite/index.en new file mode 100644 index 0000000..363ccba --- /dev/null +++ b/projects/librosprite/index.en @@ -0,0 +1,71 @@ + + + +LibROSprite | RISC OS Sprite Decoding Library + + + + + + + +

    LibROSprite

    + +

    What is LibROSprite?

    + +

    LibROSprite is a library for decoding RISC OS Sprite format bitmaps, written in C. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence.

    + +

    Features

    + + + +

    Future:

    + + + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/librosprite

    + +

    LibROSprite is licensed under the MIT Licence.

    + +

    Contact

    + +

    If you would like to help develop LibROSprite, or have questions about the library, please join the NetSurf developer mailing list.

    + + + \ No newline at end of file diff --git a/projects/libsvgtiny/images/svgtiger.png b/projects/libsvgtiny/images/svgtiger.png new file mode 100644 index 0000000..17d3a68 Binary files /dev/null and b/projects/libsvgtiny/images/svgtiger.png differ diff --git a/projects/libsvgtiny/index.en b/projects/libsvgtiny/index.en new file mode 100644 index 0000000..73b3b32 --- /dev/null +++ b/projects/libsvgtiny/index.en @@ -0,0 +1,55 @@ + + + +Libsvgtiny | SVG Tiny Library + + + + + + + +

    Libsvgtiny

    + +

    What is Libsvgtiny?

    + +

    Libsvgtiny is an implementation of SVG Tiny, written in C. It is currently in development for use with NetSurf and is intended to be suitable for use in other projects too.

    + +

    + +

    The overall idea of the library is to take some SVG as input, and return a list of paths and texts which can be rendered easily. The library does not do the actual rendering. For further details, see the readme.

    + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/libsvgtiny

    + +

    Libsvgtiny is licensed under the MIT Licence.

    + +

    Contact

    + +

    If you would like to help develop Libsvgtiny, or have questions about the library, please join the NetSurf developer mailing list.

    + + + diff --git a/projects/libwapcaplet/index.en b/projects/libwapcaplet/index.en new file mode 100644 index 0000000..a8c35be --- /dev/null +++ b/projects/libwapcaplet/index.en @@ -0,0 +1,59 @@ + + + +LibWapcaplet | String internment library + + + + + + + +

    LibWapcaplet

    + +

    What is LibWapcaplet?

    + +

    LibWapcaplet is a string internment library, written in C. It provides reference counted string interment and rapid string comparison functionality. It was developed as part of the NetSurf project and is available for use by other software under the MIT licence. For further details, see the readme.

    + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/libwapcaplet

    + +

    LibWapcaplet is licensed under the MIT Licence.

    + +

    Releases

    + + + +

    Contact

    + +

    If you would like to help develop LibWapcaplet, or have questions about the library, please join the NetSurf developer mailing list.

    + + + diff --git a/projects/projects.css b/projects/projects.css new file mode 100644 index 0000000..7e10a79 --- /dev/null +++ b/projects/projects.css @@ -0,0 +1,175 @@ +html, body { + padding: 0; + margin: 0; } + +body { + background-color: #ffd; + color: #500; + padding-bottom: 2em; + font-size: 94%; } + +h1 { + font-size:200%; + background-color: #500; + color: #ffd; + padding: 0.9em; + margin: 0; } + +.projects { + background-color: #ffd; + color: #500; + margin: 0; + padding: 0 1em 0 0; + font-size: 88%; } + +.projects ul { + display: block; + margin: 2px 0; + padding: 0; + text-align: right; } + +.projects li { + display: inline; + color: #ffd; + margin: 0; + padding: 0; } + +.projects li strong { + display: inline; + background: #500; + color: #ffd; + margin: 0; + padding: 2px 0.5em; } + +.projects li a { + display: inline; + color: #500; + text-decoration: none; + margin: 0; + padding: 2px 0.3em; } + +.projects li a:hover { + text-decoration: underline; } + +h2 { + font-size:150%; + border-left: 1em solid #500; + padding-left:0.2em; } + +h3 { + font-size:120%; + margin: 1.2em 1em 0.4em 1em; } + +p { + margin: 1em 1.8em 0 1.8em; } + +ul, ol { + margin: 1em 1.8em 0 1.8em; } + +ul ul { + margin: 0 1.8em 0 1em; } + +ul p { + margin: 0 1.8em 0.1em 1em; } + +strong { + color: #800; + font-weight: bold; } + +dl.instructions { + margin: 0 1.8em; + padding: 0; } + +dl.instructions dt { + background-color: #611; + color: #ffd; + width: 40%; + margin: 1em 0 0 0; + padding: 2px; overflow: visible; } + +dl.instructions dt > span { + display: table-cell; + width: 1.5em; + padding: 0; + font-style: italic; + font-weight: normal; + background-color: inherit; } + +dl.instructions dt > span + span { + width: auto; + font-style: normal; + font-weight: bold; } + +dl.instructions dd { + padding: 0.5em 2px 2px 1.2em; + background-color: #fdb; + margin: 0; } + +dl.instructions dd > p { + margin: 0; + padding: 0; } + +dl.instructions dd > p + p { + margin: 1em 0 0 0; + padding: 0; } + +dl.releases { + overflow: hidden; } + +dl.releases > dt { + float: left; + clear: both; } + +dl.releases > dd { + float: left; } + +dl.changes > dd > ul { + margin: 0.2em 0 0.6em 0; } + +div.testimonial { + position: relative; + float: right; + font-family: Garamond, Times, serif; + background: #fdb; + margin: 1em; + padding: 0; + max-width: 33%; } + +div.testimonial > div { + position: relative; + margin: 0; + padding: 0.2em 0.2em; } + +div.testimonial > div > span { + position:absolute; + font-size: 400%; + left: 0.2em; + top: 0; } + +div.testimonial > div > p { + background: #ffd; + padding: 1em 1.3em; } + +div.testimonial > div > p + span { + float: right; + position: relative; + left: -0.2em; + top: -0.4em; } + +div.testimonial > p { + font-size: 90%; + text-align: right; + margin: 2em 0 0 0; + padding: 0; } + +p.screenshot { + float: right; + padding: 0 0 1em 0; } + +p.screenshot img { + border: 3px solid #500; } + +p.svncommand { + background-color: #fdb; + padding: 0.3em 5em; + font-family: monospace; } diff --git a/projects/rufl/images/rufl_chars.png b/projects/rufl/images/rufl_chars.png new file mode 100644 index 0000000..39eea80 Binary files /dev/null and b/projects/rufl/images/rufl_chars.png differ diff --git a/projects/rufl/index.en b/projects/rufl/index.en new file mode 100644 index 0000000..9f3bc46 --- /dev/null +++ b/projects/rufl/index.en @@ -0,0 +1,74 @@ + + + +RUfl for RISC OS + + + + + + + +

    RUfl for RISC OS

    + +

    What is RUfl?

    + +

    RUfl is the RISC OS Unicode font library. It provides a high-level interface to rendering and measuring Unicode text. RUfl was developed to enable NetSurf to handle Unicode text on RISC OS. It is available for use in other applications.

    + +

    + +

    Features

    + + + +

    Details

    + +

    RUfl simplifies the task of making best use of the underlying font manager and provides functionality that the font manager does not. Applications (such as NetSurf) just feed RUfl with UTF-8 encoded text and RUfl does the rest for them.

    + +

    If the underlying font manager is Unicode capable, then RUfl will plot the text using the selected font. If a particular glyph does not exist in the selected font, then it looks up a substitute font that does contain the glyph and uses that. If no fonts on the system contain the glyph, a Unicode codepoint is plotted in place of the glyph.

    + +

    When running on a non-Unicode font manager, RUfl checks whether the selected font contains the glyph, and if it does, which font encoding contains it. It then converts to an 8 bit character code and plots the text using the encoding found. This enables applications to make full use of fonts, such as Homerton and Trinity, that contain additional glyphs in other encodings. If the font did not contain a particular glyph, it looks for another font that does. If it finds one, it does the same encoding lookup and plots it accordingly. If no fonts on the system contain the glyph, a Unicode codepoint is plotted in place of the glyph.

    + +

    RUfl manages to do all this efficiently by maintaining cached lookup tables containing various mappings.

    + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/rufl

    + +

    RUfl is licensed under the MIT Licence.

    + +

    Contact

    + +

    Please report any problems with this library to the developer mailing list.

    + + + \ No newline at end of file diff --git a/projects/tinct/index.en b/projects/tinct/index.en new file mode 100644 index 0000000..a535d8f --- /dev/null +++ b/projects/tinct/index.en @@ -0,0 +1,47 @@ + + + +Tinct for RISC OS + + + + + + + +

    Tinct for RISC OS

    + +

    What is Tinct?

    + +

    Tinct provides RISC OS applications with support for high speed rendering of opaque and alpha-blended sprites with optional image enhancement. It was developed to enable NetSurf to plot PNGs with alpha channels and provide on-the-fly error diffusion to display images at their best in screen modes with few colours.

    + +

    Download

    + +

    Please visit the Tinct web site to download Tinct.

    + +

    Contact

    + +

    Please report any problems with this module directly to Richard Wilson.

    + + + \ No newline at end of file diff --git a/projects/ttf2f/index.en b/projects/ttf2f/index.en new file mode 100644 index 0000000..d61bdf2 --- /dev/null +++ b/projects/ttf2f/index.en @@ -0,0 +1,69 @@ + + + +TrueType, OpenType, etc font to RISC OS font converter + + + + + + + +

    TTF2f

    + +

    What is TTF2f?

    + +

    TTF2f is a utility for converting TrueType (.ttf), OpenType (.otf), and other font formats supported by FreeType2 to RISC OS fonts. It is written in C, and available under the Simplified BSD Licence.

    + +

    Features

    + + + +

    Download

    + +

    Please download TTF2f:

    + + + +

    Source code

    + +

    You can browse the source code via the online interface. Alternatively, you can check it out of SVN:

    + +

    $ svn co svn://svn.netsurf-browser.org/trunk/tools/ttf2f

    + +

    TTF2f is licensed under the Simplified BSD Licence.

    + +

    Contact

    + +

    Please report any problems with this software to the user mailing list. If you would like to contribute to TTF2f, please get in touch via the developer mailing list.

    + + + diff --git a/webimages/arrow.png b/webimages/arrow.png new file mode 100644 index 0000000..9677e29 Binary files /dev/null and b/webimages/arrow.png differ diff --git a/webimages/caution.png b/webimages/caution.png new file mode 100644 index 0000000..c7c0bee Binary files /dev/null and b/webimages/caution.png differ diff --git a/webimages/da2004.png b/webimages/da2004.png new file mode 100644 index 0000000..8118443 Binary files /dev/null and b/webimages/da2004.png differ diff --git a/webimages/da2005.jpg b/webimages/da2005.jpg new file mode 100644 index 0000000..e1d0db8 Binary files /dev/null and b/webimages/da2005.jpg differ diff --git a/webimages/da2006.png b/webimages/da2006.png new file mode 100644 index 0000000..5f78a9f Binary files /dev/null and b/webimages/da2006.png differ diff --git a/webimages/da2007.png b/webimages/da2007.png new file mode 100644 index 0000000..becc8e2 Binary files /dev/null and b/webimages/da2007.png differ diff --git a/webimages/da2008.png b/webimages/da2008.png new file mode 100644 index 0000000..9d928f5 Binary files /dev/null and b/webimages/da2008.png differ diff --git a/webimages/depicture.jpg b/webimages/depicture.jpg new file mode 100644 index 0000000..b1634d5 Binary files /dev/null and b/webimages/depicture.jpg differ diff --git a/webimages/dlamiga.png b/webimages/dlamiga.png new file mode 100644 index 0000000..1b1efb6 Binary files /dev/null and b/webimages/dlamiga.png differ diff --git a/webimages/dlapple.png b/webimages/dlapple.png new file mode 100644 index 0000000..8d28f12 Binary files /dev/null and b/webimages/dlapple.png differ diff --git a/webimages/dlatari.png b/webimages/dlatari.png new file mode 100644 index 0000000..8b70005 Binary files /dev/null and b/webimages/dlatari.png differ diff --git a/webimages/dlhaiku.png b/webimages/dlhaiku.png new file mode 100644 index 0000000..85951e9 Binary files /dev/null and b/webimages/dlhaiku.png differ diff --git a/webimages/dllinux.png b/webimages/dllinux.png new file mode 100644 index 0000000..24d5e30 Binary files /dev/null and b/webimages/dllinux.png differ diff --git a/webimages/dlriscos.png b/webimages/dlriscos.png new file mode 100644 index 0000000..43879fa Binary files /dev/null and b/webimages/dlriscos.png differ diff --git a/webimages/dlsource.png b/webimages/dlsource.png new file mode 100644 index 0000000..2734c5e Binary files /dev/null and b/webimages/dlsource.png differ diff --git a/webimages/dlwindows.png b/webimages/dlwindows.png new file mode 100644 index 0000000..baf8f2e Binary files /dev/null and b/webimages/dlwindows.png differ diff --git a/webimages/downloadarrow.png b/webimages/downloadarrow.png new file mode 100644 index 0000000..a07da9d Binary files /dev/null and b/webimages/downloadarrow.png differ diff --git a/webimages/downloadbg.png b/webimages/downloadbg.png new file mode 100644 index 0000000..8d1eaab Binary files /dev/null and b/webimages/downloadbg.png differ diff --git a/webimages/downloadbl.png b/webimages/downloadbl.png new file mode 100644 index 0000000..d85ea46 Binary files /dev/null and b/webimages/downloadbl.png differ diff --git a/webimages/downloadbr.png b/webimages/downloadbr.png new file mode 100644 index 0000000..1826121 Binary files /dev/null and b/webimages/downloadbr.png differ diff --git a/webimages/downloadlogo.png b/webimages/downloadlogo.png new file mode 100644 index 0000000..becfc78 Binary files /dev/null and b/webimages/downloadlogo.png differ diff --git a/webimages/downloadtl.png b/webimages/downloadtl.png new file mode 100644 index 0000000..b559ae3 Binary files /dev/null and b/webimages/downloadtl.png differ diff --git a/webimages/downloadtr.png b/webimages/downloadtr.png new file mode 100644 index 0000000..c6d0e7d Binary files /dev/null and b/webimages/downloadtr.png differ diff --git a/webimages/favicon.png b/webimages/favicon.png new file mode 100644 index 0000000..d0c0c78 Binary files /dev/null and b/webimages/favicon.png differ diff --git a/webimages/logoadv6.png b/webimages/logoadv6.png new file mode 100644 index 0000000..0da9e56 Binary files /dev/null and b/webimages/logoadv6.png differ diff --git a/webimages/logofoundry.png b/webimages/logofoundry.png new file mode 100644 index 0000000..cb6b51e Binary files /dev/null and b/webimages/logofoundry.png differ diff --git a/webimages/logogsoc2008.png b/webimages/logogsoc2008.png new file mode 100644 index 0000000..3cea8ae Binary files /dev/null and b/webimages/logogsoc2008.png differ diff --git a/webimages/logoppf.png b/webimages/logoppf.png new file mode 100644 index 0000000..5989f83 Binary files /dev/null and b/webimages/logoppf.png differ diff --git a/webimages/logosimtec.png b/webimages/logosimtec.png new file mode 100644 index 0000000..996ee37 Binary files /dev/null and b/webimages/logosimtec.png differ diff --git a/webimages/nav.png b/webimages/nav.png new file mode 100644 index 0000000..e11968e Binary files /dev/null and b/webimages/nav.png differ diff --git a/webimages/netsurf.png b/webimages/netsurf.png new file mode 100644 index 0000000..6e7dec9 Binary files /dev/null and b/webimages/netsurf.png differ diff --git a/webimages/nstheme.png b/webimages/nstheme.png new file mode 100644 index 0000000..6d2f7b7 Binary files /dev/null and b/webimages/nstheme.png differ diff --git a/webimages/oldnetsurf.png b/webimages/oldnetsurf.png new file mode 100644 index 0000000..abf8493 Binary files /dev/null and b/webimages/oldnetsurf.png differ diff --git a/webimages/oldnetsurf_t.png b/webimages/oldnetsurf_t.png new file mode 100644 index 0000000..ffabba5 Binary files /dev/null and b/webimages/oldnetsurf_t.png differ diff --git a/webimages/oldthrobber.gif b/webimages/oldthrobber.gif new file mode 100644 index 0000000..58576f7 Binary files /dev/null and b/webimages/oldthrobber.gif differ diff --git a/webimages/source.png b/webimages/source.png new file mode 100644 index 0000000..c9d5082 Binary files /dev/null and b/webimages/source.png differ diff --git a/webimages/tiba2009.png b/webimages/tiba2009.png new file mode 100644 index 0000000..bbbb08c Binary files /dev/null and b/webimages/tiba2009.png differ diff --git a/webmasters/index.en b/webmasters/index.en new file mode 100644 index 0000000..0c63687 --- /dev/null +++ b/webmasters/index.en @@ -0,0 +1,93 @@ + + + +NetSurf | Webmaster Area + + + + + + + + + +
    + + + +

    Webmaster area

    + +

    This page is for webmasters who want to find out about NetSurf. Perhaps you've seen NetSurf in your server logs and want to know more, or maybe users of your web site have commented on some accessibility issue with NetSurf.

    + +

    What is NetSurf?

    + +

    NetSurf is a web browser, like Firefox, Internet Explorer and Safari. It is small and fast, so it is used mostly on slower systems, with little memory. You can see screenshots of NetSurf in action in the About NetSurf section.

    + +

    Standards compliance

    + +

    NetSurf is aiming for complete standards compliance. You can get some idea of what NetSurf is currently capable of from the progress page.

    + +

    You should note that NetSurf does not yet support JavaScript, so any JavaScript dependent parts of your site will be inaccessible to NetSurf users. You can test the functionality of your site without JavaScript in more mainstream browsers for by temporarily disabling JavaScript in your browser.

    + +

    NetSurf's User-Agent string

    + +

    You can tell if people visit your site using NetSurf by looking for NetSurf's User-Agent string in your server logs. NetSurf's User-Agent string takes the following form:

    + +
    NetSurf/[version] ([operating system]; [CPU architecture])
    + +

    So, for example, NetSurf 2.0 running on a RISC OS Iyonix would give,

    + +
    NetSurf/2.0 (RISC OS; armv5l)
    + +

    and NetSurf 1.2 running on an Ubuntu Linux machine might give,

    + +
    NetSurf/1.2 (Linux; i686)
    + + + + + +
    + + +
    + +
    + + + \ No newline at end of file diff --git a/welcome/index.de b/welcome/index.de new file mode 100644 index 0000000..975a67b --- /dev/null +++ b/welcome/index.de @@ -0,0 +1,66 @@ + + + +Welcome to NetSurf + + + + + +

    NetSurf

    + + + +
    +

    Willkommen zu NetSurf

    + +

    NetSurf ist ein kleiner, schneller Opensource Webbrowser. Wir sind ständig daran interessiert, unseren Browser zu verbessern. Bitte kontaktieren Sie uns, wenn Sie irgend welche Probleme bemerken.
    +Danke, dass Sie sich für NetSurf entschieden haben!

    + +
    +
    + + +
    +
    + + + + +
    + + + diff --git a/welcome/index.en b/welcome/index.en new file mode 100644 index 0000000..3ede809 --- /dev/null +++ b/welcome/index.en @@ -0,0 +1,65 @@ + + + +Welcome to NetSurf + + + + + +

    NetSurf

    + + + +
    +

    Welcome to NetSurf

    + +

    NetSurf is a small, fast open source web browser. We are always keen to improve our browser, so get in touch if you run into any problems. Thanks for choosing NetSurf!

    + +
    +
    + + +
    +
    + + + + +
    + + + \ No newline at end of file diff --git a/welcome/index.it b/welcome/index.it new file mode 100644 index 0000000..76fb9ba --- /dev/null +++ b/welcome/index.it @@ -0,0 +1,65 @@ + + + +Benvenuti su NetSurf + + + + + +

    NetSurf

    + + + +
    +

    Benvenuti su NetSurf

    + +

    NetSurf è la nostra idea di browser, per questo abbiamo scelto di renderlo piccolo e veloce e stiamo lavorando per renderlo sempre migliore, se hai qualche suggerimento o semplicemente hai bisogno di aiuto contattaci! Grazie per aver scelto NetSurf!

    + +
    +
    + + +
    +
    + + + + +
    + + + \ No newline at end of file diff --git a/welcome/index.ja b/welcome/index.ja new file mode 100644 index 0000000..e3eba1a --- /dev/null +++ b/welcome/index.ja @@ -0,0 +1,66 @@ + + + + +NetSurfã¸ã‚ˆã†ã“ã + + + + + +

    NetSurf

    + + + +
    +

    NetSurfã¸ã‚ˆã†ã“ã

    + +

    NetSurfã¯å°ã•ãã¦é€Ÿã„オープンソースã®ã‚¦ã‚§ãƒ–ブラウザã§ã™ã€‚ç§ãŸã¡ã¯ã„ã¤ã‚‚ã“ã®ãƒ–ラウザを改良ã™ã‚‹æ°—満々ã§ã™ã‹ã‚‰ã€ã©ã‚“ãªå•é¡Œã§ã‚‚声をã‹ã‘ã¦ãã ã•ã„。NetSurfã‚’é¸ã‚“ã§ãã‚Œã¦ã‚ã‚ŠãŒã¨ã†ï¼

    + +
    +
    + + +
    +
    + + + + +
    + + + -- cgit v1.2.3