www-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

www/server/standards gnu-website-guidelines.html


From: Jason Self
Subject: www/server/standards gnu-website-guidelines.html
Date: Thu, 29 Apr 2021 21:42:45 -0400 (EDT)

CVSROOT:        /web/www
Module name:    www
Changes by:     Jason Self <jxself>     21/04/29 21:42:45

Modified files:
        server/standards: gnu-website-guidelines.html 

Log message:
        Revert server/standards/gnu-website-guidelines.html to r1.21

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/server/standards/gnu-website-guidelines.html?cvsroot=www&r1=1.33&r2=1.34

Patches:
Index: gnu-website-guidelines.html
===================================================================
RCS file: /web/www/www/server/standards/gnu-website-guidelines.html,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- gnu-website-guidelines.html 27 Apr 2021 12:18:33 -0000      1.33
+++ gnu-website-guidelines.html 30 Apr 2021 01:42:43 -0000      1.34
@@ -1,116 +1,44 @@
 <!--#include virtual="/server/header.html" -->
 <!-- Parent-Version: 1.95 -->
 <title>Website Guidelines - GNU Project - Free Software Foundation</title>
-<style type="text/css"><!--
-  .skiptoc { position: absolute; top: -2.5em; left: 0; }
-  .toc {
-    position: relative;
-    text-align: center;
-    padding: 1em 0 1.1em;
-    background: #f4f4f4;
-    max-width: 100%;
-    margin: 3em auto 1.5em;
-  }
- .toc { width: 55em; width: max-content; }
-
- .toc ul {
-    display: inline-block;
-    text-align: left;
-    line-height: 1.2em;
-  }
-  .toc > ul {
-    padding: 0 1em 0 1.5em;
-    margin: 0;
-  }
-  .toc ul ul {
-    width: 100%;
-    max-width: 100%;
-    margin: 0;
-  }
-  .toc ul li { margin: 0 0 0 1em; }
-  .toc a {
-    display: block;
-    padding: .2em;
-    margin-bottom: .1em;
-  }
-  .emph-box { margin: .7em 0; }
-  dl dt { font-size: 1.125em; }
-
-@media (min-width: 45em) {
-  .columns { column-count: 2; }
-}
---></style>
  <!--#include virtual="/server/standards/po/gnu-website-guidelines.translist" 
-->
 <!--#include virtual="/server/banner.html" -->
 <h2>GNU Website Guidelines</h2>
 
-<p>
-  <em>Our goal is to get information to people.
-  Keeping the site design simple helps accomplish that.</em>
+<p class="center emph-box">
+  Our goal is to get information to people.
+  Keeping the site design simple helps accomplish that.
 </p>
 
-<div class="toc">
-<p class="skiptoc">
-<small><a href="#GeneralGuidelines">[Skip the table of 
contents]</a></small></p>
+<div class="summary">
 <hr class="no-display" />
 <h3 class="no-display">Table of Contents</h3>
-<ul class="columns">
-  <li><a href="#GeneralGuidelines"><b>General Guidelines</b></a>
-    <ul>
-      <li><a href="#gnu-policies">GNU policies</a></li>
-      <li><a href="#CopyrightGuidelines">Copyright guidelines</a></li>
-      <li><a href="#HTMLGuidelines">HTML guidelines</a></li>
-    </ul></li>
-  <li><a href="#new-page"><b>Creating a New Page</b></a>
-    <ul>
-      <li><a href="#filenames">Naming the file</a></li>
-      <li><a href="#html-required">Doctype and required HTML elements</a></li>
-      <li><a href="#page-footer">Page footer</a></li>
-      <li><a href="#templating">Using our page template</a></li>
-    </ul></li>
-  <li><a href="#writing"><b>Writing and Editing</b></a>
-    <ul>
-      <li><a href="#page-contents">Page contents</a></li>
-      <li><a href="#orthography">Spelling and punctuation</a></li>
-      <li><a href="#urls">URLs - local links</a></li>
-      <li><a href="#anchors">URLs - page anchors</a></li>
-      <li><a href="#external-links">URLs - external links</a></li>
-      <li><a href="#mailto">URLs - email links</a></li>
-      <li><a href="#abbreviations">Acronyms and abbreviations</a></li>
+<ul>
+  <li><a href="#GeneralGuidelines">General Guidelines</a></li>
+  <li><a href="#CopyrightGuidelines">Copyright Guidelines</a></li>
+  <li><a href="#orthography">Spelling and Punctuation</a></li>
+  <li><a href="#filenames">Filenames</a></li>
+  <li><a href="#urls">URLs</a></li>
+  <li><a href="#HTMLGuidelines">HTML Guidelines</a></li>
       <li><a href="#tables">Tables and menus</a></li>
-    </ul></li>
-  <li><a href="#styling"><b>Styling</b></a>
-    <ul>
-      <li><a href="#styling-templated">Styling of templated pages</a></li>
-      <li><a href="#other-stylesheets">Other stylesheets</a></li>
-    </ul></li>
-  <li><a href="#UseofGraphics"><b>Use of Graphics</b></a>
-    <ul>
-      <li><a href="#caveats">Caveats</a></li>
-      <li><a href="#image-basics">Basic recommendations</a></li>
-      <li><a href="#image-css">CSS classes for images</a></li>
-    </ul></li>
-  <li><a href="#pollinking"><b>Linking Criteria</b></a></li>
-  <li><a href="#repo"><b>Technical Tips</b></a>
+  <li><a href="#templating">Using our page template</a></li>
+  <li><a href="#styling">Page Styling</a></li>
+  <li><a href="#UseofGraphics">Use of Graphics</a></li>
+  <li><a href="#pollinking">Appendix 1 - Linking Policies</a></li>
+  <li><a href="#repo">Appendix 2 - Working with Web CVS Repositories</a>
     <ul>
       <li><a href="#cvs">Basic CVS commands</a></li>
       <li><a href="#symlinks">Symbolic links</a></li>
       <li><a href="#htaccess">.htaccess and redirections</a></li>
       <li><a href="#scripts">Scripts</a></li>
       <li><a href="#sysadmins">System administrators</a></li>
-    </ul></li>
-  <li><a href="#UsefulResources"><b>Useful Resources</b></a>
-    <ul>
-      <li><a href="#external-resources">External resources</a></li>
-      <li><a href="#internal-resources">Internal resources</a></li>
-    </ul></li>
+    </ul>
+  </li>
+  <li><a href="#UsefulResources">Useful Resources</a></li>
 </ul>
 <hr class="no-display" />
 </div>
 
-
-<h3 id="GeneralGuidelines" class="subheader">General Guidelines</h3>
-
 <p>Please be considerate of all who access our web pages, and accommodate
 them, including those who use text-only browsers or old browsers, as well
 as those with slow connections.  We wish to prevent web designs that look
@@ -119,7 +47,8 @@
 available if you don't already use them anyway.</p>
 
 
-<h4 id="gnu-policies">GNU policies</h4>
+<h3 id="GeneralGuidelines" class="subheader">General Guidelines</h3>
+
 
 <ul class="para">
 <li>The GNU web server has only <a href="/philosophy/free-sw.html">free
@@ -136,6 +65,21 @@
 the GNU General Public License or GNU Lesser General Public
 License.</li>
 
+<li>The use of graphics should be minimized so pages load fast over
+slow links.</li>
+
+<li>Offer a document in as many formats as the GNU Project has it.
+For an example, see <a href="/licenses/fdl.html">The GNU Free
+Documentation License</a>.  This lets users get the document in the
+format most useful to them.</li>
+
+<li>In addition to <a href="#CopyrightGuidelines">copyright and license
+notices</a>, all pages should have contact info for both the FSF (or
+responsible party) and the address for bug reports (webmasters for
+general pages, but project-specific addresses otherwise) at the bottom
+of each page.  The reason to note this at the bottom is so the user
+always finds this information at the same place on each page.</li>
+
 <li>Before you take any graphics or text from another website,
 please ask for permission to use it.  It's polite to do so.  It is also
 essential for us to avoid copyright infringement.</li>
@@ -146,9 +90,12 @@
 <li>Do not list an address of an individual, including the
 maintainer of a GNU package, unless explicitly asked to have it
 listed.  Most GNU maintainers do not want a lot of extra mail and prefer
-to get bug reports and other messages from the relevant <a
+to get bug reports, etc. from the GNU bug report <a
 href="/prep/mailinglists.html">mailing lists</a>.</li>
 
+<li>On pages with dated entries (e.g., /philosophy/latest-articles.html),
+the newer entries should be first (i.e., reverse chronological order).</li>
+
 <li>Pages should not load CSS from servers other than those run
 by the FSF.</li>
 
@@ -158,10 +105,10 @@
 </ul>
 
 
-<h4 id="CopyrightGuidelines">Copyright guidelines</h4>
+<h3 id="CopyrightGuidelines" class="subheader">Copyright Guidelines</h3>
 
-<ul class="para">
 
+<ul class="para">
 <li>Every page should have a copyright notice.  See the <a
 
href="//web.cvs.savannah.gnu.org/viewvc/*checkout*/www/server/standards/boilerplate.html?root=www&amp;content-type=text%2Fplain">
 boilerplate</a>, referred below.</li>
@@ -180,6 +127,13 @@
 modify, put the text &ldquo;Posted in 20XX without FSF permission to
 modify&rdquo; inside an HTML comment, just after the copyright notice.</li>
 
+<li>The user of our pages should always find the copyright information
+at the same place on each page.  If the page is copyrighted by some
+other person or entity, use per or its copyright notice instead of the
+FSF copyright notice.  Use the rest of the FSF's normal footer
+material, except when there is a specific reason to change something
+in it.</li>
+
 <li>All pages that explain how to do something, such as how to use
 certain programs, are documentation.  This includes all the pages in
 <code>/software/</code> that describe specific programs.  By our
@@ -195,19 +149,34 @@
 </ul>
 
 
-<h4 id="HTMLGuidelines">HTML guidelines</h4>
+<h3 id="orthography" class="subheader">Spelling and Punctuation</h3> 
 
-<ul class="para">
-<li>All public pages of the GNU website should be strictly compliant with
-<a href="//www.w3.org/standards/">W3C standards</a>.</li>
-</ul>
 
+<ul class="para">
+<li>English pages should follow the standard American spelling,
+hyphenation and punctuation conventions.</li>
 
-<h3 id="new-page" class="subheader">Creating a New Page</h3>
+<li>Since these conventions are not always very specific, especially as
+regards hyphenation and quotes, gnu.org adds its own rules for the sake of
+consistency:
+  <ul>
+  <li>The term &ldquo;nonfree&rdquo; is preferred over &ldquo;non-free&rdquo;;
+  likewise, &ldquo;noncommercial&rdquo; over &ldquo;non-commercial.&rdquo;</li>
+  <li>In ordinary text, HTML entities
+  &ldquo;<code>&amp;ldquo;</code>&hellip;<code>&amp;rdquo;</code>&rdquo; and
+  &ldquo;<code>&amp;lsquo;</code>&hellip;<code>&amp;rsquo;</code>&rdquo;
+  are preferred over straight quotes ("..." and '...').
+  This doesn't apply to script-generated documents.</li>
+  <li>Where they exist, the double spaces after sentence breaks should be
+  preserved.  They enable Emacs sentence commands to do the right thing.</li>
+  </ul>
+</li>
+</ul>
 
 
 <a id="FilenameAndURLGuidelines"></a>
-<h4 id="filenames">Naming the file</h4>
+<h3 id="filenames" class="subheader">Filenames</h3>
+
 
 <ul class="para">
 <li>To make simultaneous edition of many files easier,
@@ -221,9 +190,9 @@
 href="#symlinks"><code>.symlinks</code></a>
 file to handle this.</li>
 
-<li id="NamingTranslations">If you translate your web page (say,
-<code><var>page</var>.html</code>) in different languages, please
-name the translations <code><var>page</var>.<var>lang</var>.html</code>&mdash;
+<li id="NamingTranslations">If you translate your web page in different
+languages, please name the English file <code><var>article</var>.html</code>, 
and
+its translations <code><var>article</var>.<var>lang</var>.html</code>&mdash;
 <code><var>lang</var></code> should contain the two-letter language code from 
<a
 href="//www.loc.gov/standards/iso639-2/php/code_list.php">ISO 639</a>,
 and optionally an hyphen followed the two-letter country code given in
@@ -233,138 +202,8 @@
 </ul>
 
 
-<h4 id="html-required">Doctype and required HTML elements</h4> 
-
-<ul class="para">
-<li>Please follow the above mentioned web standards strictly.  Don't
-neglect <a
-href="//www.w3.org/TR/html401/struct/global.html#h-7.1">required
-elements</a> such as <code>&lt;html&gt;</code>, <code>&lt;head&gt;</code>,
-<code>&lt;title&gt;</code> and <code>&lt;body&gt;</code>, etc. when using 
(X)HTML,
-and always include the appropriate DTD or Schema reference.
-This appeases overly pedantic web browsers.</li>
-
-<li>Do not add comments at the top of a document.  Web browsers
-expect the doctype, XML declaration, or Schema to be at the top.
-Comments will confuse them, and often cause them to
-incorrectly interpret your markup.</li>
-
-<li>The <code>&lt;head&gt;</code> element should contain this line:
-<p class="emph-box">
-<code>&lt;link rel="author" href="mailto:webmasters@gnu.org"&gt;</code></p>
-Some browsers use this information to allow users to easily report
-problems they find on a page.</li>
-
-<li>The first header element, <code>&lt;h[n]&gt;</code>, should have
-its text duplicated at the start of the <code>&lt;title&gt;</code> element.
-The latter
-is used by many browsers in menus like the history and bookmarks lists,
-as a link to that page.  Repeating the main heading in the
-<code>&lt;title&gt;</code> ensures that, when
-users click on an item in these menus, they get a page with the expected
-heading.  Please properly use your headers in numerical order: 1, 2,
-etc.  These are not used for looks, but for the organization of the
-document.</li>
-
-<li>The <code>&lt;title&gt;</code> element should include the
-phrases <i>&ldquo;GNU Project&rdquo;</i>
-and <i>&ldquo;Free Software Foundation&rdquo;</i> so the pages can be better
-indexed by external search engines.  The default is to add this at the
-end: <code> - GNU Project - Free Software Foundation</code>.</li>
-</ul>
-
-
-<h4 id="page-footer">Page footer</h4>
-
-<ul class="para">
-<li>All pages should have a footer. See the <a
-href="//web.cvs.savannah.gnu.org/viewvc/*checkout*/www/server/standards/
-boilerplate.html?root=www&amp;content-type=text%2Fplain">
-boilerplate</a>, referred below.</li>
-
-<li>The footer should include the <a
-href="#CopyrightGuidelines">copyright and license notices</a> for the
-<em>page itself</em>. The copyright and license notices for material that
-is part of the page (such as images) should normally be placed in the
-main text.<br />
-The rules for listing copyright holders and  years are detailed in
-the <a href="/prep/maintain/html_node/Copyright-Notices.html">GNU
-Maintainers' guide</a>.</li>
-
-<li>The Copyright Infringement Notification is a legal requirement.</li>
-
-<li>In addition, the footer should have contact info for both the FSF (or
-responsible party) and the address for bug reports (webmasters for
-general pages, but project-specific addresses otherwise).
-The reason to note this in the footer is so the user
-always finds this information at the same place on each page.</li>
-</ul>
-
-
-<h4 id="templating">Using our page template</h4>
-
-<ul class="para">
-<li>To help people follow the above guidelines, a page template (or
-&ldquo;boilerplate&rdquo;) is provided for both the main part of the GNU
-website, and the software projects.  Its use is mandatory for new pages in
-www.gnu.org, and highly recommended for software pages.  Please don't start
-out with an existing page to create a new one; use the <a
-href="//web.cvs.savannah.gnu.org/viewvc/*checkout*/www/server/standards/boilerplate.html?root=www&amp;content-type=text%2Fplain">
-original source</a> of the boilerplate instead, and follow the instructions
-in it.</li>
-
-<li>The templated pages must follow the <a
-href="//www.w3.org/TR/xhtml1/">XHTML-1.0 guidelines</a>.
-Well-formedness is essential for translatable pages that need to be
-converted to POT files by the PO4A/Gettext tools.</li>
-
-<li>Our server-side includes declare UTF-8 as the character encoding, so
-using any other encoding is problematic.</li>
-</ul>
-
-
-<h3 id="writing" class="subheader">Writing and Editing</h3>
-
-
-<h4 id="page-contents">Page contents</h4>
-
-<ul class="para">
-<li>On pages with dated entries (e.g., /philosophy/latest-articles.html),
-the newer entries should be first; in other words, preserve reverse
-chronological order.</li>
-
-<li>Offer a document in as many formats as the GNU Project has it.
-For an example, see <a href="/licenses/fdl.html">The GNU Free
-Documentation License</a>.  This lets users get the document in the
-format most useful to them.</li>
-</ul>
-
-
-<h4 id="orthography">Spelling and punctuation</h4>
-
-<ul class="para">
-<li>English pages should follow the standard American spelling,
-hyphenation and punctuation conventions.</li>
-
-<li>Since these conventions are not always very specific, especially as
-regards hyphenation and quotes, gnu.org adds its own rules for the sake of
-consistency:
-  <ul>
-  <li>The term &ldquo;nonfree&rdquo; is preferred over &ldquo;non-free&rdquo;;
-  likewise, &ldquo;noncommercial&rdquo; over &ldquo;non-commercial.&rdquo;</li>
-  <li>In ordinary text, HTML entities
-  &ldquo;<code>&amp;ldquo;</code>&hellip;<code>&amp;rdquo;</code>&rdquo; and
-  &ldquo;<code>&amp;lsquo;</code>&hellip;<code>&amp;rsquo;</code>&rdquo;
-  are preferred over straight quotes ("..." and '...').
-  This doesn't apply to script-generated documents.</li>
-  <li>Where they exist, the double spaces after sentence breaks should be
-  preserved.  They enable Emacs sentence commands to do the right thing.</li>
-  </ul>
-</li>
-</ul>
-
+<h3 id="urls" class="subheader">URLs</h3>
 
-<h4 id="urls">URLs - local links</h4>
 
 <ul class="para">
 <li>Hand-written URLs that refer to other files on www.gnu.org should be
@@ -376,13 +215,16 @@
 <code>http://www.gnu.org/</code> will be wrong when the visitor uses
 HTTPS.</li>
 
+<li>Check if the linked host supports both HTTPS and HTTP and use
+protocol-relative URLs (e.g. <code>//www.example.org</code>) if it does.</li>
+
 <li>Collections of files produced automatically from Texinfo source
 contain links with relative file names.  They always refer to another
 file in the same directory.  These relative links are to be
 tolerated.</li>
 
 <li>Don't use just a directory name in a URL; always include the
-specific filename.  For instance, use <code>/gnu/gnu.html</code>, not just
+specific filename.  E.g., use <code>/gnu/gnu.html</code>, not just
 <code>/gnu/</code>.  Never use <code>index.html</code> in a URL.  Both of
 these are kindnesses to the user, as browsers change the highlighting on
 a link after it has been visited.  If links to a given file use several
@@ -391,7 +233,39 @@
 already seen, which is irritating.  Also, this eases maintenance of the site
 as things get moved around.</li>
 
-<li>When embedding static resources, such as videos that are not in
+<li>Be sure to omit the filename entirely when linking to an anchor in
+the same file and double-check that the anchor actually works.</li>
+
+<li>Consider others linking to your page when removing an anchor or
+<code>id</code> attribute.</li>
+
+<li>We encourage FTP sites to use a directory for each package, and only put
+one package's files in each directory, so that the users can see what
+versions of that package and related information can be downloaded
+(e.g., a <code>README</code> file, information of what versions are
+available, documentations, fonts, etc.).  Also, it means that the FTP
+location URLs do not need to be changed, on this and other sites, as new
+versions are released into that directory.</li>
+
+<li><p>Cite people with e-mail addresses this way:</p>
+<p class="emph-box"><code>
+&lt;a href="//www.stallman.org/"&gt;Richard Stallman&lt;/a&gt;
+&lt;a href="mailto:rms@gnu.org"&gt;&amp;lt;rms@gnu.org&amp;gt;&lt;/a&gt;
+</code></p>
+<p>which browsers display this way:</p>
+<p class="emph-box" style="background-color: inherit">
+<a href="//www.stallman.org/">Richard Stallman</a>
+<a href="mailto:rms@gnu.org";>&lt;rms@gnu.org&gt;</a>
+</p>
+<p>It is less confusing to the user, because it's clear what is a link
+to another web page and what is a <code>mailto:</code> anchor that
+will bring up a mail form to fill out and send, if this is
+supported by the client.  Also, if users save a copy of the page,
+they will have a copy of the e-mail address they can use without
+going back to their web browser.  If the person doesn't have a web
+page, leave the name unanchored.</p></li>
+
+<li>When embedding static resources like videos that are not in
 the <code>www</code> CVS repository along with the rest of the
 www.gnu.org pages, it's important that the URL used to embed the asset
 be a subdomain of gnu.org, so that the Third-party Request Blocker
@@ -404,90 +278,49 @@
 </ul>
 
 
-<h4 id="anchors">URLs - page anchors</h4>
-
-<ul class="para">
-<li>Be sure to omit the filename entirely when linking to an anchor in
-the same file, and double-check that the anchor actually works.</li>
-
-<li>Consider others linking to your page when either removing an element
-that carries an <code>id</code> attribute, or changing an <code>id</code>.
-Place the old one on a block element nearby. If there is no suitable
-element, add one. Here is an example from the Philosophy main page:
-
-<pre class="emph-box">
- <samp>&lt;!-- please leave both these ID attributes here. ... --&gt;
- [...]
- &lt;div id="TOCFreedomOrganizations"&gt;
- &lt;p id="FreedomOrganizations"&gt;We also keep a list of
- &lt;a href="/links/links.html#FreedomOrganizations"&gt;Organizations
- that Work for Freedom in
- Computer Development and Electronic Communications&lt;/a&gt;.&lt;/p&gt;
- &lt;/div&gt;</samp>
-</pre>
-
-Please avoid moving the old <code>id</code> to a translatable string,
-unless there is no other way to keep the markup valid. Translators will
-thank you!</li>
-</ul>
-
+<h3 id="HTMLGuidelines" class="subheader">HTML Guidelines</h3>
 
-<h4 id="external-links">URLs - external links</h4>
 
 <ul class="para">
-<li><em>Reminder:</em>&nbsp; before adding a link, check that it follows our <a
-href="#pollinking">linking criteria</a>.</li>
-
-<li>Check whether the linked host supports HTTPS and has a valid certificate
-(this is expressed by a locked/green lock on most web browsers). If it
-does, <em>and HTTP is also available</em>, preferably use protocol-relative
-URLs (e.g., <code>//www.example.org</code>).</li>
-</ul>
+<li>HTML on the GNU web server should be strictly compliant with
+<a href="//www.w3.org/standards/">W3C standards</a>.</li>
 
-<h4 id="mailto">URLs - email links</h4>
+<li>Please follow the above mentioned web standards strictly.  Don't
+neglect <a
+href="//www.w3.org/TR/html401/struct/global.html#h-7.1">required
+elements</a> such as <code>&lt;html&gt;</code>, <code>&lt;head&gt;</code>,
+<code>&lt;title&gt;</code>, <code>&lt;body&gt;</code>, etc. when using (X)HTML,
+and always include the appropriate DTD or Schema reference.
+This appeases overly pedantic web browsers.</li>
 
-<ul class="para">
-<li>Place angle brackets around <code>mailto:</code> anchors (which will
-bring up a mail form to fill out and send, if the visitor has installed a
-standard email client) to clearly distinguish them from hypertext anchors.
-See <a href="https://tools.ietf.org/html/rfc6068#section-6";>RFC 6068</a> for
-advanced examples of how to use mailto URIs to specify a subject, the
-body, etc.</li>
-
-<li>When citing people, place the <code>mailto:</code> anchor next to
-their name, so that the email address is retained in printed copies of
-the page; for example:
+<li>Do not add comments at the top of a document.  Web browsers
+expect the doctype, XML declaration, or Schema to be at the top.
+Comments will confuse them, and often cause them to
+incorrectly interpret your markup.</li>
 
-  <ul>
-     <li>If the person has a website:
-        <pre class="emph-box">
- <samp>&lt;a href="//www.stallman.org/"&gt;Richard Stallman&lt;/a&gt;
- &lt;a 
href="mailto:rms@gnu.org"&gt;&amp;lt;rms@gnu.org&amp;gt;&lt;/a&gt;</samp></pre>
-        <p>&hellip; rendered like</p>
-        <p class="emph-box" style="background-color: inherit">
-                <a href="//www.stallman.org/">Richard Stallman</a>
-                <a href="mailto:rms@gnu.org";>&lt;rms@gnu.org&gt;</a>
-        </p>
-     </li>
-     <li>
-        <p>If the person doesn't have a website:</p>
-        <pre class="emph-box">
- <samp>Richard Stallman
- &lt;a 
href="mailto:rms@gnu.org"&gt;&amp;lt;rms@gnu.org&amp;gt;&lt;/a&gt;</samp></pre>
-        <p>&hellip; rendered like</p>
-        <p class="emph-box" style="background-color: inherit">
-                Richard Stallman
-                <a href="mailto:rms@gnu.org";>&lt;rms@gnu.org&gt;</a>
-        </p>
-     </li>
-  </ul>
-</li>
-</ul>
+<li>The &lt;head&gt; element should contain this line:
+<p class="emph-box">
+<code>&lt;link rel="author" href="mailto:webmasters@gnu.org"&gt;</code></p>
+Some browsers use this information to allow users to easily report
+problems they find on a page.</li>
 
+<li>The first header tag, &lt;h[n]&gt;, should have its text
+duplicated at the start of the &lt;title&gt; tag.  The &lt;title&gt; tag
+is used by many browsers in menus like the history and bookmarks lists,
+as a link to that page.  Repeating the main heading in the &lt;title&gt;
+ensures that, when
+users click on an item in these menus, they get a page with the expected
+heading.  Please properly use your headers in numerical order: 1, 2,
+etc.  These are not used for looks, but for the organization of the
+document.</li>
 
-<h4 id="abbreviations">Acronyms and abbreviations</h4>
+<li>The &lt;title&gt; tag should include the phrases &ldquo;GNU Project&rdquo;
+and &ldquo;Free Software Foundation&rdquo; so the pages will be found
+when web search engines are used.  The default is to add this at the
+end: <code> - GNU Project - Free Software Foundation</code>.</li>
 
-<ul class="para">
+<li>Acronyms/abbreviations:
+  <ul>
       <li>Never use <code>&lt;acronym&gt;</code>: HTML&nbsp;5 obsoletes it in
       favor of <code>&lt;abbr&gt;</code>.</li>
 
@@ -495,18 +328,24 @@
       compelling reason.  Browsers render it in an ugly way.</li>
 
       <li>When an abbreviation may be unfamiliar to a reader, give its
-      expansion <i>only the first time</i> it is used in a document.<br />
-      Example: <code>&lt;abbr title="Expanded
+  expansion the first time it is used in a document, like this:
+  <code>&lt;abbr title="Expanded
       Abbreviation"&gt;EA&lt;/abbr&gt;</code> or <code>EA
       (Expanded Abbreviation)</code>.</li>
 
+  <li>Further occurrences, in any case, should be written without any
+  markup: just <code>EA</code>.</li>
+
       <li>For common-enough initialisms, such as GNU, FSF, BSD, RAM, HTML,
-      DVD, and so on, no markup is needed at all.
+  DVD, and so on and so on, no markup is needed at all.
       Use your judgment.</li>
+  </ul>
+</li>
 </ul>
 
 
-<h4 id="tables">Tables and menus</h4>
+<h3 id="tables" class="subheader">Tables and menus</h3>
+
 
 <ul class="para">
 <li>Please use tables to organize data, not the presentation of the
@@ -526,18 +365,39 @@
 a menu that is more than 30 lines long, then it's very probable
 that a user viewing the page will never bother to read the text
 because it will be too far down.  You should make an effort to keep
-such menus under 20 lines long, so that the beginning of the article is
+such menus under 20 lines long so that the beginning of the article is
 visible on the first page when viewing it with a text browser.  A
 menu bar of one or two horizontal lines might accomplish your
 purpose as well.  Providing a &ldquo;skip link&rdquo; to the main text
-is another option (see the table of contents above for an example).</li>
+is another option.</li>
+</ul>
+
+
+<h3 id="templating" class="subheader">Using our page template</h3>
+
+
+<ul class="para">
+<li>To help people follow the above guidelines, a page template (or
+&ldquo;boilerplate&rdquo;) is provided for both the main part of the GNU
+website, and the software projects.  Its use is mandatory for new pages in
+www.gnu.org, and highly recommended for software pages.  Please don't start
+out with an existing page to create a new one; use the <a
+href="//web.cvs.savannah.gnu.org/viewvc/*checkout*/www/server/standards/boilerplate.html?root=www&amp;content-type=text%2Fplain">
+original source</a> of the boilerplate instead, and follow the instructions
+in it.</li>
+
+<li>The XHTML templated pages must follow the <a
+href="//www.w3.org/TR/xhtml1/">XHTML-1.0 guidelines</a>.</li>
+
+<li>Our server-side includes declare UTF-8 as the character encoding, so
+using any other encoding is problematic.</li>
 </ul>
 
 
 <h3 id="styling" class="subheader">Styling</h3>
 
 
-<h4 id="styling-templated">Styling of templated pages</h4>
+<h4>Styling of templated pages</h4>
 
 <ul class="para">
 <li>Generic styling for desktops and smartphones is provided by 
@@ -552,9 +412,8 @@
 bars and footer (except copyright and license) are unprintable.</li>
 
 <li>In addition to <code>/layout.css</code>, some pages have specialized
-stylesheets: <code>/graphics/graphics.css</code> for the GNU
-Art section, and <code>/side-menu.css</code> for the Malware and
-Education sections.</li>
+stylesheets: <code>/graphics/graphics.css</code> for the GNU Art section,
+and <code>/side-menu.css</code> for the Malware and Education sections.</li>
 
 <li>If some special styling is needed for a specific page, it should be added
 to the page itself in a &lt;style&gt; element, between the SSI directives
@@ -562,7 +421,7 @@
 style applies to a single element, it should normally be added as an 
attribute.</li>
 
 <li>If you specify any color attribute in the HTML, you should specify all of
-them that are allowed for that element.  This is because some browsers
+them that are allowed for that tag.  This is because some browsers
 allow users to specify defaults for the color attributes, and the
 user's choices could conflict with your choices, as your choices
 override the user's choices.  In the worse case, the foreground and
@@ -572,7 +431,7 @@
 </ul>
 
 
-<h4 id="other-stylesheets">Other stylesheets</h4>
+<h4>Other stylesheets</h4>
 
 <ul class="para">
 <li>Historical pages (unmaintained translations for the most part) refer
@@ -583,28 +442,23 @@
 <li>There are dedicated stylesheets for software manuals.  The main ones are:
   <ul>
   <li><code>/style.css</code>;</li>
-  <li><a href="/software/gnulib/manual.css"><code>gnulib.css</code></a>,
-  which imports <code>style.css</code> and adds a few more definitions;
+  <li><a href="/software/gnulib/manual.css">gnulib.css</a>,
+  which imports <code>/style.css</code> and adds a few more definitions;
   it is used by <code>gendocs.sh</code> to <a
   href="/prep/maintain/html_node/Invoking-gendocs_002esh.html">
   regenerate Texinfo manuals</a>.</li>
   </ul>
 </li>
 
-<li>Translators maintain stylesheets (<code>/style.<var>lang</var>.css</code>)
-that modify <code>/layout.css</code> according to
-their own needs.  The RTL languages (Arabic, Persian, and Hebrew) use
-<code>/style.rtl.css</code>. Please don't
-forget to update <code>/style.rtl.css</code> if you make LTR-specific
-changes to <code>layout.css</code>.</li>
+<li>Translators maintain stylesheets (<code>/style.<var>lang</var>.css</code>) 
that
+modify layout.css according to their own needs.  The RTL languages (Arabic,
+Persian, and Hebrew) use <code>/style.rtl.css</code>.</li>
 </ul>
 
 
 <h3 id="UseofGraphics" class="subheader">Use of Graphics</h3>
 
 
-<h4 id="caveats">Caveats</h4>
-
 <ul class="para">
 <li>The use of graphics should be minimized, so pages load fast
 over slow links, especially animations.</li>
@@ -620,115 +474,90 @@
 prefer you use free software applications when authoring for our
 websites).  In general, PNG or JPEG format are still safe, and are
 probably better from a technical standpoint.  For details regarding the
-old GIF problem, see &ldquo;<a
-href="/philosophy/gif.html">Why There Are No GIF Files on GNU Web 
Pages</a>&rdquo;.
+old GIF problem, see <a
+href="/philosophy/gif.html">https://www.gnu.org/philosophy/gif.html</a>.
 Other formats are also allowed, though JPEG is the one most widely
 recognized by web browsers (avoid JPEG 2000, and be careful with PNG
 alpha channels; the former is not widely supported, and the latter are
 not fully supported by some older browsers).</li>
-</ul>
-
-
-<h4 id="image-basics">Basic recommendations</h4>
-
-<ul class="para">
 
-<li><p>Always have a textual alternative for in-line images, to ensure
-indexability by search engines and accessibility.  For instance:</p>
+<li>Before you take an image from another website, please ask for
+permission to use it.</li>
 
-<pre class="emph-box">
- <code>&lt;img src="/graphics/*.jpg"
-      alt="&amp;nbsp;[DESCRIPTIVE TEXT]&amp;nbsp;" /&gt;</code></pre>
-
-<p>We add the non-breaking spaces (&amp;nbsp;) and square brackets to
+<li>Always have a textual alternative for in-line images, to ensure
+indexability by search engines and accessibility.  For instance:
+<p class="emph-box"><code>&lt;img src="/graphics/*.jpg"
+alt="&amp;nbsp;[DESCRIPTIVE TEXT]&amp;nbsp;"&gt;</code></p>
+We add the non-breaking spaces (&amp;nbsp;) and square brackets to
 separate the DESCRIPTIVE TEXT from adjacent text, and help the user
 realize that this is a stand-in for an image.  The point of using
 non-breaking spaces rather than normal ones is to make sure they find
 their way to the translatable strings that are extracted by the
-PO4A/Gettext tools.</p></li>
+PO4A/Gettext tools.</li>
 
-<li id="image-size"><p>Check that the image doesn't look too big or too small
+<li id="image-size">Make sure the image doesn't look too big or too small
 when displayed at its original size, using the browser's default font
-size.</p></li>
+size.</li>
 
 <li><p>Adjust image width or height in a style attribute, using scalable
 units such as <code>em</code> or <code>%</code>; for instance:</p>
 
-<pre class="emph-box">
- <code>&lt;img src="/graphics/*.jpg"
-      alt="&amp;nbsp;[DESCRIPTIVE TEXT]&amp;nbsp;"
-      style="width: 10em; height: auto;" /&gt;</code></pre>
+<p class="emph-box"><code>&lt;img src="/graphics/*.jpg"
+alt="&amp;nbsp;[DESCRIPTIVE TEXT]&amp;nbsp;"
+style="width: 10em; height: auto;" /&gt;</code></p>
 
 <p>This way, the page will look the same if the reader increases or
 decreases font size.</p></li>
 
-<li><p>Link all images that are displayed throughout the website to the
-relevant page, usually in <code>/graphics/</code>.
-This will allow users to quickly go to pages related to the pictures they
-are interested in. See the next section for an example.</p></li>
-</ul>
-
-
-<h4 id="image-css">CSS classes for images</h4>
-
-<ul class="para">
-<li><p>If you are adding a small floating image to a page that uses
+<li>If you are adding a small floating image to a page that uses
 <code>layout.css</code> (the stylesheet for <a
-href="#templating">templated pages</a>),
+href="/server/standards/README.webmastering.html#templating">templated 
pages</a>),
 you may want to use the <code>imgright</code> or <code>imgleft</code> class
 (defined in the IMAGES section of the stylesheet).  This will ensure that
 the floating direction is reversed if the page is translated into an RTL
-language.</p></li>
+language.</li>
 
-<li><p>If the image you are adding is 12em wide or more, and the page is
+<li>If the image you are adding is 12em wide or more, and the page is
 templated, you may find it convenient to use one of the responsive
 <code>pict</code> classes that are defined in the IMAGES section of
 <code>layout.css</code> (you can adjust the width in a style
-attribute if none of the predefined ones fits your needs); for instance:</p>
+attribute if none of the predefined ones fits your needs); for instance:
 
-<pre class="emph-box">
- <code>&lt;div class="pict wide" style="width: 25em"&gt;
-  &lt;img src="/graphics/*.jpg"
-       alt="&amp;nbsp;[DESCRIPTIVE TEXT]&amp;nbsp;" /&gt;
- &lt;/div&gt;</code></pre>
+<p class="emph-box"><code>&lt;div class="pict wide"
+style="width: 25em"&gt;&lt;img src="/graphics/*.jpg"
+alt="&amp;nbsp;[DESCRIPTIVE TEXT]&amp;nbsp;"
+/&gt;&lt;/div&gt;</code></p>
 
-<p>Note that the <code>div</code> container is necessary because some browsers
-(e.g., NetSurf) don't know how to apply <code>max-width</code> to 
images.</p></li>
+Note that the <code>div</code> container is necessary because some browsers 
(e.g.,
+NetSurf) don't know how to apply <code>max-width</code> to images.</li>
 
 <li><p>Link all images that are displayed throughout the website to the
 relevant page, usually in <code>/graphics/</code>.  This can be done with
-code similar to this, which corresponds to the image:</p>
+code similar to this, which corresponds to the image on the left:</p>
 
 <p class="imgleft">
- <a href="/graphics/agnuhead.html">
- <img src="/graphics/gnu-head-sm.jpg"
+<a href="/graphics/agnuhead.html"><img
+   src="/graphics/gnu-head-sm.jpg"
       alt="&nbsp;[Image of the Head of a GNU]&nbsp;"
       style="width: 8em" /></a>
 </p>
 
 <pre class="emph-box">
- &lt;p class="imgleft"&gt;
-  &lt;a href="/graphics/agnuhead.html"&gt;
-  &lt;img src="/graphics/gnu-head-sm.jpg"
-       alt="&amp;nbsp;[Image of the Head of a GNU]&amp;nbsp;"
+&lt;p class="imgleft"&gt;
+&lt;a href="/graphics/agnuhead.html"&gt;
+&lt;img src="/graphics/gnu-head-sm.jpg"
+     alt="&nbsp;[Image of the Head of a GNU]&nbsp;"
        style="width: 8em" /&gt;&lt;/a&gt;
- &lt;/p&gt;
+&lt;/p&gt;
 </pre>
 <div style="clear: both"></div>
 
-<p>This will allow users to quickly go to pages related to the pictures they
-are interested in.</p>
-
-<p><em>Note:</em>&nbsp; This example also demonstrates that it's a bad
-idea to place a non-responsive image next to a fixed-width element such
-as &lt;pre&gt;. Just try to read the HTML code in a narrow window.</p></li>
-
-<li><p><a href="/graphics/graphics.css"><code>graphics.css</code></a> has
-some other layouts.</p></li>
+This will allow users to quickly go to pages related to the pictures they
+are interested in.</li>
 </ul>
 
 
-<h3 id="pollinking" class="subheader">Linking Criteria</h3>
+<h3 id="pollinking" class="subheader">Appendix 1 - Linking Policies</h3>
 
 
 <p>One of the most complex aspects of maintaining web pages is following the
@@ -803,20 +632,18 @@
 the reader.  Some examples of proprietary software which are common
 enough to be considered &ldquo;well-known&rdquo; are major operating systems
 (Windows, Mac OS, Sun OS, HP-UX) and primary common applications
-such as Office, Internet Explorer, Photoshop, Acrobat Reader, and Flash.</p>
+such as Office, Internet Explorer, Photoshop, Acrobat Reader, and
+Flash.</p>
 
 <p>GNU software project pages feel the full force of this policy.
 Proprietary software should only be mentioned when the GNU software
 provides support for it, or to compare it against the features of
 well-known proprietary software.  For example, the following
-text &mdash;&nbsp;and not much else&nbsp;&mdash; would be acceptable:</p>
+text&mdash;and not much else&mdash;would be acceptable:</p>
 
-<blockquote>
-    <p>w3m is a text-only web browser which can be used from GNU Emacs
-    via emacs-w3m, replacing proprietary web browsers like <em>Internet
-    Explorer</em>.  It can run on all platforms GNU Emacs runs on, including
-    GNU/Linux, proprietary <em>Unix</em> systems, and <em>Windows</em>.</p>
-</blockquote>
+<blockquote><p>w3 is a web browser for GNU Emacs, similar to Internet Explorer.
+It can run on all platforms GNU Emacs runs on, including GNU/Linux,
+proprietary Unix systems, and Windows.</p></blockquote>
 
 <p>Links which appear in other areas, such as the testimonials or
 philosophy pages, as well as links to user groups may discuss such
@@ -834,14 +661,14 @@
 project pages should have little mention of open source.  The GNOME
 page used to provide a good example of a tactful way to do it:</p>
 
-<blockquote><p>GNOME is part of the GNU Project, and is free software
-(sometimes referred to as open source software).</p></blockquote>
+<blockquote><p>GNOME is part of the GNU Project, and is free software 
(sometimes
+referred to as open source software).</p></blockquote>
 
 <p>Any exceptions to this rule should be apparent from the context.
 For instance, user groups pages may talk in greater detail about
-open source; we state on the user groups page, <q>As with our links
+open source; we state on the user groups page, &ldquo;As with our links
 page, the FSF is not responsible for the contents of other websites,
-or how up-to-date their information is.</q></p>
+or how up-to-date their information is.&rdquo;</p>
 </dd>
 
 <dt>How does the page treat the GNU Project?</dt>
@@ -849,7 +676,7 @@
 <dd>
 <p>Pages which we link to should treat the GNU Project well.  The
 primary thing to look out for in this regard is whether the page
-calls the system GNU/Linux or just &ldquo;Linux&rdquo;.  GNU software project
+calls the system GNU/Linux or just &ldquo;Linux.&rdquo;  GNU software project
 and user group pages should almost never, if ever, fail to do this.
 Again, exceptions for other pages should be apparent from context.</p>
 
@@ -870,14 +697,11 @@
 primarily about free software, the policies do not hold full force for
 them.</p>
 
-<p>As a final explanation:</p>
-
-<blockquote><p>
+<p>As a final explanation (coming from RMS):
 Even for making links from www.gnu.org, we do not <em>require</em> that
 people call the system GNU/Linux or use the term &ldquo;free software&rdquo;
-rather than &ldquo;open source&rdquo;.  We do, however, require that they not
-promote any nonfree software. &mdash; <i>RMS</i>
-</p></blockquote>
+rather than &ldquo;open source.&rdquo;  We do, however, require that they not
+promote any nonfree software.</p>
 
 <p>If all this seems complicated, that's because, unfortunately, it is.  Don't
 worry; a knack for it comes with time and experience.  You may mis-evaluate
@@ -890,24 +714,24 @@
 </dl>
 
 
-<h3 id="repo" class="subheader">Technical Tips</h3>
+<h3 id="repo" class="subheader">Appendix 2 - Working with Web CVS 
Repositories</h3>
 
 
 <h4 id="cvs">Basic CVS commands</h4>
 
 <ul class="para">
-<li><p>For the offline reference manual, execute 
<kbd>info&nbsp;cvs</kbd>.</p></li>
+<li>For reference manual, execute <kbd>info cvs</kbd>.</li>
 
 <li>
-<p>Before the initial checkout, set the environment variable
-<kbd>CVS_RSH=ssh</kbd>.</p></li>
+Before the initial checkout, set the environment variable
+<code>CVS_RSH=ssh</code>.</li>
 
 <li>
-<p>If you have write access to the main repository of www.gnu.org, check
-it out with your Savannah login username:</p>
+<p>If you have write access to www, check out the main www repository
+with your Savannah login:</p>
 
 <pre class="emph-box">
- <kbd>cvs -z3 -d:ext:<var>username</var>@cvs.savannah.gnu.org:/web/www co 
www</kbd>
+<kbd>cvs -z3 -d:ext:<var>username</var>@cvs.savannah.gnu.org:/web/www co 
www</kbd>
 </pre>
 
 <p>You will get a working directory, <code>www</code>, with the same
@@ -915,27 +739,26 @@
 </li>
 
 <li>
-<p>If you don't have write access to the main repository, you can still
-check it out anonymously:</p>
+<p>If you don't have write access to www, you can still make an
+anonymous checkout of www:</p>
 
 <pre class="emph-box">
- <kbd>cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/web/www co www</kbd>
+<kbd>cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/web/www co www</kbd>
 </pre>
 </li>
 
 <li>
-<p>Check out the <strong>web</strong> repository of the 
<var>fooproject</var>:</p>
+<p>Check out the web repository of the <var>fooproject</var>:</p>
 
 <pre class="emph-box">
- <kbd>cvs -z3 
-d:ext:<var>username</var>@cvs.savannah.gnu.org:/web/<var>fooproject</var> \
+<kbd>cvs -z3 
-d:ext:<var>username</var>@cvs.savannah.gnu.org:/web/<var>fooproject</var> \
           co <var>fooproject</var></kbd>
 </pre>
 
 <p>You will get a working directory, <code><var>fooproject</var></code>, with 
the same
-structure as the <code>www/software/<var>fooproject</var></code> subdirectory.
-Note, however, that the <var>fooproject</var> and main repositories
-are independent, so the working directories can be anywhere in your
-filesystem.</p>
+structure as the <code>www/software/<var>fooproject</var></code> subdirectory. 
 Note,
+however, that the <var>fooproject</var> and www repositories are independent.  
The
+working directories can be anywhere in your filesystem.</p>
 
 <p><em>Webmasters, please read <a
 href="/server/standards/README.webmastering.html#gnupackages">Web pages for
@@ -947,7 +770,7 @@
 <p>Add a file or directory:</p>
 
 <pre class="emph-box">
- <kbd>cvs add <var>foo</var></kbd>
+<kbd>cvs add <var>foo</var></kbd>
 </pre>
 </li>
 
@@ -955,7 +778,7 @@
 <p>Update before you edit a file:</p>
 
 <pre class="emph-box">
- <kbd>cvs update -P <var>foo</var></kbd>
+<kbd>cvs update -P <var>foo</var></kbd>
 </pre>
 </li>
 
@@ -963,16 +786,16 @@
 <p>Check the changes you are going to commit:</p>
 
 <pre class="emph-box">
- <kbd>cvs diff -U2 <var>foo</var></kbd>
+<kbd>cvs diff -U2 <var>foo</var></kbd>
 </pre>
 </li>
 
 <li>
-<p>Perform the commit (no need for <kbd>cvs&nbsp;add</kbd> if the file is
+<p>Perform the commit (no need for <code>cvs add</code> if the file is
 already in the repository):</p>
 
 <pre class="emph-box">
- <kbd>cvs commit <var>foo</var></kbd>
+<kbd>cvs commit <var>foo</var></kbd>
 </pre>
 
 <p>This will open a text editor where you should enter a log message.  The
@@ -1017,8 +840,7 @@
 symbolic link is found in the directory and is not listed in the
 .symlinks file, it is removed.</p>
 
-<p>The <code>.symlinks</code> files obey the <code>ln -s</code> format,
-as described below:</p>
+<p>The .symlinks files obey the <code>ln -s</code> format, as described 
below:</p>
 
 <ul>
 <li>Lines starting with a sharp sign (&ldquo;#&rdquo;) are ignored.</li>
@@ -1027,12 +849,12 @@
 ignored.</li>
 </ul>
 
-<p>Here is an example of <code>.symlinks</code>:</p>
+<p>Here is an example of a .symlinks file:</p>
 
 <pre class="emph-box">
- # Make a link named l.html to a target t.html.
- # Strictly equivalent to ln -s t.html l.html:
- t.html l.html
+# Make a link named l.html to a target t.html.
+# Strictly equivalent to ln -s t.html l.html:
+t.html l.html
 </pre>
 
 <p>On each line the first file name must be a relative path name to an
@@ -1043,54 +865,47 @@
 <code>/<var>dir</var>/.symlinks</code> should contain a line like this:</p>
 
 <pre class="emph-box">
- <var>dir</var>.html index.html
+<var>dir</var>.html index.html
 </pre>
 
 <p>The <code>ln -s</code> analogy accounts for only part of the story.
-Nowadays, the symlinks are converted to rewrite directives which are
-part of the server configuration&nbsp;[<a href="#cron">*</a>].
-This allows for a lot of flexibility: directories can be redirected as
-well as single files, and the target can be on another website. The
-server treats external redirections as &ldquo;permanent,&rdquo; meaning
-that it replaces the requested URL with the target. Thus, what is shown
-in the URL bar of the browser is the actual location of the document.</p>
-
-<p>A peculiarity of this method is that a single HTML entry in
-<code>.symlinks</code> defines links to all possible translations that
-follow our <a href="#NamingTranslations">naming
+The current method actually takes advantage of the flexibility of URL
+rewriting.  Thus a single HTML entry in the .symlinks file defines links
+to all possible translations that follow our <a
+href="#NamingTranslations">naming
 conventions</a>.  This makes it impossible to use
 symlinks to redirect to and from HTML files whose names look like
 translations, that is, <code><var>page</var>.<var>ll</var>.html</code> or
 <code><var>page</var>.<var>ll</var>-<var>cc</var>.html</code>, where
-<var>ll</var> and <var>cc</var> are two-letter codes, as seen in
-the <a href="#filenames">Filenames</a> section.
-When you need such redirections, use the htaccess mechanism.</p>
-
-<p>In the other cases (that is, nearly all cases), the symlinks method
-is preferred, as it takes precedence over htaccess. If you are not
-familiar with it, please ask for help on &lt;webmasters@gnu.org&gt;.</p>
+<var>ll</var> and <var>cc</var> are two-letter
+codes.  When you need such redirections, use the <a
+href="#htaccess">htaccess mechanism</a>.</p>
 
-<p>[<a id="cron" href="#cron">*</a>] The handling of symlinks happens on
-www.gnu.org via a cron job that runs twice an hour.  Webmasters do not have
+<p>These days, the .symlinks handling happens on www.gnu.org
+via a cron job that runs twice an hour.  Webmasters do not have
 access to it.</p>
 
 
 <h4 id="htaccess">.htaccess and redirections</h4>
 
-<p>You may want an actual redirection in some cases.  You can do this
-either in the top-level control file <code>.htaccess</code>, or by using
-something like this as the file to be redirected:</p>
+<p>To browsers, the symbolic links in the previous section are
+indistinguishable from the actual file.  You may want an actual
+redirection in some cases.  You can do this either in the top-level
+control file <code>.htaccess</code>, or by using something like this as the
+file to be redirected:</p>
+
+<p class="emph-box"><code>
+&lt;meta http-equiv="refresh" content="0;
+  url=https://www.gnu.org/<var>target</var>"&gt;
+</code></p>
 
-<pre class="emph-box">
- <code>&lt;meta http-equiv="refresh" content="0; 
url=https://www.gnu.org/<var>target</var>"&gt;
-</code></pre>
 
-<h4 id="scripts">Scripts</h4>
+<h4 id="scripts">Server-side scripts</h4>
 
 <p>A <a href="/server/source/source.html">description of scripts and
 software</a> used on www.gnu.org is available.  Please read it before
 writing any scripts, and also update it as needed if you have write
-access to <code>www</code>.</p>
+access to www.</p>
 
 
 <h4 id="sysadmins">System administrators</h4>
@@ -1103,11 +918,9 @@
 <h3 id="UsefulResources" class="subheader">Useful Resources</h3>
 
 
-<h4 id="external-resources">External resources</h4>
-
-<p>This section contains references managed by third parties.</p>
-
-<ul>
+<ul class="para">
+<li>Outside gnu.org:
+  <ul>
   <li>We follow the guidelines of the <a
   href="//www.anybrowser.org/campaign/">Best Viewed with Any
   Browser</a> campaign.</li>
@@ -1122,13 +935,11 @@
 
   <li>Use of <a href="//w3.org/TR/WCAG21/">WCAG 2.1</a> helps
   ensure accessibility for a wide range of people with disabilities.</li>
-</ul>
-
-<h4 id="internal-resources">Internal resources</h4>
-
-<p>This section contains references managed by us.</p>
+  </ul>
+</li>
 
-<ul>
+<li>On gnu.org:
+  <ul>
     <li><a href="#content">The GNU Website Guidelines</a> (this page);</li>
 
     <li>Guidelines for
@@ -1159,10 +970,12 @@
     README</a> for the <code>/prep/gnumaint/</code> directory (those files
     are primarily used by <a href="/prep/maintain/">GNU maintainer
     administrators</a>, and occasionally by GNU webmasters, to update
-    the <code>/*/allgnupkgs.html</code> files in <code>www</code>);</li>
+    the <code>/*/allgnupkgs.html</code> files in www);</li>
 
     <li><a href="/server/tasks.html">How to help</a> with our
     <a href="/server/server.html">web server</a>.</li>
+  </ul>
+</li>
 </ul>
 
 </div><!-- for id="content", starts in the include above -->
@@ -1223,7 +1036,7 @@
 
 <p class="unprintable">Updated:
 <!-- timestamp start -->
-$Date: 2021/04/27 12:18:33 $
+$Date: 2021/04/30 01:42:43 $
 <!-- timestamp end --></p>
 </div>
 </div><!-- for class="inner", starts in the banner include -->



reply via email to

[Prev in Thread] Current Thread [Next in Thread]