Module: tools Branch: master Commit: 5a27329c2fa39b57226efc178b2e5ef35cdaa97b URL: http://source.winehq.org/git/tools.git/?a=commit;h=5a27329c2fa39b57226efc178...
Author: Alexandre Julliard julliard@winehq.org Date: Tue Sep 11 21:34:04 2007 +0200
Move the documentation tools to the git repository.
---
html2template | 93 ++++++++++++++++++++++++++++++++++++++++++++++ wine_release | 2 +- winedoc.css | 10 +++++ winedoc_release | 2 +- winehtml.dsl | 27 +++++++++++++ wineprint.dsl | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 243 insertions(+), 2 deletions(-)
diff --git a/html2template b/html2template new file mode 100755 index 0000000..fa09567 --- /dev/null +++ b/html2template @@ -0,0 +1,93 @@ +#!/usr/bin/perl -w +# Francois Gouget fgouget@codeweavers.com +# Jeremy Newman jnewman@codeweavers.com +use strict; +use Getopt::Std; + +# This is a convenience script for building the website docs for +# www.winehq.com. WineHQ is a template based website so that the +# generated files must have a slightly special format: +# * everything outside the <body> tag must be stripped +# * the title is specified using a special tag on the first line +# * the filenames don't end in '.html' + +sub skip_to_gt($) +{ + my $line=$_[0]; + while (defined $line) + { + return $line if ($line =~ s/^[^>]*>//i); + $line=<>; + } + return undef; +} + +sub grab_cdata($) +{ + my $line=$_[0]; + my $cdata; + while (defined $line) + { + if ($line =~ s/^([^<]*)<.*$/$1/i) + { + chomp $line; + $cdata=(defined $cdata?"$cdata $line":$line); + return ($cdata,$line); + } + chomp $line; + $cdata=(defined $cdata?"$cdata $line":$line); + $line=<>; + } + return ($cdata,$line); +} + +sub convert_to_template() +{ + my $line; + while ($line=<>) + { + if ($line =~ s/^.*<title\s*//i) + { + $line=skip_to_gt($line); + my ($title,$line)=grab_cdata($line); + print "<!--TITLE:[$title]-->\n"; + } + elsif ($line =~ s/^.*<body//i) + { + $line=skip_to_gt($line); + last; + } + } + + my $exit; + do + { + $exit=($line =~ s/</body.*$//i); + $line=~s/(href="[^./]*).(htm|html)([^"]*")/$1$3/gi; + print $line; + } + while (!$exit and $line=<>); +} + +# +# main +# + +# get command line options +# $opts{'i'} = input file name +# $opts{'o'} = output file name +my %opts; +getopt('io', %opts); + +if (defined($opts{'i'})) +{ + open STDIN, "<$opts{'i'}" or die "cannot read from $opts{'i'}: $!"; +} + +if (defined($opts{'o'})) +{ + open STDOUT, ">$opts{'o'}" or die "cannot write to $opts{'o'}: $!"; +} + +convert_to_template(); +exit 0; diff --git a/wine_release b/wine_release index 909ae14..e6ae152 100755 --- a/wine_release +++ b/wine_release @@ -69,7 +69,7 @@ for f in $manpages do name=`basename $f .man` make -C `dirname $f` $name.man - nroff -man $f | ../bin/man2html --pgsize=100000 | ../html2template -o $templates_dir/en/docs/$name.template + nroff -man $f | ../bin/man2html --pgsize=100000 | $tools_dir/html2template -o $templates_dir/en/docs/$name.template done
git diff -M --stat wine-$oldver wine-$version >../ds$version.txt diff --git a/winedoc.css b/winedoc.css new file mode 100644 index 0000000..f93abba --- /dev/null +++ b/winedoc.css @@ -0,0 +1,10 @@ +body { background-color: #FFFFFF; color: #000000; } + +a:link { color: #a50d0d; } +a:visited { color: #505050; } +a:active { color: #a50d0d; } + +.screen { background-color: #E0D0D0; padding: 0.5ex; } +.question { border-top: dashed thin; font-weight: bolder; } + +.userinput { font-weight: bold; } diff --git a/winedoc_release b/winedoc_release index 0fc6c2d..165287f 100755 --- a/winedoc_release +++ b/winedoc_release @@ -37,7 +37,7 @@ echo "==== BUILDING SGML DOCUMENTATION ====" books="wineusr-guide winedev-guide winelib-guide" langs="en" site_base_dir="/home/winehq/opt/lostwages" -tools_dir="/home/winehq/opt/tools" +tools_dir="/home/winehq/opt/git-tools" guides_base_dir="$site_base_dir/docs" winehq_base_dir="$site_base_dir/templates"
diff --git a/winehtml.dsl b/winehtml.dsl new file mode 100644 index 0000000..5270a99 --- /dev/null +++ b/winehtml.dsl @@ -0,0 +1,27 @@ +<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [ +<!ENTITY walsh-style PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL> +<!ENTITY cygnus-style SYSTEM "/usr/lib/sgml/stylesheet/dsssl/docbook/cygnus/cygnus-both.dsl" CDATA DSSSL> +]> + +<style-sheet> +<style-specification id="html" use="docbook"> +<style-specification-body> + +; Use the section id as the filename rather than +; cryptic filenames like x1547.html +(define %use-id-as-filename% #t) + +; Repeat the section number in each section to make it easier +; when browsing the doc +(define %section-autolabel% #t) + +; Use CSS to make the look of the documentation customizable +(define %stylesheet% "winedoc.css") +(define %stylesheet-type% "text/css") + +</style-specification-body> +</style-specification> + +<external-specification id="docbook" document="walsh-style"> + +</style-sheet> diff --git a/wineprint.dsl b/wineprint.dsl new file mode 100644 index 0000000..7f53b2f --- /dev/null +++ b/wineprint.dsl @@ -0,0 +1,111 @@ +<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [ +<!ENTITY print-ss PUBLIC "-//Norman Walsh//DOCUMENT DocBook Print Stylesheet//EN" CDATA DSSSL> +]> + +<style-sheet> + +<style-specification id="print" use="print-stylesheet"> +<style-specification-body> + +;; I was hoping that this would take out the many blank pages in the +;; PDF file, but it doesn't, it just slides the page numbers over. +(define %two-side% #f) + +(define %generate-book-titlepage% #t) + +;;Titlepage Not Separate +(define (chunk-skip-first-element-list) + (list (normalize "sect1") + (normalize "section"))) + +;;Titlepage Separate? +;(define (chunk-skip-first-element-list) +; '()) + +(define (list-element-list) + ;; fixes bug in Table of Contents generation + '()) + +(define (toc-depth nd) + 2) + +;; This seems to have no affect +(define %generate-book-titlepage-on-separate-page% #f) + +(define %body-start-indent% + ;; Default indent of body text + 2pi) + +(define %para-indent-firstpara% + ;; First line start-indent for the first paragraph + 0pt) + +(define %para-indent% + ;; First line start-indent for paragraphs (other than the first) + 0pt) + +(define %block-start-indent% + ;; Extra start-indent for block-elements + 2pt) + +;;Define distance between paragraphs +(define %para-sep% + (/ %bf-size% 2.0)) + +;;Define distance between block elements (figures, tables, etc.). +(define %block-sep% + (* %para-sep% 1.0)) +;; (* %para-sep% 2.0)) + +(define %hyphenation% + ;; Allow automatic hyphenation? + #t) + +(define %left-margin% 5pi) +(define %right-margin% 5pi) +(define %top-margin% 5pi) +(define %bottom-margin% 5pi) + +(define %footer-margin% 2pi) +(define %header-margin% 2pi) + +(define %line-spacing-factor% 1.3) + ;; Factor used to calculate leading + ;; The leading is calculated by multiplying the current font size by the + ;; '%line-spacing-factor%'. For example, if the font size is 10pt and + ;; the '%line-spacing-factor%' is 1.1, then the text will be + ;; printed "10-on-11". + +(define %head-before-factor% + ;; Factor used to calculate space above a title + ;; The space before a title is calculated by multiplying the font size + ;; used in the title by the '%head-before-factor%'. +;; 0.75) + 0.5) + +(define %head-after-factor% + ;; Factor used to calculate space below a title + ;; The space after a title is calculated by multiplying the font size used + ;; in the title by the '%head-after-factor%'. + 0.5) + +(define %input-whitespace-treatment% 'collapse) + +(define ($generate-book-lot-list$) + ;; Which Lists of Titles should be produced for Books? + (list )) + +(define tex-backend + ;; Are we using the TeX backend? + ;; This parameter exists so that '-V tex-backend' can be used on the + ;; command line to explicitly select the TeX backend. + #t) + +</style-specification-body> +</style-specification> + +<external-specification id="print-stylesheet" document="print-ss"> + +</style-sheet> + +