Source string Read only

(itstool) path: sect2/title
Context English State
if has("autocmd")
au BufNewFile,BufRead *.sgml,*.ent,*.xsl,*.xml call Set_SGML()
au BufNewFile,BufRead *.[1-9] call ShowSpecial()
endif " has(autocmd)

function Set_Highlights()
"match ExtraWhitespace /^\s* \s*\|\s\+$/
highlight default link OverLength ErrorMsg
match OverLength /\%71v.\+/
return 0
endfunction " Set_Highlights()

function ShowSpecial()
setlocal list listchars=tab:>>,trail:*,eol:$
hi def link nontext ErrorMsg
return 0
endfunction " ShowSpecial()

function Set_SGML()
setlocal number
syn match sgmlSpecial "&[^;]*;"
setlocal syntax=sgml
setlocal filetype=xml
setlocal shiftwidth=2
setlocal textwidth=70
setlocal tabstop=8
setlocal softtabstop=2
setlocal formatprg="fmt -p"
setlocal autoindent
setlocal smartindent
" Rewrap paragraphs
noremap P gqj
" Replace spaces with tabs
noremap T :s/ /\t/<CR>
call ShowSpecial()
call Set_Highlights()
return 0
endfunction " Set_SGML()
Install from <package>editors/emacs</package> or <package>editors/emacs-devel</package>.
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=""</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" . "") 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 and"
: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")

(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"))))
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:


No matching activity found.

Browse all component changes


English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: sect2/title
Source string location
String age
a year ago
Source string age
a year ago
Translation file
books/fdp-primer.pot, string 1717