Install from editors/emacs or editors/emacs-devel.
Emacs's nxml-mode uses compact relax NG schemas for
validating XML. A compact relax NG schema for FreeBSD's
extension to DocBook 5.0 is included in the documentation
repository. To configure nxml-mode to validate using this
schema, create
~/.emacs.d/schema/schemas.xml
and add
these lines to the file:
<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
<documentElement localName="section" typeId="DocBook">
<documentElement localName="chapter" typeId="DocBook">
<documentElement localName="article" typeId="DocBook">
<documentElement localName="book" typeId="DocBook">
<typeId id="DocBook" uri="/usr/local/share/xml/docbook/5.0/rng/docbook.rnc">
</locatingRules>
The Flycheck package is available from Milkypostman's Emacs Lisp Package Archive (MELPA). If MELPA is not already in Emacs's packages-archives, it can be added by evaluating
(add-to-list 'package-archives '("melpa" . "http://stable.melpa.org/packages/") t)
Add the line to Emacs's initialization file (one of
~/.emacs
,
~/.emacs.el
, or
~.emacs.d/init.el
) to make this change
permanent.
To install Flycheck, evaluate
(package-install 'flycheck)
Create a Flycheck checker for textproc/igor by evaluating
(flycheck-define-checker igor "FreeBSD Documentation Project sanity checker. See URLs https://www.freebsd.org/docproj/ and http://www.freshports.org/textproc/igor/." :command ("igor" "-X" source-inplace) :error-parser flycheck-parse-checkstyle :modes (nxml-mode) :standard-input t) (add-to-list 'flycheck-checkers 'igor 'append)
Again, add these lines to Emacs's initialization file to make the changes permanent.
To apply settings specific to the FreeBSD documentation
project, create .dir-locals.el
in the
root directory of the documentation repository and add these
lines to the file:
;;; Directory Local Variables ;;; For more information see (info "(emacs) Directory Variables") ((nxml-mode (eval . (turn-on-auto-fill)) (fill-column . 70) (eval . (require 'flycheck)) (eval . (flycheck-mode 1)) (flycheck-checker . igor) (eval . (add-to-list 'rng-schema-locating-files "~/.emacs.d/schema/schemas.xml"))))
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.