aboutsummaryrefslogtreecommitdiff
path: root/en_US.ISO8859-1/books/fdp-primer/editor-config/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'en_US.ISO8859-1/books/fdp-primer/editor-config/chapter.xml')
-rw-r--r--en_US.ISO8859-1/books/fdp-primer/editor-config/chapter.xml248
1 files changed, 0 insertions, 248 deletions
diff --git a/en_US.ISO8859-1/books/fdp-primer/editor-config/chapter.xml b/en_US.ISO8859-1/books/fdp-primer/editor-config/chapter.xml
deleted file mode 100644
index 72f1c5f3c4..0000000000
--- a/en_US.ISO8859-1/books/fdp-primer/editor-config/chapter.xml
+++ /dev/null
@@ -1,248 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- Copyright (c) 2013 Warren Block
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
-
- THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS
- IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
--->
-<chapter xmlns="http://docbook.org/ns/docbook"
- xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
- xml:id="editor-config">
-
- <title>Editor Configuration</title>
-
- <para>Adjusting text editor configuration can make working on
- document files quicker and easier, and help documents conform to
- <acronym>FDP</acronym> guidelines.</para>
-
- <sect1 xml:id="editor-config-vim">
- <title><application>Vim</application></title>
-
- <para>Install from <package>editors/vim</package>,
- <package>editors/vim-console</package>, or
- <package>editors/vim-tiny</package> then follow the
- configuration instructions in
- <xref linkend="editor-config-vim-config"/>.</para>
-
- <sect2 xml:id="editor-config-vim-use">
- <title>Use</title>
-
- <para>Press <keycap>P</keycap> to reformat paragraphs or text
- that has been selected in Visual mode. Press
- <keycap>T</keycap> to replace groups of eight spaces with a
- tab.</para>
- </sect2>
-
- <sect2 xml:id="editor-config-vim-config">
- <title>Configuration</title>
-
- <para>Edit <filename>~/.vimrc</filename>, adding these
- lines to the end of the file:</para>
-
- <programlisting>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 "&amp;[^;]*;"
- 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/&lt;CR&gt;
- call ShowSpecial()
- call Set_Highlights()
- return 0
-endfunction " Set_SGML()</programlisting>
- </sect2>
- </sect1>
-
- <sect1 xml:id="editor-config-emacs">
- <title><application>Emacs</application></title>
-
- <para>Install from <package>editors/emacs</package> or
- <package>editors/emacs-devel</package>.</para>
-
- <sect2 xml:id="editor-config-emacs-validation">
- <title>Validation</title>
-
- <para>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:</para>
-
- <programlisting><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></programlisting>
-
- </sect2>
-
- <sect2 xml:id="editor-config-emacs-igor">
- <title>Automated Proofreading with Flycheck and Igor</title>
-
- <para>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</para>
-
- <programlisting>(add-to-list 'package-archives '("melpa" . "http://stable.melpa.org/packages/") t)</programlisting>
-
- <para>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.</para>
-
- <para>To install Flycheck, evaluate</para>
-
- <programlisting>(package-install 'flycheck)</programlisting>
-
- <para>Create a Flycheck checker for
- <package>textproc/igor</package> by evaluating</para>
-
- <programlisting>(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)</programlisting>
-
- <para>Again, add these lines to Emacs's initialization file to
- make the changes permanent.</para>
- </sect2>
-
- <sect2 xml:id="editor-config-emacs-specifc">
- <title>FreeBSD Documentation Specific Settings</title>
-
- <para>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:</para>
-
- <programlisting>;;; 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"))))</programlisting>
- </sect2>
- </sect1>
-
- <sect1 xml:id="editor-config-nano">
- <title><application>nano</application></title>
-
- <para>Install from
- <package>editors/nano</package> or
- <package>editors/nano-devel</package>.</para>
-
- <sect2 xml:id="editor-config-nano-config">
- <title>Configuration</title>
-
- <para>Copy the sample <acronym>XML</acronym> syntax highlight
- file to the user's home directory:</para>
-
- <screen>&prompt.user; <userinput>cp /usr/local/share/nano/xml.nanorc ~/.nanorc</userinput></screen>
-
- <para>Use an editor to replace the lines in the
- <filename>~/.nanorc</filename> <literal>syntax "xml"</literal>
- block with these rules:</para>
-
- <programlisting>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}).+$"</programlisting>
-
- <para>Process the file to create embedded tabs:</para>
-
- <screen>&prompt.user; <userinput>perl -i'' -pe 's/TAB/\t/g' ~/.nanorc</userinput></screen>
- </sect2>
-
- <sect2 xml:id="editor-config-nano-use">
- <title>Use</title>
-
- <para>Specify additional helpful options when running the
- editor:</para>
-
- <screen>&prompt.user; <userinput>nano -AKipwz -r 70 -T8 <replaceable>chapter.xml</replaceable></userinput></screen>
-
- <para>Users of &man.csh.1; can define an alias in
- <filename>~/.cshrc</filename> to automate these
- options:</para>
-
- <programlisting>alias nano "nano -AKipwz -r 70 -T8"</programlisting>
-
- <para>After the alias is defined, the options will be added
- automatically:</para>
-
- <screen>&prompt.user; <userinput>nano <replaceable>chapter.xml</replaceable></userinput></screen>
- </sect2>
- </sect1>
-</chapter>