# web-devel-2 **Repository Path**: mirrors_chromium_gitlab_gnome/web-devel-2 ## Basic Information - **Project Name**: web-devel-2 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-08-09 - **Last Updated**: 2025-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README This is the current source tree for the GNOME Developer's Website (developer.gnome.org). /------------------------\ ---((( How to Build web-devel-2 )))--- \------------------------/ Building your own local copy of developer.gnome.org is an easy two step process. Step #1: ./webconfig When you first check out the source, you need to run './webconfig' from the web-devel-2 directory to generate the build scripts and assorted other pieces from .in files, setting the proper paths. You have to rerun ./webconfig if you move your web-devel-2 checkout. Step #2: cd content; make Go into the content/ subdirectory and type 'make'. This will generate the static HTML pages to be served on the web, and put them in web-devel-2/html, along with other required items such as images or tarballs. Step #3: Put the HTML pages on a webserver. Now, you need to move the generated site to a webserver. While you can view the HTML files in place, developer.gnome.org includes references to /images and /developer.css, so it won't display correctly unless it is on the root of a webserver. You can always set up virtual hosts in a local copy of apache if you need a webserver with a free root, however doing so is out of the scope of this document. If all went well, you should now have a local copy of developer.gnome.org. /--------------------------------------------\ ---((( How developer.gnome.org and web-devel-2 Work )))--- \--------------------------------------------/ developer.gnome.org serves static HTML pages - there is currently no dynamic content on the site. However, putting global formatting in each page simply does not make sense, and would be impossible to maintain. So web-devel-2 uses a small perl script (scripts/makenode.pl[.in]) to put together content pages from web-devel-2/content together with a global "template" (web-devel-2/templates/boiler.tmpl) into the final static pages which you see on the site. There are basically three critical parts in each section of web-devel-2/content: 1. Makefile 2. main.in, *.html 3. tree.in The first is self explanatory - it sets up the rules for building this section of the site. The second, main.in and *.html, are basically XHTML 1.0 Transitional pages with the headers cropped out, and a critical comment added. These are merged with the template by makenode.pl to create the static HTML pages; main.in translates to index.html. A sample main.in:
Our mission is to provide the GNOME community with high quality documentation, including online help, tutorials, application manuals, printed books, programming references, and user interface guidelines.
[...and so on...] WARNING: /\ /!!\ Please remember to add the last_modified comment at the beginning. ---- Otherwise, your pages will display "Last Modified @last_modified@" on developer.gnome.org, which looks bad. The third, tree.in, is also key. It holds the information needed for makenode.pl to generate this section of the website's part in the navigation tree on the left of every page. It also sets the title of the section; web-devel-2 does not currently allow per-page titles. (If anyone wants to fix this, they are more than welcome.) Basically, the syntax is: Title;Title Of Section [SectionName];[RelativePath] [...repeat for each section, each on it's own line.] You can substitute "BASE" (sans quotes) for /. A sample tree.in: Title;The GNOME Development Site Home;BASE News;news dotPlan;dotplan Feature;feature Architecture;arch Documentation;doc Tools;tools Getting Involved;helping External Resources;links Projects;projects What's New;new.html Site Map;sitemap.html WARNING: /\ /!!\ Do not put / on the end of your relative path; it is automatically ---- appended. Things will randomly seem to break if you do so, most likely shown by certain sections in your part of the tree not appearing. /--------------\ ---((( Adding Content )))--- \--------------/ Any pages related to GNOME development, planning, or major GNOME projects have a place on developer.gnome.org. Look around, chances are there is already a section that you can add your content to or replace if it is out of date (sadly, this is often the case.) If you have a major GNOME Project, you can add a section for it in web-devel-2/content/projects. This is not a section for specific applications, but rather specific projects to improve GNOME in other aspects - such as the usability or accessibility of GNOME, the documentation, sounds, quality assurance, packages, and so on. /------------------------------\ ---((( Policy for Hacking web-devel-2 )))--- \------------------------------/ When you are first adding content to web-devel-2, please make sure to test your changes locally to make sure that your section still builds properly and renders correctly. Please also test the generated HTML of your pages to make sure that they pass as Valid W3C XHTML 1.0 Transitional, you can do so at: http://validator.w3.org Once you are comfortable with web-devel-2, and are only making trivial changes, you don't have to check them before committing; but please look at them on developer.gnome.org to be sure you didn't accidentally miss something stupid - it generally should be updated a few minutes after you commit your changes. Make sure to add a ChangeLog entry as well; the proper ChangeLog to use is web-devel-2/content/ChangeLog for all content related changes, and web-devel-2/ChangeLog for backend or template changes. A sample ChangeLog entry: 2001-06-25 Dan Mueth