v6: digests sha512 option implemented
[software/sisu] / README
1 SISU - README
2 =============
3
4 INTRODUCTION
5 ************
6
7 INTRODUCTION - WHAT IS SISU?
8 ----------------------------
9
10 *SiSU* is a lightweight markup based document creation and publishing framework
11 that is controlled from the command line. Prepare documents for *SiSU* using
12 your text editor of choice, then use *SiSU* to generate various output document
13 formats.
14
15 From a single lightly prepared document (plain-text /UTF-8/) sisu custom builds
16 several standard output formats which share a common (text object) numbering
17 system for citation of content within a document (that also has implications
18 for search). The sisu engine works with an abstraction of the document's
19 structure and content from which it is possible to generate different forms of
20 representation of the document. *SiSU* produces: plain-text, /HTML/, /XHTML/,
21 /XML/, /EPUB/, /ODF/: /ODT/ (Opendocument), /LaTeX/, /PDF/, and populates an
22 /SQL/ database (/PostgreSQL/ or /SQLite/) with text objects, roughly, paragraph
23 sized chunks so that document searches are done at this level of granularity.
24
25 Outputs share a common citation numbering system, associated with text objects
26 and any semantic meta-data provided about the document.
27
28 *SiSU* also provides concordance files, document content certificates and
29 manifests of generated output. Book indexes may be made.
30
31 Some document markup samples are provided in the package sisu -markup-samples.
32
33 Homepages:
34 * <http://www.sisudoc.org/>
35 * <http://www.jus.uio.no/sisu>
36
37 INSTALL OR RUN WITHOUT INSTALLATION
38 ***********************************
39
40 SOURCE TARBALL
41 --------------
42
43 RUN OFF SOURCE PACKAGE DIRECTORY TREE (WITHOUT INSTALLING)
44 ..........................................................
45
46 1. Download the latest source (information available) from:
47 <http://www.jus.uio.no/sisu/SiSU/download.html#current>
48
49 2. Unpack the source
50
51 Provided you have *Ruby*, *SiSU* can be run without installation straight from
52 the source package directory tree. Run ruby against the full path to bin/sisu
53 (in the unzipped source package directory tree)
54
55 Note however, that additional external package dependencies, such as texlive
56 (for pdfs), sqlite3 or postgresql (for search) should you desire to use them
57 are not taken care of for you.
58
59 GEM INSTALL (WITH RAKE)
60 .......................
61
62 Gem install, you need to:
63
64 (i) create the gemspec; (ii) build the gem (from the gemspec); (iii) install
65 the gem
66
67 Provided you have ruby & rake, this can be done with the single command:
68
69 rake gem_create_build_install # (to build and install sisu v5 & sisu v6,
70 alias gemcbi)
71
72 separate gems are made/installed for sisu v5 & sisu v6 contained in source:
73
74 rake gem_create_build_install_stable # (to build and install sisu v5, alias
75 gem5cbi)
76
77 rake gem_create_build_install_unstable # (to build and install sisu v6, alias
78 gem6cbi)
79
80 for individual steps (create, build, install) see rake options, rake -T to
81 specify sisu version for sisu installed via gem
82
83 gem search sisu
84
85 sisu _5.3.3_ --version
86
87 sisu _6.0.3_ --version
88
89 to uninstall sisu installed via gem
90
91 sudo gem uninstall --verbose sisu
92
93 For a list of alternative actions you may type:
94
95 rake help
96
97 rake -T
98
99 Rake: <http://rake.rubyforge.org/> <http://rubyforge.org/frs/?group_id=50>
100
101 Rant: <http://make.rubyforge.org/> <http://rubyforge.org/frs/?group_id=615>
102
103 INSTALLATION WITH SETUP.RB
104 ..........................
105
106 It should also be possible to install sisu using setup.rb
107
108 this is a three step process, in the root directory of the unpacked *SiSU* as
109 root type:
110
111 ruby setup.rb config
112 ruby setup.rb setup
113 #[as root:]
114 ruby setup.rb install
115
116 further information:
117 <http://i.loveruby.net/en/projects/setup/>
118 <http://i.loveruby.net/en/projects/setup/doc/usage.html>
119
120 ruby setup.rb config && ruby setup.rb setup && sudo ruby setup.rb install
121
122 UNIX/LINUX DISTRIBUTION
123 -----------------------
124
125 A distribution install should take care of the dependencies of sisu for
126 producing various outputs.
127
128 DEBIAN
129 ......
130
131 *SiSU* is available off the *Debian* archives. It should necessary only to run
132 as root, Using apt-get:
133
134 apt-get update
135
136 apt get install sisu-complete
137
138
139 (all sisu dependencies should be taken care of)
140
141 If there are newer versions of *SiSU* upstream, they will be available by
142 adding the following to your sources list /etc/apt/sources.list
143
144 #/etc/apt/sources.list
145
146 deb http://www.jus.uio.no/sisu/archive unstable main non-free
147 deb-src http://www.jus.uio.no/sisu/archive unstable main non-free
148
149
150 The non-free section is for sisu markup samples provided, which contain
151 authored works the substantive text of which cannot be changed, and which as a
152 result do not meet the debian free software guidelines.
153
154 *SiSU* is developed on *Debian*, and packages are available for *Debian* that
155 take care of the dependencies encountered on installation.
156
157 The package is divided into the following components:
158
159 *sisu*, the base code, (the main package on which the others depend), without
160 any dependencies other than ruby (and for convenience the ruby webrick web
161 server), this generates a number of types of output on its own, other
162 packages provide additional functionality, and have their dependencies
163
164 *sisu-complete*, a dummy package that installs the whole of greater sisu as
165 described below, apart from sisu -examples
166
167 *sisu-pdf*, dependencies used by sisu to produce pdf from /LaTeX/ generated
168
169 *sisu-postgresql*, dependencies used by sisu to populate postgresql database
170 (further configuration is necessary)
171
172 *sisu-sqlite*, dependencies used by sisu to populate sqlite database
173
174 *sisu-markup-samples*, sisu markup samples and other miscellany (under
175 *Debian* Free Software Guidelines non-free)
176
177 *SiSU* is available off Debian Unstable and Testing [link:
178 <http://packages.debian.org/cgi-bin/search_packages.pl?searchon=names&subword=1&version=all&release=all&keywords=sisu>]
179 [^1] install it using apt-get, aptitude or alternative *Debian* install tools.
180
181 DEPENDENCIES
182 ------------
183
184 Here is a list of sisu' s current dependencies,[^2] which depend on such
185 factors as whether you want to generate pdf, whether you will be using *SiSU*
186 with or without a database, ...). sisu_markup-samples may also be of interest.
187
188 Package: sisu
189 Depends: ruby | ruby-interpreter, openssl, rsync, unzip, zip
190 Recommends: sisu-pdf, sisu-sqlite, sisu-postgresql, imagemagick |
191 graphicsmagick, keychain, openssh-client | lsh-client, po4a, qrencode, rake,
192 ruby-rmagick, tidy, tree, vim-addon-manager
193 Suggests: lv, calibre, pinfo, poedit, texinfo, trang
194
195
196 Package: sisu-complete
197 Depends: ruby | ruby-interpreter, sisu (= ${source:Version}), sisu-pdf (=
198 ${source:Version}), sisu-postgresql (= ${source:Version}), sisu-sqlite (=
199 ${source:Version})
200 Description-en: installs all SiSU related packages
201
202
203 Package: sisu-pdf
204 Depends: ruby | ruby-interpreter, sisu (= ${source:Version}),
205 texlive-latex-base, texlive-fonts-recommended, texlive-generic-recommended,
206 texlive-latex-recommended, texlive-latex-extra, texlive-math-extra,
207 texlive-xetex, fonts-liberation, lmodern, latex-cjk-all, texlive-lang-cjk
208 Suggests: evince | pdf-viewer
209
210
211 Package: sisu-postgresql
212 Depends: ruby | ruby-interpreter, sisu (= ${source:Version}), postgresql,
213 ruby-dbd-pg, ruby-dbi, ruby-fcgi
214 Suggests: postgresql-contrib
215
216
217 Package: sisu-sqlite
218 Depends: ruby | ruby-interpreter, sisu (= ${source:Version}), sqlite3,
219 ruby-sqlite3, ruby-dbd-sqlite3, ruby-dbi, ruby-fcgi
220
221
222 Package: sisu-markup-samples
223 Depends: sisu
224
225
226 COMMANDS
227 ********
228
229 COMMANDS SUMMARY
230 ----------------
231
232 DESCRIPTION
233 ...........
234
235 *SiSU* is a document publishing system, that from a simple single marked-up
236 document, produces multiple output formats including: /plaintext/, /HTML/,
237 /XHTML/, /XML/, /EPUB/, /ODT/ (/OpenDocument/ (/ODF/) text), /LaTeX/, /PDF/,
238 info, and /SQL/ (/PostgreSQL/ and /SQLite/) , which share text object numbers
239 ("object citation numbering") and the same document structure information. For
240 more see: <http://sisudoc.org> or <http://www.jus.uio.no/sisu>
241
242 DOCUMENT PROCESSING COMMAND FLAGS
243 .................................
244
245 *-a [filename/wildcard]*
246 produces /plaintext/ with Unix linefeeds and without markup, (object numbers
247 are omitted), has footnotes at end of each paragraph that contains them [ -A
248 for equivalent dos (linefeed) output file] [see -e for endnotes]. (Options
249 include: --endnotes for endnotes --footnotes for footnotes at the end of each
250 paragraph --unix for unix linefeed (default) --msdos for msdos linefeed)
251
252 *--ao [filename/wildcard/url]*
253 assumed for most other flags, creates new intermediate files for processing
254 (abstract objects, document abstraction) that is used in all subsequent
255 processing of other output. This step is assumed for most processing flags. To
256 skip it see -n. Alias -m.
257
258 *-b [filename/wildcard]*
259 see --xhtml
260
261 *--by-**
262 see --output-by-*
263
264 *-C*
265 configure/initialise shared output directory files initialize shared output
266 directory (config files such as css and dtd files are not updated if they
267 already exist unless modifier is used). -C --init-site configure/initialise
268 site more extensive than -C on its own, shared output directory files/force
269 update, existing shared output config files such as css and dtd files are
270 updated if this modifier is used.
271
272 *-CC*
273 see --configure
274
275 *-c [filename/wildcard]*
276 see --color-toggle
277
278 *--color*
279 see --color-on
280
281 *--color-off*
282 turn off color in output to terminal
283
284 *--color-on*
285 turn on color in output to terminal
286
287 *--color-toggle [filename/wildcard]*
288 screen toggle ansi screen colour on or off depending on default set (unless -c
289 flag is used: if sisurc colour default is set to 'true', output to screen will
290 be with colour, if sisurc colour default is set to 'false' or is undefined
291 screen output will be without colour). Alias -c
292
293 *--configure*
294 configure/initialise shared output directory files initialize shared output
295 directory (config files such as css and dtd files are not updated if they
296 already exist unless modifier is used). The equivalent of: -C --init-site
297 configure/initialise site, more extensive than -C on its own, shared output
298 directory files/force update, existing shared output config files such as css
299 and dtd files are updated if -CC is used.
300
301 *--concordance [filename/wildcard]*
302 produces concordance (wordmap) a rudimentary index of all the words in a
303 document. (Concordance files are not generated for documents of over 260,000
304 words unless this limit is increased in the file sisurc.yml). Alias -w
305
306 *-D [instruction] [filename]*
307 see --pg
308
309 *-d [--db-[database type (sqlite|pg)]] --[instruction] [filename]*
310 see --sqlite
311
312 *--dal [filename/wildcard/url]*
313 (abstract objects, document abstraction renamed abstract objects in sisu5) see
314 --ao
315
316 *--delete [filename/wildcard]*
317 see --zap
318
319 *--docbook [filename/wildcard/url]*
320 docbook smart text (not available)
321
322 *--dump[=directory_path] [filename/wildcard]*
323 places output in directory specified, if none is specified in the current
324 directory (pwd). Unlike using default settings /HTML/ files have embedded css.
325 Compare --redirect
326
327 *-e [filename/wildcard]*
328 see --epub
329
330 *--epub [filename/wildcard]*
331 produces an epub document, [sisu version >=2 ] (filename.epub). Alias -e
332
333 *--exc-**
334 exclude output feature, overrides configuration settings --exc-numbering, see
335 --exc-ocn; --exc-ocn, (exclude "object citation numbering", (switches off
336 object citation numbers), affects html (seg, scroll), epub, xhtml, xml, pdf) ;
337 --exc-toc, (exclude table of contents, affects html (scroll), epub, pdf) ;
338 --exc-links-to-manifest, --exc-manifest-links, (exclude links to manifest,
339 affects html (seg, scroll)); --exc-search-form, (exclude search form, affects
340 html (seg, scroll), manifest); --exc-minitoc, (exclude mini table of contents,
341 affects html (seg), concordance, manifest); --exc-manifest-minitoc, (exclude
342 mini table of contents, affects manifest); --exc-html-minitoc, (exclude mini
343 table of contents, affects html (seg), concordance); --exc-html-navigation,
344 (exclude navigation, affects html (seg)); --exc-html-navigation-bar, (exclude
345 navigation bar, affects html (seg)); --exc-html-search-form, (exclude search
346 form, affects html (seg, scroll)); --exc-html-right-pane, (exclude right
347 pane/column, affects html (seg, scroll)); --exc-html-top-band, (exclude top
348 band, affects html (seg, scroll), concordance (minitoc forced on to provide seg
349 navigation)); --exc-segsubtoc (exclude sub table of contents, affects html
350 (seg), epub) ; see also --inc-*
351
352 *-F [--webserv=webrick]*
353 see --sample-search-form
354
355 *-f [optional string part of filename]*
356 see --find
357
358 *--fictionbook [filename/wildcard/url]*
359 fictionbook smart text (not available)
360
361 *--find [optional string part of filename]*
362 without match string, glob all .sst .ssm files in directory (including language
363 subdirectories). With match string, find files that match given string in
364 directory (including language subdirectories). Alias -f, --glob, -G
365
366 *-G [optional string part of filename]*
367 see --find
368
369 *-g [filename/wildcard]*
370 see --git
371
372 *--git [filename/wildcard]*
373 produces or updates markup source file structure in a git repo (experimental
374 and subject to change). Alias -g
375
376 *--glob [optional string part of filename]*
377 see --find
378
379 *-h [filename/wildcard]*
380 see --html
381
382 *--harvest *.ss[tm]*
383 makes two lists of sisu output based on the sisu markup documents in a
384 directory: list of author and authors works (year and titles), and; list by
385 topic with titles and author. Makes use of header metadata fields (author,
386 title, date, topic_register). Can be used with maintenance (-M) and remote
387 placement (-R) flags.
388
389 *--help [topic]*
390 provides help on the selected topic, where topics (keywords) include: list,
391 (com)mands, short(cuts), (mod)ifiers, (env)ironment, markup, syntax, headers,
392 headings, endnotes, tables, example, customise, skin, (dir)ectories, path,
393 (lang)uage, db, install, setup, (conf)igure, convert, termsheet, search, sql,
394 features, license.
395
396 *--html [filename/wildcard]*
397 produces html output, in two forms (i) segmented text with table of contents
398 (toc.html and index.html) and (ii) the document in a single file (scroll.html).
399 Alias -h
400
401 *--html-scroll [filename/wildcard]*
402 produces html output, the document in a single file (scroll.html) only. Compare
403 --html-seg and --html
404
405 *--html-seg [filename/wildcard]*
406 produces html output, segmented text with table of contents (toc.html and
407 index.html). Compare --html-scroll and --html
408
409 *--html-strict [filename/wildcard]*
410 produces html with --strict option. see --strict
411
412 *-I [filename/wildcard]*
413 see --texinfo
414
415 *-i [filename/wildcard]*
416 see --manpage
417
418 *--i18n-**
419 these flags affect output by filetype and filename): --i18n-mono
420 (--monolingual) output filenames without language code for default language
421 ('en' or as set); --i18n-multi (--multilingual) language code provided as part
422 of the output filename, this is the default. Where output is in one language
423 only the language code may not be desired. see also --output-by-*
424
425 *--inc-**
426 include output feature, overrides configuration settings, (usually the default
427 if none set), has precedence over --exc-* (exclude output feature). Some detail
428 provided under --exc-*, see --exc-*
429
430 *-j [filename/wildcard]*
431 copies images associated with a file for use by html, xhtml & xml outputs
432 (automatically invoked by --dump & redirect).
433
434 *-k*
435 see --color-off
436
437 *--keep-processing-files [filename/wildcard/url]*
438 see --maintenance
439
440 *-M [filename/wildcard/url]*
441 see --maintenance
442
443 *-m [filename/wildcard/url]*
444 see --dal (document abstraction level/layer)
445
446 *--machine [filename/wildcard/url]*
447 see --dal (document abstraction level/layer)
448
449 *--maintenance [filename/wildcard/url]*
450 maintenance mode, interim processing files are preserved and their locations
451 indicated. (also see -V). Aliases -M and --keep-processing-files.
452
453 *--markdown [filename/wildcard/url]*
454 markdown smart text (not available)
455
456 *--manpage [filename/wildcard]*
457 produces man page of file, not suitable for all outputs. Alias -i
458
459 *--monolingual*
460 see --i18n-*
461
462 *--multilingual*
463 see --i18n-*
464
465 *-N [filename/wildcard/url]*
466 document digest or document content certificate ( DCC ) as md5 digest tree of
467 the document: the digest for the document, and digests for each object
468 contained within the document (together with information on software versions
469 that produced it) (digest.txt). -NV for verbose digest output to screen.
470
471 *-n [filename/wildcard/url]*
472 skip the creation of intermediate processing files (document abstraction) if
473 they already exist, this skips the equivalent of -m which is otherwise assumed
474 by most processing flags.
475
476 *--no-**
477 see --exc-*
478
479 *--numbering*
480 turn on "object citation numbers". See --inc-ocn and --exc-ocn
481
482 *-o [filename/wildcard/url]*
483 see --odt
484
485 *--ocn*
486 "object citation numbers". See --inc-ocn and --exc-ocn
487
488 *--odf [filename/wildcard/url]*
489 see --odt
490
491 *--odt [filename/wildcard/url]*
492 output basic document in opendocument file format (opendocument.odt). Alias -o
493
494 *--output-by-**
495 select output directory structure from 3 alternatives: --output-by-language,
496 (language directory (based on language code) with filetype (html, epub, pdf
497 etc.) subdirectories); --output-by-filetype, (filetype directories with
498 language code as part of filename); --output-by-filename, (filename directories
499 with language code as part of filename). This is configurable. Alias --by-*
500
501 *-P [language_directory/filename language_directory]*
502 see --po4a
503
504 *-p [filename/wildcard]*
505 see --pdf
506
507 *--papersize-(a4|a5|b5|letter|legal)*
508 in conjunction with --pdf set pdf papersize, overriding any configuration
509 settings, to set more than one papersize repeat the option --pdf --papersize-a4
510 --papersize-letter. See also --papersize=*
511
512 *--papersize=a4,a5,b5,letter,legal* in conjunction with --pdf set pdf
513 papersize, overriding any configuration settings, to set more than one
514 papersize list after the equal sign with a comma separator
515 --papersize=a4,letter. See also --papersize-*
516
517 *--pdf [filename/wildcard]*
518 produces /LaTeX/ pdf (portrait.pdf & landscape.pdf). Orientation and papersize
519 may be set on the command-line. Default paper size is set in config file, or
520 document header, or provided with additional command line parameter, e.g.
521 --papersize-a4 preset sizes include: 'A4', U.S. 'letter' and 'legal' and book
522 sizes 'A5' and 'B5' (system defaults to A4), and; --landscape or --portrait,
523 so: e.g. "sisu --pdf-a4 --pdf-letter --landscape --verbose [filename/wildcard]"
524 or "sisu --pdf --landscape --a4 --letter --verbose [filename/wildcard]". --pdf
525 defaults to both landscape & portrait output, and a4 if no other papersizes are
526 configured. Related options --pdf-landscape --pdf-portrait --pdf-papersize-*
527 --pdf-papersize=[list]. Alias -p
528
529 *--pdf-l [filename/wildcard]*
530 See --pdf-landscape
531
532 *--pdf-landscape [filename/wildcard]*
533 sets orientation, produces /LaTeX/ pdf landscape.pdf. Default paper size is set
534 in config file, or document header, or provided with additional command line
535 parameter, e.g. --papersize-a4 preset sizes include: 'A4', U.S. 'letter' and
536 'legal' and book sizes 'A5' and 'B5' (system defaults to A4). Related options
537 --pdf --pdf-portrait. See also --papersize-* or --papersize=[list]. Alias
538 --pdf-l or in conjunction with --pdf --landscape
539
540 *--pdf-p [filename/wildcard]*
541 See --pdf-portrait
542
543 *--pdf-portrait [filename/wildcard]*
544 sets orientation, produces /LaTeX/ pdf portrait.pdf.pdf. Default paper size is
545 set in config file, or document header, or provided with additional command
546 line parameter, e.g. --papersize-a4 preset sizes include: 'A4', U.S. 'letter'
547 and 'legal' and book sizes 'A5' and 'B5' (system defaults to A4). Related
548 options --pdf --pdf-landscape. See also --papersize-* or --papersize=[list].
549 Alias --pdf-p or in conjunction with --pdf --portrait
550
551 *--pg [instruction] [filename]*
552 database /PostgreSQL/ ( --pgsql may be used instead) possible instructions,
553 include: --createdb; --create; --dropall; --import [filename]; --update
554 [filename]; --remove [filename]; see database section below. Alias -D
555
556 *--po [language_directory/filename language_directory]*
557 see --po4a
558
559 *--po4a [language_directory/filename language_directory]*
560 produces .pot and po files for the file in the languages specified by the
561 language directory. *SiSU* markup is placed in subdirectories named with the
562 language code, e.g. en/ fr/ es/. The sisu config file must set the output
563 directory structure to multilingual. v3, experimental
564
565 *-Q [filename/wildcard]*
566 see --qrcode
567
568 *-q [filename/wildcard]*
569 see --quiet
570
571 *--qrcode [filename/wildcard]*
572 generate QR code image of metadata (used in manifest). v3 only.
573
574 *--quiet [filename/wildcard]*
575 quiet less output to screen.
576
577 *-R [filename/wildcard]*
578 see --rsync
579
580 *-r [filename/wildcard]*
581 see --scp
582
583 *--redirect[=directory_path] [filename/wildcard]*
584 places output in subdirectory under specified directory, subdirectory uses the
585 filename (without the suffix). If no output directory is specified places the
586 subdirectory under the current directory (pwd). Unlike using default settings
587 /HTML/ files have embedded css. Compare --dump
588
589 *--rst [filename/wildcard/url]*
590 ReST (rST restructured text) smart text (not available)
591
592 *--rsync [filename/wildcard]*
593 copies sisu output files to remote host using rsync. This requires that
594 sisurc.yml has been provided with information on hostname and username, and
595 that you have your "keys" and ssh agent in place. Note the behavior of rsync
596 different if -R is used with other flags from if used alone. Alone the rsync
597 --delete parameter is sent, useful for cleaning the remote directory (when -R
598 is used together with other flags, it is not). Also see --scp. Alias -R
599
600 *-S*
601 see --sisupod
602
603 *-S [filename/wildcard]*
604 see --sisupod
605
606 *-s [filename/wildcard]*
607 see --source
608
609 *--sample-search-form [--db=(pgsql|sqlite)] [--webserv=webrick]*
610 generate examples of (naive) cgi search form for /SQLite/ or PgSQL depends on
611 your already having used sisu to populate an /SQLite/ or PgSQL database, (the
612 /SQLite/ version scans the output directories for existing sisu_sqlite
613 databases, so it is first necessary to create them, before generating the
614 search form) see --sqlite & --pg and the database section below. Optional
615 additional parameters include: url location of webserver search form and db:
616 --webserv-search='[url]'; location of webserver output:
617 --webserv-output='[url]'; cgi search form link name:
618 --cgi-search-form-name='[name.cgi]'; for pgsql, database user:
619 --db-user='[username]'. If the optional parameter --webserv=webrick is passed,
620 the cgi examples created will be set up to use the default port set for use by
621 the webrick server, (otherwise the port is left blank and the system setting
622 used, usually 80). The samples are dumped in the present work directory which
623 must be writable, (with screen instructions given that they be copied to the
624 cgi-bin directory). Alias -F
625
626 *--scp [filename/wildcard]*
627 copies sisu output files to remote host using scp. This requires that
628 sisurc.yml has been provided with information on hostname and username, and
629 that you have your "keys" and ssh agent in place. Also see --rsync. Alias -r
630
631 *--sha256*
632 set hash digest where used to sha256
633
634 *--sha512*
635 set hash digest where used to sha512
636
637 *--sqlite --[instruction] [filename]*
638 database type set to /SQLite/, this produces one of two possible databases,
639 without additional database related instructions it produces a discreet
640 /SQLite/ file for the document processed; with additional instructions it
641 produces a common /SQLite/ database of all processed documents that (come from
642 the same document preparation directory and as a result) share the same output
643 directory base path (possible instructions include: --createdb; --create;
644 --dropall; --import [filename]; --update [filename]; --remove [filename]); see
645 database section below. Alias -d
646
647 *--sisupod*
648 produces a sisupod a zipped sisu directory of markup files including sisu
649 markup source files and the directories local configuration file, images and
650 skins. Note: this only includes the configuration files or skins contained in
651 ./_sisu not those in ~/.sisu -S [filename/wildcard] option. Note: (this option
652 is tested only with zsh). Alias -S
653
654 *--sisupod [filename/wildcard]*
655 produces a zipped file of the prepared document specified along with associated
656 images, by default named sisupod.zip they may alternatively be named with the
657 filename extension .ssp This provides a quick way of gathering the relevant
658 parts of a sisu document which can then for example be emailed. A sisupod
659 includes sisu markup source file, (along with associated documents if a master
660 file, or available in multilingual versions), together with related images and
661 skin. *SiSU* commands can be run directly against a sisupod contained in a
662 local directory, or provided as a url on a remote site. As there is a security
663 issue with skins provided by other users, they are not applied unless the flag
664 --trust or --trusted is added to the command instruction, it is recommended
665 that file that are not your own are treated as untrusted. The directory
666 structure of the unzipped file is understood by sisu, and sisu commands can be
667 run within it. Note: if you wish to send multiple files, it quickly becomes
668 more space efficient to zip the sisu markup directory, rather than the
669 individual files for sending). See the -S option without [filename/wildcard].
670 Alias -S
671
672 *--source [filename/wildcard]*
673 copies sisu markup file to output directory. Alias -s
674
675 *--strict*
676 together with --html, produces more w3c compliant html, for example not having
677 purely numeric identifiers for text, the location object url#33 becomes url#o33
678
679 *-T [filename/wildcard (*.termsheet.rb)]*
680 standard form document builder, preprocessing feature
681
682 *-t [filename/wildcard]*
683 see --txt
684
685 *--texinfo [filename/wildcard]*
686 produces texinfo and info file, (view with pinfo). Alias -I
687
688 *--textile [filename/wildcard/url]*
689 textile smart text (not available)
690
691 *--txt [filename/wildcard]*
692 produces /plaintext/ with Unix linefeeds and without markup, (object numbers
693 are omitted), has footnotes at end of each paragraph that contains them [ -A
694 for equivalent dos (linefeed) output file] [see -e for endnotes]. (Options
695 include: --endnotes for endnotes --footnotes for footnotes at the end of each
696 paragraph --unix for unix linefeed (default) --msdos for msdos linefeed). Alias
697 -t
698
699 *--txt-asciitext [filename/wildcard]*
700 see --asciitext
701
702 *--txt-markdown [filename/wildcard]*
703 see --markdown
704
705 *--txt-rst [filename/wildcard]*
706 see --rst
707
708 *--txt-textile [filename/wildcard]*
709 see --textile
710
711 *-U [filename/wildcard]*
712 see --urls
713
714 *-u [filename/wildcard]*
715 provides url mapping of output files for the flags requested for processing,
716 also see -U
717
718 *--urls [filename/wildcard]*
719 prints url output list/map for the available processing flags options and
720 resulting files that could be requested, (can be used to get a list of
721 processing options in relation to a file, together with information on the
722 output that would be produced), -u provides url output mapping for those flags
723 requested for processing. The default assumes sisu_webrick is running and
724 provides webrick url mappings where appropriate, but these can be switched to
725 file system paths in sisurc.yml. Alias -U
726
727 *-V*
728 on its own, provides *SiSU* version and environment information (sisu --help
729 env)
730
731 *-V [filename/wildcard]*
732 even more verbose than the -v flag.
733
734 *-v*
735 on its own, provides *SiSU* version information
736
737 *-v [filename/wildcard]*
738 see --verbose
739
740 *--v3 [filename/wildcard]*
741 invokes the sisu v3 document parser/generator. You may run sisu3 instead.
742
743 *--v4 [filename/wildcard]*
744 invokes the sisu v4 document parser/generator. This is the default and is
745 normally omitted.
746
747 *--verbose [filename/wildcard]*
748 provides verbose output of what is being generated, where output is placed (and
749 error messages if any), as with -u flag provides a url mapping of files created
750 for each of the processing flag requests. Alias -v
751
752 *-W*
753 see --webrick
754
755 *-w [filename/wildcard]*
756 see --concordance
757
758 *--webrick*
759 starts ruby' s webrick webserver points at sisu output directories, the default
760 port is set to 8081 and can be changed in the resource configuration files.
761 [tip: the webrick server requires link suffixes, so html output should be
762 created using the -h option rather than -H ; also, note -F webrick ]. Alias -W
763
764 *--wordmap [filename/wildcard]*
765 see --concordance
766
767 *--xhtml [filename/wildcard]*
768 produces xhtml//XML/ output for browser viewing (sax parsing). Alias -b
769
770 *--xml-dom [filename/wildcard]*
771 produces /XML/ output with deep document structure, in the nature of dom. Alias
772 -X
773
774 *--xml-sax [filename/wildcard]*
775 produces /XML/ output shallow structure (sax parsing). Alias -x
776
777 *-X [filename/wildcard]*
778 see --xml-dom
779
780 *-x [filename/wildcard]*
781 see --xml-sax
782
783 *-Y [filename/wildcard]*
784 produces a short sitemap entry for the document, based on html output and the
785 sisu_manifest. --sitemaps generates/updates the sitemap index of existing
786 sitemaps. (Experimental, [g,y,m announcement this week])
787
788 *-y [filename/wildcard]*
789 produces an html summary of output generated (hyperlinked to content) and
790 document specific metadata (sisu_manifest.html). This step is assumed for most
791 processing flags.
792
793 *-Z [filename/wildcard]*
794 see --zap
795
796 *--zap [filename/wildcard]*
797 Zap, if used with other processing flags deletes output files of the type about
798 to be processed, prior to processing. If -Z is used as the lone processing
799 related flag (or in conjunction with a combination of -[mMvVq]), will remove
800 the related document output directory. Alias -Z
801
802 COMMAND LINE MODIFIERS
803 ----------------------
804
805 *--no-ocn*
806 [with --html --pdf or --epub] switches off /object citation numbering/. Produce
807 output without identifying numbers in margins of html or /LaTeX//pdf output.
808
809 *--no-annotate*
810 strips output text of editor endnotes[^*1] denoted by asterisk or dagger/plus
811 sign
812
813 *--no-asterisk*
814 strips output text of editor endnotes[^*2] denoted by asterisk sign
815
816 *--no-dagger*
817 strips output text of editor endnotes[^+1] denoted by dagger/plus sign
818
819 DATABASE COMMANDS
820 -----------------
821
822 *dbi - database interface*
823
824 *-D or --pgsql* set for /PostgreSQL/ *-d or --sqlite* default set for /SQLite/
825 -d is modifiable with --db=[database type (PgSQL or /SQLite/) ]
826
827 *--pg -v --createall*
828 initial step, creates required relations (tables, indexes) in existing
829 /PostgreSQL/ database (a database should be created manually and given the same
830 name as working directory, as requested) (rb.dbi) [ -dv --createall /SQLite/
831 equivalent] it may be necessary to run sisu -Dv --createdb initially NOTE: at
832 the present time for /PostgreSQL/ it may be necessary to manually create the
833 database. The command would be 'createdb [database name]' where database name
834 would be SiSU_[present working directory name (without path)]. Please use only
835 alphanumerics and underscores.
836
837 *--pg -v --import*
838 [filename/wildcard] imports data specified to /PostgreSQL/ db (rb.dbi) [ -dv
839 --import /SQLite/ equivalent]
840
841 *--pg -v --update*
842 [filename/wildcard] updates/imports specified data to /PostgreSQL/ db (rb.dbi)
843 [ -dv --update /SQLite/ equivalent]
844
845 *--pg --remove*
846 [filename/wildcard] removes specified data to /PostgreSQL/ db (rb.dbi) [ -d
847 --remove /SQLite/ equivalent]
848
849 *--pg --dropall*
850 kills data" and drops (/PostgreSQL/ or /SQLite/) db, tables & indexes [ -d
851 --dropall /SQLite/ equivalent]
852
853 The -v is for verbose output.
854
855 SHORTCUTS, SHORTHAND FOR MULTIPLE FLAGS
856 ---------------------------------------
857
858 *--update [filename/wildcard]*
859 Checks existing file output and runs the flags required to update this output.
860 This means that if only html and pdf output was requested on previous runs,
861 only the -hp files will be applied, and only these will be generated this time,
862 together with the summary. This can be very convenient, if you offer different
863 outputs of different files, and just want to do the same again.
864
865 *-0 to -5 [filename or wildcard]*
866 Default shorthand mappings (for v3, note that the defaults can be
867 changed/configured in the sisurc.yml file):
868
869 *-0*
870 -NQhewpotbxXyYv [this is the default action run when no options are give, i.e.
871 on 'sisu [filename]']
872
873 *-1*
874 -Qhewpoty
875
876 *-2*
877 -NQhewpotbxXy
878
879 *-3*
880 -NQhewpotbxXyY
881
882 *-4*
883 -NQhewpotbxXDyY --update
884
885 *-5*
886 -NQhewpotbxXDyYv --update
887
888 add -v for verbose mode and -c to toggle color state, e.g. sisu -2vc [filename
889 or wildcard]
890
891 consider -u for appended url info or -v for verbose output
892
893 COMMAND LINE WITH FLAGS - BATCH PROCESSING
894 ..........................................
895
896 In the data directory run sisu -mh filename or wildcard eg. "sisu -h cisg.sst"
897 or "sisu -h *.{sst,ssm}" to produce html version of all documents.
898
899 Running sisu (alone without any flags, filenames or wildcards) brings up the
900 interactive help, as does any sisu command that is not recognised. Enter to
901 escape.
902
903 INTRODUCTION TO SISU MARKUP[^3]
904 -------------------------------
905
906 SUMMARY
907 .......
908
909 *SiSU* source documents are /plaintext/ (/UTF-8/)[^4] files
910
911 All paragraphs are separated by an empty line.
912
913 Markup is comprised of:
914
915 * at the top of a document, the document header made up of semantic meta-data
916 about the document and if desired additional processing instructions (such an
917 instruction to automatically number headings from a particular level down)
918
919 * followed by the prepared substantive text of which the most important single
920 characteristic is the markup of different heading levels, which define the
921 primary outline of the document structure. Markup of substantive text includes:
922
923 * heading levels defines document structure
924
925 * text basic attributes, italics, bold etc.
926
927 * grouped text (objects), which are to be treated differently, such as code
928 blocks or poems.
929
930 * footnotes/endnotes
931
932 * linked text and images
933
934 * paragraph actions, such as indent, bulleted, numbered-lists, etc.
935
936 Some interactive help on markup is available, by typing sisu and selecting
937 markup or sisu --help markup
938
939 To check the markup in a file:
940
941 sisu --identify [filename].sst
942
943 For brief descriptive summary of markup history
944
945 sisu --query-history
946
947 or if for a particular version:
948
949 sisu --query-0.38
950
951 MARKUP EXAMPLES
952 ...............
953
954
955 ----------------------------------------
956
957 ONLINE
958 ......
959
960 Online markup examples are available together with the respective outputs
961 produced from <http://www.jus.uio.no/sisu/SiSU/examples.html> or from
962 <http://www.jus.uio.no/sisu/sisu_examples/>
963
964 There is of course this document, which provides a cursory overview of sisu
965 markup and the respective output produced:
966 <http://www.jus.uio.no/sisu/sisu_markup/>
967
968 an alternative presentation of markup syntax:
969 /usr/share/doc/sisu/on_markup.txt.gz
970
971
972 ----------------------------------------
973
974 INSTALLED
975 .........
976
977 With *SiSU* installed sample skins may be found in:
978 /usr/share/doc/sisu/markup-samples (or equivalent directory) and if sisu
979 -markup-samples is installed also under:
980 /usr/share/doc/sisu/markup-samples-non-free
981
982 MARKUP OF HEADERS
983 -----------------
984
985 Headers contain either: semantic meta-data about a document, which can be used
986 by any output module of the program, or; processing instructions.
987
988 Note: the first line of a document may include information on the markup
989 version used in the form of a comment. Comments are a percentage mark at the
990 start of a paragraph (and as the first character in a line of text) followed by
991 a space and the comment:
992
993 % this would be a comment
994
995
996 SAMPLE HEADER
997 .............
998
999 This current document is loaded by a master document that has a header similar
1000 to this one:
1001
1002 % SiSU master 4.0
1003
1004 @title: SiSU
1005 :subtitle: Manual
1006
1007 @creator:
1008 :author: Amissah, Ralph
1009
1010 @publisher: [publisher name]
1011
1012 @rights: Copyright (C) Ralph Amissah 2007, part of SiSU documentation, License GPL 3
1013
1014 @classify:
1015 :topic_register: SiSU:manual;electronic documents:SiSU:manual
1016 :subject: ebook, epublishing, electronic book, electronic publishing,
1017 electronic document, electronic citation, data structure,
1018 citation systems, search
1019
1020 % used_by: manual
1021
1022 @date:
1023 :published: 2008-05-22
1024 :created: 2002-08-28
1025 :issued: 2002-08-28
1026 :available: 2002-08-28
1027 :modified: 2010-03-03
1028
1029 @make:
1030 :num_top: 1
1031 :breaks: new=C; break=1
1032 :bold: /Gnu|Debian|Ruby|SiSU/
1033 :home_button_text: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org
1034 :footer: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org
1035 :manpage: name=sisu - documents: markup, structuring, publishing in multiple standard formats, and search;
1036 synopsis=sisu [-abcDdeFhIiMmNnopqRrSsTtUuVvwXxYyZz0-9] [filename/wildcard ]
1037 . sisu [-Ddcv] [instruction]
1038 . sisu [-CcFLSVvW]
1039 . sisu --v4 [operations]
1040 . sisu --v3 [operations]
1041
1042 @links:
1043 { SiSU Homepage }http://www.sisudoc.org/
1044 { SiSU Manual }http://www.sisudoc.org/sisu/sisu_manual/
1045 { Book Samples & Markup Examples }http://www.jus.uio.no/sisu/SiSU/examples.html
1046 { SiSU Download }http://www.jus.uio.no/sisu/SiSU/download.html
1047 { SiSU Changelog }http://www.jus.uio.no/sisu/SiSU/changelog.html
1048 { SiSU Git repo }http://git.sisudoc.org/?p=code/sisu.git;a=summary
1049 { SiSU List Archives }http://lists.sisudoc.org/pipermail/sisu/
1050 { SiSU @ Debian }http://packages.qa.debian.org/s/sisu.html
1051 { SiSU Project @ Debian }http://qa.debian.org/developer.php?login=sisu@lists.sisudoc.org
1052 { SiSU @ Wikipedia }http://en.wikipedia.org/wiki/SiSU
1053
1054
1055 AVAILABLE HEADERS
1056 .................
1057
1058 Header tags appear at the beginning of a document and provide meta information
1059 on the document (such as the /Dublin Core/) , or information as to how the
1060 document as a whole is to be processed. All header instructions take the form
1061 @headername: or on the next line and indented by once space :subheadername: All
1062 /Dublin Core/ meta tags are available
1063
1064 *@identifier:* information or instructions
1065
1066 where the "identifier" is a tag recognised by the program, and the
1067 "information" or "instructions" belong to the tag/identifier specified
1068
1069 Note: a header where used should only be used once; all headers apart from
1070 @title: are optional; the @structure: header is used to describe document
1071 structure, and can be useful to know.
1072
1073 This is a sample header
1074
1075 % SiSU 2.0 [declared file-type identifier with markup version]
1076
1077
1078 @title: [title text] [this header is the only one that is mandatory]
1079 :subtitle: [subtitle if any]
1080 :language: English
1081
1082
1083 @creator:
1084 :author: [Lastname, First names]
1085 :illustrator: [Lastname, First names]
1086 :translator: [Lastname, First names]
1087 :prepared_by: [Lastname, First names]
1088
1089
1090 @date:
1091 :published: [year or yyyy-mm-dd]
1092 :created: [year or yyyy-mm-dd]
1093 :issued: [year or yyyy-mm-dd]
1094 :available: [year or yyyy-mm-dd]
1095 :modified: [year or yyyy-mm-dd]
1096 :valid: [year or yyyy-mm-dd]
1097 :added_to_site: [year or yyyy-mm-dd]
1098 :translated: [year or yyyy-mm-dd]
1099
1100
1101 @rights:
1102 :copyright: Copyright (C) [Year and Holder]
1103 :license: [Use License granted]
1104 :text: [Year and Holder]
1105 :translation: [Name, Year]
1106 :illustrations: [Name, Year]
1107
1108
1109 @classify:
1110 :topic_register: SiSU:markup sample:book;book:novel:fantasy
1111 :type:
1112 :subject:
1113 :description:
1114 :keywords:
1115 :abstract:
1116 :loc: [Library of Congress classification]
1117 :dewey: [Dewey classification
1118
1119
1120 @identify:
1121 :isbn: [ISBN]
1122 :oclc:
1123
1124
1125 @links: { SiSU }http://www.sisudoc.org
1126 { FSF }http://www.fsf.org
1127
1128
1129 @make:
1130 :num_top: 1
1131 :headings: [text to match for each level
1132 (e.g. PART; Chapter; Section; Article; or another: none; BOOK|FIRST|SECOND; none; CHAPTER;)
1133 :breaks: new=:C; break=1
1134 :promo: sisu, ruby, sisu_search_libre, open_society
1135 :bold: [regular expression of words/phrases to be made bold]
1136 :italics: [regular expression of words/phrases to italicise]
1137 :home_button_text: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org
1138 :footer: {SiSU}http://sisudoc.org; {git}http://git.sisudoc.org
1139
1140
1141 @original:
1142 :language: [language]
1143
1144
1145 @notes:
1146 :comment:
1147 :prefix: [prefix is placed just after table of contents]
1148
1149
1150 MARKUP OF SUBSTANTIVE TEXT
1151 --------------------------
1152
1153 HEADING LEVELS
1154 ..............
1155
1156 Heading levels are :A~ ,:B~ ,:C~ ,1~ ,2~ ,3~ ... :A - :C being part / section
1157 headings, followed by other heading levels, and 1 -6 being headings followed by
1158 substantive text or sub-headings. :A~ usually the title :A~? conditional level
1159 1 heading (used where a stand-alone document may be imported into another)
1160
1161 *:A~ [heading text]* Top level heading [this usually has similar content to the
1162 title @title: ] NOTE: the heading levels described here are in 0.38 notation,
1163 see heading
1164
1165 *:B~ [heading text]* Second level heading [this is a heading level divider]
1166
1167 *:C~ [heading text]* Third level heading [this is a heading level divider]
1168
1169 *1~ [heading text]* Top level heading preceding substantive text of document or
1170 sub-heading 2, the heading level that would normally be marked 1. or 2. or 3.
1171 etc. in a document, and the level on which sisu by default would break html
1172 output into named segments, names are provided automatically if none are given
1173 (a number), otherwise takes the form 1~my_filename_for_this_segment
1174
1175 *2~ [heading text]* Second level heading preceding substantive text of document
1176 or sub-heading 3 , the heading level that would normally be marked 1.1 or 1.2
1177 or 1.3 or 2.1 etc. in a document.
1178
1179 *3~ [heading text]* Third level heading preceding substantive text of document,
1180 that would normally be marked 1.1.1 or 1.1.2 or 1.2.1 or 2.1.1 etc. in a
1181 document
1182
1183 1~filename level 1 heading,
1184
1185 % the primary division such as Chapter that is followed by substantive text, and may be further subdivided (this is the level on which by default html segments are made)
1186
1187
1188 FONT ATTRIBUTES
1189 ...............
1190
1191 *markup example:*
1192
1193 normal text, *{emphasis}*, !{bold text}!, /{italics}/, _{underscore}_, "{citation}",
1194 ^{superscript}^, ,{subscript},, +{inserted text}+, -{strikethrough}-, #{monospace}#
1195
1196 normal text
1197
1198 *{emphasis}* [note: can be configured to be represented by bold, italics or underscore]
1199
1200 !{bold text}!
1201
1202 /{italics}/
1203
1204 _{underscore}_
1205
1206 "{citation}"
1207
1208 ^{superscript}^
1209
1210 ,{subscript},
1211
1212 +{inserted text}+
1213
1214 -{strikethrough}-
1215
1216 #{monospace}#
1217
1218
1219 *resulting output:*
1220
1221 normal text, *emphasis*, *bold text*, /italics/, _underscore_, "citation",
1222 ^superscript^, [subscript], +inserted text+, -strikethrough-, #monospace#
1223
1224 normal text
1225
1226 *emphasis* [note: can be configured to be represented by bold, italics or
1227 underscore]
1228
1229 *bold text*
1230
1231 /italics/
1232
1233 _underscore_
1234
1235 "citation"
1236
1237 ^superscript^
1238
1239 [subscript]
1240
1241 +inserted text+
1242
1243 -strikethrough-
1244
1245 #monospace#
1246
1247 INDENTATION AND BULLETS
1248 .......................
1249
1250 *markup example:*
1251
1252 ordinary paragraph
1253
1254 _1 indent paragraph one step
1255
1256 _2 indent paragraph two steps
1257
1258 _9 indent paragraph nine steps
1259
1260
1261 *resulting output:*
1262
1263 ordinary paragraph
1264
1265 indent paragraph one step
1266
1267 indent paragraph two steps
1268
1269 indent paragraph nine steps
1270
1271 *markup example:*
1272
1273 _* bullet text
1274
1275 _1* bullet text, first indent
1276
1277 _2* bullet text, two step indent
1278
1279
1280 *resulting output:*
1281
1282 * bullet text
1283
1284 * bullet text, first indent
1285
1286 * bullet text, two step indent
1287
1288 Numbered List (not to be confused with headings/titles, (document structure))
1289
1290 *markup example:*
1291
1292 # numbered list numbered list 1., 2., 3, etc.
1293
1294 _# numbered list numbered list indented a., b., c., d., etc.
1295
1296
1297 HANGING INDENTS
1298 ...............
1299
1300 *markup example:*
1301
1302 _0_1 first line no indent,
1303 rest of paragraph indented one step
1304
1305 _1_0 first line indented,
1306 rest of paragraph no indent
1307
1308 in each case level may be 0-9
1309
1310
1311 *resulting output:*
1312
1313 first line no indent, rest of paragraph indented one step; first line no
1314 indent, rest of paragraph indented one step; first line no indent, rest of
1315 paragraph indented one step; first line no indent, rest of paragraph indented
1316 one step; first line no indent, rest of paragraph indented one step; first
1317 line no indent, rest of paragraph indented one step; first line no indent,
1318 rest of paragraph indented one step; first line no indent, rest of paragraph
1319 indented one step; first line no indent, rest of paragraph indented one step;
1320
1321 A regular paragraph.
1322
1323 first line indented, rest of paragraph no indent first line indented, rest of
1324 paragraph no indent first line indented, rest of paragraph no indent first line
1325 indented, rest of paragraph no indent first line indented, rest of paragraph no
1326 indent first line indented, rest of paragraph no indent first line indented,
1327 rest of paragraph no indent first line indented, rest of paragraph no indent
1328 first line indented, rest of paragraph no indent first line indented, rest of
1329 paragraph no indent first line indented, rest of paragraph no indent
1330
1331 in each case level may be 0-9
1332
1333 *live-build* A collection of scripts used to build customized *Debian*
1334 Livesystems. /live-build/ was formerly known as live-helper, and even earlier
1335 known as live-package.
1336
1337 *live-build*
1338 A collection of scripts used to build customized *Debian* Livesystems.
1339 /live-build/ was formerly known as live-helper, and even earlier known as
1340 live-package.
1341
1342 FOOTNOTES / ENDNOTES
1343 ....................
1344
1345 Footnotes and endnotes are marked up at the location where they would be
1346 indicated within a text. They are automatically numbered. The output type
1347 determines whether footnotes or endnotes will be produced
1348
1349 *markup example:*
1350
1351 ~{ a footnote or endnote }~
1352
1353
1354 *resulting output:*
1355
1356 [^5]
1357
1358 *markup example:*
1359
1360 normal text~{ self contained endnote marker & endnote in one }~ continues
1361
1362
1363 *resulting output:*
1364
1365 normal text[^6] continues
1366
1367 *markup example:*
1368
1369 normal text ~{* unnumbered asterisk footnote/endnote, insert multiple asterisks if required }~ continues
1370
1371 normal text ~{** another unnumbered asterisk footnote/endnote }~ continues
1372
1373
1374 *resulting output:*
1375
1376 normal text [^*] continues
1377
1378 normal text [^**] continues
1379
1380 *markup example:*
1381
1382 normal text ~[* editors notes, numbered asterisk footnote/endnote series ]~ continues
1383
1384 normal text ~[+ editors notes, numbered plus symbol footnote/endnote series ]~ continues
1385
1386
1387 *resulting output:*
1388
1389 normal text [^*3] continues
1390
1391 normal text [^+2] continues
1392
1393 *Alternative endnote pair notation for footnotes/endnotes:*
1394
1395 % note the endnote marker "~^"
1396
1397 normal text~^ continues
1398
1399 ^~ endnote text following the paragraph in which the marker occurs
1400
1401
1402 the standard and pair notation cannot be mixed in the same document
1403
1404 LINKS
1405 .....
1406
1407
1408 ----------------------------------------
1409
1410 NAKED URLS WITHIN TEXT, DEALING WITH URLS
1411 .........................................
1412
1413 urls found within text are marked up automatically. A url within text is
1414 automatically hyperlinked to itself and by default decorated with angled
1415 braces, unless they are contained within a code block (in which case they are
1416 passed as normal text), or escaped by a preceding underscore (in which case the
1417 decoration is omitted).
1418
1419 *markup example:*
1420
1421 normal text http://www.sisudoc.org/ continues
1422
1423
1424 *resulting output:*
1425
1426 normal text <http://www.sisudoc.org/> continues
1427
1428 An escaped url without decoration
1429
1430 *markup example:*
1431
1432 normal text _http://www.sisudoc.org/ continues
1433
1434 deb _http://www.jus.uio.no/sisu/archive unstable main non-free
1435
1436
1437 *resulting output:*
1438
1439 normal text http://www.sisudoc.org/ continues
1440
1441 deb http://www.jus.uio.no/sisu/archive unstable main non-free
1442
1443 where a code block is used there is neither decoration nor hyperlinking, code
1444 blocks are discussed later in this document
1445
1446 *resulting output:*
1447
1448 deb http://www.jus.uio.no/sisu/archive unstable main non-free
1449 deb-src http://www.jus.uio.no/sisu/archive unstable main non-free
1450
1451
1452
1453 ----------------------------------------
1454
1455 LINKING TEXT
1456 ............
1457
1458 To link text or an image to a url the markup is as follows
1459
1460 *markup example:*
1461
1462 about { SiSU }http://url.org markup
1463
1464
1465 *resulting output:*
1466
1467 about SiSU [link: <http://www.sisudoc.org/>] markup
1468
1469 A shortcut notation is available so the url link may also be provided
1470 automatically as a footnote
1471
1472 *markup example:*
1473
1474 about {~^ SiSU }http://url.org markup
1475
1476
1477 *resulting output:*
1478
1479 about SiSU [link: <http://www.sisudoc.org/>] [^7] markup
1480
1481 Internal document links to a tagged location, including an ocn
1482
1483 *markup example:*
1484
1485 about { text links }#link_text
1486
1487
1488 *resulting output:*
1489
1490 about text links
1491
1492 Shared document collection link
1493
1494 *markup example:*
1495
1496 about { SiSU book markup examples }:SiSU/examples.html
1497
1498
1499 *resulting output:*
1500
1501 about *SiSU* book markup examples
1502
1503
1504 ----------------------------------------
1505
1506 LINKING IMAGES
1507 ..............
1508
1509 *markup example:*
1510
1511 { tux.png 64x80 }image
1512
1513 % various url linked images
1514 [image: "a better way"]
1515 [image: "Way Better - with Gnu/Linux, Debian and Ruby"]
1516
1517 {~^ ruby_logo.png "Ruby" }http://www.ruby-lang.org/en/
1518
1519
1520 *resulting output:*
1521
1522 tux.png 64x80 [link: local image]
1523
1524 tux.png 64x80 "Gnu/Linux - a better way" [link: <http://www.sisudoc.org/>]
1525
1526 GnuDebianLinuxRubyBetterWay.png 100x101 "Way Better - with Gnu/Linux, Debian
1527 and Ruby" [link: <http://www.sisudoc.org/>]
1528
1529 ruby_logo.png 70x90 "Ruby" [link: <http://www.ruby-lang.org/en/>] [^8]
1530
1531 *linked url footnote shortcut*
1532
1533 {~^ [text to link] }http://url.org
1534
1535 % maps to: { [text to link] }http://url.org ~{ http://url.org }~
1536
1537 % which produces hyper-linked text within a document/paragraph, with an endnote providing the url for the text location used in the hyperlink
1538
1539
1540 text marker *~name
1541
1542
1543 note at a heading level the same is automatically achieved by providing names
1544 to headings 1, 2 and 3 i.e. 2~[name] and 3~[name] or in the case of
1545 auto-heading numbering, without further intervention.
1546
1547
1548 ----------------------------------------
1549
1550 LINK SHORTCUT FOR MULTIPLE VERSIONS OF A SISU DOCUMENT IN THE SAME DIRECTORY
1551 TREE
1552 ..............................................................................
1553
1554 *markup example:*
1555
1556 !_ /{"Viral Spiral"}/, David Bollier
1557
1558 { "Viral Spiral", David Bollier [3sS]}viral_spiral.david_bollier.sst
1559
1560
1561 */"Viral Spiral"/, David Bollier*
1562
1563 "Viral Spiral", David Bollier [link: <http://www.sisudoc.org/sisu/en/manifest/viral_spiral.david_bollier.manifest.html>]
1564 document manifest [link: <http://www.sisudoc.org/sisu/en/manifest/viral_spiral.david_bollier.manifest.html>]
1565 html, segmented text [link: <http://www.sisudoc.org/sisu/en/html/viral_spiral.david_bollier/viral_spiral.david_bollier.toc.html>]
1566 html, scroll, document in one [link: <http://www.sisudoc.org/sisu/en/html/viral_spiral.david_bollier.html>]
1567 epub [link: <http://www.sisudoc.org/sisu/en/epub/viral_spiral.david_bollier.epub>]
1568 pdf, landscape [link: <http://www.sisudoc.org/sisu/en/pdf/viral_spiral.david_bollier.landscape.a4.pdf>]
1569 pdf, portrait [link: <http://www.sisudoc.org/sisu/en/pdf/viral_spiral.david_bollier.landscape.a4.pdf>]
1570 odf: odt, open document text [link: <http://www.sisudoc.org/sisu/en/odt/viral_spiral.david_bollier.odt>]
1571 xhtml scroll [link: <http://www.sisudoc.org/sisu/en/xhtml/viral_spiral.david_bollier.xhtml>]
1572 xml, sax [link: <http://www.sisudoc.org/sisu/en/xml_sax/viral_spiral.david_bollier.sax.xml>]
1573 xml, dom [link: <http://www.sisudoc.org/sisu/en/xml_dom/viral_spiral.david_bollier.dom.xml>]
1574 concordance [link: <http://www.sisudoc.org/sisu/en/html/viral_spiral.david_bollier/concordance.html>]
1575 dcc, document content certificate (digests) [link: <http://www.sisudoc.org/sisu/en/digest/viral_spiral.david_bollier.hash_digest.txt>]
1576 markup source text [link: <http://www.sisudoc.org/sisu/en/src/viral_spiral.david_bollier.sst>]
1577 markup source (zipped) pod [link: <http://www.sisudoc.org/sisu/en/src/viral_spiral.david_bollier.sst.zip>]
1578
1579 GROUPED TEXT
1580 ............
1581
1582
1583 ----------------------------------------
1584
1585 TABLES
1586 ......
1587
1588 Tables may be prepared in two either of two forms
1589
1590 *markup example:*
1591
1592 table{ c3; 40; 30; 30;
1593
1594 This is a table
1595 this would become column two of row one
1596 column three of row one is here
1597
1598 And here begins another row
1599 column two of row two
1600 column three of row two, and so on
1601
1602 }table
1603
1604
1605 *resulting output:*
1606
1607 This is a table┆this would become column two of row one┆column three of row one is here』And here begins another row┆column two of row two┆column three of row two, and so on』
1608
1609 a second form may be easier to work with in cases where there is not much
1610 information in each column
1611
1612 *markup example:*[^10]
1613
1614 !_ Table 3.1: Contributors to Wikipedia, January 2001 - June 2005
1615
1616 {table~h 24; 12; 12; 12; 12; 12; 12;}
1617 |Jan. 2001|Jan. 2002|Jan. 2003|Jan. 2004|July 2004|June 2006
1618 Contributors* | 10| 472| 2,188| 9,653| 25,011| 48,721
1619 Active contributors** | 9| 212| 846| 3,228| 8,442| 16,945
1620 Very active contributors*** | 0| 31| 190| 692| 1,639| 3,016
1621 No. of English language articles| 25| 16,000| 101,000| 190,000| 320,000| 630,000
1622 No. of articles, all languages | 25| 19,000| 138,000| 490,000| 862,000|1,600,000
1623
1624 * Contributed at least ten times; ** at least 5 times in last month; *** more than 100 times in last month.
1625
1626
1627 *resulting output:*
1628
1629 *Table 3.1: Contributors to Wikipedia, January 2001 - June 2005*
1630
1631 ┆Jan. 2001┆Jan. 2002┆Jan. 2003┆Jan. 2004┆July 2004┆June 2006』Contributors*┆10┆472┆2,188┆9,653┆25,011┆48,721』Active contributors**┆9┆212┆846┆3,228┆8,442┆16,945』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』
1632
1633 * Contributed at least ten times; ** at least 5 times in last month; *** more
1634 than 100 times in last month.
1635
1636
1637 ----------------------------------------
1638
1639 POEM
1640 ....
1641
1642 *basic markup:*
1643
1644 poem{
1645
1646 Your poem here
1647
1648 }poem
1649
1650 Each verse in a poem is given an object number.
1651
1652
1653 *markup example:*
1654
1655 poem{
1656
1657 `Fury said to a
1658 mouse, That he
1659 met in the
1660 house,
1661 "Let us
1662 both go to
1663 law: I will
1664 prosecute
1665 YOU. --Come,
1666 I'll take no
1667 denial; We
1668 must have a
1669 trial: For
1670 really this
1671 morning I've
1672 nothing
1673 to do."
1674 Said the
1675 mouse to the
1676 cur, "Such
1677 a trial,
1678 dear Sir,
1679 With
1680 no jury
1681 or judge,
1682 would be
1683 wasting
1684 our
1685 breath."
1686 "I'll be
1687 judge, I'll
1688 be jury,"
1689 Said
1690 cunning
1691 old Fury:
1692 "I'll
1693 try the
1694 whole
1695 cause,
1696 and
1697 condemn
1698 you
1699 to
1700 death."'
1701
1702 }poem
1703
1704
1705 *resulting output:*
1706
1707 `Fury said to a
1708 mouse, That he
1709 met in the
1710 house,
1711 "Let us
1712 both go to
1713 law: I will
1714 prosecute
1715 YOU. --Come,
1716 I'll take no
1717 denial; We
1718 must have a
1719 trial: For
1720 really this
1721 morning I've
1722 nothing
1723 to do."
1724 Said the
1725 mouse to the
1726 cur, "Such
1727 a trial,
1728 dear Sir,
1729 With
1730 no jury
1731 or judge,
1732 would be
1733 wasting
1734 our
1735 breath."
1736 "I'll be
1737 judge, I'll
1738 be jury,"
1739 Said
1740 cunning
1741 old Fury:
1742 "I'll
1743 try the
1744 whole
1745 cause,
1746 and
1747 condemn
1748 you
1749 to
1750 death."'
1751
1752
1753 ----------------------------------------
1754
1755 GROUP
1756 .....
1757
1758 *basic markup:*
1759
1760 group{
1761
1762 Your grouped text here
1763
1764 }group
1765
1766 A group is treated as an object and given a single object number.
1767
1768
1769 *markup example:*
1770
1771 group{
1772
1773 `Fury said to a
1774 mouse, That he
1775 met in the
1776 house,
1777 "Let us
1778 both go to
1779 law: I will
1780 prosecute
1781 YOU. --Come,
1782 I'll take no
1783 denial; We
1784 must have a
1785 trial: For
1786 really this
1787 morning I've
1788 nothing
1789 to do."
1790 Said the
1791 mouse to the
1792 cur, "Such
1793 a trial,
1794 dear Sir,
1795 With
1796 no jury
1797 or judge,
1798 would be
1799 wasting
1800 our
1801 breath."
1802 "I'll be
1803 judge, I'll
1804 be jury,"
1805 Said
1806 cunning
1807 old Fury:
1808 "I'll
1809 try the
1810 whole
1811 cause,
1812 and
1813 condemn
1814 you
1815 to
1816 death."'
1817
1818 }group
1819
1820
1821 *resulting output:*
1822
1823 `Fury said to a
1824 mouse, That he
1825 met in the
1826 house,
1827 "Let us
1828 both go to
1829 law: I will
1830 prosecute
1831 YOU. --Come,
1832 I'll take no
1833 denial; We
1834 must have a
1835 trial: For
1836 really this
1837 morning I've
1838 nothing
1839 to do."
1840 Said the
1841 mouse to the
1842 cur, "Such
1843 a trial,
1844 dear Sir,
1845 With
1846 no jury
1847 or judge,
1848 would be
1849 wasting
1850 our
1851 breath."
1852 "I'll be
1853 judge, I'll
1854 be jury,"
1855 Said
1856 cunning
1857 old Fury:
1858 "I'll
1859 try the
1860 whole
1861 cause,
1862 and
1863 condemn
1864 you
1865 to
1866 death."'
1867
1868
1869 ----------------------------------------
1870
1871 CODE
1872 ....
1873
1874 Code tags # code{ ... }code # (used as with other group tags described above)
1875 are used to escape regular sisu markup, and have been used extensively within
1876 this document to provide examples of *SiSU* markup. You cannot however use code
1877 tags to escape code tags. They are however used in the same way as group or
1878 poem tags.
1879
1880 A code-block is treated as an object and given a single object number. [an
1881 option to number each line of code may be considered at some later time]
1882
1883 *use of code tags instead of poem compared, resulting output:*
1884
1885 `Fury said to a
1886 mouse, That he
1887 met in the
1888 house,
1889 "Let us
1890 both go to
1891 law: I will
1892 prosecute
1893 YOU. --Come,
1894 I'll take no
1895 denial; We
1896 must have a
1897 trial: For
1898 really this
1899 morning I've
1900 nothing
1901 to do."
1902 Said the
1903 mouse to the
1904 cur, "Such
1905 a trial,
1906 dear Sir,
1907 With
1908 no jury
1909 or judge,
1910 would be
1911 wasting
1912 our
1913 breath."
1914 "I'll be
1915 judge, I'll
1916 be jury,"
1917 Said
1918 cunning
1919 old Fury:
1920 "I'll
1921 try the
1922 whole
1923 cause,
1924 and
1925 condemn
1926 you
1927 to
1928 death."'
1929
1930
1931 From *SiSU* 2.7.7 on you can number codeblocks by placing a hash after the
1932 opening code tag # code{# # as demonstrated here:
1933
1934 1 ┆ `Fury said to a
1935 2 ┆ mouse, That he
1936 3 ┆ met in the
1937 4 ┆ house,
1938 5 ┆ "Let us
1939 6 ┆ both go to
1940 7 ┆ law: I will
1941 8 ┆ prosecute
1942 9 ┆ YOU. --Come,
1943 10 ┆ I'll take no
1944 11 ┆ denial; We
1945 12 ┆ must have a
1946 13 ┆ trial: For
1947 14 ┆ really this
1948 15 ┆ morning I've
1949 16 ┆ nothing
1950 17 ┆ to do."
1951 18 ┆ Said the
1952 19 ┆ mouse to the
1953 20 ┆ cur, "Such
1954 21 ┆ a trial,
1955 22 ┆ dear Sir,
1956 23 ┆ With
1957 24 ┆ no jury
1958 25 ┆ or judge,
1959 26 ┆ would be
1960 27 ┆ wasting
1961 28 ┆ our
1962 29 ┆ breath."
1963 30 ┆ "I'll be
1964 31 ┆ judge, I'll
1965 32 ┆ be jury,"
1966 33 ┆ Said
1967 34 ┆ cunning
1968 35 ┆ old Fury:
1969 36 ┆ "I'll
1970 37 ┆ try the
1971 38 ┆ whole
1972 39 ┆ cause,
1973 40 ┆ and
1974 41 ┆ condemn
1975 42 ┆ you
1976 43 ┆ to
1977 44 ┆ death."'
1978
1979 ADDITIONAL BREAKS - LINEBREAKS WITHIN OBJECTS, COLUMN AND PAGE-BREAKS
1980 .....................................................................
1981
1982
1983 ----------------------------------------
1984
1985 LINE-BREAKS
1986 ...........
1987
1988 To break a line within a "paragraph object", two backslashes \\
1989 with a space before and a space or newline after them
1990 may be used.
1991
1992 To break a line within a "paragraph object",
1993 two backslashes \\ with a space before
1994 and a space or newline after them \\
1995 may be used.
1996
1997
1998 The html break br enclosed in angle brackets (though undocumented) is available
1999 in versions prior to 3.0.13 and 2.9.7 (it remains available for the time being,
2000 but is depreciated).
2001
2002 To draw a dividing line dividing paragraphs, see the section on page breaks.
2003
2004
2005 ----------------------------------------
2006
2007 PAGE BREAKS
2008 ...........
2009
2010 Page breaks are only relevant and honored in some output formats. A page break
2011 or a new page may be inserted manually using the following markup on a line on
2012 its own:
2013
2014 page new =\= or ╋ breaks the page, starts a new page.
2015
2016 page break -\- or ┼ breaks a column, starts a new column, if using columns,
2017 else breaks the page, starts a new page.
2018
2019 page break line across page -..- draws a dividing line, dividing paragraphs
2020
2021 page break:
2022
2023 -\\-
2024
2025 or
2026
2027 <:pb>
2028
2029
2030 page (break) new:
2031
2032 =\\=
2033
2034 or
2035
2036 <:pn>
2037
2038
2039 page (break) line across page (dividing paragraphs):
2040
2041 -..-
2042
2043
2044 BOOK INDEX
2045 ..........
2046
2047 To make an index append to paragraph the book index term relates to it, using
2048 an equal sign and curly braces.
2049
2050 Currently two levels are provided, a main term and if needed a sub-term.
2051 Sub-terms are separated from the main term by a colon.
2052
2053 Paragraph containing main term and sub-term.
2054 ={Main term:sub-term}
2055
2056
2057 The index syntax starts on a new line, but there should not be an empty line
2058 between paragraph and index markup.
2059
2060 The structure of the resulting index would be:
2061
2062 Main term, 1
2063 sub-term, 1
2064
2065
2066 Several terms may relate to a paragraph, they are separated by a semicolon. If
2067 the term refers to more than one paragraph, indicate the number of paragraphs.
2068
2069 Paragraph containing main term, second term and sub-term.
2070 ={first term; second term: sub-term}
2071
2072
2073 The structure of the resulting index would be:
2074
2075 First term, 1,
2076 Second term, 1,
2077 sub-term, 1
2078
2079
2080 If multiple sub-terms appear under one paragraph, they are separated under the
2081 main term heading from each other by a pipe symbol.
2082
2083 Paragraph containing main term, second term and sub-term.
2084 ={Main term:
2085 sub-term+2|second sub-term;
2086 Another term
2087 }
2088
2089 A paragraph that continues discussion of the first sub-term
2090
2091
2092 The plus one in the example provided indicates the first sub-term spans one
2093 additional paragraph. The logical structure of the resulting index would be:
2094
2095 Main term, 1,
2096 sub-term, 1-3,
2097 second sub-term, 1,
2098 Another term, 1
2099
2100
2101 COMPOSITE DOCUMENTS MARKUP
2102 --------------------------
2103
2104 It is possible to build a document by creating a master document that requires
2105 other documents. The documents required may be complete documents that could be
2106 generated independently, or they could be markup snippets, prepared so as to be
2107 easily available to be placed within another text. If the calling document is a
2108 master document (built from other documents), it should be named with the
2109 suffix *.ssm* Within this document you would provide information on the other
2110 documents that should be included within the text. These may be other documents
2111 that would be processed in a regular way, or markup bits prepared only for
2112 inclusion within a master document *.sst* regular markup file, or *.ssi*
2113 (insert/information) A secondary file of the composite document is built prior
2114 to processing with the same prefix and the suffix *._sst*
2115
2116 basic markup for importing a document into a master document
2117
2118 << filename1.sst
2119
2120 << filename2.ssi
2121
2122
2123 The form described above should be relied on. Within the /Vim/ editor it
2124 results in the text thus linked becoming hyperlinked to the document it is
2125 calling in which is convenient for editing.
2126
2127 SUBSTITUTIONS
2128 -------------
2129
2130 *markup example:*
2131
2132 The current Debian is ${debian_stable} the next debian will be ${debian_testing}
2133
2134 Configure substitution in _sisu/sisu_document_make
2135
2136 @make:
2137 :substitute: /${debian_stable}/,'*{Wheezy}*' /${debian_testing}/,'*{Jessie}*'
2138
2139
2140 *resulting output:*
2141
2142 The current *Debian* is *Wheezy* the next debian will be *Jessie*
2143
2144 Configure substitution in _sisu/sisu_document_make
2145
2146
2147 ----------------------------------------
2148
2149
2150 ----------------------------------------
2151
2152
2153 [1]: <http://packages.qa.debian.org/s/sisu.html>
2154
2155 [2]: from the *Debian* control file
2156
2157 [*1]: square brackets
2158
2159 [*2]: square brackets
2160
2161 [+1]: square brackets
2162
2163 [3]: From sometime after SiSU 0.58 it should be possible to describe SiSU markup
2164 using SiSU, which though not an original design goal is useful.
2165
2166 [4]: files should be prepared using /UTF-8/ character encoding
2167
2168 [5]: a footnote or endnote
2169
2170 [6]: self contained endnote marker & endnote in one
2171
2172 [*]: unnumbered asterisk footnote/endnote, insert multiple asterisks if required
2173
2174 [**]: another unnumbered asterisk footnote/endnote
2175
2176 [*3]: editors notes, numbered asterisk footnote/endnote series
2177
2178 [+2]: editors notes, numbered plus symbol footnote/endnote series
2179
2180 [7]: <http://www.sisudoc.org/>
2181
2182 [8]: <http://www.ruby-lang.org/en/>
2183
2184 [10]: Table from the Wealth of Networks by Yochai Benkler
2185
2186 <http://www.jus.uio.no/sisu/the_wealth_of_networks.yochai_benkler>
2187
2188 ==============================================================================
2189
2190 Title: SiSU - README
2191
2192 Creator: Ralph Amissah
2193
2194 Rights: Copyright (C) Ralph Amissah 2014;\\ License: GPL 3 (part of SiSU
2195 documentation)
2196
2197 Subject: ebook, epublishing, electronic book, electronic publishing,
2198 electronic document, electronic citation, data structure,
2199 citation systems, search
2200
2201 Publisher: SiSU http://www.jus.uio.no/sisu (this copy)
2202
2203 Date created: 2014-02-02
2204
2205 Date available: 2014-02-02
2206
2207 Date modified: 2014-02-02
2208
2209 Date: 2014-02-02
2210
2211 Sourcefile: README.ssm.sst
2212
2213 Filetype: SiSU text insert 5.0,
2214
2215 Source digest: SHA256(README.ssm.sst)=
2216 e9ee6379dcf3a05c2b0ae19f091f7e2b1579d7b8a683996a8c53eb57249497c4
2217
2218 Generated by: Generated by: SiSU 6.0.4 of 2014w06/5 (2014-02-14)
2219
2220 Ruby version: ruby 2.1.0p0 (2013-12-25) [i386-linux-gnu]
2221
2222 Document (ao) last generated: 2014-02-14 00:05:38 -0500
2223
2224 ==============================================================================
2225
2226
2227 plaintext (plain text):
2228 http://niu/manual/en/txt/README.txt
2229
2230 Other versions of this document:
2231
2232 manifest:
2233 http://niu/manual/en/manifest/README.html
2234
2235 at:
2236 http://niu/manual
2237
2238
2239
2240 * Generated by: SiSU 6.0.4 of 2014w06/5 (2014-02-14)
2241 * Ruby version: ruby 2.1.0p0 (2013-12-25) [i386-linux-gnu]
2242 * Last Generated on: 2014-02-14 00:05:39 -0500
2243 * SiSU http://www.sisudoc.org/