Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

LinuxDoc+Emacs+Ispell-HOWTO: Функция insert-sgml-header Следующий Предыдущий Содержание

7. Функция insert-sgml-header

Эта функция позволит пользователю вставить настраиваемый заголовок для документа Linux Documentation Project в файл. Она может быть вызвана автоматически при открытии нового файла, или может быть вызвана пользователем.

Эта функция запрашивает у пользователя, пользуясь mini-buffer, некоторую информацию, часть из которой необходима, а часть нет. not.

Сначала идет заголовок документа. Если ничего не дано, то функция сразу прекращает выполнение и ничего не вставляет. Затем идет дата, автор, его электронный адрес и домашняя страница (эти два последних пункта являются опциональными).

Затем идет запрос имени переводчика документа. Если его нет, то просто нажмите клавишу Return, и больше запросов не будет. А если переводчик есть, то вас запросят о его электронном адресе и домашней странице.

Затем эта функция выводит все в текущий буфер,включая конечно всю информацию, которую вы ввели и включая также необходимые таги для краткого содержания и первой главы. В конце он поместит курсор в том место, где будет набираться краткое содержание.

(defun insert-sgml-header ()
  "Inserts the header for a LinuxDoc document"
  (interactive)
  (let (title author email home translator email-translator home-translator date 
              starting-point)
    (setq title (read-from-minibuffer "Title: "))
    (if (> (length title) 0)
        (progn 
          (setq date (read-from-minibuffer "Date: ")
                author (read-from-minibuffer "Author: ")
                email (read-from-minibuffer "Author e-mail: ")
                home (read-from-minibuffer "Author home page: http://")
                translator (read-from-minibuffer "Translator: "))
          (insert "<!doctype linuxdoc system>n<article>n<title>")
          (insert title)
          (insert "</title>n<author>nAuthor: ") (insert author) (insert "<newline>n")
          (if (> (length email) 0)
              (progn
                (insert "<htmlurl url="mailto:")
                (insert email) (insert "" name="") (insert email)
                (insert ""><newline>n")))
          (if (> (length home) 0)
              (progn
                (insert "<htmlurl url="http://")
                (insert home) (insert "" name="") (insert home)
                (insert "">n<newline>")))
          (if (> (length translator) 0)
              (progn
                (setq email-translator (read-from-minibuffer "Translator e-mail: ")
                      home-translator (read-from-minibuffer "Translator home page: http://"))
                (insert "Translator : ") 
                (insert translator) 
                (insert "<newline>n")
                (if (> (length email-translator) 0)
                    (progn 
                      (insert "<htmlurl url="mailto:") 
                      (insert email-translator) (insert "" name="") 
                      (insert email-translator)
                      (insert ""><newline>n")))
                (if (> (length home-translator) 0)
                    (progn 
                      (insert "<htmlurl url="http://") 
                      (insert home-translator) (insert "" name="")
                      (insert home-translator)
                      (insert ""><newline>n")))))
          (insert "</author>n<date>n")
          (insert date)
          (insert "n</date>nn<abstract>n")
          (setq point-beginning (point))
          (insert "n</abstract>n<toc>nn<sect>n<p>nnn</sect>nn</article>n")
          (goto-char point-beginning)
          ))))

Следующий Предыдущий Содержание

  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте