Changeset - r13:e60cce377e32
[Not reviewed]
default
0 3 3
Wolfgang Scherer (ws) - 13 years ago 2012-03-30 23:13:45
wolfgang.scherer@gmx.de
doc/index.txt: Index page for web site.
6 files changed with 254 insertions and 2 deletions:
0 comments (0 inline, 0 general)
.hgignore
Show inline comments
 
@@ -5,3 +5,5 @@
 
^lib/ws-vacation\.conf$
 
^lib/ws-vacation-sudo$
 
^\.htaccess$
 
^doc/index\.html$
 
\.pyc$
doc/Makefile
Show inline comments
 
@@ -13,6 +13,7 @@ CLEANFILES =
 

	
 
TXTS += README.txt
 
TXTS += README-de.txt
 
HTML_TXTS += index.txt
 
HTML_TXTS += README-GFDL.txt
 
HTML_TXTS += README-COPYING.txt
 

	
 
@@ -58,7 +59,21 @@ clean: clean-local
 
clean-local:
 
	find . -name '*.pyc' | xargs -r rm 
 

	
 
install_top_dir = ../../wolfmanx.bitbucket.org
 
install_dir = $(install_top_dir)/ws-vacation
 

	
 
install: all
 
	@(						\
 
	test ! -d $(install_top_dir) ||			\
 
	(						\
 
	mkdir -p $(install_dir);			\
 
	list='$(TXT_HTMLS)'; test -z "$$list" ||	\
 
	for file in $$list; do				\
 
	    echo "cp $$file $(install_dir)/";		\
 
	    cp $$file $(install_dir)/;			\
 
	done;						\
 
	)						\
 
	)
 

	
 
dist:
 

	
doc/README.pdf
Show inline comments
 
@@ -282,7 +282,7 @@ endobj
 
% 'R20': class PDFInfo 
 
20 0 obj
 
<< /Author (Wolfgang Scherer)
 
 /CreationDate (D:20120330020520-01'00')
 
 /CreationDate (D:20120330224029-01'00')
 
 /Creator (\(unspecified\))
 
 /Keywords ()
 
 /Producer (ReportLab PDF Library - www.reportlab.com)
 
@@ -962,7 +962,7 @@ 0000016574 00000 n
 
trailer
 
<< /ID 
 
 % ReportLab generated PDF document -- digest (http://www.reportlab.com) 
 
 [(B\334u\247>\)o\005\305;\350\236c_`H) (B\334u\247>\)o\005\305;\350\236c_`H)] 
 
 [(\370\353P#\004\326\277AD\372\035\365w\313,\011) (\370\353P#\004\326\277AD\372\035\365w\313,\011)] 
 
 
 /Info 20 0 R
 
 /Root 19 0 R
doc/index.txt
Show inline comments
 
new file 100644
 
.. -*- coding: utf-8 -*-
 
.. \||<-snip->|| start
 
.. Copyright (C) 2012, Wolfgang Scherer, <Wolfgang.Scherer at gmx.de>
 
.. Sponsored by WIEDENMANN SEILE GMBH, http://www.wiedenmannseile.de
 
..
 
.. This file is part of Wiedenmann Vacation.
 
..
 
.. Permission is granted to copy, distribute and/or modify this
 
.. document under the terms of the GNU Free Documentation License,
 
.. Version 1.3 or any later version published by the Free Software
 
.. Foundation; with no Invariant Sections, no Front-Cover Texts, and
 
.. no Back-Cover Texts.  A copy of the license is included in the main
 
.. documentation of Wiedenmann Vacation.
 

	
 
.. (progn (forward-line 1)(snip-insert-mode "rst_t.inline-comments" t))
 
.. inline comments (with ws_docutils)
 
.. role:: rem(span)
 
   :format: ''
 
.. role:: html(span)
 
   :format: html
 
   :raw:
 

	
 
.. role:: ihtml(span)
 
   :format: html
 
.. role:: nhtml(span)
 
   :format: !html
 

	
 
##################################################
 
:rem:`|||:sec:|||`\ Wiedenmann Vacation
 
##################################################
 
Web Front-End to Manage vacation(1) Settings
 
##################################################
 
.. \||<-snap->|| skip
 

	
 
:Author: `Wolfgang Scherer`_
 

	
 
.. contents::
 
.. \||<-snap->|| skip
 
.. \||<-snap->|| include ^index-header.snip$
 

	
 
==================================================
 
:rem:`|||:sec:|||`\ Purpose
 
==================================================
 

	
 
This program is a front end written in PHP to manage the vacation(1)
 
auto reply command.
 

	
 
The content of the message file $HOME/.virtual.msg can be edited in a
 
browser.
 

	
 
It is also possible to appoint another user to receive a copy of all
 
emails, when the vacation(1) filter is active.
 

	
 
The auto reply history from vacation(1) is also shown and can be
 
deleted.
 

	
 
==================================================
 
:rem:`|||:sec:|||`\ Screenshot
 
==================================================
 

	
 
.. image:: ws-vacation-t.jpg
 

	
 
`full size`_
 

	
 
.. _`full size`: ws-vacation.jpg
 

	
 
==================================================
 
:rem:`|||:sec:|||`\ Features
 
==================================================
 

	
 
The edited message is converted to a message file using
 

	
 
- Content-Type: text/plain; charset="utf-8"
 
- Content-Transfer-Encoding: quoted-printable
 

	
 
Therefore international characters do not pose a problem.
 

	
 
If the filter is activated, file $HOME/.forward is created from the
 
settings, otherwise the .forward file is deleted.
 

	
 
The program comes with a preconfigured sudoers(5) configuration file,
 
which allows the www server user to execute the vacation(1) command on
 
behalf of a system user.
 

	
 
There is also an apache2(8) configuration file included.
 

	
 
==================================================
 
:rem:`|||:sec:|||`\ Source Code and Installation
 
==================================================
 

	
 
The source code is available in a mercurial repository at
 
`ws-vacation`_.
 

	
 
Clone the repository with::
 

	
 
    $ hg clone https://bitbucket.org/wolfmanx/ws-vacation
 

	
 
See the `Administrator Manual`_ for installation instructions.
 

	
 
.. ==================================================
 
.. :rem:`|||:sec:|||`\ Footnotes
 
.. ==================================================
 

	
 
:html:`<hr>`
 

	
 
.. \[#]
 

	
 
.. ==================================================
 
.. :rem:`|||:sec:|||`\ References
 
.. ==================================================
 

	
 
.. _`Administrator Manual`: README.html
 
.. _`ws-vacation`: https://bitbucket.org/wolfmanx/ws-vacation
 

	
 
.. \||<-snap->|| include ^index-footer.snip$
 

	
 
:rem:`|||:sec:|||`\ **Copyright**
 

	
 
Copyright (C) 2012, Wolfgang Scherer, <sw@wiedenmann-seile.de>.
 
Sponsored by `Wiedenmann-Seile GmbH`_.
 

	
 
.. div::
 
   :format: html
 

	
 
   See section |GFDL| for license conditions for the documentation.
 

	
 
   See section |GPL| for license conditions for the program.
 

	
 
.. div::
 
   :format: !html
 

	
 
   See *GNU Free Documentation License* in file `GFDL.txt` for license
 
   conditions for the documentation.
 

	
 
   See *GNU General Public License* in file `COPYING` for license
 
   conditions for the program.
 

	
 
.. |GFDL| replace:: `GNU Free Documentation License`_
 
.. |GPL| replace:: `GNU General Public License`_
 

	
 
.. _`GNU Free Documentation License`: README-GFDL.html
 
.. _`GNU General Public License`: README-COPYING.html
 
.. _`Wiedenmann-Seile GmbH`: http://www.wiedenmannseile.de
 
.. _`Wolfgang Scherer`: sw@wiedenmann-seile.de
 

	
 
.. \||<-snip->|| stop
 

	
 
.. ==================================================
 
.. :rem:`|||:sec:|||`\ END
 
.. ==================================================
 
.. 
 
.. :ide-menu: Emacs IDE Main Menu - Buffer @BUFFER@
 
.. . M-x `eIDE-menu' ()(eIDE-menu "z")
 

	
 
.. :ide: DELIM: SNIPPETS (ABOUT)       |q|<- SYM ->||,   ||<- SYM ->||,  @| SYM @
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (setq symbol-tag-match-rx "sn[i]p") (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons nil "@|") (cons "@" nil)))))
 

	
 
.. :ide: DELIM: SNIPPETS (DOC)          ||<- SYM ->||,     |: SYM :|,     ` SYM `
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "|:") (cons ":|" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (setq symbol-tag-match-rx "sn[i]p") (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons "\\(\\`\\|[^\\]\\)" "`") (cons "`" nil)))))
 

	
 
.. :ide: DELIM: SNIPPETS (SNIP DOC)     ||<- SYM ->||,     |: SYM :|,     @ SYM @
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "|:") (cons ":|" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (setq symbol-tag-match-rx "sn[i]p") (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons nil "@") (cons "@" nil)))))
 

	
 
.. :ide: DELIM: SNIPPETS (FILLME)       ||<- SYM ->||,     :: SYM ::,     @ SYM @
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "::") (cons "::" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (setq symbol-tag-match-rx "sn[i]p") (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons nil "@") (cons "@" nil)))))
 

	
 
.. :ide: DELIM: SNIPPETS (SUBST)        ||<- SYM ->||,      @ SYM @,      @ SYM @
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "@") (cons "@" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "||<-") (cons "->||" nil)) t) (setq symbol-tag-match-rx "sn[i]p") (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons "[^\\]" "`") (cons "`" nil)))))
 

	
 
.. :ide: +#-
 
.. . Snippet Delimiter Sets ()
 

	
 
.. :ide: DELIM: ReST (links)              ` SYM `_,    .. _` SYM `,      ` SYM `
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons "[^\\]" "`") (cons "`_" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil ".. _`") (cons "`:" nil)) t) (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons "\\(\\`\\|[^\\]\\)" "`") (cons "`" nil)))))
 

	
 
.. :ide: DELIM: STANDARD (GNU quoting)    |: SYM :|,       :: SYM ::,     ` SYM '
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "::") (cons "::" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "|:") (cons ":|" nil)) t) (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons nil "`") (cons "'" nil)))))
 

	
 
.. :ide: DELIM: STANDARD (ReST quoting)   |: SYM :|,       :: SYM ::,     ` SYM `
 
.. . (let nil (symbol-tag-normalize-delimiter (cons (cons nil "::") (cons "::" nil)) t) (symbol-tag-switch-delimiter-sets) (symbol-tag-normalize-delimiter (cons (cons nil "|:") (cons ":|" nil)) t) (setq symbol-tag-enclose-delimiter-set (symbol-tag-normalize-delimiter (cons (cons "[^\\]" "`") (cons "`" nil)))))
 

	
 
.. :ide: +#-
 
.. . Delimiter Sets ()
 

	
 
.. :ide: COMPILE: render reST as LaTeX
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2latex.py --traceback | tee " fn ".tex"))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as MAN
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2man.py --traceback "))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as TXT (via MAN)
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2man.py --traceback | man -l -"))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as ODT --strip-comments
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2odt.py --traceback --strip-comments | cat >" fn ".odt "))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as LaTeX, compile PDF and view with gv
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2latex.py --traceback | tee " fn ".tex && pdflatex '\\nonstopmode\\input " fn ".tex' && gv " fn ".pdf"))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as PDF
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2pdf -e ws_docutils.raw_role >" fn ".pdf"))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as HTML
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " " fp " | ws_rst2html.py --traceback --cloak-email-addresses | tee " fn ".html "))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; cat " args))))
 

	
 
.. :ide: COMPILE: render reST as pseudoXML
 
.. . (let* ((fp (buffer-file-name)) (fn (file-name-nondirectory fp))) (save-match-data (if (string-match-t "[.][^.]*$" fn) (setq fn (replace-match "" nil t fn)))) (let ((args (concat " --traceback " fp " 2>&1 #| tee " fn ".pxml"))) (save-buffer) (compile (concat "PATH=\".:$PATH\"; ws_rst2pseudoxml.py " args))))
 

	
 
.. :ide: +#-
 
.. . Process ()
 

	
 
.. :ide: QUO: ~~ Subsubsection ~~
 
.. . (insert "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\:rem\:`|\:sec\:|`\\ ::fillme\::\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n" )
 

	
 
.. :ide: QUO: -- Subsection --
 
.. . (insert "--------------------------------------------------\n\:rem\:`||\:sec\:||`\\ ::fillme\::\n--------------------------------------------------\n" )
 

	
 
.. :ide: QUO: == Section ==
 
.. . (insert "==================================================\n\:rem\:`|||\:sec\:|||`\\ ::fillme\::\n==================================================\n" )
 

	
 
.. :ide: +#-
 
.. . Sections ()
 

	
 
.. :ide: MENU-OUTLINE:  `|||:section:|||' (default)
 
.. . (x-eIDE-menu-outline "sec" '("|:" ":|") (cons (cons "^" ".. ") (cons nil nil)) "\\(_`[^`\n]+`\\|\\[[^]\n]+\\]\\|[|][^|\n]+[|]\\|[^:\n]+::\\)")
 

	
 
.. 
 
.. Local Variables:
 
.. mode: rst
 
.. snip-mode: rst
 
.. truncate-lines: t
 
.. symbol-tag-symbol-regexp: "[-0-9A-Za-z_#]\\([-0-9A-Za-z_. ]*[-0-9A-Za-z_]\\|\\)"
 
.. symbol-tag-auto-comment-mode: nil
 
.. symbol-tag-srx-is-safe-with-nil-delimiters: nil
 
.. End:
doc/ws-vacation-t.jpg
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
doc/ws-vacation.jpg
Show inline comments
 
new file 100644
 
binary diff not shown
Show images
0 comments (0 inline, 0 general)