]> (define %stylesheet% "datapark.css"); (define %default-language% "ru") (define (author-string #!optional (author (current-node))) ;; Return a formatted string representation of the contents of: ;; AUTHOR: ;; Handles Honorific, FirstName, SurName, and Lineage. ;; If %author-othername-in-middle% is #t, also OtherName ;; Handles *only* the first of each. ;; Format is "Honorific. FirstName [OtherName] SurName, Lineage" ;; CORPAUTHOR: ;; returns (data corpauthor) (let* ((h_nl (select-elements (descendants author) (normalize "honorific"))) (f_nl (select-elements (descendants author) (normalize "firstname"))) (o_nl (select-elements (descendants author) (normalize "othername"))) (s_nl (select-elements (descendants author) (normalize "surname"))) (l_nl (select-elements (descendants author) (normalize "lineage"))) (has_h (not (node-list-empty? h_nl))) (has_f (not (node-list-empty? f_nl))) (has_o (and %author-othername-in-middle% (not (node-list-empty? o_nl)))) (has_s (not (node-list-empty? s_nl))) (has_l (not (node-list-empty? l_nl)))) (if (or (equal? (gi author) (normalize "author")) (equal? (gi author) (normalize "editor")) (equal? (gi author) (normalize "othercredit"))) (string-append (if has_h (string-append (data-of (node-list-first h_nl)) %honorific-punctuation%) "") (if has_f (string-append (if has_h " " "") (data-of (node-list-first f_nl))) "") (if has_o (string-append (if (or has_h has_f) " " "") (data-of (node-list-first o_nl))) "") (if has_s (string-append (if (or has_h has_f has_o) " " "") (data-of (node-list-first s_nl))) "") (if has_l (string-append ", " (data-of (node-list-first l_nl))) "")) (data-of author)))) (define (xref-strings) (list (list (normalize "appendix") (if %chapter-autolabel% "&Appendix.abr; %n" "&Appendix.abr; %t")) (list (normalize "article") (string-append %gentext-start-quote% "%t" %gentext-end-quote%)) (list (normalize "bibliography") "%t") (list (normalize "book") "%t") (list (normalize "chapter") (if %chapter-autolabel% "&Chapter.abr; %n" "&Chapter.abr; %t")) (list (normalize "equation") "&Equation.abr; %n") (list (normalize "example") "&Example.abr; %n") (list (normalize "figure") "&Figure.abr; %n") (list (normalize "glossary") "%t") (list (normalize "index") "%t") (list (normalize "listitem") "%n") (list (normalize "part") "&Part.abr; %n") (list (normalize "preface") "%t") (list (normalize "procedure") "&Procedure.abr; %n, %t") (list (normalize "reference") "&Reference; %n, %t") (list (normalize "section") (if %section-autolabel% "&Section.abr; %n" "&Section.abr; %t")) (list (normalize "sect1") (if %section-autolabel% "&Section.abr; %n" "&Section.abr; %t")) (list (normalize "sect2") (if %section-autolabel% "&Section.abr; %n" "&Section.abr; %t")) (list (normalize "sect3") (if %section-autolabel% "&Section.abr; %n" "&Section.abr; %t")) (list (normalize "sect4") (if %section-autolabel% "&Section.abr; %n" "&Section.abr; %t")) (list (normalize "sect5") (if %section-autolabel% "&Section.abr; %n" "&Section.abr; %t")) (list (normalize "simplesect") (if %section-autolabel% "&Section.abr; %n" "&Section.abr; %t")) (list (normalize "sidebar") "&sidebar; %t") (list (normalize "step") "&step; %n") (list (normalize "table") "&Table.abr; %n"))) (define (gentext-xref-strings gind) (let* ((giname (if (string? gind) gind (gi gind))) (name (normalize giname)) (xref (assoc name (xref-strings)))) (if xref (car (cdr xref)) (let* ((msg (string-append "[&xrefto; " (if giname giname "&nonexistantelement;") " &unsupported;]")) (err (node-list-error msg (current-node)))) msg)))) (define (auto-xref-indirect-connector before) (literal " ∈ ")) ;; Should the TOC come first or last? ;; (define %generate-toc-in-front% #t) ;; gentext-element-name returns the generated text that should be ;; used to make reference to the selected element. ;; (define (element-name) (list (list (normalize "abstract") "&Abstract;") (list (normalize "answer") "&Answer;") (list (normalize "appendix") "&Appendix;") (list (normalize "article") "&Article;") (list (normalize "bibliography") "&Bibliography;") (list (normalize "book") "&Book;") (list (normalize "calloutlist") "") (list (normalize "caution") "&Caution;") (list (normalize "chapter") "&Chapter;") (list (normalize "copyright") "&Copyright;") (list (normalize "dedication") "&Dedication;") (list (normalize "edition") "&Edition;") (list (normalize "equation") "&Equation;") (list (normalize "example") "&Example;") (list (normalize "figure") "&Figure;") (list (normalize "glossary") "&Glossary;") (list (normalize "glosssee") "&GlossSee;") (list (normalize "glossseealso") "&GlossSeeAlso;") (list (normalize "important") "&Important;") (list (normalize "index") "&Index;") (list (normalize "colophon") "&Colophon;") (list (normalize "setindex") "&SetIndex;") (list (normalize "isbn") "&isbn;") (list (normalize "legalnotice") "&LegalNotice;") (list (normalize "msgaud") "&MsgAud;") (list (normalize "msglevel") "&MsgLevel;") (list (normalize "msgorig") "&MsgOrig;") (list (normalize "note") "&Note;") (list (normalize "part") "&Part;") (list (normalize "preface") "&Preface;") (list (normalize "procedure") "&Procedure;") (list (normalize "pubdate") "&Published;") (list (normalize "question") "&Question;") (list (normalize "refentry") "&RefEntry;") (list (normalize "reference") "&Reference;") (list (normalize "refname") "&RefName;") (list (normalize "revhistory") "&RevHistory;") (list (normalize "refsect1") "&RefSection;") (list (normalize "refsect2") "&RefSection;") (list (normalize "refsect3") "&RefSection;") (list (normalize "refsynopsisdiv") "&RefSynopsisDiv;") (list (normalize "revision") "&Revision;") (list (normalize "sect1") "&Section;") (list (normalize "sect2") "&Section;") (list (normalize "sect3") "&Section;") (list (normalize "sect4") "&Section;") (list (normalize "sect5") "&Section;") (list (normalize "section") "&Section;") (list (normalize "simplesect") "&Section;") (list (normalize "seeie") "&See;") (list (normalize "seealsoie") "&Seealso;") (list (normalize "set") "&Set;") (list (normalize "sidebar") "&Sidebar;") (list (normalize "step") "&step;") (list (normalize "table") "&Table;") (list (normalize "tip") "&Tip;") (list (normalize "toc") "&TableofContents;") (list (normalize "warning") "&Warning;") )) (define (gentext-element-name gind) (let* ((giname (if (string? gind) gind (gi gind))) (name (normalize giname)) (pname (assoc name (element-name)))) (if pname (car (cdr pname)) (let* ((msg (string-append "gentext-element-name: &unexpectedelementname;: " name)) (err (node-list-error msg (current-node)))) msg)))) ;; gentext-element-name-space returns gentext-element-name with a ;; trailing space, if gentext-element-name isn't "". ;; (define (gentext-element-name-space giname) (string-with-space (gentext-element-name giname))) ;; gentext-intra-label-sep returns the seperator to be inserted ;; between multiple occurances of a label (or parts of a label) ;; for the specified element. Most of these are for enumerated ;; labels like "Figure 2-4", but this function is used elsewhere ;; (e.g. REFNAME) with a little abuse. ;; (define (local-intra-label-sep) (list)) (define (intra-label-sep) (list (list (normalize "equation") "-") (list (normalize "informalequation") "-") (list (normalize "example") "-") (list (normalize "figure") "-") (list (normalize "listitem") ".") (list (normalize "procedure") ".") (list (normalize "refentry") ".") (list (normalize "reference") ".") (list (normalize "refname") ", ") (list (normalize "refsect1") ".") (list (normalize "refsect2") ".") (list (normalize "refsect3") ".") (list (normalize "sect1") ".") (list (normalize "sect2") ".") (list (normalize "sect3") ".") (list (normalize "sect4") ".") (list (normalize "sect5") ".") (list (normalize "section") ".") (list (normalize "simplesect") ".") (list (normalize "step") ".") (list (normalize "table") "-") (list (normalize "_pagenumber") "-") )) (define (gentext-intra-label-sep gind) (let* ((giname (if (string? gind) gind (gi gind))) (name (normalize giname)) (lsep (assoc name (local-intra-label-sep))) (sep (assoc name (intra-label-sep)))) (if lsep (car (cdr lsep)) (if sep (car (cdr sep)) "")))) ;; gentext-label-title-sep returns the seperator to be inserted ;; between a label and the text following the label for the ;; specified element. Most of these are for use between ;; enumerated labels and titles like "1. Chapter One Title", but ;; this function is used elsewhere (e.g. NOTE) with a little ;; abuse. ;; (define (local-label-title-sep) (list)) (define (label-title-sep) (list (list (normalize "abstract") ": ") (list (normalize "answer") " ") (list (normalize "appendix") ". ") (list (normalize "caution") "") (list (normalize "chapter") ". ") (list (normalize "equation") ". ") (list (normalize "example") ". ") (list (normalize "figure") ". ") (list (normalize "footnote") ". ") (list (normalize "glosssee") ": ") (list (normalize "glossseealso") ": ") (list (normalize "important") ": ") (list (normalize "note") ": ") (list (normalize "orderedlist") ". ") (list (normalize "part") ". ") (list (normalize "procedure") ". ") (list (normalize "prefix") ". ") (list (normalize "question") " ") (list (normalize "refentry") "") (list (normalize "reference") ". ") (list (normalize "refsect1") ". ") (list (normalize "refsect2") ". ") (list (normalize "refsect3") ". ") (list (normalize "sect1") ". ") (list (normalize "sect2") ". ") (list (normalize "sect3") ". ") (list (normalize "sect4") ". ") (list (normalize "sect5") ". ") (list (normalize "section") ". ") (list (normalize "simplesect") ". ") (list (normalize "seeie") " ") (list (normalize "seealsoie") " ") (list (normalize "step") ". ") (list (normalize "table") ". ") (list (normalize "tip") ": ") (list (normalize "warning") "") )) (define (gentext-label-title-sep gind) (let* ((giname (if (string? gind) gind (gi gind))) (name (normalize giname)) (lsep (assoc name (local-label-title-sep))) (sep (assoc name (label-title-sep)))) (if lsep (car (cdr lsep)) (if sep (car (cdr sep)) "")))) (define (label-number-format-list) (list (list (normalize "set") "1") (list (normalize "book") "1") (list (normalize "prefix") "1") (list (normalize "part") "I") (list (normalize "chapter") "1") (list (normalize "appendix") "A") (list (normalize "reference") "I") (list (normalize "example") "1") (list (normalize "figure") "1") (list (normalize "table") "1") (list (normalize "procedure") "1") (list (normalize "step") "1") (list (normalize "refsect1") "1") (list (normalize "refsect2") "1") (list (normalize "refsect3") "1") (list (normalize "sect1") "1") (list (normalize "sect2") "1") (list (normalize "sect3") "1") (list (normalize "sect4") "1") (list (normalize "sect5") "1") (list (normalize "section") "1") )) (define (label-number-format gind) (let* ((giname (if (string? gind) gind (gi gind))) (name (normalize giname)) (format (assoc name (label-number-format-list)))) (if format (car (cdr format)) "1"))) (define (lot-title) (list (list (normalize "table") "&ListofTables;") (list (normalize "example") "&ListofExamples;") (list (normalize "figure") "&ListofFigures;") (list (normalize "equation") "&ListofEquations;") )) (define ($lot-title$ gind) (let* ((giname (if (string? gind) gind (gi gind))) (name (normalize giname)) (title (assoc name (lot-title)))) (if title (car (cdr title)) (let* ((msg (string-append "&ListofUnknown;: " name)) (err (node-list-error msg (current-node)))) msg)))) (define %gentext-start-quote% (dingbat "ldquo")) (define %gentext-end-quote% (dingbat "rdquo")) (define %gentext-start-nested-quote% (dingbat "lsquo")) (define %gentext-end-nested-quote% (dingbat "rsquo")) (define %gentext-by% "&by;") ;; e.g. Copyright 1997 "by" A. Nonymous ;; Authored "by" Jane Doe (define %gentext-edited-by% "&Editedby;") ;; "Edited by" Jane Doe (define %gentext-revised-by% "&Revisedby;") ;; "Revised by" Jane Doe (define %gentext-page% "") (define %gentext-and% "∧") (define %gentext-listcomma% "&listcomma;") (define %gentext-lastlistcomma% "&lastlistcomma;") (define %gentext-bibl-pages% "&Pgs;") (define %gentext-endnotes% "&Notes;") (define %gentext-table-endnotes% "&TableNotes;:") (define %gentext-index-see% "&See;") (define %gentext-index-seealso% "&SeeAlso;") (define (gentext-nav-prev prev) (make sequence (literal "&nav-prev;"))) (define (gentext-nav-prev-sibling prevsib) (make sequence (literal "&nav-prev-sibling;"))) (define (gentext-nav-next-sibling nextsib) (make sequence (literal "&nav-next-sibling;"))) (define (gentext-nav-next next) (make sequence (literal "&nav-next;"))) (define (gentext-nav-up up) (make sequence (literal "&nav-up;"))) (define (gentext-nav-home home) (make sequence (literal "&nav-home;"))) (define %html-prefix% ;; Add the specified prefix to HTML output filenames "dpsearch-") (define %use-id-as-filename% ;; Use ID attributes as name for component HTML files? #t) (define %root-filename% ;; Name for the root HTML document "index") (define %section-autolabel% ;; REFENTRY section-autolabel ;; PURP Are sections enumerated? ;; DESC ;; If true, unlabeled sections will be enumerated. ;; /DESC ;; AUTHOR N/A ;; /REFENTRY #t) (define %html-ext% ;; REFENTRY html-ext ;; PURP Default extension for HTML output files ;; DESC ;; The default extension for HTML output files. ;; /DESC ;; AUTHOR N/A ;; /REFENTRY ".ru.html") (define nochunks ;; REFENTRY nochunks ;; PURP Suppress chunking of output pages ;; DESC ;; If true, the entire source document is formatted as a single HTML ;; document and output on stdout. ;; (This option can conveniently be set with '-V nochunks' on the ;; Jade command line). ;; /DESC ;; AUTHOR N/A ;; /REFENTRY #f) (define rootchunk ;; REFENTRY rootchunk ;; PURP Make a chunk for the root element when nochunks is used ;; DESC ;; If true, a chunk will be created for the root element, even though ;; nochunks is specified. This option has no effect if nochunks is not ;; true. ;; (This option can conveniently be set with '-V rootchunk' on the ;; Jade command line). ;; /DESC ;; AUTHOR N/A ;; /REFENTRY #t) (define make-entity? ;; #t) (define html-index ;; REFENTRY html-index ;; PURP HTML indexing? ;; DESC ;; Turns on HTML indexing. If true, then index data will be written ;; to the file defined by 'html-index-filename'. This data can be ;; collated and turned into a DocBook index with bin/collateindex.pl. ;; /DESC ;; AUTHOR N/A ;; /REFENTRY #t) (define html-index-filename ;; Name of HTML index file "HTML-ru.index") (define html-manifest ;; REFENTRY html-manifest ;; PURP Write a manifest? ;; DESC ;; If not '#f' then the list of HTML files created by the stylesheet ;; will be written to the file named by 'html-manifest-filename'. ;; /DESC ;; AUTHOR N/A ;; /REFENTRY #t) (define html-manifest-filename ;; Name of HTML index file "HTML-ru.manifest") (define %refentry-xref-manvolnum% ;; REFENTRY refentry-xref-manvolnum ;; PURP Output manvolnum as part of RefEntry cross-reference? ;; DESC ;; If true, the manvolnum is used when cross-referencing RefEntrys, either ;; with XRef or CiteRefEntry. ;; /DESC ;; AUTHOR N/A ;; /REFENTRY #t) (define %olink-fragid% ;; Portion of the URL which identifies the fragment identifier "") (define %olink-pubid% ;; Portion of the URL which identifies the public identifier "") (define %olink-resolution% ;; URL script for OLink resolution "") (define %olink-sysid% ;; Portion of the URL which identifies the system identifier "") (define %css-decoration% ;; Enable CSS decoration of elements #t) (define %body-attr% ;; What attributes should be hung off of BODY? (list (list "BGCOLOR" "#FFFFFF") (list "TEXT" "#000000") (list "LINK" "#0000C4") (list "VLINK" "#1200B2") (list "ALINK" "#C40000"))) (define %html-header-tags% ;; What additional HEAD tags should be generated? '( ("META" ("NAME" "Description") ("CONTENT" "DataparkSearch - Полнофункциональная поисковая машина для Интернета и Интранета с открытым исходным кодом. Распространяется по лицензии GNU.")) ("META" ("NAME" "Keywords") ("CONTENT" "shareware, freeware, интернет, unix, поисковик, поисковая машина, поиск, поиск информации, интранет, open source, opensource, search, searching, software, udmsearch, engine, indexing, system, web, ftp, http, cgi, php, SQL, MySQL, database, php3, FreeBSD, Linux, Unix, DataparkSearch, MacOS X, Mac OS X, Windows, 2000, NT, 95, 98, GNU, GPL, url, grabbing")) ("SCRIPT" ("SRC" "http://www.google-analytics.com/urchin.js") ("TYPE" "text/javascript")) ("/SCRIPT") ("SCRIPT" ("SRC" "http://www.dataparksearch.org/ga.js") ("TYPE" "text/javascript")) ("/SCRIPT") ) ) ;;(define %html40% ;; Generate HTML 4.0 ;; #t) (define %footnotes-at-end% ;; Should footnotes appear at the end of HTML pages? #t) (define %generate-part-toc% ;; Should a Table of Contents be produced for Parts? #t) (define %generate-article-toc% ;; Should a Table of Contents be produced for Articles? #t) (define ($html-body-start$) (make empty-element gi: "!--#include virtual=\"body-before.html\"--")) (define ($html-body-end$) (make empty-element gi: "!--#include virtual=\"body-after.html\"--"))