# 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:

The GNOME Documentation Project

About the GDP

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 Adding Style Guide page and Usability chapter to the resources page and news items. * projects/gdp/main.in: * projects/gdp/news.html: * projects/gdp/resources.html: Please use a consistent header style (YYYY-MM-DD [name] <[email]>). An easy way fill out these ChangeLogs is to go to web-devel-2/content, and run "prepare-ChangeLog.pl", which will run cvs diff to find which files you've changed, and fill out a template for you. It's also a good way to double check that you haven't accidentally changed some files which you didn't mean to touch before committing. You can get a copy of prepare-ChangeLog.pl from: http://developer.gnome.org/tools/scripts/prepare-ChangeLog.pl.txt (remove the .txt, chmod a+x prepare-ChangeLog.pl) /-----------------\ ---((( Server Side Stuff )))--- \-----------------/ FIXME: Someone else needs to add this section, as I (Kenny) do not have an account on gnome.org, let alone do I know how the server side works...certainly this would be useful to document, though. /--------------------------------\ ---((( Frequently Asked Questions (FAQ) )))--- \--------------------------------/ Q: I've added pages to web-devel-2, and the rendered pages have "Last modified @last_modified@" at the bottom of them! What did I do wrong? A: You forgot to add the comment: to the top of your page. Q: My new section in web-devel-2 has not appeared on developer.gnome.org. What gives? A: It may take a little while - typically developer.gnome.org updates within minutes, though sometimes it has known to be a few hours. Double check to see if your section of the site builds - web-devel-2 CONTINUES ON ERRORS, so you will need to look carefully. If it does build, try waiting a while; if it doesn't show up within a few hours, email webmaster@gnome.org. Q: Some of the items in the navigation tree aren't appearing. Why? A: Double check to see if you added a '/' at the end of one of your path names in all the tree.in files you've changed. If so, remove it - otherwise you have possibly encountered a more serious problem. Happy Hacking, -- Kenny Graunke