aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--conf/sisu/rc/sisurc_default.yml2
-rw-r--r--conf/sisu/sisurc.yml2
-rw-r--r--data/doc/sisu/CHANGELOG_v715
-rw-r--r--data/doc/sisu/markup-samples/manual/_sisu/rc/sisurc_default.yml2
-rw-r--r--data/doc/sisu/markup-samples/manual/_sisu/sisurc.yml2
-rw-r--r--data/doc/sisu/markup-samples/manual/en/sisu_search_cgi.ssi26
-rw-r--r--data/doc/sisu/markup-samples/manual/en/sisu_search_intro.ssi17
-rw-r--r--data/doc/sisu/markup-samples/manual/en/sisu_sql.ssi43
-rw-r--r--data/sisu/conf/editor-syntax-etc/emacs/sisu-mode-autoloads.el10
-rw-r--r--data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el231
-rw-r--r--data/sisu/version.yml6
-rw-r--r--lib/sisu/ao_images.rb12
-rw-r--r--man/man1/sisu.1135
-rw-r--r--setup/sisu_version.rb2
14 files changed, 443 insertions, 62 deletions
diff --git a/conf/sisu/rc/sisurc_default.yml b/conf/sisu/rc/sisurc_default.yml
index 790eb315..9090870c 100644
--- a/conf/sisu/rc/sisurc_default.yml
+++ b/conf/sisu/rc/sisurc_default.yml
@@ -151,7 +151,7 @@ program_set:
#search:
# sisu:
# flag: true
-# action: http://www.sisudoc.org/cgi-bin/sisu_v6c_sqlite.cgi
+# action: http://www.sisudoc.org/cgi-bin/sisu_7a_sqlite.cgi
# action: http://localhost:8081/cgi-bin/sisu_pgsql.cgi
# action: http://192.168.1.108/cgi-bin/sisu_pgsql.cgi
# action: http://search.sisudoc.org
diff --git a/conf/sisu/sisurc.yml b/conf/sisu/sisurc.yml
index 790eb315..9090870c 100644
--- a/conf/sisu/sisurc.yml
+++ b/conf/sisu/sisurc.yml
@@ -151,7 +151,7 @@ program_set:
#search:
# sisu:
# flag: true
-# action: http://www.sisudoc.org/cgi-bin/sisu_v6c_sqlite.cgi
+# action: http://www.sisudoc.org/cgi-bin/sisu_7a_sqlite.cgi
# action: http://localhost:8081/cgi-bin/sisu_pgsql.cgi
# action: http://192.168.1.108/cgi-bin/sisu_pgsql.cgi
# action: http://search.sisudoc.org
diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7
index 3649cece..8b525044 100644
--- a/data/doc/sisu/CHANGELOG_v7
+++ b/data/doc/sisu/CHANGELOG_v7
@@ -20,6 +20,21 @@ Reverse Chronological:
--- HEAD ---
+* sisu_7.1.6.orig.tar.xz (2015-12-15:50/2)
+ http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.6
+
+ * emacs sisu-mode.el & sisu-mode-autoloads.el:
+ * sisu-mode.el, minor update and modify format to reduce diff with FSF
+ version, and match tic style markup blocks ```
+ (revisit tic block markup, improperly impmented)
+ * sisu-mode-autoloads.el, added (see elpa 3.0.3 & Kevin Ryde recent post)
+
+ * documentation related to search, needs further review
+
+ * filename reference version update sisu_7a_sqlite.cgi
+
+ * ao_images, require 'rmagick' (instead of 'RMagick' depreciated)
+
* sisu_7.1.5.orig.tar.xz (2015-06-02:22/2)
http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.5
diff --git a/data/doc/sisu/markup-samples/manual/_sisu/rc/sisurc_default.yml b/data/doc/sisu/markup-samples/manual/_sisu/rc/sisurc_default.yml
index 3cb49894..e617de97 100644
--- a/data/doc/sisu/markup-samples/manual/_sisu/rc/sisurc_default.yml
+++ b/data/doc/sisu/markup-samples/manual/_sisu/rc/sisurc_default.yml
@@ -138,7 +138,7 @@ program_set:
#search:
# sisu:
# flag: true
-# action: http://www.sisudoc.org/cgi-bin/sisu_v6c_sqlite.cgi
+# action: http://www.sisudoc.org/cgi-bin/sisu_7a_sqlite.cgi
# action: http://search.sisudoc.org
# db: manual
# title: 'SiSU search form (sample)'
diff --git a/data/doc/sisu/markup-samples/manual/_sisu/sisurc.yml b/data/doc/sisu/markup-samples/manual/_sisu/sisurc.yml
index 3cb49894..e617de97 100644
--- a/data/doc/sisu/markup-samples/manual/_sisu/sisurc.yml
+++ b/data/doc/sisu/markup-samples/manual/_sisu/sisurc.yml
@@ -138,7 +138,7 @@ program_set:
#search:
# sisu:
# flag: true
-# action: http://www.sisudoc.org/cgi-bin/sisu_v6c_sqlite.cgi
+# action: http://www.sisudoc.org/cgi-bin/sisu_7a_sqlite.cgi
# action: http://search.sisudoc.org
# db: manual
# title: 'SiSU search form (sample)'
diff --git a/data/doc/sisu/markup-samples/manual/en/sisu_search_cgi.ssi b/data/doc/sisu/markup-samples/manual/en/sisu_search_cgi.ssi
index 9641bea6..6197daf0 100644
--- a/data/doc/sisu/markup-samples/manual/en/sisu_search_cgi.ssi
+++ b/data/doc/sisu/markup-samples/manual/en/sisu_search_cgi.ssi
@@ -26,6 +26,30 @@
1~search_cgi CGI Search Form
={ SiSU sql:cgi search form; SiSU search:cgi search form;search form }
+For the search form, which is a single search page
+
+_* configure the search form
+
+_* generate the sample search form with the sisu command, (this will be based on the configuration settings and existing found sisu databases)
+
+For postgresql web content you may need to edit the search cgi script. Two things to look out for are that the user is set as needed, and that the any different databases that you wish to be able to query are listed.
+
+correctly, you may want www-data rather than your username.
+
+``` code
+@user='www-data'
+```
+
+_* check the search form, copy it to the appropriate cgi directory and set the correct permissions
+
+For a search form to appear on each html page, you need to:
+
+_* rely on the above mentioned configuration of the search form
+
+_* configure the html search form to be on
+
+_* run the html command
+
2~ Setup search form
You will need a web server, httpd with cgi enabled, and a postgresql database to which you are able to create databases.
@@ -40,7 +64,7 @@ sudo su postgres
You then need to create the database that sisu will use, for sisu manual in the directory manual/en for example, (when you try to populate a database that does not exist sisu prompts as to whether it exists):
``` code
-createdb SiSUv6a_manual
+createdb SiSU.7a.manual
```
SiSU is then able to create the required tables that allow you to populate the database with documents in the directory for which it has been created:
diff --git a/data/doc/sisu/markup-samples/manual/en/sisu_search_intro.ssi b/data/doc/sisu/markup-samples/manual/en/sisu_search_intro.ssi
index 1969c1a4..1ae5ca16 100644
--- a/data/doc/sisu/markup-samples/manual/en/sisu_search_intro.ssi
+++ b/data/doc/sisu/markup-samples/manual/en/sisu_search_intro.ssi
@@ -24,9 +24,22 @@
1~search_intro SiSU Search - Introduction
={ SiSU search }
-SiSU output can easily and conveniently be indexed by a number of standalone indexing tools, such as Lucene, Hyperestraier.
-
Because the document structure of sites created is clearly defined, and the text object citation system is available hypothetically at least, for all forms of output, it is possible to search the sql database, and either read results from that database, or map the results to the html or other output, which has richer text markup.
SiSU can populate a relational sql type database with documents at an object level, including objects numbers that are shared across different output types. Making a document corpus searchable with that degree of granularity. Basically, your match criteria is met by these documents and at these locations within each document, which can be viewed within the database directly or in various output formats.
+SiSU can populate an sql database (sqlite3 or postgresql) with documents made up of their objects. It also can generate a cgi search form that can be used to query the database.
+
+In order to use the built in search functionality you would take the following steps.
+
+_* use sisu to populate an sql database with with a sisu markup content
+
+_1* sqlite3 should work out of the box
+
+_1* postgresql may require some initial database configuration
+
+_* provide a way to query the database, which sisu can assist with by
+
+_1* generating a sample ruby cgi search form, required (sisu configuration recommended)
+
+_1* adding a query field for this search form to be added to all html files (sisu configuration required)
diff --git a/data/doc/sisu/markup-samples/manual/en/sisu_sql.ssi b/data/doc/sisu/markup-samples/manual/en/sisu_sql.ssi
index 771d3001..4b4866ec 100644
--- a/data/doc/sisu/markup-samples/manual/en/sisu_sql.ssi
+++ b/data/doc/sisu/markup-samples/manual/en/sisu_sql.ssi
@@ -27,11 +27,48 @@
:C~? Search
1~search_sql SQL
-
-2~ populating SQL type databases
={ SiSU sql; SiSU search }
-SiSU feeds sisu markupd documents into sql type databases PostgreSQL~{ http://www.postgresql.org/ \\ http://advocacy.postgresql.org/ \\ http://en.wikipedia.org/wiki/Postgresql }~ and/or SQLite~{ http://www.hwaci.com/sw/sqlite/ \\ http://en.wikipedia.org/wiki/Sqlite }~ database together with information related to document structure.
+2~ Populate the database
+={ SiSU search:populate database }
+
+TO populate the sql database, run sisu against a sisu markup file with one of the following sets of flags
+
+``` code
+sisu --sqlite filename.sst
+```
+
+creates an sqlite3 database containing searchable content of just the sisu markup document selected
+
+``` code
+sisu --sqlite --update filename.sst
+```
+
+creates an sqlite3 database containing searchable content of marked up document(s) selected by the user from a common directory
+
+``` code
+sisu --pg --update filename.sst
+```
+
+fills a postgresql database with searchable content of marked up document(s) selected by the user from a common directory
+
+For postgresql the first time the command is run in a given directory the user will be prompted to create the requisite database, at the time of writing the prompt sisu provides is as follows:
+
+``` code
+no connection with pg database established, you may need to run:
+ createdb "SiSU.7a.current"
+ after that don't forget to run:
+ sisu --pg --createall
+ before attempting to populate the database
+```
+
+The named database that sisu expects to find must exist and if necessary be created using postgresql tools. If the database exist but the database tables do not, sisu will attempt to create the tables it needs, the equivalent of the requested #{sisu --pg --createall}# command.
+
+Once this is done, the sql database is populated and ready to be queried.
+
+2~ SQL type databases
+
+SiSU feeds sisu markup documents into sql type databases PostgreSQL~{ http://www.postgresql.org/ \\ http://advocacy.postgresql.org/ \\ http://en.wikipedia.org/wiki/Postgresql }~ and/or SQLite~{ http://www.hwaci.com/sw/sqlite/ \\ http://en.wikipedia.org/wiki/Sqlite }~ database together with information related to document structure.
This is one of the more interesting output forms, as all the structural data of the documents are retained (though can be ignored by the user of the database should they so choose). All site texts/documents are (currently) streamed to four tables:
diff --git a/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode-autoloads.el b/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode-autoloads.el
new file mode 100644
index 00000000..81c69e54
--- /dev/null
+++ b/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode-autoloads.el
@@ -0,0 +1,10 @@
+(add-to-list 'load-path (or (file-name-directory #$) (car load-path)))
+(autoload 'sisu-mode "sisu-mode" "\
+Major mode for editing SiSU markup files.
+SiSU (http://www.sisudoc.org/) document structuring, publishing
+and search.
+
+\(fn)" t nil)
+(add-to-list 'auto-mode-alist '("\\.sst\\'" . sisu-mode))
+(add-to-list 'auto-mode-alist '("\\.ssm\\'" . sisu-mode))
+(add-to-list 'auto-mode-alist '("\\.ssi\\'" . sisu-mode))
diff --git a/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el b/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el
index 772a87d8..03b2ebfa 100644
--- a/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el
+++ b/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el
@@ -1,44 +1,63 @@
;;; sisu-mode.el --- a major-mode for highlighting a hierarchy structured text.
-;; @Author: Ambrose Kofi Laing & Ralph Amissah
-;; @Keywords: text, syntax, processes, tools
-;; @Version: 4.0.8 2013-02-17 (3.0.7 2011-04-20) (2008-12-14)
-;; [3.0.7 2011-04-20 Ambrose Kofi Laing & Ralph Amissah]
-;; [5.7.2 2014-10-28 Ralph Amissah]
-;; @URL: <http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el;hb=HEAD>
-;; @Copyright: Assigned to FSF 2011-04-08 (GNU EMACS)
-;; @License: GPLv3
-;; @Home URL: SiSU: http://www.jus.uio.no/sisu
+
+;; Copyright (C): Free Software Foundation, Inc. (FSF) (GNU EMACS)
+;; Assigned to FSF 2011-04-08
+;;
+;; [this file has been edited and updated by Ralph Amissah]
+
+;; Author: Ralph Amissah & Ambrose Kofi Laing
+;; Keywords: text, syntax, processes, tools
+;; Version: 7.1.6 2015-12-14 Ralph Amissah,
+;; 5.7.2 2014-10-28 Ralph Amissah,
+;; 4.0.8 2013-02-17 Ralph Amissah;
+;; 3.0.7 2011-04-20 Ambrose Kofi Laing & Ralph Amissah;
+;; 2008-12-14
+;; URL: [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el;hb=HEAD]
+;; License: GPLv3
+;; Home URL: SiSU: http://www.jus.uio.no/sisu
;; originally looked at (based on) doc-mode, with kind permission of the author
;; Author: SUN, Tong <suntong001@users.sf.net>, (c)2001-6, all right reserved
;; Version: $Date: 2006/01/19 03:13:41 $ $Revision: 1.14 $
;; Home URL: http://xpt.sourceforge.net/
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation; either version 3, or (at your option)
+;; any later version.
;;
-;; Distribute freely, but please include the author's info & copyright,
-;; the file's version & url with the distribution.
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
;;
-; Viva Software Libre!
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;; Viva Software Libre!
;; Support the free software movement!
-;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Commentary:
-;;
-;; To enter sisu-mode automatically, add (autoload 'sisu-mode "sisu-mode")
-;; to your .emacs file and change the first line of your sisu file to:
+;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;; Commentary:
+
+;; SiSU (http://www.sisudoc.org/) is a document structuring and
+;; publishing framework. This package provides an Emacs major mode
+;; for SiSU markup.
+
+;; When this package is installed, files ending in ".sisu" are
+;; automatically associated with sisu-mode. If a file doesn't have a
+;; .sisu extension, add a first line:
;; # -*- Sisu -*-
-;; if it doesn't have a .sisu extension.
-;;
-;; To handle .sisu files, e.g., 'filename.sisu', add something like
-;; (add-to-list 'auto-mode-alist '("\\.sisu$" . sisu-mode))
-;; to your .emacs file
-;;
-;; The documentation for the "Structure Of The Hierarchy Text" can be found in
-;; the sisustring for the sisu-mode function.
-;;
-;; Variables:
+
+;; The documentation for the "Structure Of The Hierarchy Text" can be
+;; found in the sisustring for the sisu-mode function.
+
(defgroup sisu-faces nil
"AsciiSisu highlighting"
:group 'sisus)
+
;; == Colors
; color n is more prominent than color n+1
+
(defface sisu-title-1-face
`((((class color)
(background dark))
@@ -49,6 +68,7 @@
(t (:weight bold :inherit variable-pitch)))
"Face for AsciiSisu titles at level 1."
:group 'sisu-faces)
+
(defface sisu-title-2-face
`((((class color)
(background dark))
@@ -59,6 +79,7 @@
(t (:weight bold :inherit variable-pitch)))
"Face for AsciiSisu titles at level 2."
:group 'sisu-faces)
+
(defface sisu-title-3-face
`((((class color)
(background dark))
@@ -69,6 +90,7 @@
(t (:weight bold)))
"Face for AsciiSisu titles at level 3."
:group 'sisu-faces)
+
(defface sisu-title-4-face
`((((class color)
(background dark))
@@ -79,35 +101,46 @@
(t ()))
"Face for AsciiSisu titles at level 4."
:group 'sisu-faces)
+
(defface info-node
'((((class color) (background light)) (:foreground "brown" :bold t :italic t))
(((class color) (background dark)) (:foreground "white" :bold t :italic t))
(t (:bold t :italic t)))
"Face for Info node names."
:group 'sisu-faces)
+
(defvar sisu-title-1 'sisu-title-1-face)
(defvar sisu-title-2 'sisu-title-2-face)
(defvar sisu-title-3 'sisu-title-3-face)
(defvar sisu-title-4 'sisu-title-4-face)
+
(defvar general-font-lock-red1 font-lock-warning-face)
(defvar general-font-lock-red2 font-lock-comment-face)
(defvar general-font-lock-red3 font-lock-string-face)
+
(defvar general-font-lock-green1 font-lock-type-face)
(defvar general-font-lock-green2 font-lock-constant-face)
+
(defvar general-font-lock-blue1 font-lock-keyword-face)
(defvar general-font-lock-blue2 font-lock-function-name-face)
(defvar general-font-lock-blue3 font-lock-builtin-face)
+
(defvar general-font-lock-yellow1 font-lock-variable-name-face)
(defvar general-font-lock-yellow2 font-lock-comment-face)
+
;; == sisu-mode settings
+
(defvar sisu-mode-hook nil
"Normal hook run when entering Sisu Text mode.")
+
(defvar sisu-mode-abbrev-table nil
"Abbrev table in use in Sisu-mode buffers.")
(define-abbrev-table 'sisu-mode-abbrev-table ())
+
(defconst sisu-font-lock-keywords
(eval-when-compile
(list
+
;;grouped text ---------
(cons "^group\{\\|^\}group" 'general-font-lock-red2)
(cons "^block\{\\|^\}block" 'general-font-lock-red2)
@@ -116,6 +149,70 @@
(cons "^alt\{\\|^\}alt" 'general-font-lock-red2)
(cons "^table\{.+\\|^\}table" 'general-font-lock-red2)
(cons "^\{table[^}]+\}" 'general-font-lock-red2)
+
+ (list
+ (concat
+ "^\\(\`\\{3\\}[ ]+code\\)"
+ "\\([^\`]+\\)" ;not satisfactory how to not match three repeated tics ` and how to specify only this type of tic ` (open single quote)
+ ;"\\([^\`]\\{3\\}\\)" ; nope
+ ;"\\([^\`]\\)\\{3\\}" ; ; nope
+ "\\(\`\\{3\\}\\)$"
+ )
+ '(1 general-font-lock-red2 t)
+ '(2 nil t)
+ '(3 general-font-lock-red2 t)
+ )
+ (list
+ (concat
+ "^\\(\`\\{3\\}[ ]+group\\)"
+ "\\([^\`]+\\)" ;not satisfactory how to not match three repeated tics ` and how to specify only this type of tic ` (open single quote)
+ "\\(\`\\{3\\}\\)$"
+ )
+ '(1 general-font-lock-red2 t)
+ '(2 nil t)
+ '(3 general-font-lock-red2 t)
+ )
+ (list
+ (concat
+ "^\\(\`\\{3\\}[ ]+block\\)"
+ "\\([^\`]+\\)" ;not satisfactory how to not match three repeated tics ` and how to specify only this type of tic ` (open single quote)
+ "\\(\`\\{3\\}\\)$"
+ )
+ '(1 general-font-lock-red2 t)
+ '(2 nil t)
+ '(3 general-font-lock-red2 t)
+ )
+ (list
+ (concat
+ "^\\(\`\\{3\\}[ ]+poem\\)"
+ "\\([^\`]+\\)" ;not satisfactory how to not match three repeated tics ` and how to specify only this type of tic ` (open single quote)
+ "\\(\`\\{3\\}\\)$"
+ )
+ '(1 general-font-lock-red2 t)
+ '(2 nil t)
+ '(3 general-font-lock-red2 t)
+ )
+ (list
+ (concat
+ "^\\(\`\\{3\\}[ ]+alt\\)"
+ "\\([^\`]+\\)" ;not satisfactory how to not match three repeated tics ` and how to specify only this type of tic ` (open single quote)
+ "\\(\`\\{3\\}\\)$"
+ )
+ '(1 general-font-lock-red2 t)
+ '(2 nil t)
+ '(3 general-font-lock-red2 t)
+ )
+ (list
+ (concat
+ "^\\(\`\\{3\\}[ ]+table\\)"
+ "\\([^\`]+\\)" ;not satisfactory how to not match three repeated tics ` and how to specify only this type of tic ` (open single quote)
+ "\\(\`\\{3\\}\\)$"
+ )
+ '(1 general-font-lock-red2 t)
+ '(2 nil t)
+ '(3 general-font-lock-red2 t)
+ )
+
;; footnote/endnote ----
;(cons "\~\{.+?\}\~" 'general-font-lock-green1)
(cons "\~\{\\*\\*\\|\~\{\\*\\|\~\{\\|\}\~" 'general-font-lock-red2)
@@ -129,6 +226,7 @@
'(1 general-font-lock-red1 t)
'(2 general-font-lock-blue2 t)
)
+
;; emphasis (can be program configured to be bold italics or underscore)
(list
(concat
@@ -140,6 +238,7 @@
'(2 general-font-lock-red1 t)
'(3 general-font-lock-red1 t)
)
+
;; bold ----------------
(list
(concat
@@ -153,6 +252,7 @@
)
(cons "\\*[^ ]+\\*" 'general-font-lock-red1)
(cons "^!_ .+" 'general-font-lock-red1)
+
;; italics -------------
(list
(concat
@@ -164,6 +264,7 @@
'(2 general-font-lock-blue1 t)
'(3 general-font-lock-red1 t)
)
+
;; underscore ----------
(list
(concat
@@ -175,6 +276,7 @@
'(2 general-font-lock-red1 t)
'(3 general-font-lock-red1 t)
)
+
;; monospace -----------
(list
(concat
@@ -186,6 +288,7 @@
'(2 general-font-lock-red1 t)
'(3 general-font-lock-red1 t)
)
+
;; citation ------------
(list
(concat
@@ -197,6 +300,7 @@
'(2 general-font-lock-red1 t)
'(3 general-font-lock-red1 t)
)
+
;; inserted text -------
(list
(concat
@@ -208,6 +312,7 @@
'(2 general-font-lock-red1 t)
'(3 general-font-lock-red1 t)
)
+
;; strike through ------
(list
(concat
@@ -219,6 +324,7 @@
'(2 general-font-lock-red1 t)
'(3 general-font-lock-red1 t)
)
+
;; superscript ---------
(list
(concat
@@ -230,6 +336,7 @@
'(2 general-font-lock-red1 t)
'(3 general-font-lock-red1 t)
)
+
;; subscript -----------
(list
(concat
@@ -241,33 +348,44 @@
'(2 general-font-lock-red1 t)
'(3 general-font-lock-red1 t)
)
+
;; numbered list
(cons "^# \\|^_# " 'general-font-lock-red1)
+
;; bullet text
(cons "^_\\*[1-9] \\|^_\\* " 'general-font-lock-red1)
+
;; indented text
(cons "^_[1-9] " 'general-font-lock-red1)
(cons "^_[1-9]! " 'general-font-lock-red1)
+
;; hanging indented text [proposed enable when implemented]
(cons "^__[1-9] " 'general-font-lock-red1)
(cons "^_[0-9]_[0-9] " 'general-font-lock-red1)
(cons "^__[1-9]! " 'general-font-lock-red1)
(cons "^_[0-9]_[0-9]! " 'general-font-lock-red1)
+
;; url
(cons "\\(^\\|[ ]\\)http:[/][/][^ \t\n\r<]+" 'general-font-lock-blue2)
+
;; Comment Lines
(cons "^% .*" 'general-font-lock-blue1)
+
;; page break
(cons "^\\(-\\\\\\\\-\\|=\\\\\\\\=\\|-\\.\\.-\\)" 'general-font-lock-red2)
+
;; line break
(cons " \\\\\\\\ " 'general-font-lock-red1)
+
;; line break (depreciated)
(cons "<br>" 'general-font-lock-red1)
+
;; Section titles
(list "^\\(\\([1-4]\\|:?[A-D]\\)\\~\\)\\(.*\\)"
'(1 sisu-title-1 t)
'(3 sisu-title-2 t)
)
+
;; hyper-links
(list
(concat
@@ -279,12 +397,27 @@
'(2 general-font-lock-red1 t)
'(3 general-font-lock-blue2 t)
)
+
;; book index
- (cons "^\=\{.+\}" 'general-font-lock-green1)
+ (list
+ (concat
+ "^\\(\=\{\\)"
+ "\\([^\}\{]+\\)"
+ "\\(}\\)$"
+ )
+ '(1 general-font-lock-green1 t)
+ '(2 nil t)
+ '(3 general-font-lock-green1 t)
+ )
+
+ ;(cons "^\=\{.+\}" 'general-font-lock-green1)
+
;; numbers
(cons "\\<[.0-9]+\\>" 'general-font-lock-green2)
+
;; bullets sisu_normal (nearly copied regexp)
(cons "^_\\([1-9*]\\|[1-9]\\*\\) " 'general-font-lock-blue2)
+
;; image links
(list
(concat
@@ -296,6 +429,7 @@
'(2 general-font-lock-red1 t)
'(3 general-font-lock-blue2 t)
)
+
;; insert file links
(list
(concat
@@ -307,6 +441,7 @@
'(2 general-font-lock-blue2 t)
'(3 general-font-lock-blue2 t)
)
+
;; raw keywords
(list
(concat
@@ -331,16 +466,25 @@
)
"Default expressions to highlight in AsciiSisu mode."
)
+
;; enables outlining for sisu
(add-hook 'sisu-mode-hook
'(lambda ()
(outline-minor-mode)
(setq outline-regexp "^\\(\\([1-4]\\|:?[A-D]\\)\\~\\|\\@[a-z]+:\\( \\|$\\)\\)")))
-;; outline mode "folding" if available
+
+;;; outline mode "folding" if available
+;;; TODO make sure linum (line numbering) is off, else performance penalty, sucks bigtime
;(define-key evil-normal-state-map (kbd ",0") (lambda() (interactive) (show-all)))
;(define-key evil-normal-state-map (kbd ",-") (lambda() (interactive) (hide-body)))
;(define-key evil-normal-state-map (kbd ",+") (lambda() (interactive) (show-subtree)))
;(define-key evil-normal-state-map (kbd ",=") (lambda() (interactive) (show-subtree)))
+;
+;;(define-key evil-normal-state-map ",0" 'show-all)
+;;(define-key evil-normal-state-map ",-" 'hide-body)
+;;(define-key evil-normal-state-map ",+" 'show-subtree)
+;;(define-key evil-normal-state-map ",=" 'show-subtree)
+
;; C-c @ C-a show all
;; C-c @ C-t show only the headings
;; C-c @ C-s show subtree at cursor location
@@ -353,14 +497,17 @@
(interactive)
(modify-syntax-entry ?\' ".")
;(flyspell-mode nil)
+
(make-local-variable 'paragraph-start)
(setq paragraph-start (concat "$\\|>" page-delimiter))
(make-local-variable 'paragraph-separate)
(setq paragraph-separate paragraph-start)
(make-local-variable 'paragraph-ignore-fill-prefix)
(setq paragraph-ignore-fill-prefix t)
+
(make-local-variable 'require-final-newline)
(setq require-final-newline t)
+
(make-local-variable 'font-lock-defaults)
(setq font-lock-defaults
'(sisu-font-lock-keywords
@@ -368,10 +515,30 @@
nil ; CASE-FOLD: no
((?_ . "w")) ; SYNTAX-ALIST
))
- (run-hooks 'sisu-mode-hook)
-)
+ (run-hooks 'sisu-mode-hook))
+
(add-to-list 'auto-mode-alist '("\\.sst$" . sisu-mode))
(add-to-list 'auto-mode-alist '("\\.ssm$" . sisu-mode))
(add-to-list 'auto-mode-alist '("\\.ssi$" . sisu-mode))
+
+;;;; ChangeLog:
+
+;; 2011-07-12 Chong Yidong <cyd@stupidchicken.com>
+;;
+;; Fix version numbers of sisu-mode, register-list, and windresize.
+;;
+;; 2011-07-08 Chong Yidong <cyd@stupidchicken.com>
+;;
+;; sisu-mode.el: Add .sisu to auto-mode-alist using autoload cookie.
+;; Minor doc fixes.
+;;
+;; 2011-07-06 Stefan Monnier <monnier@iro.umontreal.ca>
+;;
+;; * sisu-mode.el (sisu-mode): Autoload.
+;;
+;; 2011-07-04 Stefan Monnier <monnier@iro.umontreal.ca>
+;;
+;; Add sisu-mode.el. Update all.el licence.
+;;
+
(provide 'sisu-mode)
-;; sisu-mode.el ends here
diff --git a/data/sisu/version.yml b/data/sisu/version.yml
index 76f45982..f7f244cf 100644
--- a/data/sisu/version.yml
+++ b/data/sisu/version.yml
@@ -1,5 +1,5 @@
---
:project: SiSU
-:version: 7.1.5
-:date_stamp: 2015w22/2
-:date: "2015-06-02"
+:version: 7.1.6
+:date_stamp: 2015w50/2
+:date: "2015-12-15"
diff --git a/lib/sisu/ao_images.rb b/lib/sisu/ao_images.rb
index 06aec134..018152ed 100644
--- a/lib/sisu/ao_images.rb
+++ b/lib/sisu/ao_images.rb
@@ -57,10 +57,10 @@
module SiSU_AO_Images
class Images
begin
- require 'RMagick'
+ require 'rmagick'
include Magick
rescue LoadError
- #SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark('RMagic NOT FOUND')
+ #SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:fuchsia).mark('rmagic NOT FOUND')
end
def initialize(md,data)
@md,@data=md,data
@@ -71,7 +71,7 @@ module SiSU_AO_Images
imagemagick_=true #imagemagick_=SiSU_Env::InfoSettings.new.program?('rmagick')
if imagemagick_
begin
- @rmgk=SiSU_Env::Load.new('RMagick').prog
+ @rmgk=SiSU_Env::Load.new('rmagick').prog
rescue
@rmgk=false
end
@@ -80,7 +80,7 @@ module SiSU_AO_Images
|| @md.opt.act[:maintenance][:set]==:on)
SiSU_Screen::Ansi.new(
@md.opt.act[:color_state][:set],
- '*WARN* use of RMagick is not enabled in sisurc.yml'
+ '*WARN* use of rmagick is not enabled in sisurc.yml'
).warn
end
end
@@ -114,7 +114,7 @@ module SiSU_AO_Images
|| @md.opt.act[:maintenance][:set]==:on)
SiSU_Screen::Ansi.new(
@md.opt.act[:color_state][:set],
- '*WARN* RMagick not present, will attempt to use imagemagick (identify) directly'
+ '*WARN* rmagick not present, will attempt to use imagemagick (identify) directly'
).warn
end
imgk=SiSU_Env::SystemCall.new.imagemagick
@@ -168,7 +168,7 @@ module SiSU_AO_Images
images=dob.obj.scan(m) do |image|
SiSU_Screen::Ansi.new(
@md.opt.act[:color_state][:set],
- '*WARN* where image dimensions have not been provided RMagick or imagemagick is required',image
+ '*WARN* where image dimensions have not been provided rmagick or imagemagick is required',image
).warn unless @md.opt.act[:quiet][:set]==:on
end
end
diff --git a/man/man1/sisu.1 b/man/man1/sisu.1
index ca46ef99..8f1b1d91 100644
--- a/man/man1/sisu.1
+++ b/man/man1/sisu.1
@@ -1,4 +1,4 @@
-.TH "sisu" "1" "2015-05-21" "7.1.3" "SiSU"
+.TH "sisu" "1" "2014-02-05" "7.1.5" "SiSU"
.br
.SH NAME
.br
@@ -3418,12 +3418,6 @@ viral_spiral.david_bollier.sst
.BR
-
-.B SiSU
-output can easily and conveniently be indexed by a number of standalone
-indexing tools, such as Lucene, Hyperestraier.
-
-.BR
Because the document structure of sites created is clearly defined, and the
text
.I object citation system
@@ -3440,15 +3434,98 @@ a document corpus searchable with that degree of granularity. Basically, your
match criteria is met by these documents and at these locations within each
document, which can be viewed within the database directly or in various output
formats.
+
+.BR
+
+.B SiSU
+can populate an sql database (sqlite3 or postgresql) with documents made up of
+their objects. It also can generate a cgi search form that can be used to query
+the database.
+
+.BR
+In order to use the built in search functionality you would take the following
+steps.
+
+.BR
+* use sisu to populate an sql database with with a sisu markup content
+
+.BR
+ * sqlite3 should work out of the box
+
+.BR
+ * postgresql may require some initial database configuration
+
+.BR
+* provide a way to query the database, which sisu can assist with by
+
+.BR
+ * generating a sample ruby cgi search form, required (sisu configuration
+ recommended)
+
+.BR
+ * adding a query field for this search form to be added to all html files
+ (sisu configuration required)
.SH SQL
-.SH POPULATING SQL TYPE DATABASES
+.SH POPULATE THE DATABASE
+
+
+.BR
+TO populate the sql database, run sisu against a sisu markup file with one of
+the following sets of flags
+.nf
+sisu --sqlite filename.sst
+.fi
+
+
+.BR
+creates an sqlite3 database containing searchable content of just the sisu
+markup document selected
+.nf
+sisu --sqlite --update filename.sst
+.fi
+
+
+.BR
+creates an sqlite3 database containing searchable content of marked up
+document(s) selected by the user from a common directory
+.nf
+sisu --pg --update filename.sst
+.fi
+
+
+.BR
+fills a postgresql database with searchable content of marked up document(s)
+selected by the user from a common directory
+
+.BR
+For postgresql the first time the command is run in a given directory the user
+will be prompted to create the requisite database, at the time of writing the
+prompt sisu provides is as follows:
+.nf
+no connection with pg database established, you may need to run:
+ createdb "SiSU.7a.current"
+ after that don't forget to run:
+ sisu --pg --createall
+ before attempting to populate the database
+.fi
+
+
+.BR
+The named database that sisu expects to find must exist and if necessary be
+created using postgresql tools. If the database exist but the database tables
+do not, sisu will attempt to create the tables it needs, the equivalent of the
+requested sisu --pg --createall command.
+
+.BR
+Once this is done, the sql database is populated and ready to be queried.
+.SH SQL TYPE DATABASES
.BR
.B SiSU
-feeds sisu markupd documents into sql type databases
+feeds sisu markup documents into sql type databases
.I PostgreSQL
[^14] and/or
.I SQLite
@@ -3661,6 +3738,44 @@ updates file contents in database
removes specified document from sqlite database.
.SH CGI SEARCH FORM
+
+.BR
+For the search form, which is a single search page
+
+.BR
+* configure the search form
+
+.BR
+* generate the sample search form with the sisu command, (this will be based on
+the configuration settings and existing found sisu databases)
+
+.BR
+For postgresql web content you may need to edit the search cgi script. Two
+things to look out for are that the user is set as needed, and that the any
+different databases that you wish to be able to query are listed.
+
+.BR
+correctly, you may want www-data rather than your username.
+.nf
+@user='www-data'
+.fi
+
+
+.BR
+* check the search form, copy it to the appropriate cgi directory and set the
+correct permissions
+
+.BR
+For a search form to appear on each html page, you need to:
+
+.BR
+* rely on the above mentioned configuration of the search form
+
+.BR
+* configure the html search form to be on
+
+.BR
+* run the html command
.SH SETUP SEARCH FORM
@@ -3682,7 +3797,7 @@ You then need to create the database that sisu will use, for sisu manual in the
directory manual/en for example, (when you try to populate a database that does
not exist sisu prompts as to whether it exists):
.nf
-createdb SiSUv6a_manual
+createdb SiSU.7a.manual
.fi
diff --git a/setup/sisu_version.rb b/setup/sisu_version.rb
index 8fe27da4..70d071c9 100644
--- a/setup/sisu_version.rb
+++ b/setup/sisu_version.rb
@@ -1,6 +1,6 @@
#% constants
module SiSUversion
- SiSU_version = '7.1.5'
+ SiSU_version = '7.1.6'
end
module Dev
GPGpubKey = '1BB4B289'