Subject: Re: simplifying htdocs build procedure (long term)
To: None <netbsd-docs@netbsd.org>
From: Rui Paulo <rpaulo@fnop.net>
List: netbsd-docs
Date: 01/31/2006 21:56:56
Hiroki Sato <hrs@NetBSD.org> writes:
> Jan Schaumann <jschauma@netmeister.org> wrote
> in <20060130133517.GA21484@netmeister.org>:
>
> js> I agree that this is a good idea, but I'd suggest that we first make a
> js> decision which steps to take, then branch. If you already have precise
> js> ideas, I'd say post them here and then go ahead and create a branch.
>
> Okay, then let us sort out our rough plan first.
>
> I think points of contention so far are the following:
>
> * building infrastructure/writer issue
>
> - keep consistent layout with less effort
> - be able to propagate global changes without editing multiple files
> - be able to typeset with fewer tools as possible
> - should be easy enough to edit the contents
> - documentation for writing webpages
>
> * web design:
>
> - links for easy navigation
>
> * others
>
> - minimal impact to mirrors
All agreed.
> Anyway, the primary one is we feel we do not enjoy the benefit
> from the XML conversion relative to the complex structure very
> much since it raises the hurdle of document writing. However,
> this complexity is caused by simple conversion from .html to
> .xml, not by XML itself. Benefits from XML is that it is
> possible to put a structure to the documents. For example,
> we have a lot of scattered files in Documentation/Hardware now,
> but these are very difficult to manage. Even if we finish
> to convert each of them to .xml individually, we get nothing from
> it.
True.
> Also, for webpages we should handle reusable information
> in another way. Specifically, for example, news items can
> be used from multiple pages but stored in a single file,
> and it is better that when we edit that file the related
> pages are also updated automatically.
>
> So, to simplify the structure and take advantage of XML,
> I would like to add the following changes to the whole htdocs/
> directory:
>
> - Convert Document/* documents to "book" form, which is used
> in NetBSD Guide. The scattered small files are difficult
> to manage as mentioned earlier. Manually handling navigation
> link, table of contents, index, and so on is a nightmare.
I think we can move some documents to the newly created NetBSD
Internals Guide. Three that come to my mind are elf.xml, non-exec.xml
and lazyfpu.xml.
> - Move reusable information to XML database as possible. For
> example, unifying management of the project news items in
> htdocs/share/db/news.xml, and in other pages, pull the items
> from it. Format of news.xml can be more straightforward for
> average users who are not familiar with XML.
Yes, this seems a nice idea.
> - Separate layout/contents (especially in Ports) for more
> consistent layout. This can be realized by putting a file
> for layout definition and files for contents for each
> architecture. This helps simplifying editing the port pages.
>
> - Add validation capability using DTD.
This should be a priority. As the NetBSD project really appreciates
standards (heh) we should be able to produce W3C compliant html
files.
> - Add capability to generate printable formats such as PostScript
> and PDF from webpages, too.
Ok, but lower priority.
> - Eliminate extra packages from meta-pkgs/netbsd-{doc,doc-print,www}
> and restructure them into ones for TXT, HTML, and PDF.
>
> Immediate achievements we can get from these changes are
> reduction of the number of the source files and where
> we have to edit when we want to change a content becomes clear.
> Basically no content change will be involved.
> If you all agree to make a branch, I am ready to work on them.
Like I said on my previous email, I agree on a branch.
> However, rebuilding/regeneration problem cannot be solved completely
> in the current structure (committing .html files to the CVS repo).
> I think we should consider building the htdocs/ directory on
> a box periodically and put out the resulting files instead of
> importing them into the CVS repo. This affects our WWW mirrors;
> mirror admins need to change the fetch method. I would like your
> comments on this topic.
Some points:
* If the tools didn't need X11, then we could put it on the NetBSD build
boxes, but since they do, we need another solution.
* Petra pointed out that we could create another dir in our cvs tree,
but this still has the problem of generated files under CVS control
(which is sub-optimal IMHO).
* Relying on a developer to do the regen is sub-optimal too.
How does FreeBSD do it ?
--
Rui Paulo - rpaulo@fnop.net