This is EmacsWiki, produced by makeinfo version 4.6 from EmacsWiki.texi.  File: EmacsWiki, Node: Top, Next: Overview, Up: (dir) Overview ******** Emacs Wiki ========== Introduction ------------ Emacs Wiki is an editing mode, which allow one to create collections of hyperlinked documents - a Website - in a very intuitive way. It is also the base for Planner a component of a PIM for Emacs, visit *note PlannerEtAl: (PlannerEtAl)Top. to read about the big picture. Shortcuts --------- *Wiki Markup (EmacsWiki.texi#Markup)* How to add design to a *note EmacsWiki: (EmacsWiki)Top. Page. *Emacs Wiki Tags (EmacsWiki.texi#Tags)* "HTML-like" Tags which can be put into your Emacs Wiki page to acomplish advanced functions. Overview -------- An Emacs mode for maintaining a local Wiki database. Wiki is a hypertext and a content management system: Normal users are encouraged to enhance the hypertext by editing and refactoring existing wikis and by adding more. This is made easy by requiring a certain way of writing the wikis. It is not as complicated as a markup language such as HTML. The general idea is to write plain ASCII. Words with mixed case such as [Non-existent link] are [Non-existent link]. [Non-existent link] are links you can follow. If a wiki with that name exists, you will be taken there. If such a does not exist, following the link will create a new wiki for you to fill. [Non-existent link] for non-existing wikis are rendered as links with class "nonexistent", and are also displayed in a warning color so that you can see whether following the link will lead you anywhere or not. Markup - how to make it look nice --------------------------------- Here is a description of the default markup rules: Headings * First level ** Second level *** Third level Note that the first level is actually indicated using H2, so that it doesn't appear at the same level as the page heading (which conceptually titles the section of that Wiki page). Horizontal rules ---- Emphasis *emphasis* **strong emphasis** ***very strong emphasis*** _underlined text_ =verbatim= This tag should be used for larger blocks of text. A reference1, which is just a number in square brackets, constitutes a footnote reference. Footnotes: 1 Footnotes are defined by the same number in brackets occurring at the beginning of a line. Use footnote-mode's C-c ! a command, to very easily insert footnotes while typing. Use C-x C-x to return to the point of insertion. Paragraphs One or more blank lines separates paragraphs. Centered paragraphs and quotations A line that begins with six or more columns of whitespace (made up of tabs or spaces) indicates a centered paragraph. I assume this because it's expected you will use M-s to center the line, which usually adds a lot of whitespace before it. If a line begins with some whitespace, but less than six columns, it indicates a quoted paragraph. Poetic verse Poetry requires that whitespace be preserved, without resorting to the monospace typical of
.  For this, the following special
     markup exists, which is reminiscent of e-mail quotations:

         > A line of Emacs verse;
         > forgive its being so terse.

     You can also use the
           tag, if you prefer:

                   
                   A line of Emacs verse;
                   forgive its being so terse.
          
          Literal paragraphs

               Use the HTML tags 
 tags.
                    The shorcut for doing this is to use the

                         
                         
                             
                             Some literal text or code here.
                    
                    
                    Lists
                    
                    
                       * bullet list

                      1. Enumerated list

                   *Term*
                         A definition list 

                         Blank lines between list elements are
                         optional, but required between members of a
                         definition list.
                    
                    Tables

                         There are two forms of table markup supported.
                         If Takaaki Ota's table.el package is
                         available, then simply create your tables using
                         his package, and they will be rendered into
                         the appropriate HTML.

                         If table.el is not available, then only very
                         simple table markup is supported.  The
                         attributes of the table are kept in
                         `emacs-wiki-table-attributes'.  The syntax is:

                             Double bars || Separate header fields
                             Single bars | Separate body fields
                             Here are more | body fields
                             Triple bars ||| Separate footer fields

                         Other paragraph markup applies to both styles,
                         meaning that if six or more columns of
                         whitespace precedes the first line of the
                         table, it will be centered, and if any
                         whitespace at all precedes first line, it will
                         occur in a blockquote.
                    
                    Anchors and tagged links

                         #example If you begin a line with
                         "#anchor"---where anchor can be any word that
                         doesn't contain whitespace---it defines an
                         anchor at that point into the document.  This
                         anchor text is not displayed.

                         You can reference an anchored point in another
                         page (or even in the current page) using
                         [Non-existent link].  The #anchor will never be
                         displayed in HTML, whether at the point of
                         definition or reference, but it will cause
                         browsers to jump to that point in the document.
                    
                    Redirecting to another page or URL

                         Sometimes you may wish to redirect someone to
                         another page.  To do this, put:

                             

                         at the top of the page.  If the (concat "This form gets" "inserted")

                         Special handling of WikiNames

                              If you need to add a plural at the end of
                              a [Non-existent link], separate it with
                              four single quotes `(WikiName'''s)'  or
                              make it an explicit link `[[WikiName]]s)'.

                              To prevent a link name (of any type) from
                              being treated as such, surround it with
                              `equals' (to display it in monotype), or
                              prefix it with the tag == to escape it
                              from WikiName markup.

                         Special Wiki links

                              Besides the normal [Non-existent link]
                              type links, emacs-wiki also supports
                              extended links:

                                  [[link text][optional link description]]

                              An extended link is always a link, no
                              matter how it looks.  This means you can
                              use any file in your
                              `emacs-wiki-directories' as a Wiki file.
                              If you provide an optional description,
                              that's what will be shown instead of the
                              link text.  This is very useful for
                              providing textual description of URLs.

                              See the documentation to
                              emacs-wiki-image-regexp for how to inline
                              files and images.

                         [Non-existent link] names

                              There are times when you will want to
                              constantly reference pages on another
                              website.  Rather than repeating the URL
                              ad nauseum, you can define an
                              [Non-existent link] name.  This is a set
                              of [Non-existent link] to URL
                              correlations, that support textual
                              substitution using #anchor names (which
                              are appended to the URL).  For example,
                              MeatballWiki
                              (http://www.usemod.com/cgi-bin/mb.pl?MeatballWiki)
                              is defined in the variable
                              `emacs-wiki-interwiki-names'.  It means
                              you can reference the page "[Non-existent
                              link]" on MeatballWiki
                              (http://www.usemod.com/cgi-bin/mb.pl?MeatballWiki)
                              using this syntax:

                                  MeatballWiki#MeatBall

                              In the resulting HTML, the link is simply
                              shown as "MeatballWiki
                              (http://www.usemod.com/cgi-bin/mb.pl?MeatballWiki):[Non-existent
                              link]".

Tags - Escaping and enhancing Markup
------------------------------------

                         Here is a summary of the default tags.  This
includes the dangerous tags listed in `emacs-wiki-dangerous-tags',
which may not be used by outsiders.

                        *verbatim*
                              Protects against highlighting and wiki
                              interpretation, and escapes any
                              characters which have special meaning to
                              the publishing format. For HTML,    this
                              means characters like '<' are escaped as
                              HTML entities.

                        *example*
                              Like verbatim, but typesets in HTML using
                              the 
 block.  In this case, line numbering is not available.

                             *bookmarks*
                                   Insert bookmarks at the location of
                                   the tag from the given    bookmarks
                                   file.  Required attribute "file"
                                   specifies which file    to read
                                   from, and the optional attribute
                                   "type" may be one of:    adr (for
                                   Opera), lynx, msie, ns, xbel or
                                   xmlproc.  The default type    is
                                   "xbel".  The optional attribute
                                   "folder" may be used to    specify
                                   which folder (and its children)
                                   should be inserted.

                                   Note that xml-parse.el version 1.5
                                   (available from my website) and the
                                   xbel-utils package (available at
                                   least to Debian users) is required
                                   for this feature to work.

Interwiki - Referring to other Sites/Wikis
------------------------------------------

                                   (defcustom emacs-wiki-interwiki-names
                                     '(("GnuEmacs" . "http://www.gnu.org/software/emacs/emacs.html")
                                       ("TheEmacsWiki" .
                                        (lambda (tag)
                                          (concat "http://www.emacswiki.org/cgi-bin/wiki.pl?"
                                                  (or tag "SiteMap"))))
                                       ("MeatballWiki" .
                                        (lambda (tag)
                                          (concat "http://www.usemod.com/cgi-bin/mb.pl?"
                                                  (or tag "MeatballWiki")))))

                                   "A table of [Non-existent link] that
                                   refer to external entities.  The
                                   format of this table is an alist, or
                                   series of cons cells.  Each cons
                                   cell must be of the form:

                                   (WIKINAME . STRING-OR-FUNCTION)

                              The second part of the cons cell may
either be a STRING, which in most cases should be a URL, or a FUNCTION.
If a function, it will be called with one argument: the tag applied to
the Interwiki name, or nil if no tag was used.  If the cdr was a STRING
and a tag is used, the tag is simply appended.

                              Here are some examples:

                                     (\"JohnWiki\" . \"http://alice.dynodns.net/wiki?\")

                              Referring to `[[JohnWiki#EmacsModules]]'
then really means:

                                   http://alice.dynodns.net/wiki?EmacsModules
                                   (http://alice.dynodns.net/wiki?EmacsModules)

                              If a function is used for the replacement
text, you can get creative depending on what the tag is.  Tags may
contain any alphabetic character, any number, % or _.  If you need
other special characters, use % to specify the hex code, as in %2E.
All browsers should support this."

                                     :type '(repeat (cons (string :tag "WikiName")
                                                          (choice (string :tag "URL") function)))
                                     :group 'emacs-wiki)

Wiki Projects
-------------

From the emacs-wiki.el file:
----------------------------

Commentary:
...........

                                   Wiki is a concept, more than a
                                   thing.  It is a way of creating
                                   document pages using plain text
                                   markup and simplified hyperlinking.

                                   By typing a name in [Non-existent
                                   link], a hyperlink is automatically
                                   created to the document
                                   "[Non-existent link]".  Pressing
                                   return on that name will create the
                                   file if it doesn't exist, or visit
                                   it if it does.

                                   The markup used by emacs-wiki is
                                   intended to be very friendly to
                                   people familiar with Emacs.  Type
                                   C-h v emacs-wiki-publishing-markup
                                   after this mode is loaded for how to
                                   get started.

                              **** Startup

                                   To begin using emacs-wiki, put this
                                   in your .emacs file:

                                   (load "emacs-wiki")

                                   Now you can type M-x
                                   emacs-wiki-find-file, give it a
                                   [Non-existent link] (or just hit
                                   return) and start typing!

                                   You should also type M-x
                                   customize-group, and give the name
                                   "emacs-wiki".  Change it to suite
                                   your preferences.  Each of the
                                   options has its own documentation.

                              **** Keystroke summary

                                   Here is a summary of keystrokes
                                   available in every Wiki buffer:

                                   C-c C-a    jump to an index of all
                                   the Wiki pages C-c C-b    show all
                                   pages that reference this page C-c
                                   C-s    search for a word in your
                                   Wiki pages C-c C-f    jump to
                                   another Wiki page; prompts for the
                                   name C-c C-l    highlight/refresh
                                   the current buffer C-c C-p
                                   publish any Wiki pages that have
                                   changed as HTML C-c C-r    rename
                                   wiki link at point C-c C-v    change
                                   wiki project C-c C-D    delete wiki
                                   link at point (binding will only
                                   work on X) C-c =      diff this page
                                   against the last backup version TAB
                                        move to the next Wiki reference
                                   S-TAB      move to the previous Wiki
                                   reference

                              **** Using pcomplete

                                   If you have pcomplete loaded, you
                                   can type M-TAB to complete Wiki
                                   names.  Hitting M-TAB twice or more
                                   time in succession, will cycle
                                   through all of the possibilities.
                                   You can download pcomplete from my
                                   Website:

                                   http://www.gci-net.com/~johnw/emacs.html
                                   (http://www.gci-net.com/~johnw/emacs.html)

                              **** [Non-existent link] support

                                   If you use a [Non-existent link]
                                   (C-x 4 a) within one of your Wiki
                                   directories, it will be used for
                                   notifying visitors to your wiki of
                                   recent changes.

                              **** Changing title or stylesheet

                                   For convenience, if you want to
                                   change the visible title, or the
                                   stylesheet, used by a certain Wiki
                                   page during HTML publishing, just
                                   put:

                                    #title Hello there
                                    #style hello.css

                                   at the top of the page.

                              **** `' tags can
be used, not only to evaluate forms for

                                   insertion at that point, but to
                                   influence the publishing process in
                                   many ways.  Here's another way to
                                   change a page's stylesheet:

                                   
                                    (ignore
                                      ;; use special.css for this Wiki page
                                      (set (make-variable-buffer-local 'emacs-wiki-style-sheet)
                                           ""))
                                    

                                   The 'ignore' is needed so nothing is
                                   inserted where the `' tag
                                   occurred.  Also, there should be no
                                   blank lines before or after the tag
                                   (to avoid empty paragraphs from
                                   being created).  The best place to
                                   put this would be at the very top or
                                   bottom of the page.

                              **** Sub-lists?

                                   There is no inherent support for
                                   sub-lists, since I couldn't think of
                                   a simple way to do it.  But if you
                                   really need them, here's a trick you
                                   can use:

                                    - Hello
                                      
  • There
  • My friend
 Tag Table: Node: Top74 Ref: Markup1656 Ref: Tags11138  End Tag Table