;;; qq-mode.el --- Modes for creating valid XHTML 1.0 Transitional pages.
;; Author: Rhoderick Espineda
;; Version: 1.0.3
;; Keywords: XHTML
;; URL: http://www.emacswiki.org/elisp/qq-mode.el
;; Date: March 22, 2004
;; This file is not part of GNU Emacs.
;; This file 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 2, or (at your option)
;; any later version.
;; This file 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.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to
;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
;; Boston, MA 02111-1307, USA.
;;; Commentary:
;; Makes for creating valid XHTML 1.0 Transitional web pages.
;;; Acknowledgement:
;; This code is derived from NCSA html-mode.el made by MarcAndreessen
;; Use M-x qq-mode RET
;; Check the code below for available keybindings.
;;; Code:
(defvar qq-mode-map nil)
(if qq-mode-map()
(setq qq-mode-map (make-sparse-keymap))
(define-key qq-mode-map "\t" 'tab-to-tab-stop)
(define-key qq-mode-map "\C-ca" 'qq-skeleton)
(define-key qq-mode-map "\C-cs" 'qq-style)
(define-key qq-mode-map "\C-cp" 'qq-p)
(define-key qq-mode-map "\C-cb" 'qq-b)
(define-key qq-mode-map "\C-cn" 'qq-br)
(define-key qq-mode-map "\C-cl" 'qq-hl)
(define-key qq-mode-map "\C-ci" 'qq-img)
(define-key qq-mode-map "\C-cf" 'qq-font)
(define-key qq-mode-map "\C-ch" 'qq-href)
(define-key qq-mode-map "\C-ct" 'qq-table)
(define-key qq-mode-map "\C-cm" 'qq-tm)
(define-key qq-mode-map "\C-c&" 'qq-amp)
(define-key qq-mode-map "\C-cc" 'qq-copy)
(define-key qq-mode-map "\C-c*" 'qq-bullet)
(define-key qq-mode-map "\C-c<" 'qq-less-than)
(define-key qq-mode-map "\C-c>" 'qq-greater-than)
(define-key qq-mode-map "\C-cr" 'qq-referer)
(define-key qq-mode-map "\C-cv" 'qq-validator))
(defun qq-skeleton(title)
(interactive "sTITLE: ")
(let ((start (point)))
(insert "\n\n")
(insert "\n\n\n\t")
(insert "" title "\n\t")
(insert "")
(insert "\n\t")
(insert "\n\t")
(insert "\n\t")
(insert "\n\t\n")
(insert "\n\n\n\t\n")
(insert "\n\n")))
(defun qq-style()
(interactive)
(insert ""))
(defun qq-open-field (tag)
(let ((start (point)))
(insert "<" tag ">")
(setq start (point))
(insert "" tag ">")
(push-mark)
(goto-char start)))
(defun qq-p()
(interactive)
(qq-open-field "p"))
(defun qq-b()
(interactive)
(qq-open-field "b"))
(defun qq-br()
(interactive)
(insert " "))
(defun qq-hl()
(interactive)
(insert ""))
(defun qq-img (href)
(interactive "sURL-img: ")
(let ((start (point)))
(insert "")))
(defun qq-font()
(interactive)
(insert "YOUR-TEXT"))
(defun qq-href (href title)
(interactive "sURL-href: \nsURL-title: ")
(let ((start (point)))
(insert "" title "")))
(defun qq-table()
(interactive)
(insert "