TAGS
file
Everything (well, most everything ;-) you always wanted to know about www.gnu.org!
The whole www.gnu.org web site is stored under CVS on subversions.gnu.org. Most of the webmaster tasks do not require a shell account on gnudist.gnu.org and are a lot simpler to perform by checking out the pages on your local machine, modifying them and then committing the result. For an example of instructions on how to use CVS for this purpose, see the CVS instructions for the GNU mifluz package.
When a commit is done, a synchronization process will update the www.gnu.org web site immediately. At the end of the commit operation the changes should be visible at www.gnu.org. If it's not the case, complain to cvs-hackers@gnu.org.
In order to be granted edit permissions for a project you must first register yourself on Savannah. This is a very simple step that anyone can do.
A small number of tasks do require to logon gnudist.gnu.org and if you want to devote some time to them you'll need to ask for a shell account.
Instead of having a single group of users who have edit permissions over the whole www.gnu.org CVS tree, a number of groups have been created and only have edit permissions on a specific directory tree. For instance, the Brave GNU World project members only have edit permissions on the http://www.gnu.org/brave-gnu-world/ directory. This has a number of advantages such as easily finding out who is in charge of which portion of the www.gnu.org web site. A www.gnu.org to Savannah projects map is updated every day and shows which directories are handled by which projects.
Some parts of the www.gnu.org web site do not yet have a matching project on Savannah. Don't hesitate to create a project for a given subdirectory if you plan to work on it with other webmasters. When creating the project, select the website only license. The /software/package directories have a special status since they must be bound to a project that have the same name on Savannah and are associated to a source CVS repository. You should try to get in touch with the package maintainer before creating a project in /software/package.
Since it would be very complicated for highly involved webmasters to become a member of each and every projects when they want to make some global changes, the special project www was created. Each member of the www project is granted edit permission over the whole www.gnu.org CVS repository.
If you want more information about Savannah, read the Administration Guide.
By adding special files (".symlinks") into the CVS tree that are interpreted as specficiations to build symbolic links. The "symlinks" script can be run immediately after a "cvs update" to fix the symbolic links according to the specifications included in the ".symlinks" files.
The current directory is searched recursively for ".symlinks" files. Symbolic links that exist in directory where there is no .symlinks files will be ignored. Only directories containing a .symlinks file are handled.
Each symbolic link specification from the ".symlinks" file is honored, i.e. the symbolic link is created if it does not exist yet. If a symbolic link is found in the directory and is not listed in the ".symlinks" file, it is removed.
Special handling to comply to the GNU webmaster standard is also applied. If a subdirectory "foo/bar" has no "foo/bar/index.html" file and a file "foo/bar/bar.html" exists, then a symbolic link from "index.html" to "bar.html" is created even if it is not listed in the .symlinks file. In short, an implicit
cd foo/bar ; ln -s bar.html index.htmlis done.
Symbolic links that point outside the web site document root are ignored.
The ".symlinks" files obey to the following format.
Each line starting with a sharp sign ("#") is treated as a comment and ignored.
Lines that do not contain two strings separated by white space are silently ignored.
Here is an example of .symlinks file content:
# # Link foo.html to bar.html. # Stricly equivalent to ln -s foo.html bar.html # foo.html bar.html
On each line the first file name must be a relative path name to an existing file. The file designated by this path must not be outside the document root. The second file name may not contain any slash, it is the name of the sym- bolic link to be created.
The actual command used to implement this feature is symlinks(1) and the sources can be found in gnudist.gnu.org:/usr/local/src/symlinks-1.1.tar.gz.
Updated: <!-- timestamp start --> $Date:$ $Author:$ <!-- timestamp end --> <HR>
If you are working in a file that is stored by CVS, and such a timestamp entry isn't in the file, please add it. If a file under CVS that you are working in still uses the
hhmtsmethod for updates described below, please switch it to the
timestampmethod.
The file ~www/.emacs
contains some suggestions for your own ~/.emacs
.
In particular, what we want is numbered backups and the "Last updated"
field changed automatically on file write - this field is
the date and user name between these two comments lines:
<!-- hhmts start --> 18 Apr 2000 tower <!-- hhmts end -->An easy way to use them and get future updates is to add these lines to your own
~/.emacs
:
(let ((www-emacs-file (expand-file-name "~www/.emacs"))) (if (file-exists-p www-emacs-file) (load-file www-emacs-file)))
TAGS
fileTAGS
in directory ~www/html/
lists
all the HTML files on this site. This files allow one to search
or query replace all of the HTML files.
See these instructions
for more information.
/usr/local/bin/htmlchek
can and SHOULD be used to do a syntax and some
semantic checks on HTML files.weblint
or other checkers
which may or may not be better.
/com/archive/webmaster
files /com/archive/webmaster*.gz for the older messages
.
If you don't have an account on those machines, and have been appointed a webmaster, please ask whomever appointed you a webmaster to arrange for an account.
*.texi
files
into *.html
files,
then inserts end of HTML file copyright,
links, etc.
Also creates files /home/www/html/TAGS.LG, that list those translations in language LG, for the use of each translation team.
See these instructions for more information.
crontab -u www -e
to do this.
When adding a new ftp mirror, please update fencepost:/gd/gnuorg/FTP and fencepost:/gd/gnuorg/FTP.contacts and not /prep/ftp.html. This is because /prep/ftp.html is automatically generated from fencepost:/gd/gnuorg/FTP.
A 22Gb disk partition was allocated to audio and video files on the machine audio-video.gnu.org. In order to add new files in this repository, one should be registered as a member of the GNU and FSF audio video project. Uploading a file can be done using rsync over ssh
rsync --rsh=ssh file.vob audio-video.gnu.org:/audio-video/videoThe access methods offered to users are:
rsync -av audio-video.gnu.org::audio-video .
http://audio-video.gnu.org/
Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.
Please send comments on these web pages to webmasters@gnu.org, send other questions to gnu@gnu.org.
Copyright (C) 1999, 2001 Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
Updated: $Date: 2001/08/17 09:49:21 $ $Author: loic $