Source string Read only

(itstool) path: sect1/title
31/310
Context English State
Validation
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 <filename>~/.emacs.d/schema/schemas.xml</filename> and add these lines to the file:
<tag class="starttag">locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0"</tag>
<tag class="starttag">documentElement localName="section" typeId="DocBook"</tag>
<tag class="starttag">documentElement localName="chapter" typeId="DocBook"</tag>
<tag class="starttag">documentElement localName="article" typeId="DocBook"</tag>
<tag class="starttag">documentElement localName="book" typeId="DocBook"</tag>
<tag class="starttag">typeId id="DocBook" uri="/usr/local/share/xml/docbook/5.0/rng/docbook.rnc"</tag>
<tag class="endtag">locatingRules</tag>
Automated Proofreading with Flycheck and Igor
The Flycheck package is available from Milkypostman's Emacs Lisp Package Archive (<acronym>MELPA</acronym>). If <acronym>MELPA</acronym> 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 <filename>~/.emacs</filename>, <filename>~/.emacs.el</filename>, or <filename>~.emacs.d/init.el</filename>) to make this change permanent.
To install Flycheck, evaluate
(package-install 'flycheck)
Create a Flycheck checker for <package>textproc/igor</package> 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.
FreeBSD Documentation Specific Settings
To apply settings specific to the FreeBSD documentation project, create <filename>.dir-locals.el</filename> 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"))))
<application>nano</application>
Install from <package>editors/nano</package> or <package>editors/nano-devel</package>.
Copy the sample <acronym>XML</acronym> syntax highlight file to the user's home directory:
<prompt>%</prompt> <userinput>cp /usr/local/share/nano/xml.nanorc ~/.nanorc</userinput>
Use an editor to replace the lines in the <filename>~/.nanorc</filename> <literal>syntax "xml"</literal> block with these rules:
syntax "xml" "\.([jrs]html?|xml|xslt?)$"
# trailing whitespace
color ,blue "[[:space:]]+$"
# multiples of eight spaces at the start a line
# (after zero or more tabs) should be a tab
color ,blue "^([TAB]*[ ]{8})+"
# tabs after spaces
color ,yellow "( )+TAB"
# highlight indents that have an odd number of spaces
color ,red "^(([ ]{2})+|(TAB+))*[ ]{1}[^ ]{1}"
# lines longer than 70 characters
color ,yellow "^(.{71})|(TAB.{63})|(TAB{2}.{55})|(TAB{3}.{47}).+$"
Process the file to create embedded tabs:
<prompt>%</prompt> <userinput>perl -i'' -pe 's/TAB/\t/g' ~/.nanorc</userinput>
Specify additional helpful options when running the editor:
<prompt>%</prompt> <userinput>nano -AKipwz -r 70 -T8 <replaceable>chapter.xml</replaceable></userinput>
Users of <citerefentry><refentrytitle>csh</refentrytitle><manvolnum>1</manvolnum></citerefentry> can define an alias in <filename>~/.cshrc</filename> to automate these options:
alias nano "nano -AKipwz -r 70 -T8"
After the alias is defined, the options will be added automatically:
<prompt>%</prompt> <userinput>nano <replaceable>chapter.xml</replaceable></userinput>
See Also
This document is deliberately not an exhaustive discussion of XML, the DTDs listed, and the FreeBSD Documentation Project. For more information about these, you are encouraged to see the following web sites.

Loading…

No matching activity found.

Browse all component changes

Glossary

English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: sect1/title
Flags
read-only
Source string location
book.translate.xml:9755
String age
a year ago
Source string age
a year ago
Translation file
books/fdp-primer.pot, string 1712