diff --git a/en/Makefile b/en/Makefile index 05fd80fb68..c4d209c1dd 100644 --- a/en/Makefile +++ b/en/Makefile @@ -1,119 +1,120 @@ -# $FreeBSD: www/en/Makefile,v 1.105 2003/12/06 07:39:32 hrs Exp $ +# $FreeBSD: www/en/Makefile,v 1.106 2004/01/12 21:26:59 hrs Exp $ .if exists(Makefile.conf) .include "Makefile.conf" .endif .if exists(../Makefile.inc) .include "../Makefile.inc" .endif # These are turned into validated, normalized HTML files. DOCS= applications.sgml DOCS+= auditors.sgml DOCS+= availability.sgml DOCS+= docs.sgml DOCS+= features.sgml DOCS+= register.sgml DOCS+= internet.sgml DOCS+= mailto.sgml DOCS+= publish.sgml DOCS+= relnotes.sgml DOCS+= send-pr.sgml DOCS+= support.sgml DOCS+= where.sgml DOCS+= y2kbug.sgml # These will be directly installed. DATA= favicon.ico DATA+= robots.txt DATA+= freebsd.css DATA+= vendors.html # Subdirectories # SGML SUBDIR= security SUBDIR+= commercial SUBDIR+= docproj SUBDIR+= news SUBDIR+= advocacy SUBDIR+= events SUBDIR+= FAQ SUBDIR+= handbook SUBDIR+= internal SUBDIR+= java SUBDIR+= copyright SUBDIR+= search SUBDIR+= gallery SUBDIR+= projects SUBDIR+= prstats SUBDIR+= platforms SUBDIR+= releases SUBDIR+= releng SUBDIR+= smp SUBDIR+= kse SUBDIR+= gnome SUBDIR+= donations .if !defined(WEB_ONLY) || empty(WEB_ONLY) SUBDIR+= ports SUBDIR+= doc .endif .if defined(BUILD_RELNOTES) SUBDIR+= relnotes .endif # These *must* be listed after the "doc" subdir, as they create symlinks # in to it. .if !defined(WEB_ONLY) || empty(WEB_ONLY) SUBDIR+= tutorials .endif # Non-SGML SUBDIR+= gifs SUBDIR+= cgi WEB_LANG?= da de es fr it ja pt_BR ru tr zh COOKIE= FAQ handbook # Non-English .if !defined(ENGLISH_ONLY) || empty(ENGLISH_ONLY) .for DIR in ${WEB_LANG} SUBDIR+= ../${DIR} .endfor .endif WEBDIR?= data # index.html is special, and generated from index.xsl and news/news.xml DATA+= index.html CLEANFILES+= index.html WEBCHECK?= ${PREFIX}/bin/webcheck WEBCHECKOPTS?= -ab ${WEBCHECKFLAGS} WEBCHECKDIR?= /webcheck WEBCHECKINSTALLDIR?= ${DESTDIR}${WEBCHECKDIR} WEBCHECKURL?= http://www.FreeBSD.org/ webcheck: @[ -d ${WEBCHECKINSTALLDIR} ] || ${MKDIR} ${WEBCHECKINSTALLDIR} ${WEBCHECK} ${WEBCHECKOPTS} -o ${WEBCHECKINSTALLDIR} ${WEBCHECKURL} .include "${WEB_PREFIX}/share/mk/web.site.mk" index.html: index.xsl ${XML_INCLUDES}\ ${XML_NEWS_INCLUDES} ${XML_NEWS_NEWS} ${XML_NEWS_PRESS}\ - ${XML_MIRRORS} ${XML_TRANSTABLE} ${XML_ADVISORIES} + ${XML_MIRRORS} ${XML_TRANSTABLE} ${XML_ADVISORIES} ${XML_NAVIGATION} ${XSLTPROC} ${XSLTPROCOPTS} \ -o $@ \ --param mirrors.xml "'${XML_MIRRORS}'" \ --param advisories.xml "'${XML_ADVISORIES}'" \ --param news.press.xml "'${XML_NEWS_PRESS}'" \ --param news.project.xml "'${XML_NEWS_NEWS}'" \ --param transtable.xml "'${XML_TRANSTABLE}'" \ + --param navigation.xml "'${XML_NAVIGATION}'" \ ${.CURDIR}/index.xsl ${XML_NEWS_NEWS} .if !defined(NO_TIDY) -${TIDY} ${TIDYOPTS} ${.TARGET} .endif diff --git a/en/index.xsl b/en/index.xsl index bb21d8b435..75e7a361ba 100644 --- a/en/index.xsl +++ b/en/index.xsl @@ -1,485 +1,390 @@ - + - + <xsl:value-of select="$title"/>
FreeBSD: The Power to Serve

Select a server near you:

Language: [de]   [en]   [es]   [fr]   [it]   [ja]   [ru]


+ +
-

- - Platforms -
- · i386
- · Alpha
- · IA-64
- · AMD64
- · Sparc64
- · More?
-

- -

Software -
- · Getting FreeBSD
- · Release Information
- · Ported Applications
-

- -

- - Documentation -
- · FAQ
- · Handbook
- · Manual pages
- · For Newbies
- · Doc. Project
-

- -

- - Support -
- · Mailing lists
- · Newsgroups
- · User Groups
- · Web Resources
- · Security
-

- -

- - Bug Reports -
- · Search
- · View one bug report
- · View all bug reports
- · Send a bug report
- · Writing Bug Reports
-

- - -

- - Development -
- · Developer's Handbook
- · Porter's Handbook
- · CVS Repository
- · Release Engineering
- · Contributing to FreeBSD
-

- -

Vendors -
- · Software
- · Hardware
- · Consulting
- · Misc
-

- -

Donations -
- · Donations Liaison
- · Current Donations
- · List of needs
-

- -

- - This Site -
- · Search Website
- · Search Mailing Lists
- · Search All
-

- -

- - Contacting FreeBSD - -

- -

- - The BSD Copyright - -

+ + +
Search for:
-

What is FreeBSD?

FreeBSD is an advanced operating system for x86 compatible, AMD64, DEC Alpha, IA-64, PC-98 and UltraSPARC® architectures. It is derived from BSD, the version of developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.

Cutting edge features

FreeBSD offers advanced networking, performance, security and compatibility features today which are still missing in other operating systems, even some of the best commercial ones.

Powerful Internet solutions

FreeBSD makes an ideal Internet or Intranet server. It provides robust network services under the heaviest loads and uses memory efficiently to maintain good response times for thousands of simultaneous user processes. Visit our gallery for examples of FreeBSD powered applications and services.

Run a huge number of applications

The quality of FreeBSD combined with today's low-cost, high-speed PC hardware makes FreeBSD a very economical alternative to commercial workstations. It is well-suited for a great number of both desktop and server applications.

Easy to install

FreeBSD can be installed from a variety of media including CD-ROM, DVD-ROM, floppy disk, magnetic tape, an MS-DOS® partition, or if you have a network connection, you can install it directly over anonymous FTP or NFS. All you need is a pair of blank, 1.44MB floppies and these directions.

FreeBSD is free

While you might expect an operating system with these features to sell for a high price, FreeBSD is available free of charge and comes with full source code. If you would like to try it out, more information is available.

Contributing to FreeBSD

It is easy to contribute to FreeBSD. All you need to do is find a part of FreeBSD which you think could be improved and make those changes (carefully and cleanly) and submit that back to the Project by means of send-pr or a committer, if you know one. This could be anything from documentation to artwork to source code. See the Contributing to FreeBSD article for more information.

Even if you are not a programmer, there are other ways to contribute to FreeBSD. The FreeBSD Foundation is a non-profit organization for which direct contributions are fully tax deductible. Please contact bod@FreeBSDFoundation.org for more information or write to: The FreeBSD Foundation, 7321 Brockway Dr. Boulder, CO 80303. USA

Silicon Breeze has also sculpted and cast the BSD Daemon in metal and is now donating 15% of all proceeds from these statuettes back to the FreeBSD Foundation. The complete story and information on how to order a BSD Daemon is available from this page.

New Technology Release:
· Announcement
· Installation Guide
· Release Notes
· Hardware Notes
· Errata
· Early Adopter's Guide

Production Release:
· Announcement
· Installation Guide
· Release Notes
· Hardware Notes
· Errata

Project News
Latest update:
More...

FreeBSD Press
Latest update:
More...

Security Advisories
Latest update:
More...

 

To learn more about FreeBSD, visit our gallery of FreeBSD related publications or FreeBSD in the press, and browse through this website!

[FreeBSD Mall] [Sponsor of Unix Guru Universe] [Daemon News] [Powered by FreeBSD]
Contact us
Legal
© 1995-2004 The FreeBSD Project.
All rights reserved.
diff --git a/en/navigation.xml b/en/navigation.xml new file mode 100644 index 0000000000..e90f4c9f16 --- /dev/null +++ b/en/navigation.xml @@ -0,0 +1,77 @@ + + + + + $FreeBSD$ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/share/mk/web.site.mk b/share/mk/web.site.mk index d39d742576..f98b019cfd 100644 --- a/share/mk/web.site.mk +++ b/share/mk/web.site.mk @@ -1,340 +1,342 @@ # bsd.web.mk -# $FreeBSD: www/share/mk/web.site.mk,v 1.49 2003/11/25 15:12:42 hrs Exp $ +# $FreeBSD: www/share/mk/web.site.mk,v 1.50 2004/01/12 21:27:00 hrs Exp $ # # Build and install a web site. # # Basic targets: # # all (default) -- performs batch mode processing necessary # install -- Installs everything # clean -- remove anything generated by processing # .if exists(${.CURDIR}/../Makefile.inc) .include "${.CURDIR}/../Makefile.inc" .endif WEBDIR?= ${.CURDIR:T} CGIDIR?= ${.CURDIR:T} DESTDIR?= ${HOME}/public_html WEBOWN?= ${USER} WEBGRP?= www WEBMODE?= 664 CGIOWN?= ${USER} CGIGRP?= www CGIMODE?= 775 CP?= /bin/cp CVS?= /usr/bin/cvs ECHO_CMD?= echo SETENV?= /usr/bin/env LN?= /bin/ln MKDIR?= /bin/mkdir MV?= /bin/mv PERL?= /usr/bin/perl5 RM?= /bin/rm SED?= /usr/bin/sed SH?= /bin/sh SORT?= /usr/bin/sort TOUCH?= /usr/bin/touch HTML2TXT?= ${PREFIX}/bin/w3m HTML2TXTOPTS?= -dump ${HTML2TXTFLAGS} ISPELL?= ispell ISPELLOPTS?= -l -p /usr/share/dict/freebsd ${ISPELLFLAGS} XSLTPROC?= ${PREFIX}/bin/xsltproc XSLTPROCOPTS?= ${XSLTPROCFLAGS} TIDY?= ${PREFIX}/bin/tidy TIDYOPTS?= -i -m -raw -preserve -f /dev/null -asxml ${TIDYFLAGS} # # Install dirs derived from the above. # DOCINSTALLDIR= ${DESTDIR}${WEBBASE}/${WEBDIR} CGIINSTALLDIR= ${DESTDIR}${WEBBASE}/${CGIDIR} # # The orphan list contains sources specified in DOCS that there # is no transform rule for. We start out with all of them, and # each rule below removes the ones it knows about. If any are # left over at the end, the user is warned about them. # ORPHANS:= ${DOCS} COPY= -C # # Where the ports live, if CVS isn't used (ie. NOPORTSCVS is defined) # PORTSBASE?= /usr # # Instruction for bsd.subdir.mk to not to process SUBDIR directive. # It is not neccessary since web.site.mk do it too. # NO_SUBDIR= YES # # for dependency # .if !defined(WITHOUT_DOC) # # When WITHOUT_DOC is not defined, we use doc.common.mk. # DOC_PREFIX?= ${WEB_PREFIX}/../doc .if exists(${DOC_PREFIX}/share/mk/doc.common.mk) .include "${DOC_PREFIX}/share/mk/doc.common.mk" .else .error ${DOC_PREFIX}/share/mk/doc.common.mk not found.\ Define $$WITHOUT_DOC for building without the doc/ module. .endif .else # !defined(WITHOUT_DOC) # # When WITHOUT_DOC is defined, we should not use files in doc/ module at all. # .if !defined(WWW_LANGCODE) || empty(WWW_LANGCODE) _WEB_PREFIX!= realpath ${WEB_PREFIX} WWW_LANGCODE:= ${.CURDIR:S,^${_WEB_PREFIX}/,,:C,^([^/]+)/.*,\1,} .undef _WEB_PREFIX .endif .endif # !defined(WITHOUT_DOC) XML_ADVISORIES?= ${WEB_PREFIX}/share/sgml/advisories.xml XML_NEWS_NEWS_MASTER= ${WEB_PREFIX}/en/news/news.xml XML_NEWS_NEWS= ${WEB_PREFIX}/${WWW_LANGCODE}/news/news.xml XML_NEWS_PRESS_MASTER= ${WEB_PREFIX}/en/news/press.xml XML_NEWS_PRESS= ${WEB_PREFIX}/${WWW_LANGCODE}/news/press.xml XML_NEWS_INCLUDES_MASTER= ${WEB_PREFIX}/en/news/includes.xsl XML_NEWS_INCLUDES= ${WEB_PREFIX}/${WWW_LANGCODE}/news/includes.xsl +XML_NAVIGATION= ${WEB_PREFIX}/en/navigation.xml + XML_INCLUDES= ${WEB_PREFIX}/${WWW_LANGCODE}/includes.xsl XML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.header.xsl XML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.misc.xsl XML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.release.xsl XML_INCLUDES+= ${WEB_PREFIX}/share/sgml/transtable-common.xsl XML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.xsl SGML_INCLUDES= ${WEB_PREFIX}/${WWW_LANGCODE}/includes.sgml SGML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.header.sgml SGML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.misc.sgml SGML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.release.sgml SGML_INCLUDES+= ${WEB_PREFIX}/share/sgml/includes.sgml ################################################################## # Transformation rules ### # file.sgml --> file.html # # Runs file.sgml through spam to validate and expand some entity # references are expanded. file.html is added to the list of # things to install. .SUFFIXES: .sgml .html .if defined(REVCHECK) PREHTML?= ${WEB_PREFIX}/ja/prehtml CANONPREFIX0!= cd ${WEB_PREFIX}; ${ECHO_CMD} $${PWD}; CANONPREFIX= ${PWD:S/^${CANONPREFIX0}//:S/^\///} LOCALTOP!= ${ECHO_CMD} ${CANONPREFIX} | \ ${PERL} -pe 's@[^/]+@..@g; $$_.="/." if($$_ eq".."); s@^\.\./@@;' DIR_IN_LOCAL!= ${ECHO_CMD} ${CANONPREFIX} | ${PERL} -pe 's@^[^/]+/?@@;' PREHTMLOPTS?= -revcheck "${LOCALTOP}" "${DIR_IN_LOCAL}" ${PREHTMLFLAGS} .else DATESUBST?= 's///' PREHTML?= ${SED} -e ${DATESUBST} .endif .if !defined(OPENJADE) SGMLNORM?= ${PREFIX}/bin/sgmlnorm .else SGMLNORM?= ${PREFIX}/bin/osgmlnorm .endif LOCALBASE?= /usr/local PREFIX?= ${LOCALBASE} CATALOG?= ${PREFIX}/share/sgml/html/catalog SGMLNORMOPTS?= -d ${SGMLNORMFLAGS} -c ${CATALOG} -D ${.CURDIR} GENDOCS+= ${DOCS:M*.sgml:S/.sgml$/.html/g} ORPHANS:= ${ORPHANS:N*.sgml} spellcheck: .for _entry in ${GENDOCS} @echo "Spellcheck ${_entry}" @${HTML2TXT} ${HTML2TXTOPTS} ${.CURDIR}/${_entry} | ${ISPELL} ${ISPELLOPTS} .endfor .sgml.html: ${SGML_INCLUDES} ${PREHTML} ${PREHTMLOPTS} ${.IMPSRC} | \ ${SETENV} SGML_CATALOG_FILES= \ ${SGMLNORM} ${SGMLNORMOPTS} > ${.TARGET} || \ (${RM} -f ${.TARGET} && false) .if !defined(NO_TIDY) -${TIDY} ${TIDYOPTS} ${.TARGET} .endif ### # file.docb --> file.html # # Generate HTML from docbook SGMLFMT?= ${PREFIX}/bin/sgmlfmt SGMLFMTOPTS?= -d docbook -f html ${SGMLFMTFLAGS} ${SGMLFLAGS} .SUFFIXES: .docb GENDOCS+= ${DOCS:M*.docb:S/.docb$/.html/g} ORPHANS:= ${ORPHANS:N*.docb} .docb.html: ${SGMLFMT} ${SGMLFMTOPTS} ${.IMPSRC} .if !defined(NO_TIDY) -${TIDY} ${TIDYOPTS} ${.TARGET} .endif ################################################################## # Targets # # If no target is specified, .MAIN is made # .MAIN: all # # Build most everything # all: ${COOKIE} orphans ${GENDOCS} ${DATA} ${LOCAL} ${CGI} _PROGSUBDIR # # Warn about anything in DOCS that has no translation # .if !empty(ORPHANS) orphans: @${ECHO} Warning! I don\'t know what to do with: ${ORPHANS} .else orphans: .endif # # Clean things up # .if !target(clean) clean: _PROGSUBDIR .if defined(DIRS_TO_CLEAN) && !empty(DIRS_TO_CLEAN) .for dir in ${DIRS_TO_CLEAN} cd ${.CURDIR}/${dir}; ${MAKE} clean .endfor .endif ${RM} -f Errs errs mklog ${GENDOCS} ${LOCAL} ${CLEANFILES} .endif # # Really clean things up # .if !target(cleandir) cleandir: clean _PROGSUBDIR ${RM} -f ${.CURDIR}/tags .depend cd ${.CURDIR}; ${RM} -rf obj .endif # # Install targets: before, real, and after. # .if !target(install) .if !target(beforeinstall) beforeinstall: .endif .if !target(afterinstall) afterinstall: .endif INSTALL_WEB?= \ ${INSTALL} ${COPY} ${INSTALLFLAGS} -o ${WEBOWN} -g ${WEBGRP} -m ${WEBMODE} INSTALL_CGI?= \ ${INSTALL} ${COPY} ${INSTALLFLAGS} -o ${CGIOWN} -g ${CGIGRP} -m ${CGIMODE} _ALLINSTALL+= ${GENDOCS} ${DATA} ${LOCAL} realinstall: ${COOKIE} ${_ALLINSTALL} ${CGI} _PROGSUBDIR .if !empty(_ALLINSTALL) @${MKDIR} -p ${DOCINSTALLDIR} .for entry in ${_ALLINSTALL} .if exists(${.CURDIR}/${entry}) ${INSTALL_WEB} ${.CURDIR}/${entry} ${DOCINSTALLDIR} .else ${INSTALL_WEB} ${entry} ${DOCINSTALLDIR} .endif .endfor .if defined(INDEXLINK) && !empty(INDEXLINK) cd ${DOCINSTALLDIR}; ${LN} -fs ${INDEXLINK} index.html .endif .endif .if defined(CGI) && !empty(CGI) @${MKDIR} -p ${CGIINSTALLDIR} .for entry in ${CGI} ${INSTALL_CGI} ${.CURDIR}/${entry} ${CGIINSTALLDIR} .endfor .endif .if defined(DOCSUBDIR) && !empty(DOCSUBDIR) .for entry in ${DOCSUBDIR} @${MKDIR} -p ${DOCINSTALLDIR}/${entry} .endfor .endif # Set up install dependencies so they happen in the correct order. install: afterinstall afterinstall: realinstall2 realinstall: beforeinstall realinstall2: realinstall .endif # # This recursively calls make in subdirectories. # #SUBDIR+=${DOCSUBDIR} _PROGSUBDIR: .USE .if defined(SUBDIR) && !empty(SUBDIR) .for entry in ${SUBDIR} @${ECHODIR} "===> ${DIRPRFX}${entry}" @cd ${.CURDIR}/${entry}; \ ${MAKE} ${.TARGET:S/realinstall/install/:S/.depend/depend/} \ DIRPRFX=${DIRPRFX}${entry}/ .endfor .endif .if defined(DOCSUBDIR) && !empty(DOCSUBDIR) .for entry in ${DOCSUBDIR} @${ECHODIR} "===> ${DIRPRFX}${entry}" @if [ \( "${WEBDIR}" = "data" -a "${entry}" = "handbook" \) -o "${entry}" = "docproj-primer" ]; then \ cd ${.CURDIR}/${entry}; \ ${MAKE} ${.TARGET:S/realinstall/install/:S/.depend/depend/} \ DIRPRFX=${DIRPRFX}${entry}/ ${PARAMS} \ FORMATS="txt html html-split"; \ elif [ "${WEBDIR}" = "data/ja" -a "${entry}" = "handbook" ]; then \ cd ${.CURDIR}/${entry}; \ ${MAKE} ${.TARGET:S/realinstall/install/:S/.depend/depend/} \ DIRPRFX=${DIRPRFX}${entry}/ ${PARAMS} \ FORMATS="html html-split"; \ else \ cd ${.CURDIR}/${entry}; \ ${MAKE} ${.TARGET:S/realinstall/install/:S/.depend/depend/} \ DIRPRFX=${DIRPRFX}${entry}/ ${PARAMS}; \ fi .endfor .endif # # cruft for generating linuxdoc stuff # .if defined (DOCSUBDIR) && !empty(DOCSUBDIR) FORMATS?= "html ps latin1 ascii" PARAMS= DESTDIR=${DESTDIR} DOCDIR=${WEBBASE}/${WEBDIR} PARAMS+= DOCOWN=${WEBOWN} DOCGRP=${WEBGRP} PARAMS+= FORMATS=${FORMATS} COPY="${COPY}" PARAMS+= SGMLOPTS="${SGMLOPTS}" .endif .include # THE END diff --git a/share/sgml/includes.misc.xsl b/share/sgml/includes.misc.xsl index afc2f53402..8d082f9dd8 100644 --- a/share/sgml/includes.misc.xsl +++ b/share/sgml/includes.misc.xsl @@ -1,271 +1,308 @@ - +

released.


, news/newsflash.html#

, news/press.html#
+ + + + + +

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

+
+
+ + + + · + + + + +
+
+