;; -*- emacs-lisp -*-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; $Id: emacs_html.el,v 1.7 2006-11-06 21:02:42 rscholz Exp $
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Einstellungen für Dischi's einfachen HTML-Mode
;;
;; Die offizielle Quelle dieser Datei ist
;;   <http://www.zonix.de/projects/emacs/config>
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;; (cond (window-system
;;        (setq hilit-face-check t
;;           hilit-inhibit-hooks t
;;           hilit-mode-enable-list 
;;           '(html-mode sgml-mode))

;;        (require 'hilit19)))

;; (add-hook 'html-mode-hook 
;;        (function
;;         (lambda ()
;;           (auto-fill-mode t)
;;           (make-variable-buffer-local 'adaptive-fill-regexp)
;;           (setq adaptive-fill-regexp nil)
;;           (make-variable-buffer-local 'fill-column)
;;           (setq fill-column 79)
;;           (setq abbrev-mode 't))))

;; (autoload 'html-mode "dischi-html-mode" "HTML major mode." t)


;; for WPP
(setq auto-mode-alist
      (append '(("\\.rhtml$" . html-mode)
                ("\\.thtml$" . html-mode)
                ("\\.lhtml$" . html-mode)) auto-mode-alist))


;; Stefan Reuter <97j5s5$963$3@kastor.inf.tu-dresden.de> 
(defvar selfhtml-path "/var/local/share/sites/selfhtml/")
(defvar selfhtml-section-alist nil)

(defun selfhtml-get-link-list ()
  (let ((FILE (shell-command-to-string (concat "cat " selfhtml-path "/tqc.htm")))
        (POS 0)
        TMP LIST)
    (while (setq TMP (string-match "option value=\"\\([a-z]+\\.htm[^\"]+\\)\">&lt;\\([^&]+\\)" 
                                   FILE POS))
      (setq LIST (cons (cons (match-string 2 FILE) (match-string 1 FILE)) LIST))
      (setq POS (1+ TMP)))
    LIST))

(defun selfhtml-get-section-alist ()
  (or selfhtml-section-alist
      (setq selfhtml-section-alist (selfhtml-get-link-list))))

(defun selfhtml-lookup-section (section)
  "Looks up SelfHTML for SECTION, using your favorite Web browser."
  (interactive
   (list (completing-read "Lookup SelfHTML for: "
                          (selfhtml-get-section-alist) nil t)))
  (let ((filename
         (format "file://%s%s" selfhtml-path (cdr (assoc section (selfhtml-get-section-alist))))))
    (browse-url-w3 filename)))