insert-sgml-header
函数 这个函数允许用户在一个文件中为 Linux 文档项目文档插入一个自定义的头部。它可以在打开新文件时自动调用,也可以由用户显式调用。
这个函数会通过迷你缓冲区提示用户输入一些信息,其中一些是必要的,一些不是。
首先是标题。如果没有提供标题,函数会立即返回,并且不插入任何内容。然后是日期、作者、他的电子邮件和主页(最后两个是可选的)。
接下来会请求翻译者的姓名。如果没有翻译者,只需键入回车,就不会再询问假设的翻译者。如果有一个翻译者,系统会询问他的电子邮件和主页(同样是可选的)。
然后,此函数将您的请求打印到当前缓冲区,当然包括您在设置表单中输入的所有信息,以及将用于摘要和第一章的标签。最后,它将光标放在需要键入摘要的位置。
(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>\n\n<abstract>\n") (setq point-beginning (point)) (insert "\n</abstract>\n<toc>\n\n<sect>\n<p>\n\n\n</sect>\n\n</article>\n") (goto-char point-beginning) ))))