KnowHow/FSFELife/EditorialGuidelines

Working with the website source

Getting access to the web pages

The source files for the web pages are stored on the fsfe-website Git repository, hosted on the FSFE's Git service. Other services are also available on the related Git instance.

To have access to these tools, just follow these instructions:

To have write access to the Git repository just write to system-hackers@lists.fsfe.org

Working with Git

You should be familiar with Git, and you should have an account on git.fsfe.org. For documentation on how to use Git, you can check out TechDocs/Git. The workflow for working with fsfe-website is documented in TechDocs/Git/Workflow. Read it carefully. If you do not understand any of the steps, please ask a technically inclined person or the Web Team and ask them to improve the Wiki page afterwards, so that others will not run into the same problem again.

Enabling XML syntax check

In order to make sure that the XHTML and XML files you edit have a correct syntax and do not contain errors that may break the website, please install the pre-commit hooks we provide. This is a single command you have to execute from the root directory (i.e. first level) of the fsfe-website repository (or the fork you cloned):

ln -sr tools/githooks/* .git/hooks/

If you see an error that the hook files (pre-commit and pre-receive at the time of writing) already exist, please check whether they are the same as the ones in tools/githooks/. If not, please take care of merging them together.

Please note that you have to have the xmllint command available which is provided by installing the packages libxml2-utils (e.g. Debian) or libxml2 (e.g. Arch Linux, Fedora) on your computer.

If some file has a wrong syntax, it throws an error and you can fix the problem. This way you don't have to be afraid to break anything with your contributions.

Coordination tools

The work on the website pages is coordinated on the Webmasters mailing list.

In the fsfe-website repository's web interface you can find an issue tracker and the commit log.

The web team's wiki page may contain some further information about the webmasters' workflow.

If you want to keep track with all commits that are done to the web page sources, you can also subscribe to the commit notification mailing list and you will get a mail for every change posted to the source tree.

Responsible handling of write access

If you have write access to the web pages, please subscribe to the Webmasters mailing list.

Please bear in mind that all your changes will become effective and visible automatically, without any further action of anybody. Consequently, there are a few things we would request you to do whenever you commit changes or new files:

Please coordinate with other people who also have Git write access to make sure that translations and fixes contributed by people without commit access are committed properly after they have been proofread. Of course, please check these files before you push them like you check your own files.

Advanced information

Read-only access

If you don't have an account on git.fsfe.org and just want to have a copy of the websites' sources on your computer, or if you cannot use the SSH link for any reason, you can also clone via the HTTPS clone link:

git clone https://git.fsfe.org/FSFE/fsfe-website.git

But if you want to edit the website source we encourage you to use the SSH clone link starting with git@git.fsfe.org. Otherwise you will have to type in your Fellowship account credentials every time you push a change.

The test branch

The Git repository has two main code bases for the FSFE website, the master, which is used to build the production instance of the website at fsfe.org, and the test branch, which is used to build test.fsfe.org.

To work on major changes to the website, including debugging new features that could potentially break the site, you are encouraged to check out the test branch of the Git repository:

git checkout test

Licensing

Licensing your source code

Whenever you introduce either server side program code (i.e. PHP, Perl) or JavaScript code to the website, please make sure you comply with our licensing policies. Specifically this means:

Use custom licensed media

If you use images or other media which which has been licensed using a Creative Commons license or another license, you can make sure that the proper licensing information is displayed by adding these at the end of the document before </html>. Here are three examples:

<legal type="cc-license">
  <license>https://creativecommons.org/licenses/by-sa/3.0/</license>
  <notice>This work is published under the Creative Commons BY-SA 3.0 Unported license by John Doe</notice>
</legal>

<legal>
  <license>http://www.gnu.org/licenses/fdl-1.3.txt</license>
  <notice>This page is published under the GNU Free Documentation License 1.3 or later</notice>
</legal>

<legal>
  <notice>This work is published under the CC-BY-SA 3.0 Unported license or the <a href="http://artlibre.org/">Licence Art Libre 1.3</a> at your option, etc.</notice>
</legal>