This Manual tries to be helpful, but if you find it lacking in any way, don’t hesitate to ask for help.
This section will assume that you are installing Whisper for the first time.
After downloading the Whisper bundle archive extract it with your favorite zip-extraction utility.
Next:
Then:
Now you can visit your Whisper site in your browser, and if all went well, you’ll see the default page.
Now, the next thing you’ll probably want to do is customize your site.
Visit index.php?panel (or index.php?command=panel). Enter your user name, password, and click “log in.” You should now see the Whisper Control Panel.
What follows is a brief explanation of the various Control Panel sections:
New Page
To create a new page, simply type its name in the box and click the “Add” button.
Individual Pages
This is where the list of your pages appears. To edit a page, simply click on its name. The page in bold
is your Front Page, and any italicized pages are hidden – they will not appear in page lists on the public site.
Plugins
A list of installed plugins appears here. If a plugin is underlined (clickable), you can click on it to
manually activate it. Plugins that are not clickable typically perform some quieter, background
function.
Site Management
There are a few other options that could appear here:
Information
This section provides some miscellaneous information about your current Whisper configuration, allows you to check for updated versions of the software, and provides a link from which you may view your site (in a new window).
You can begin creating new pages and editing your template/stylesheet immediately.
If you click on the “Configuration” link from the Control Panel, you’ll see the Whisper Configuration screen.
Here is a brief explanation of the configurable options:
Front Page – This is the name of the page that Whisper will regard as the default page. When someone visits http://yoursite/whisper/ without specifying a specific page name (as in http://yoursite/whisper/?somepage), they will see the Front Page.
Unique Front Page Mode – If you want your Front Page to look different than all of the others, set this to on. You’ll then have two different templates available—one for your Front Page, and one for all other pages.
File Generation – If turned on, File Generation will create an individual file (html, php, or anything else) for each of your pages.
File Extension – If File Generation is on, this is the file extension that will be appended to your Whisper-generated files.
Spaces Separator – This is the character (or characters) that Whisper will use in place of any spaces in the names of generated files (if File Generation is turned on). Example: File Generation is on, the File Extension is set to “html”, the File Extension is set to an underscore (_), and you have a page called “Hello There”. The generated file for this page will be called Hello_There.html.
Database File Name – This is the name of your database file.
Template File Name – This is the name of your template file.
Stylesheet File Name – This is the name of your stylesheet.
Editor – Rows – This, along with its counterpart, Editor – Columns, allows you to adjust the height (rows) and width (columns) of the text editing box in the Whisper Editor.
The Whisper Database houses information about each of your pages, and allows for some simple maintenance.
Renaming Pages
Just type a new name in the box. When the “Save Changes” button is clicked, the file will be renamed.
Modifying Creation Dates
You can enter a date and time in the “Created” field for each page. You can enter it in any format you
wish, and Whisper will standardize it for you.
Hiding Pages
With this option checked, the page will not appear in menus. This is useful for utility pages, such as the search results.
Deleting Pages
If a check is placed in the Delete box beside a page, that page will be deleted when the “Save
Changes” button is clicked.
The “Advanced Mode” is available for advanced users who wish to make bulk changes to their Whisper databases.
To edit a page, simply click on its name from the Control Panel. The Whisper Editor appears, and the content of the page is displayed. Once you have made your changes, click the “Save this page” button to save this page.
If you want to make the page that’s currently being edited your new Front Page, simply place a check in the “Make this my new front page” box before clicking “Save this page”.
Whisper works well with Textile. What’s Textile? It’s a wonderful way to “mark up” your text (that is, to make it bold, italicized, underlined, and so much more) without having to know (or bother with) any HTML.
Here’s an example of what Textile can do for you:
The old way:
<p><a href="http://www.pagesisthebest.com/pages.html"><img src="http://www.pagesisthebest.com/images/pages.jpg" title="Pages is the best"
alt="Pages is the best" width="417" height="415" /></a></p>
With Textile:
!http://www.pagesisthebest.com/images/pages.jpg(Pages is the
best)!:http://www.pagesisthebest.com/pages.html
As you can see, Textile makes life easy. Here’s a list of everything that it does:
Header: h(1-6).
Paragraphs beginning with ‘hn. ’ (where n is 1-6) are wrapped in header tags.
Example: h1. Header... → <h1>Header...</h1>
Paragraph: p. (also applied by default)
Example: p. Text → <p>Text</p>
Blockquote: bq.
Example: bq. Block quotation... → <blockquote>Block quotation...</blockquote>
Blockquote with citation: bq.:http://citation.url
Example: bq.:http://textism.com/ Text... → <blockquote
cite="http://textism.com">Text...</blockquote>
Footnote: fn(1-100).
Example: fn1. Footnote... → <p id="fn1">Footnote...</p>
Numeric list: #, ##
Consecutive paragraphs beginning with # are wrapped in ordered list tags.
Example: <ol><li>ordered list</li></ol>
Bulleted list: *, **
Consecutive paragraphs beginning with * are wrapped in unordered list tags.
Example: <ul><li>unordered list</li></ul>
| _emphasis_ | →<em>emphasis</em> |
| __italic__ | →<i>italic</i> |
| *strong* | →<strong>strong</strong> |
| **bold** | →<b>bold</b> |
| ??citation?? | →<cite>citation</cite> |
| –deleted text– | →<del>deleted</del> |
| +inserted text+ | →<ins>inserted</ins> |
| ^superscript^ | →<sup>superscript</sup> |
| ~subscript~ | →<sub>subscript</sub> |
| @code@ | →computer code |
| %(bob)span% | →<span class="bob">span</span> |
| ==notextile== | →leave text alone (do not format) |
| "linktext":url | →<a href="url">linktext</a> |
| "linktext(title)":url | →<a href="url" title="title">linktext</a> |
| !imageurl! | →<img src="imageurl" /> |
| !imageurl(alt text)! | →<img src="imageurl" alt="alt text" /> |
| !imageurl!:linkurl | →<a href="linkurl"><img src="imageurl" /></a> |
| ABC(Always Be Closing) | →<acronym title="Always Be Closing">ABC</acronym> |
Simple tables:
|a|simple|table|row|
|And|Another|table|row|
|_. A|_. table|_. header|_.row|
|A|simple|table|row|
Tables with attributes:
table{border:1px solid black}.
{background:#ddd;color:red}. |{}| | | |
Applying Attributes:
Most anywhere Textile code is used, attributes such as arbitrary css style, css classes, and ids can be applied. The syntax is fairly consistent.
The following characters quickly alter the alignment of block elements:
| < | →left align | ex. | p<. left-aligned para |
| > | →right align | h3>. right-aligned header 3 | |
| = | →centred | h4=. centred header 4 | |
| <> | →justified | p<>. justified paragraph |
These will change vertical alignment in table cells:
| ^ | →top | ex. | |^. top-aligned table cell| |
| – | →middle | |-. middle aligned| | |
| ~ | →bottom | |~. bottom aligned cell| |
Plain (parentheses) inserted between block syntax and the closing dot-space indicate classes and ids:
p(hector). paragraph→<p class="hector">paragraph</p>
p(#fluid). paragraph→<p id="fluid">paragraph</p>
(classes and ids can be combined)
p(hector#fluid). paragraph →<p class="hector" id="fluid">paragraph</p>
Curly {brackets} insert arbitrary css style
p{line-height:18px}. paragraph →<p style="line-height:18px">paragraph</p>
h3{color:red}. header 3 →<h3 style="color:red">header 3</h3>
Square [brackets] insert language attributes
p[no]. paragraph →<p lang="no">paragraph</p>
%[fr]phrase% →<span lang="fr">phrase</span>
Usually Textile block element syntax requires a dot and space before the block begins, but since lists don’t, they can be styled just using braces:
#{color:blue} one
# big
# list
becomes
<ol style="color:blue">
<li>one</li>
<li>big</li>
<li>list</li>
</ol>
Using the span tag to style a phrase
It goes like this, %{color:red}the fourth the fifth%
→ It goes like this, <span style="color:red">the fourth the fifth</span>
Writing your own plugins for Whisper is easy. For good examples, see the sample and advanced_menu plugins.
One plugin in particular, Sections, is extremely powerful in extending your Whisper site.
Using Sections as includes
You can use pages as modular chunks of content. By giving a page a parent and setting its template to 'none,' you can then include it in its parent page using the <!sections/> tag. The included page's title will not be displayed unless you use the <!page_title/> tag.
Sections used in this manner will not appear in the list of pages generated by the <!main_menu/> tag, since they are children of another page. They will also not appear as independent pages in search results -- their content will be searched as part of their parent pages.
Blogging with Sections
The <!reverse_sections/> tag introduces a rudimentary form of blogging to Whisper. Create your blog posts as you would includes, as described above. Then use the <!reverse_sections/> tag to include the page's sections blog-style: in reverse chronological order with a date stamp ("Posted on...").
The search function will not look for the output of most Whisper tags -- for example, menus and quotes. If a section has been used as an include, its parent page will be listed in search results.
The page containing the <!search_results/> tag can be specified in the configuration settings.