diff options
author | Ralph Amissah <ralph@amissah.com> | 2011-12-08 21:32:36 -0500 |
---|---|---|
committer | Ralph Amissah <ralph@amissah.com> | 2011-12-08 21:32:36 -0500 |
commit | 76a73915e1b03a8fb8a6ef483b2c50093c8f06a5 (patch) | |
tree | 92425fd570f9314abb0e1bd69a10099c2bd43bf6 | |
parent | debian/changelog (3.1.6-1) (diff) | |
parent | v3: documentation, manpage & html (man2html) (diff) |
Merge commit 'sisu_3.1.7' into debian/sid
-rw-r--r-- | data/doc/sisu/CHANGELOG_v3 | 32 | ||||
-rw-r--r-- | data/doc/sisu/html/sisu.1.html | 213 | ||||
-rw-r--r-- | data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst | 7 | ||||
-rw-r--r-- | data/doc/sisu/markup-samples/sisu_manual/sisu_content_directories.ssi | 138 | ||||
-rw-r--r-- | data/doc/sisu/markup-samples/sisu_manual/sisu_markup.sst | 8 | ||||
-rw-r--r-- | data/sisu/v3/v/version.yml | 6 | ||||
-rw-r--r-- | lib/sisu/v3/dal_doc_str.rb | 3 | ||||
-rw-r--r-- | lib/sisu/v3/dal_syntax.rb | 5 | ||||
-rw-r--r-- | lib/sisu/v3/epub_format.rb | 1 | ||||
-rw-r--r-- | lib/sisu/v3/sysenv.rb | 4 | ||||
-rw-r--r-- | lib/sisu/v3/texpdf.rb | 196 | ||||
-rw-r--r-- | lib/sisu/v3/texpdf_format.rb | 125 | ||||
-rw-r--r-- | man/man1/sisu.1 | 112 |
13 files changed, 611 insertions, 239 deletions
diff --git a/data/doc/sisu/CHANGELOG_v3 b/data/doc/sisu/CHANGELOG_v3 index 6153ae16..8f9c2cea 100644 --- a/data/doc/sisu/CHANGELOG_v3 +++ b/data/doc/sisu/CHANGELOG_v3 @@ -13,20 +13,44 @@ Reverse Chronological: %% Development branch UNSTABLE v3 branch once stable will supersede & replace current stable v2 branch +%% 3.1.7.orig.tar.xz (2011-12-08:49/4) +http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/sisu_3.1.7 +http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_3.1.7-1 +http://www.jus.uio.no/sisu/pkg/src/sisu_3.1.7.orig.tar.xz + sisu_3.1.7.orig.tar.xz + sisu_3.1.7-1.dsc + sisu_3.1.7-1.debian.tar.gz + + * dal, codeblocks + * internal document identifier tags removed, consider + * markup of greater than & less than, fix (but watch) + + * epub, css, codeblock, grey box + + * texpdf, use package listings for box around codeblocks (retain boites + option) + + * sysenv, external images directory copied only if it exists + + * documentation, add --configure & use ascii characters for dir tree + correction of a few typos + * manpage + * html + %% 3.1.6.orig.tar.xz (2011-12-02:48/5) http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/sisu_3.1.6 http://git.sisudoc.org/?p=code/sisu.git;a=log;h=refs/tags/debian/sisu_3.1.6-1 http://www.jus.uio.no/sisu/pkg/src/sisu_3.1.6.orig.tar.xz - sisu_3.1.6.orig.tar.xz - sisu_3.1.6-1.dsc - sisu_3.1.6-1.debian.tar.gz + c50fd6eda712ae090e9b16242d468aab8b8ecd6c1ee9b2798b317f9eb40b529c 1647512 sisu_3.1.6.orig.tar.xz + d5a165144d55d553e62c7fcee3b881d6525f238cc5184f284955307a955efb56 1382 sisu_3.1.6-1.dsc + 8e088fc702158a233d870e1b55928063d8e52b5931a51b5143b674052335793e 290179 sisu_3.1.6-1.debian.tar.gz * dal, codeblocks, start flush left (no buffer spaces at start of line) to allow cut & paste [requested by chals irc.oftc] (fixed issue, numbering of (flush left) codeblocks; preliminary tests suggest this should be ok), need distinguishing marks for plaintext (& fix grey background in xetex/pdfs) - * texpdf, use boites for box round codeblocks, use and adapt 'boitecoloriee' + * texpdf, use boites for box around codeblocks, use and adapt 'boitecoloriee' (found in boites_examples.sty) * in boitebox as setup normal tex hardspaces at start of line are removed, hack required to fix diff --git a/data/doc/sisu/html/sisu.1.html b/data/doc/sisu/html/sisu.1.html index e973641b..106502ee 100644 --- a/data/doc/sisu/html/sisu.1.html +++ b/data/doc/sisu/html/sisu.1.html @@ -200,6 +200,16 @@ colour default is set to ’false’ or is undefined screen output will colour). Alias -c <p> </dd> +<dt><b>--configure</b> </dt> +<dd>configure/initialise shared output directory +files initialize shared output directory (config files such as css and +dtd files are not updated if they already exist unless modifier is used). +The equivalent of: -C --init-site configure/initialise site, more extensive +than -C on its own, shared output directory files/force update, existing +shared output config files such as css and dtd files are updated if -CC +is used. +<p> </dd> + <dt><b>--concordance [filename/wildcard]</b> </dt> <dd>produces concordance (wordmap) a rudimentary index of all the words in a document. (Concordance files are @@ -207,10 +217,10 @@ not generated for documents of over 260,000 words unless this limit is increased in the file sisurc.yml). Alias -w <p> </dd> -<dt><b>-C [--init-site]</b> </dt> -<dd>configure/initialise -shared output directory files initialize shared output directory (config -files such as css and dtd files are not updated if they already exist unless +<dt><b>-C</b> </dt> +<dd>configure/initialise shared +output directory files initialize shared output directory (config files +such as css and dtd files are not updated if they already exist unless modifier is used). -C --init-site configure/initialise site more extensive than -C on its own, shared output directory files/force update, existing shared output config files such as css and dtd files are updated if this modifier @@ -218,82 +228,75 @@ is used. <p> </dd> <dt><b>-CC</b> </dt> -<dd>configure/initialise shared output directory files initialize -shared output directory (config files such as css and dtd files are not -updated if they already exist unless modifier is used). The equivalent of: --C --init-site configure/initialise site, more extensive than -C on its own, -shared output directory files/force update, existing shared output config -files such as css and dtd files are updated if -CC is used. +<dd>see --configure +<p> </dd> + +<dt><b>-c [filename/wildcard]</b> </dt> +<dd>see --color-toggle <p> </dd> -<dt><b>-c [filename/wildcard]</b> +<dt><b>--dal [filename/wildcard/url]</b> </dt> -<dd> -<p>see --color-toggle +<dd>assumed for most other flags, creates new intermediate files for processing +(document abstraction) that is used in all subsequent processing of other +output. This step is assumed for most processing flags. To skip it see -n. + +<p>Alias -m <p> </dd> -<dt><b>--dal [filename/wildcard/url]</b> </dt> -<dd>assumed for most other flags, -creates new intermediate files for processing (document abstraction) that -is used in all subsequent processing of other output. This step is assumed -for most processing flags. To skip it see -n. Alias -m +<dt><b>--delete [filename/wildcard]</b> </dt> +<dd>see --zap <p> </dd> -<dt><b>--delete [filename/wildcard]</b> +<dt><b>-D [instruction] [filename]</b> </dt> <dd> -<p>see --zap +<p>see --pg <p> </dd> -<dt><b>-D [instruction] [filename]</b> </dt> -<dd>see --pg -<p> </dd> - -<dt><b>-d [--db-[database type (sqlite|pg)]] ---[instruction] [filename]</b> </dt> +<dt><b>-d [--db-[database type (sqlite|pg)]] --[instruction] [filename]</b> </dt> <dd>see --sqlite + <p> </dd> <dt><b>--epub [filename/wildcard]</b> </dt> -<dd>produces -an epub document, [sisu version >=2 ] (filename.epub). Alias -e +<dd>produces an epub document, [sisu version >=2 ] +(filename.epub). Alias -e <p> </dd> -<dt><b>-e [filename/wildcard]</b> -</dt> -<dd> -<p>see --epub +<dt><b>-e [filename/wildcard]</b> </dt> +<dd>see --epub <p> </dd> -<dt><b>--find [optional string part of filename]</b> </dt> -<dd>without match string, -glob all .sst .ssm files in directory (including language subdirectories). -With match string, find files that match given string in directory (including -language subdirectories). Alias -f, --glob, -G +<dt><b>--find [optional + string part of filename]</b> </dt> +<dd>without match string, glob all .sst .ssm files in +directory (including language subdirectories). With match string, find files +that match given string in directory (including language subdirectories). +Alias -f, --glob, -G <p> </dd> <dt><b>-F [--webserv=webrick]</b> </dt> <dd>see --sample-search-form - <p> </dd> -<dt><b>-f [optional string part of filename]</b> </dt> +<dt><b>-f [optional + string part of filename]</b> </dt> <dd>see --find <p> </dd> -<dt><b>--git [filename/wildcard]</b> -</dt> -<dd>produces or updates markup source file structure in a git repo (experimental -and subject to change). Alias -g +<dt><b>--git [filename/wildcard]</b> </dt> +<dd>produces or +updates markup source file structure in a git repo (experimental and subject +to change). Alias -g <p> </dd> -<dt><b>--glob [optional string part of filename]</b> -</dt> -<dd> -<p>see --find +<dt><b>--glob [optional string part of filename]</b> </dt> +<dd>see --find <p> </dd> -<dt><b>-G [optional string part of filename]</b> </dt> +<dt><b>-G +[optional string part of filename]</b> </dt> <dd>see --find <p> </dd> @@ -304,19 +307,19 @@ and subject to change). Alias -g <p> </dd> <dt><b>--harvest *.ss[tm]</b> </dt> -<dd>makes two lists of sisu output based on the sisu -markup documents in a directory: list of author and authors works (year -and titles), and; list by topic with titles and author. Makes use of header -metadata fields (author, title, date, topic_register). Can be used with -maintenance (-M) and remote placement (-R) flags. +<dd>makes two lists of sisu output based on the sisu markup +documents in a directory: list of author and authors works (year and titles), +and; list by topic with titles and author. Makes use of header metadata +fields (author, title, date, topic_register). Can be used with maintenance +(-M) and remote placement (-R) flags. <p> </dd> <dt><b>--help [topic]</b> </dt> -<dd>provides help -on the selected topic, where topics (keywords) include: list, (com)mands, -short(cuts), (mod)ifiers, (env)ironment, markup, syntax, headers, headings, -endnotes, tables, example, customise, skin, (dir)ectories, path, (lang)uage, -db, install, setup, (conf)igure, convert, termsheet, search, sql, features, +<dd>provides help on the selected +topic, where topics (keywords) include: list, (com)mands, short(cuts), +(mod)ifiers, (env)ironment, markup, syntax, headers, headings, endnotes, +tables, example, customise, skin, (dir)ectories, path, (lang)uage, db, +install, setup, (conf)igure, convert, termsheet, search, sql, features, <p>license <p> </dd> @@ -676,7 +679,8 @@ deep document structure, in the nature of dom. Alias -X <p> </dd> <dt><b>-Y [filename/wildcard]</b> </dt> -<dd>produces a short sitemap entry for the document, based on html output and the sisu_manifest. +<dd>produces +a short sitemap entry for the document, based on html output and the sisu_manifest. --sitemaps generates/updates the sitemap index of existing sitemaps. (Experimental, [g,y,m announcement this week]) <p> </dd> @@ -1486,7 +1490,7 @@ normal text <<a href='http://www.sisudoc.org/'>http://www.sisudoc.org/</a> <b>markup example:</b> <p> <br> <pre> normal text _http://www.sisudoc.org/ continues - deb http://www.jus.uio.no/sisu/archive unstable main non-free + deb _http://www.jus.uio.no/sisu/archive unstable main non-free </pre> <p> <br> <b>resulting output:</b> @@ -1555,6 +1559,13 @@ Debian and Ruby" }http://www.sisudoc.org/ {~^ ruby_logo.png "Ruby" }http://www.ruby-lang.org/en/ +markup example: + { tux.png 64x80 }image + % various url linked images + {tux.png 64x80 "a better way" }http://www.sisudoc.org/ + {GnuDebianLinuxRubyBetterWay.png 100x101 "Way Better - with Gnu/Linux, +Debian and Ruby" }http://www.sisudoc.org/ + {~^ ruby_logo.png "Ruby" }http://www.ruby-lang.org/en/ </pre> <p> <br> <b>resulting output:</b> @@ -1634,8 +1645,8 @@ Tables</a></h2> 320,000| 630,000 No. of articles, all languages | 25| 19,000| 138,000| 490,000| 862,000|1,600,000 - \* Contributed at least ten times; \** at least 5 times in last month; -\*\** more than 100 times in last month. + * Contributed at least ten times; ** at least 5 times in last month; +*** more than 100 times in last month. </pre> <p> <br> <b>resulting output:</b> @@ -2148,7 +2159,7 @@ If multiple sub-terms appear under one paragraph, they are separated under the main term heading from each other by a pipe symbol. <p> <br> <pre> Paragraph containing main term, second term and sub-term. - ={Main term:sub-term+1|second sub-term + ={Main term:sub-term+1|second sub-term} A paragraph that continues discussion of the first sub-term </pre> <p> <br> @@ -2773,6 +2784,7 @@ CSS file that is looked for in a skin.[^18] structures of which there are 3 alternatives. <p> <h2><a name='sect66' href='#toc66'>17.1 Document Source Directory</a></h2> + <p> <br> The document source directory is the directory in which sisu processing @@ -2860,6 +2872,34 @@ by filetype. <p> <br> output_dir_structure_by: language <p> <br> +<pre> |-- en + |-- epub + |-- hashes + |-- html + | |-- viral_spiral.david_bollier + | |-- manifest + | |-- qrcode + | |-- odt + | |-- pdf + | |-- sitemaps + | |-- txt + | |-- xhtml + | ‘-- xml + |-- po4a + | ‘-- live-manual + | |-- po + | |-- fr + | ‘-- pot + ‘-- _sisu + |-- css + |-- image + |-- image_sys -> ../../_sisu/image_sys + ‘-- xml + |-- rnc + |-- rng + ‘-- xsd +</pre> +<p> <br> #by: language subject_dir/en/manifest/filename.html <p> <h2><a name='sect72' href='#toc72'>17.2.4 by Filetype</a></h2> @@ -2874,6 +2914,33 @@ given a language extension. <p> <br> output_dir_structure_by: filetype <p> <br> +<pre> |-- epub + |-- hashes + |-- html + |-- viral_spiral.david_bollier + |-- manifest + |-- qrcode + |-- odt + |-- pdf + |-- po4a + |-- live-manual + | |-- po + | |-- fr + | ‘-- pot + |-- _sisu + | |-- css + | |-- image + | |-- image_sys -> ../../_sisu/image_sys + | ‘-- xml + | |-- rnc + | |-- rng + | ‘-- xsd + |-- sitemaps + |-- txt + |-- xhtml + ‘-- xml +</pre> +<p> <br> #by: filetype subject_dir/html/filename/manifest.en.html <p> <h2><a name='sect73' href='#toc73'>17.2.5 by Filename</a></h2> @@ -2888,6 +2955,26 @@ file (the different filetypes) in a common directory. <p> <br> output_dir_structure_by: filename <p> <br> +<pre> |-- epub + |-- po4a + |-- live-manual + | |-- po + | |-- fr + | ‘-- pot + |-- _sisu + | |-- css + | |-- image + | |-- image_sys -> ../../_sisu/image_sys + | ‘-- xml + | |-- rnc + | |-- rng + | ‘-- xsd + |-- sitemaps + |-- src + |-- pod + ‘-- viral_spiral.david_bollier +</pre> +<p> <br> #by: filename subject_dir/filename/manifest.en.html <p> <h2><a name='sect74' href='#toc74'>17.2.6 Remote Directories</a></h2> diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst index b24abde7..201b927e 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_commands.sst @@ -66,14 +66,17 @@ see --xhtml !_ --color-toggle [filename/wildcard] \\ screen toggle ansi screen colour on or off depending on default set (unless -c flag is used: if sisurc colour default is set to 'true', output to screen will be with colour, if sisurc colour default is set to 'false' or is undefined screen output will be without colour). Alias -c +!_ --configure \\ +configure/initialise shared output directory files initialize shared output directory (config files such as css and dtd files are not updated if they already exist unless modifier is used). The equivalent of: -C --init-site configure/initialise site, more extensive than -C on its own, shared output directory files/force update, existing shared output config files such as css and dtd files are updated if -CC is used. + !_ --concordance [filename/wildcard] \\ produces concordance (wordmap) a rudimentary index of all the words in a document. (Concordance files are not generated for documents of over 260,000 words unless this limit is increased in the file sisurc.yml). Alias -w -!_ -C [--init-site] \\ +!_ -C \\ configure/initialise shared output directory files initialize shared output directory (config files such as css and dtd files are not updated if they already exist unless modifier is used). -C --init-site configure/initialise site more extensive than -C on its own, shared output directory files/force update, existing shared output config files such as css and dtd files are updated if this modifier is used. !_ -CC \\ -configure/initialise shared output directory files initialize shared output directory (config files such as css and dtd files are not updated if they already exist unless modifier is used). The equivalent of: -C --init-site configure/initialise site, more extensive than -C on its own, shared output directory files/force update, existing shared output config files such as css and dtd files are updated if -CC is used. +see --configure !_ -c [filename/wildcard] \\ see --color-toggle diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_content_directories.ssi b/data/doc/sisu/markup-samples/sisu_manual/sisu_content_directories.ssi index b7e09434..5784c03d 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_content_directories.ssi +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_content_directories.ssi @@ -95,32 +95,32 @@ output_dir_structure_by: language code{ - ├── en - │ ├── epub - │ ├── hashes - │ ├── html - │ │ └── viral_spiral.david_bollier - │ ├── manifest - │ │ └── qrcode - │ ├── odt - │ ├── pdf - │ ├── sitemaps - │ ├── txt - │ ├── xhtml - │ └── xml - ├── po4a - │ └── live-manual - │ ├── po - │ │ └── fr - │ └── pot - └── _sisu - ├── css - ├── image - ├── image_sys -> ../../_sisu/image_sys - └── xml - ├── rnc - ├── rng - └── xsd + |-- en + |-- epub + |-- hashes + |-- html + | |-- viral_spiral.david_bollier + | |-- manifest + | |-- qrcode + | |-- odt + | |-- pdf + | |-- sitemaps + | |-- txt + | |-- xhtml + | `-- xml + |-- po4a + | `-- live-manual + | |-- po + | |-- fr + | `-- pot + `-- _sisu + |-- css + |-- image + |-- image_sys -> ../../_sisu/image_sys + `-- xml + |-- rnc + |-- rng + `-- xsd }code @@ -139,31 +139,31 @@ output_dir_structure_by: filetype code{ - ├── epub - ├── hashes - ├── html - │ └── viral_spiral.david_bollier - ├── manifest - │ └── qrcode - ├── odt - ├── pdf - ├── po4a - │ └── live-manual - │ ├── po - │ │ └── fr - │ └── pot - ├── _sisu - │ ├── css - │ ├── image - │ ├── image_sys -> ../../_sisu/image_sys - │ └── xml - │ ├── rnc - │ ├── rng - │ └── xsd - ├── sitemaps - ├── txt - ├── xhtml - └── xml + |-- epub + |-- hashes + |-- html + |-- viral_spiral.david_bollier + |-- manifest + |-- qrcode + |-- odt + |-- pdf + |-- po4a + |-- live-manual + | |-- po + | |-- fr + | `-- pot + |-- _sisu + | |-- css + | |-- image + | |-- image_sys -> ../../_sisu/image_sys + | `-- xml + | |-- rnc + | |-- rng + | `-- xsd + |-- sitemaps + |-- txt + |-- xhtml + `-- xml }code @@ -182,24 +182,24 @@ output_dir_structure_by: filename code{ - ├── epub - ├── po4a - │ └── live-manual - │ ├── po - │ │ └── fr - │ └── pot - ├── _sisu - │ ├── css - │ ├── image - │ ├── image_sys -> ../../_sisu/image_sys - │ └── xml - │ ├── rnc - │ ├── rng - │ └── xsd - ├── sitemaps - ├── src - │ └── pod - └── viral_spiral.david_bollier + |-- epub + |-- po4a + |-- live-manual + | |-- po + | |-- fr + | `-- pot + |-- _sisu + | |-- css + | |-- image + | |-- image_sys -> ../../_sisu/image_sys + | `-- xml + | |-- rnc + | |-- rng + | `-- xsd + |-- sitemaps + |-- src + |-- pod + `-- viral_spiral.david_bollier }code diff --git a/data/doc/sisu/markup-samples/sisu_manual/sisu_markup.sst b/data/doc/sisu/markup-samples/sisu_manual/sisu_markup.sst index 62cf013e..000d3e4c 100644 --- a/data/doc/sisu/markup-samples/sisu_manual/sisu_markup.sst +++ b/data/doc/sisu/markup-samples/sisu_manual/sisu_markup.sst @@ -567,7 +567,7 @@ code{ normal text _http://www.sisudoc.org/ continues -deb http://www.jus.uio.no/sisu/archive unstable main non-free +deb _http://www.jus.uio.no/sisu/archive unstable main non-free }code @@ -765,7 +765,7 @@ Very active contributors*** | 0| 31| 190| 692| 1,6 No. of English language articles| 25| 16,000| 101,000| 190,000| 320,000| 630,000 No. of articles, all languages | 25| 19,000| 138,000| 490,000| 862,000|1,600,000 -\* Contributed at least ten times; \** at least 5 times in last month; \*\** more than 100 times in last month. +* Contributed at least ten times; ** at least 5 times in last month; *** more than 100 times in last month. }code @@ -782,7 +782,7 @@ Very active contributors*** | 0| 31| 190| 692| 1,6 No. of English language articles| 25| 16,000| 101,000| 190,000| 320,000| 630,000 No. of articles, all languages | 25| 19,000| 138,000| 490,000| 862,000|1,600,000 -\* Contributed at least ten times; \** at least 5 times in last month; \*\** more than 100 times in last month. +* Contributed at least ten times; ** at least 5 times in last month; *** more than 100 times in last month. % code{ @@ -1239,7 +1239,7 @@ If multiple sub-terms appear under one paragraph, they are separated under the m code{ Paragraph containing main term, second term and sub-term. - ={Main term:sub-term+1|second sub-term + ={Main term:sub-term+1|second sub-term} A paragraph that continues discussion of the first sub-term diff --git a/data/sisu/v3/v/version.yml b/data/sisu/v3/v/version.yml index b4b0fb8c..c6f6a029 100644 --- a/data/sisu/v3/v/version.yml +++ b/data/sisu/v3/v/version.yml @@ -1,5 +1,5 @@ --- -:version: 3.1.6 -:date_stamp: 2011w48/5 -:date: "2011-12-02" +:version: 3.1.7 +:date_stamp: 2011w49/4 +:date: "2011-12-08" :project: SiSU diff --git a/lib/sisu/v3/dal_doc_str.rb b/lib/sisu/v3/dal_doc_str.rb index 2bf0305e..91110b44 100644 --- a/lib/sisu/v3/dal_doc_str.rb +++ b/lib/sisu/v3/dal_doc_str.rb @@ -376,7 +376,8 @@ module SiSU_document_structure_extract if @@flag['code'] if t_o =~/^\}code/ @@flag['code']=false - obj,tags=extract_tags(@tuned_code.join("\n")) + obj=@tuned_code.join("\n") + tags=[] h={ obj: obj, tags: tags, number_: @codeblock_numbered } t_o=SiSU_document_structure::Object_block_txt.new.code(h) @tuned_code=[] diff --git a/lib/sisu/v3/dal_syntax.rb b/lib/sisu/v3/dal_syntax.rb index 6d56e4aa..b887904e 100644 --- a/lib/sisu/v3/dal_syntax.rb +++ b/lib/sisu/v3/dal_syntax.rb @@ -332,7 +332,7 @@ module SiSU_Syntax and defined? @md.creator \ and @md.creator if dob.is =='heading' - dob.obj.gsub!(/^\s*@title\s*$/,@md.title.full) if dob.lv =~/1/ # + dob.obj.gsub!(/^\s*@title\s*$/,@md.title.full) if dob.lv =~/1/ if dob.lv =~/[23]/ \ and defined? @md.creator.author \ and @md.creator.author @@ -432,9 +432,6 @@ module SiSU_Syntax dob=fontface(dob) elsif dob.is =='code' dob.obj.gsub!(/#{Mx[:meta_o]}(\S+?)#{Mx[:meta_c]}\s*/,'@\1: ') - dob.obj.gsub!(/([<>])/,'_\1') - dob.obj.gsub!(/_<:(\S+?)_>/,'<:\1>') #convert <:\S+> back, clumsy - dob.obj.gsub!(/_<(br(?: \/)?)_>/,'<\1>') #convert <br> <br /> back, clumsy dob.obj.gsub!(/(^|#{Mx[:gl_c]}|\s)<(br(?: \/)?)>([\s,.]|$)/,'\1<\2>\3') #convert <br> <br /> back, clumsy if dob.number_ codeline=[] diff --git a/lib/sisu/v3/epub_format.rb b/lib/sisu/v3/epub_format.rb index 42570dd0..9d55d1d9 100644 --- a/lib/sisu/v3/epub_format.rb +++ b/lib/sisu/v3/epub_format.rb @@ -674,6 +674,7 @@ module SiSU_EPUB_Format font-family: inconsolata, andale mono, courier new, courier, monospace; font-size: 90%; text-align: left; + background-color: #eeeeee; } p.caption { diff --git a/lib/sisu/v3/sysenv.rb b/lib/sisu/v3/sysenv.rb index 0584d85f..953c8eec 100644 --- a/lib/sisu/v3/sysenv.rb +++ b/lib/sisu/v3/sysenv.rb @@ -5207,7 +5207,9 @@ WOK def cp_external_images src="#{@env.processing_path.processing}/external_document/image" dest="#{@env.path.webserv}/#{@env.path.stub_pwd}/_sisu/image_external" - cp_images(src,dest) + if FileTest.directory?(src) + cp_images(src,dest) + end end def cp_webserver_images src=@env.path.image_source diff --git a/lib/sisu/v3/texpdf.rb b/lib/sisu/v3/texpdf.rb index d36344cd..2b9e1087 100644 --- a/lib/sisu/v3/texpdf.rb +++ b/lib/sisu/v3/texpdf.rb @@ -294,6 +294,7 @@ module SiSU_TeX true else false end + @codeblock_box='listings' #alternative 'boites' end def songsheet begin @@ -352,7 +353,11 @@ module SiSU_TeX dob.tmp=SiSU_TeX_Pdf::Format_text_object.new(@md,dob.tmp).url_str_internal(dob.tmp) end elsif dob.is =='code' - dob.tmp=SiSU_TeX_Pdf::Special_characters.new(@md,dob.tmp).special_characters_code + dob.tmp=if @codeblock_box=='listings' + dob.tmp + else + SiSU_TeX_Pdf::Special_characters.new(@md,dob.tmp).special_characters_code + end elsif dob.is =='break' if dob.obj==Mx[:br_page]; dob.tmp='\newpage' elsif dob.obj==Mx[:br_page_new]; dob.tmp='\clearpage' @@ -408,6 +413,53 @@ module SiSU_TeX def enclose(dob) dob end + def box_boites(dob,ocn) + sp_char=SiSU_TeX_Pdf::Special_characters.new(@md,dob.tmp,dob.is) + dob.tmp=sp_char.special_characters_safe + dob.tmp.gsub!(/(#{Mx[:nbsp]})/m,'{\color{mywhite}\1}') + #dob.tmp.gsub!(/#{Mx[:nbsp]}/m,'{~}') # dob.tmp.gsub!(/#{Mx[:nbsp]}\s*/m,'{~}') + dob.tmp.gsub!(/#{Mx[:vline]}/m,'\vline') + dob.tmp.gsub!(/ \\( |#{Mx[:br_nl]})/,' {\textbackslash}\1') + dob.tmp.gsub!(/#{Mx[:br_nl]}\s*\Z/m,'') + dob.tmp.gsub!(/#{Mx[:br_nl]}{2}/,'\newline \\\\\\ ') + dob.tmp.gsub!(/#{Mx[:br_nl]}/,' \\\\\\ ') + dob.tmp.gsub!(/\n\n\n/m," \\newline\n\n") + ocn=SiSU_TeX_Pdf::Format_text_object.new(@md).ocn_display(dob) + dob.tmp = ocn \ + + @tex_ml.paraskip_small \ + + '\begin{Codeblock}' \ + + '\begin{codeblockboitebox} \hardspace \newline ' \ + + dob.tmp \ + + '\end{codeblockboitebox}' \ + + '\end{Codeblock}' \ + + "\n" \ + + @tex_ml.paraskip_normal + dob + end + def box_listings(dob,ocn) + sp_char=SiSU_TeX_Pdf::Special_characters.new(@md,dob.tmp,dob.is) + dob.tmp=sp_char.characters_code_listings + dob.tmp.gsub!(/^\s+/m,'') #bug, fix earlier, should be made unecessary + dob.tmp.gsub!(/#{Mx[:nbsp]}/m,' ') + dob.tmp.gsub!(/#{Mx[:vline]}/m,'|') + dob.tmp.gsub!(/#{Mx[:br_nl]}(?:\s?\n)?/m,"\n") + dob.tmp.gsub!(/\n\n\n/m," \n\n") + ocn=SiSU_TeX_Pdf::Format_text_object.new(@md).ocn_display(dob) + dob.tmp = ocn \ + + @tex_ml.paraskip_small \ + + '\begin{Codeblock}' \ + + "\n" \ + + '\begin{lstlisting} ' \ + + "\n" \ + + dob.tmp \ + + "\n" \ + + '\end{lstlisting} ' \ + + "\n" \ + + '\end{Codeblock}' \ + + "\n" \ + + @tex_ml.paraskip_normal + dob + end def markup_common(dob) tex_f=nil txt_obj={ dal: dob } @@ -430,7 +482,7 @@ module SiSU_TeX + '\\end{footnotesize}' \ + "\n" \ + @tex_ml.paraskip_normal - elsif dob.is=~/verse/ + elsif dob.is=~/verse/ ocn \ + @tex_ml.paraskip_tiny \ + "\n" \ @@ -444,26 +496,13 @@ module SiSU_TeX end dob when /code/ - sp_char=SiSU_TeX_Pdf::Special_characters.new(@md,dob.tmp,dob.is) - dob.tmp=sp_char.special_characters_safe - dob.tmp.gsub!(/(#{Mx[:nbsp]})/m,'{\color{mywhite}\1}') - #dob.tmp.gsub!(/#{Mx[:nbsp]}/m,'{~}') # dob.tmp.gsub!(/#{Mx[:nbsp]}\s*/m,'{~}') - dob.tmp.gsub!(/#{Mx[:vline]}/m,'\vline') - dob.tmp.gsub!(/ \\( |#{Mx[:br_nl]})/,' {\textbackslash}\1') - dob.tmp.gsub!(/#{Mx[:br_nl]}\s*\Z/m,'') - dob.tmp.gsub!(/#{Mx[:br_nl]}{2}/,'\newline \\\\\\ ') - dob.tmp.gsub!(/#{Mx[:br_nl]}/,' \\\\\\ ') - dob.tmp.gsub!(/\n\n\n/m," \\newline\n\n") - ocn=SiSU_TeX_Pdf::Format_text_object.new(@md).ocn_display(dob) - dob.tmp = ocn \ - + @tex_ml.paraskip_small \ - + '\begin{Codeblock}' \ - + '\begin{codeblockboitebox} \hardspace \newline ' \ - + dob.tmp \ - + '\end{codeblockboitebox}' \ - + '\end{Codeblock}' \ - + "\n" \ - + @tex_ml.paraskip_normal + dob=if @codeblock_box == 'listings' + box_listings(dob,ocn) + elsif @codeblock_box == 'boites' + box_boites(dob,ocn) + else + box_boites(dob,ocn) + end dob else 'error' #should never occur end @@ -533,7 +572,7 @@ module SiSU_TeX dob=enclose(dob) unless dob.tmp =~/^$/ end else - dob.tmp.strip! + dob.tmp.strip! unless dob.is=='code' dob=enclose(dob) unless dob.tmp =~/^$/ end if dob.class==String @@ -543,22 +582,83 @@ module SiSU_TeX dob end if dob.tmp =~/(?:#{Mx[:url_o]}\S+?#{Mx[:url_c]}|image\b)/m \ - and dob.is !='code' + && dob.is !='code' dob=SiSU_TeX_Pdf::Bare_urls.new(@md,dob).bare_urls tst=SiSU_TeX_Pdf::Format_text_object.new(@md,dob) dob=tst.urls_txt_and_images dob elsif dob.tmp =~/https?:\/\/\S+\b/m \ - and dob.is =='code' + && dob.is =='code' \ + && @codeblock_box !='listings' dob=SiSU_TeX_Pdf::Bare_urls.new(@md,dob).bare_urls_in_code dob end - if dob.class !=Hash and dob.tmp =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}image\b/ \ - and dob.is !='code' + if dob.class !=Hash \ + && dob.tmp =~/#{Mx[:lnk_o]}.+?#{Mx[:lnk_c]}image\b/ \ + && dob.is !='code' tst=SiSU_TeX_Pdf::Format_text_object.new(@md,dob) end dob end + def tex_box_listings + <<WOK +\\definecolor{listinggray}{gray}{0.9} +\\definecolor{lbcolor}{rgb}{0.9,0.9,0.9} +\\lstset{ + backgroundcolor=\\color{lbcolor}, + tabsize=4, + rulecolor=, + language=, + basicstyle=\\scriptsize, + upquote=true, + aboveskip={1.5\\baselineskip}, + columns=fixed, + showstringspaces=false, + extendedchars=true, + breaklines=true, + prebreak = \\raisebox{0ex}[0ex][0ex]{\\ensuremath{\\hookleftarrow}}, + frame=single, + showtabs=false, + showspaces=false, + showstringspaces=false, + identifierstyle=\\ttfamily, + keywordstyle=\\color[rgb]{0,0,1}, + commentstyle=\\color[rgb]{0.133,0.545,0.133}, + stringstyle=\\color[rgb]{0.627,0.126,0.941}, +} +WOK + end + def tex_box_boites + <<WOK +\\def\\codeblockboitebox{% + \\def\\bkvz@before@breakbox{\\ifhmode\\par\\fi\\vskip\\breakboxskip\\relax}% + \\def\\bkvz@set@linewidth{\\advance\\linewidth -2\\fboxrule + \\advance\\linewidth -2\\fboxsep} % + \\def\\bk@line{\\hbox to \\linewidth{% + \\ifbkcount\\smash{\\llap{\\the\\bk@lcnt\\ }}\\fi + \\psframebox*[framesep=0pt,linewidth=0pt]{% + \\vrule\\@width\\fboxrule \\hskip\\fboxsep + \\box\\bk@bxa + \\hskip\\fboxsep \\vrule\\@width\\fboxrule + }% + }}% + %\\def\\bkvz@top{\\hrule\\@height\\fboxrule} + \\def\\bkvz@top{\\hrule height .6pt}% + \\def\\bkvz@bottom{\\hrule\\@height\\fboxrule}% + \\breakbox} +\\def\\endcodeblockboitebox{\\endbreakbox} +WOK + end + def tex_codeblock + codeblock_box=if @codeblock_box=='listings' + tex_box_listings + elsif @codeblock_box=='boites' + tex_box_boites + else + tex_box_boites + end + codeblock_box + end def markup(data) @tex_file=[] md={} @@ -569,8 +669,8 @@ module SiSU_TeX orient_portrait=SiSU_TeX_Pdf::Format_head.new(@md,txt_obj) txt_obj={ txt: "#{home}: - #{title}", paper_size: ps, orientation: 'landscape' } orient_landscape=SiSU_TeX_Pdf::Format_head.new(@md,txt_obj) - @@tex_head[ps][:p]=orient_portrait.document_head_with_orientation - @@tex_head[ps][:l]=orient_landscape.document_head_with_orientation + @@tex_head[ps][:p]=orient_portrait.document_head_with_orientation(@codeblock_box) + @@tex_head[ps][:l]=orient_landscape.document_head_with_orientation(@codeblock_box) end @tex_file <<<<WOK #{@tex_ml.header}#{@tex_ml.footer} @@ -598,24 +698,7 @@ module SiSU_TeX \\newcommand{\\slash}{{/}} \\newcommand{\\underscore}{\\_} \\newcommand{\\exclaim}{\\Verbatim{!}} -\\def\\codeblockboitebox{% - \\def\\bkvz@before@breakbox{\\ifhmode\\par\\fi\\vskip\\breakboxskip\\relax}% - \\def\\bkvz@set@linewidth{\\advance\\linewidth -2\\fboxrule - \\advance\\linewidth -2\\fboxsep} % - \\def\\bk@line{\\hbox to \\linewidth{% - \\ifbkcount\\smash{\\llap{\\the\\bk@lcnt\\ }}\\fi - \\psframebox*[framesep=0pt,linewidth=0pt]{% - \\vrule\\@width\\fboxrule \\hskip\\fboxsep - \\box\\bk@bxa - \\hskip\\fboxsep \\vrule\\@width\\fboxrule - }% - }}% - %\\def\\bkvz@top{\\hrule\\@height\\fboxrule} - \\def\\bkvz@top{\\hrule height .6pt}% - \\def\\bkvz@bottom{\\hrule\\@height\\fboxrule}% - \\breakbox} -\\def\\endcodeblockboitebox{\\endbreakbox} - +#{tex_codeblock} % (tilde hash amp affected by http) % \\sloppy \\begin{document} @@ -789,8 +872,10 @@ WOK ps,h,fn=o[:ps],o[:h],o[:filename] if h[ps] \ and (h[ps][:p] and h[ps][:l]) - h[ps][:p].gsub!(/(?:^[ ]+|[ ]+$)/m,'') if h[ps][:p] - h[ps][:l].gsub!(/(?:^[ ]+|[ ]+$)/m,'') if h[ps][:l] + h[ps][:p].gsub!(/[ ]+$/m,'') if h[ps][:p] + h[ps][:l].gsub!(/[ ]+$/m,'') if h[ps][:l] + #h[ps][:p].gsub!(/(?:^[ ]+|[ ]+$)/m,'') if h[ps][:p] + #h[ps][:l].gsub!(/(?:^[ ]+|[ ]+$)/m,'') if h[ps][:l] h[ps][:p].gsub!(/\n\n\n+/m,"\n\n") if h[ps][:p] h[ps][:l].gsub!(/\n\n\n+/m,"\n\n") if h[ps][:l] if h[ps][:p] !~/\A\s*\Z/ @@ -800,8 +885,10 @@ WOK fn[:landscape].puts h[ps][:l],"\n" end elsif (h[:p] and h[:l]) - h[:p].gsub!(/(?:^[ ]+|[ ]+$)/m,'') if h[:p] - h[:l].gsub!(/(?:^[ ]+|[ ]+$)/m,'') if h[:l] + h[:p].gsub!(/[ ]+$/m,'') if h[:p] + h[:l].gsub!(/[ ]+$/m,'') if h[:l] + #h[:p].gsub!(/(?:^[ ]+|[ ]+$)/m,'') if h[:p] + #h[:l].gsub!(/(?:^[ ]+|[ ]+$)/m,'') if h[:l] h[:p].gsub!(/\n\n\n+/m,"\n\n") if h[:p] h[:l].gsub!(/\n\n\n+/m,"\n\n") if h[:l] if h[:p] !~/\A\s*\Z/ @@ -827,7 +914,7 @@ WOK file[:landscape] << @@tex_head[ps][:l] array.each do |morph| if morph.class==String - morph.gsub!(/^\s+/,'') + #morph.gsub!(/^\s+/,'') if morph !~/\A\s*\Z/ file[:portrait].puts morph,"\n" file[:landscape].puts morph,"\n" @@ -835,9 +922,10 @@ WOK elsif morph.class.inspect =~ /SiSU_document_structure/ \ and morph.tmp \ and morph.tmp.class==String - unless morph.of=='block' + if morph.is !='code' \ + && morph.of !='block' morph.tmp.gsub!(/^\s+/,'') - else morph.tmp.gsub!(/^ +/,'') + else morph.tmp end if morph.tmp !~/\A\s*\Z/ \ or morph.is=='code' diff --git a/lib/sisu/v3/texpdf_format.rb b/lib/sisu/v3/texpdf_format.rb index e65f9729..2e69e3e3 100644 --- a/lib/sisu/v3/texpdf_format.rb +++ b/lib/sisu/v3/texpdf_format.rb @@ -179,7 +179,7 @@ module SiSU_TeX_Pdf textwidth=tw.to_i - 20 colW=[] colW << '{' - @dob.widths.each do |x| + @dob.widths.each do |x| x=(x.to_i * textwidth)/100 #x=(x.to_i/100.0 * 160) col_w=x.to_s # x.gsub(/.+/,'l\|') #unless x.nil? colW << "p{#{col_w}mm}" if col_w @@ -555,7 +555,7 @@ module SiSU_TeX_Pdf map_nametags[url][:ocn] else nil end - ocn_lnk=(url=~/^\d+$/ ? url : ocn_lnk) + ocn_lnk=(url=~/^\d+$/ ? url : ocn_lnk) if ocn_lnk and not ocn_lnk.empty? idx \ ? (str.sub!(rgx_url_internal,"\\hyperlink{#{ocn_lnk}}{#{link}}")) @@ -767,6 +767,21 @@ module SiSU_TeX_Pdf @tex2pdf=@@tex3pdf ||=SiSU_Env::System_call.new.tex2pdf_engine @ps=@txt if @txt=~/(?:a4|letter|legal|book|a5|b5)/i @lang ||=SiSU_i18n::Languages.new #.list[@md.opt.lng][:xlp] + @author=if defined? @md.creator.author \ + and @md.creator.author=~/\S+/ + SiSU_TeX_Pdf::Special_characters.new(@md,@md.creator.author).special_characters_safe + else '' + end + @subject=if defined? @md.classify.subject \ + and @md.classify.subject=~/\S+/ + SiSU_TeX_Pdf::Special_characters.new(@md,@md.classify.subject).special_characters_safe + else '' + end + @keywords=if defined? @md.classify.keywords \ + and @md.classify.keywords=~/\S+/ + SiSU_TeX_Pdf::Special_characters.new(@md,@md.classify.keywords).special_characters_safe + else '' + end end def tex_head_lang #babel 18n lang_char_arr=@md.i18n @@ -841,7 +856,7 @@ WOK end end def tex_head_info - generator="Generated by: #{@md.sisu_version[:project]} #{@md.sisu_version[:version]} of #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})" if @md.sisu_version[:version] + generator="Generated by: #{@md.sisu_version[:project]} #{@md.sisu_version[:version]} of #{@md.sisu_version[:date_stamp]} (#{@md.sisu_version[:date]})" if @md.sisu_version[:version] lastdone="Last Generated on: #{Time.now}" rubyv="Ruby version: #{@md.ruby_version}" <<WOK @@ -858,9 +873,9 @@ WOK <<WOK #{tex_head_info} \\documentclass[#{d[:fontsize]},#{d[:papertype]},titlepage]{scrartcl} %with titlepage -\\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} -\\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} -\\setlength{\\topmargin}{#{d[:topmargin]}} \\setlength{\\headheight}{#{d[:headheight]}} +\\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} +\\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} +\\setlength{\\topmargin}{#{d[:topmargin]}} \\setlength{\\headheight}{#{d[:headheight]}} \\setlength{\\headsep}{#{d[:headsep]}} \\setlength{\\marginparsep}{#{d[:marginparsep]}} \\setlength{\\marginparwidth}{#{d[:marginparwidth]}} @@ -871,9 +886,9 @@ WOK <<WOK #{tex_head_info} \\documentclass[#{d[:fontsize]},#{d[:papertype]},landscape,titlepage,twocolumn]{scrartcl} %with titlepage -\\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} -\\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} -\\setlength{\\topmargin}{#{d[:topmargin]}} \\setlength{\\headheight}{#{d[:headheight]}} +\\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} +\\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} +\\setlength{\\topmargin}{#{d[:topmargin]}} \\setlength{\\headheight}{#{d[:headheight]}} \\setlength{\\headsep}{#{d[:headsep]}} \\setlength{\\columnsep}{#{d[:columnsep]}} \\setlength{\\marginparsep}{#{d[:marginparsep]}} @@ -884,9 +899,9 @@ WOK <<WOK #{tex_head_info} \\documentclass[#{d[:fontsize]},#{d[:papertype]},titlepage]{scrartcl} %with titlepage -\\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} -\\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} -\\setlength{\\topmargin}{#{d[:topmargin]}} \\setlength{\\headheight}{#{d[:headheight]}} +\\setlength{\\textheight}{#{d[:textheight]}mm} \\setlength{\\textwidth}{#{d[:textwidth]}mm} +\\setlength{\\oddsidemargin}{#{d[:oddsidemargin]}} \\setlength{\\evensidemargin}{#{d[:evensidemargin]}} +\\setlength{\\topmargin}{#{d[:topmargin]}} \\setlength{\\headheight}{#{d[:headheight]}} \\setlength{\\headsep}{#{d[:headsep]}} \\setlength{\\marginparsep}{#{d[:marginparsep]}} \\setlength{\\marginparwidth}{#{d[:marginparwidth]}} @@ -985,10 +1000,9 @@ WOK \\usepackage[#{@tex2pdf}, #{color.strip} pdftitle={#{@txt}}, -% pdftitle={Untitled}, - pdfauthor={LM-sisu-scribe}, - pdfsubject={law}, - pdfkeywords={law}, + pdfauthor={#{@author}}, + pdfsubject={#{@subject}}, + pdfkeywords={#{@keywords}}, pageanchor=true, plainpages=true, pdfpagelabels=true, @@ -1043,12 +1057,25 @@ WOK WOK end end + def tex_head_codeblock(codeblock_box_type) + codeblock_box=if codeblock_box_type=='listings' + <<WOK +\\usepackage{listings} +\\usepackage{color} +\\usepackage{textcomp} +WOK + elsif codeblock_box_type=='boites' + "\\usepackage{boites}" + else + "\\usepackage{boites}" + end + codeblock_box + end def tex_head_misc <<WOK \\usepackage{textcomp} \\usepackage[parfill]{parskip} \\usepackage[normalem]{ulem} -\\usepackage{boites} \\usepackage{soul} \\usepackage{longtable} \\usepackage{graphicx} @@ -1059,7 +1086,7 @@ WOK % amssymb used for backslash WOK end - def document_head_with_orientation + def document_head_with_orientation(codeblock_box_type) endnotes=("\\usepackage{endnotes}" if @txt =~/endnotes?/)||'' #not implemented see also def endnotes @lang.list[@md.i18n[0]][:xlp] <<WOK @@ -1067,6 +1094,7 @@ WOK #{tex_head_encode} #{tex_head_pdftex_dvi} #{tex_head_misc} +#{tex_head_codeblock(codeblock_box_type)} \\setcounter{secnumdepth}{2} \\setcounter{tocdepth}{4} \\makeatletter @@ -1149,6 +1177,52 @@ WOK @brace_url=SiSU_Viz::Skin.new.url_decoration @tex2pdf=@@tex3pdf ||=SiSU_Env::System_call.new.tex2pdf_engine end + def xetex_code_listings(str,is='') # ~ ^ $ & % _ { } #LaTeX special characters - KEEP list + word=str.scan(/\S+|\n/) #unless line =~/^(?:@\S|%+\s)/ + para_array=[] + str=if word + word.each do |w| # _ - / # | : ! ^ ~ + w.gsub!(/#{Mx[:gl_o]}#lt#{Mx[:gl_c]}/,'<'); w.gsub!(/#{Mx[:gl_o]}#gt#{Mx[:gl_c]}/,'>') + w.gsub!(/[\\]?~/,'~') + w.gsub!(/[#{Mx[:br_line]}#{Mx[:br_paragraph]}]/,"\n") #watch + w.gsub!(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/,'~') #126 usual + w.gsub!(/\\?\||#{Mx[:gl_o]}#124#{Mx[:gl_c]}/,'|') #unless is=='code' #unless w=~/<~\d+;(?:[ohmu]|[0-6]:)\d+;\w\d+>/ # | SiSU not really special sisu character but done, also LaTeX + para_array << w + end + str=para_array.join(' ') + str=str.strip unless is=='code' + str + else '' + end + str.gsub(/\s*#{Mx[:mk_o]}:name#\S+?#{Mx[:mk_c]}\s*/,' ') + str.gsub!(/.+?<-#>/,'') + str.gsub!(/#{Mx[:br_eof]}/,'') + str.gsub!(/#{Mx[:br_endnotes]}/,'') + #problem sequence -> + str.gsub!(/&(?:lt|#060);/,'<') # < SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#(?:gt|062)#{Mx[:gl_c]}/,'>') # > SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#123#{Mx[:gl_c]}/,'{') # { SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#125#{Mx[:gl_c]}/,'}') # } SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#(?:126|152)#{Mx[:gl_c]}/,'~') # ~ SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#035#{Mx[:gl_c]}/,'#') # # SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#033#{Mx[:gl_c]}/,'!') # ! SiSU not really special sisu character but done, also LaTeX + #str.gsub!(/(^|\s)\*\s/,'\1\asterisk ') # * should you wish to escape astrisk e.g. describing \*{bold}* + str.gsub!(/#{Mx[:gl_o]}#042#{Mx[:gl_c]}/,'*') # * should you wish to escape astrisk e.g. describing \*{bold}* + str.gsub!(/#{Mx[:gl_o]}#045#{Mx[:gl_c]}/,'-') # - SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#043#{Mx[:gl_c]}/,'+') # + SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#044#{Mx[:gl_c]}/,',') # + SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#038#{Mx[:gl_c]}/,'&') #unless @txt=~/<:code>/ # / SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#047#{Mx[:gl_c]}/,'/') # / SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#092#{Mx[:gl_c]}/,'\\') # \ SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#095#{Mx[:gl_c]}/,'_') # _ SiSU special character also LaTeX + str.gsub!(/#{Mx[:gl_o]}#124#{Mx[:gl_c]}/,'|') # | SiSU not really special sisu character but done, also LaTeX + str.gsub!(/#{Mx[:gl_o]}#058#{Mx[:gl_c]}/,':') # : SiSU not really special sisu character but done, also LaTeX + str.gsub!(/#{Mx[:gl_o]}#094#{Mx[:gl_c]}|\^/,'^') # ^ SiSU not really special sisu character but done, also LaTeX + ##watch placement, problem sequence ^ + str.gsub!(/<sup><font face=symbol>&atild;<\/font><\/sup>/,' ') + str.gsub!(/\\copy(right|mark)?/,'<=copymark>') # ok problem with superscript + str + end def xetex_special_characters_1(str,is='') # ~ ^ $ & % _ { } #LaTeX special characters - KEEP list #str=Iconv.conv('ISO-8859-1', 'UTF-8', @txt) # `require': iconv will be deprecated in the future, use String#encode instead. word=str.scan(/\S+|\n/) #unless line =~/^(?:@\S|%+\s)/ @@ -1326,6 +1400,11 @@ WOK str=xetex_special_characters_2(str,is) unless str.nil? # remove this to start with, causes issues @txt=str end + def characters_code_listings #special characters - some substitutions are sequence sensitive, rearrange with care. + str,is=@txt,@is + str=xetex_code_listings(str,is) unless str.nil? + @txt=str + end def special_characters_code str=@txt str.gsub!(/ \\\\([ #{Mx[:br_nl]}]+|$)/,' \textbackslash\textbackslash\hardspace\1') @@ -1369,7 +1448,7 @@ WOK end def header "\\lhead[ ]{ }\n" + - "\\chead[ \\fancyplain{} \\bfseries \\footnotesize \\leftmark ]{ \\fancyplain{} \\bfseries \\footnotesize \\rightmark }\n" + + "\\chead[ \\fancyplain{} \\bfseries \\footnotesize \\leftmark ]{ \\fancyplain{} \\bfseries \\footnotesize \\rightmark }\n" + "\\rhead[ ]{ }\n" end def footer @@ -1500,13 +1579,13 @@ WOK \"Support Open Standards and Software Libré for the Information Technology Infrastructure\" RA\\subsubsection*{Information on this document copy #{site}} \\addcontentsline{toc}{subsection}{Information on this document copy} {\\begin{footnotesize} -\\\\ Generated by \\href{http://www.jus.uio.no/sisu/}{SiSU} found at \\href{http://www.jus.uio.no/sisu/}{www.jus.uio.no/sisu} \\begin{tiny}[ #{v[:project]} #{v[:version]} #{v[:date_stamp]} ]\\end{tiny} \\href{http://www.sisudoc.org}{www.sisudoc.org}. SiSU is software for document structuring, publishing and search (using SiSU: object citation numbering, markup, meta-markup, and system) Copyright #{@copymark} 1997, current #{@date.year_static} Ralph Amissah, All Rights Reserved. +\\\\ Generated by \\href{http://www.jus.uio.no/sisu/}{SiSU} found at \\href{http://www.jus.uio.no/sisu/}{www.jus.uio.no/sisu} \\begin{tiny}[ #{v[:project]} #{v[:version]} #{v[:date_stamp]} ]\\end{tiny} \\href{http://www.sisudoc.org}{www.sisudoc.org}. SiSU is software for document structuring, publishing and search (using SiSU: object citation numbering, markup, meta-markup, and system) Copyright #{@copymark} 1997, current #{@date.year_static} Ralph Amissah, All Rights Reserved. \\\\ SiSU is released under \\href{http://www.fsf.org/licenses/gpl.html}{GPL 3 } or later (\\href{http://www.fsf.org/licenses/gpl.html}{www.fsf.org/licenses/gpl.html}). {\\end{footnotesize} {\\begin{small} -\\\\ W3 since October 3 1993 \\href{http://www.jus.uio.no/sisu/}{#{sisu_ico}}SiSU 1997, current #{@date.year_static}. \\\\ #{sitename} presentations at \\begin{scriptsize}#{site}\\end{scriptsize} \\\\ \\\\ #{@md.title.full} \\textbf{pdf} versions can be found at: \\\\ +\\\\ W3 since October 3 1993 \\href{http://www.jus.uio.no/sisu/}{#{sisu_ico}}SiSU 1997, current #{@date.year_static}. \\\\ #{sitename} presentations at \\begin{scriptsize}#{site}\\end{scriptsize} \\\\ \\\\ #{@md.title.full} \\textbf{pdf} versions can be found at: \\\\ {\\end{small} -\\\\ #{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:pdf_p]}}\\end{scriptsize}#{@brace_url.tex_close} \\\\ -#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:pdf_l]}}\\end{scriptsize}#{@brace_url.tex_close} \\\\ +\\\\ #{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:pdf_p]}}\\end{scriptsize}#{@brace_url.tex_close} \\\\ +#{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:pdf_l]}}\\end{scriptsize}#{@brace_url.tex_close} \\\\ \\\\\n#{@md.title.full} \\textbf{html} versions may be found at: \\\\ #{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:toc]}}\\end{scriptsize}#{@brace_url.tex_close} or \\\\ #{@brace_url.tex_open}\\begin{scriptsize}\\url{#{@vz.url_root_http}/#{url}/#{@md.fn[:doc]}}\\end{scriptsize}#{@brace_url.tex_close} diff --git a/man/man1/sisu.1 b/man/man1/sisu.1 index 9a3e5535..1d4d280b 100644 --- a/man/man1/sisu.1 +++ b/man/man1/sisu.1 @@ -1,4 +1,4 @@ -.TH "sisu" "1" "2011-10-03" "3.1.0" "SiSU" +.TH "sisu" "1" "2011-12-08" "3.1.7" "SiSU" .br .SH NAME .br @@ -221,13 +221,22 @@ be with colour, if sisurc colour default is set to 'false' or is undefined screen output will be without colour). Alias \-c .TP +.B \-\-configure +configure/initialise shared output directory files initialize shared output +directory (config files such as css and dtd files are not updated if they +already exist unless modifier is used). The equivalent of: \-C \-\-init\-site +configure/initialise site, more extensive than \-C on its own, shared output +directory files/force update, existing shared output config files such as css +and dtd files are updated if \-CC is used. + +.TP .B \-\-concordance [filename/wildcard] produces concordance (wordmap) a rudimentary index of all the words in a document. (Concordance files are not generated for documents of over 260,000 words unless this limit is increased in the file sisurc.yml). Alias \-w .TP -.B \-C [\-\-init\-site] +.B \-C configure/initialise shared output directory files initialize shared output directory (config files such as css and dtd files are not updated if they already exist unless modifier is used). \-C \-\-init\-site configure/initialise @@ -237,12 +246,7 @@ updated if this modifier is used. .TP .B \-CC -configure/initialise shared output directory files initialize shared output -directory (config files such as css and dtd files are not updated if they -already exist unless modifier is used). The equivalent of: \-C \-\-init\-site -configure/initialise site, more extensive than \-C on its own, shared output -directory files/force update, existing shared output config files such as css -and dtd files are updated if \-CC is used. +see \-\-configure .TP .B \-c [filename/wildcard] @@ -1520,7 +1524,7 @@ An escaped url without decoration .nf normal text _http://www.sisudoc.org/ continues - deb http://www.jus.uio.no/sisu/archive unstable main non\-free + deb _http://www.jus.uio.no/sisu/archive unstable main non\-free .fi .br @@ -1597,6 +1601,14 @@ about SiSU <http://www.sisudoc.org/> [^14] markup {~^ ruby_logo.png "Ruby" }http://www.ruby\-lang.org/en/ .br .br +.B markup example: + +.nf + { tux.png 64x80 }image + % various url linked images + {tux.png 64x80 "a better way" }http://www.sisudoc.org/ + {GnuDebianLinuxRubyBetterWay.png 100x101 "Way Better \- with Gnu/Linux, Debian and Ruby" }http://www.sisudoc.org/ + {~^ ruby_logo.png "Ruby" }http://www.ruby\-lang.org/en/ .fi .br @@ -1677,7 +1689,7 @@ information in each column Very active contributors*** | 0| 31| 190| 692| 1,639| 3,016 No. of English language articles| 25| 16,000| 101,000| 190,000| 320,000| 630,000 No. of articles, all languages | 25| 19,000| 138,000| 490,000| 862,000|1,600,000 - \e* Contributed at least ten times; \e** at least 5 times in last month; \e*\e** more than 100 times in last month. + * Contributed at least ten times; ** at least 5 times in last month; *** more than 100 times in last month. .fi .br @@ -2223,7 +2235,7 @@ main term heading from each other by a pipe symbol. .nf Paragraph containing main term, second term and sub\-term. - ={Main term:sub\-term+1|second sub\-term + ={Main term:sub\-term+1|second sub\-term} A paragraph that continues discussion of the first sub\-term .fi @@ -3076,6 +3088,35 @@ Its selection is configured in sisurc.yml .br output_dir_structure_by: language +.nf + |\-\- en + |\-\- epub + |\-\- hashes + |\-\- html + | |\-\- viral_spiral.david_bollier + | |\-\- manifest + | |\-\- qrcode + | |\-\- odt + | |\-\- pdf + | |\-\- sitemaps + | |\-\- txt + | |\-\- xhtml + | `\-\- xml + |\-\- po4a + | `\-\- live\-manual + | |\-\- po + | |\-\- fr + | `\-\- pot + `\-\- _sisu + |\-\- css + |\-\- image + |\-\- image_sys \-> \../../_sisu/image_sys + `\-\- xml + |\-\- rnc + |\-\- rng + `\-\- xsd +.fi + .br #by: language subject_dir/en/manifest/filename.html @@ -3092,6 +3133,34 @@ Its selection is configured in sisurc.yml .br output_dir_structure_by: filetype +.nf + |\-\- epub + |\-\- hashes + |\-\- html + |\-\- viral_spiral.david_bollier + |\-\- manifest + |\-\- qrcode + |\-\- odt + |\-\- pdf + |\-\- po4a + |\-\- live\-manual + | |\-\- po + | |\-\- fr + | `\-\- pot + |\-\- _sisu + | |\-\- css + | |\-\- image + | |\-\- image_sys \-> \../../_sisu/image_sys + | `\-\- xml + | |\-\- rnc + | |\-\- rng + | `\-\- xsd + |\-\- sitemaps + |\-\- txt + |\-\- xhtml + `\-\- xml +.fi + .br #by: filetype subject_dir/html/filename/manifest.en.html @@ -3107,6 +3176,27 @@ Its selection is configured in sisurc.yml .br output_dir_structure_by: filename +.nf + |\-\- epub + |\-\- po4a + |\-\- live\-manual + | |\-\- po + | |\-\- fr + | `\-\- pot + |\-\- _sisu + | |\-\- css + | |\-\- image + | |\-\- image_sys \-> \../../_sisu/image_sys + | `\-\- xml + | |\-\- rnc + | |\-\- rng + | `\-\- xsd + |\-\- sitemaps + |\-\- src + |\-\- pod + `\-\- viral_spiral.david_bollier +.fi + .br #by: filename subject_dir/filename/manifest.en.html |