diff options
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.xml | 248 |
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 "&[^;]*;" - 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()</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> |