%META:TOPICINFO{author="ProjectContributor" date="1231502400" format="1.1" version="1"}%
%META:TOPICPARENT{name="UsersGuide"}%
%STARTINCLUDE%
---+ Text Formatting

Working in Foswiki is as easy as typing in text. You don't need to know HTML, though you can use it if you prefer. Links to topics are created automatically when you enter WikiWords. And Foswiki shorthand gives you all the power of HTML with a simple coding system that takes no time to learn. It's all laid out below.

%TOC{depth="4"}%

#EditingShorthand
---++ Editing Shorthand

%INCLUDE{"EditingShorthand"}%

---++ Using HTML

%INCLUDE{"UsingHTML"}%

---++ Hyperlinks

Being able to create links without any special formatting is a core Foswiki feature, made possible with WikiWords, [[ACRONYM][Acronyms]],  and inline URLs.

---+++ Internal Links

   * GoodStyle is a WikiWord that links to the <nop>GoodStyle topic located in the current web.

   * NotExistingYet is a topic waiting to be written. Create the topic by clicking on the *?*. (Try clicking, but then, *Cancel* - creating the topic would wreck this example!)

   * ACRONYM links to a topic name consisting of only upper-case letters. Acronyms are linked only if the target topic actually exists.

---+++ External Links

   * Protocols matching the configuration parameter =LinkProtocolPattern=, which by default is set to =(file|ftp|gopher|https|http|irc|mailto|news|nntp|telnet)=, are linked automatically. You might change this setting to add more protocols (such as smb).
   <blockquote class="foswikiHelp">%T% =LinkProtocolPattern= is an
   _expert_ setting in the Foswiki configuration and can only be changed
   by a systems administrator.</blockquote>
   Thus, all lines containing:
      * =file://...=
      * =ftp://...=
      * =gopher://...=
      * =https://...=
      * =http://...=
      * =irc://...=
      * =mailto:...@...=
      * =news://...=
      * =nntp://...=
      * =telnet://...=
   are linked automatically.  
   * E-mail addresses like =name@domain.com= are linked automatically.
   * =[<nop>[Square bracket rules]]= let you easily create [[#SquareBrackets][non-WikiWord links]].
      * You can also write =[<nop>[http://yahoo.com Yahoo home page]]= as an easier way of doing external links with descriptive text for the link, such as [[http://yahoo.com/ Yahoo home page]].

---++ Macros

Macros are names enclosed in percent signs that are that are expanded to some other text when the topic is displayed. For example, =%<nop>TOPIC%= is expanded to %TOPIC%, the title of this topic.

Some macros can take arguments in curly braces - for example, =%<nop>INCLUDE{"OtherTopic" ARG="arg"}%=.

Many macro definitions are built-in, and others ([[%SYSTEMWEB%.PreferenceSettings][preference settings]]) are predefined for your convenience. You can also define your own
[[%SYSTEMWEB%.PreferenceSettings][preference settings]] at the entire site, individual web, or individual topic level. For more information, see *[[Macros]]*

Macros are fully expanded _before_ any of the text formatting rules are applied.

---++ Plugin Formatting Extensions

Plugins can extend the functionality of Foswiki into many other areas. There are a huge number of plugins available from the [[Foswiki::Extensions.WebHome][foswiki site]].

Currently enabled plugins on this installation, as listed by =%<nop>PLUGINDESCRIPTIONS%=:
%PLUGINDESCRIPTIONS%

Check on current Plugin status and settings for this site in [[%SYSTEMWEB%.Plugins]].

---++ Common Editing Errors

Foswiki formatting rules are fairly simple to use and quick to type. However, there are some things to watch out for:

   * *Q:* Text enclosed in angle brackets like =&lt;filename&gt;= is not displayed. How can I show it as it is?
      * *A:* The ='&lt;'= and ='&gt;'= characters have a special meaning in HTML, they define HTML tags. You need to escape them, so write ='&amp;lt;'= instead of ='&lt;'=, and ='&amp;gt;'= instead of ='&gt;'=. <br /> Example: Type ='prog &amp;lt;filename&amp;gt;'= to get ='prog &lt;filename&gt;'=.

   * *Q:* Why is the ='&'= character sometimes not displayed?
      * *A:* The ='&'= character has a special meaning in HTML, it starts a so called character entity, i.e. ='&amp;copy;'= is the =&copy;= copyright character. You need to escape ='&amp;'= to see it as it is, so write ='&amp;amp;'= instead of ='&amp;'=. <br /> Example: Type ='This &amp;amp; that'= to get ='This &amp; that'=.
