The shift-right and shift-left items in the menu, or the buttons in the tool bar, will indent or unindent the currently selected text. It will normally use tabs for indenting, or spaces if you have 'indent with spaces' selected in the preferences. The number of spaces used is the same as the 'tabsize' option in the preferences.
SCREENSHOT BY ????
By default, Bluefish will automatically produce closing tags for HTML and XML documents. For example, if you type <p> within an HTML document, bluefish will produce </p>. So, as soon as you finish typing a non-empty HTML tag, meaning the tag is supposed to have a closing tag, Bluefish will help you out and close the tag automatically. For empty tags, like <br>, Bluefish correctly does nothing. This feature can be turned off by unchecking the menu option Document > Auto Close HTML Tags.
Bluefish has two modes for tag closing, an XML mode and an HTML mode. In XML mode, Bluefish will add a closing tag to any tag that is not closed itself with />. In HTML mode, Bluefish excludes all known tags that do not need a closing tag, such as <br> and <img>.
Bluefish will choose the mode based on the filetype of the document. In the filetype preferences the default mode for each filetype can be set.
Bluefish uses aspell for spell checking. If the aspell libraries are not installed on your system, then the spell checking feature will not be available. To launch the spell checker, select Document > Check Spelling...
The spell checker will launch in a separate window, which you can keep open as you edit files. You have the option to check a whole document or just a selection. Click on Spell Check to start spell checking the current document. As you run across misspelled words you want included in the dictionary, click on the Add button in the spell checker window. This will add words to a personal dictionary.
Key words for different languages can be ignored using filters. Currently, the only filter is for HTML. If you want to help write more filters, join the mailing list.
The function reference browser is a place where reference information about a certain language can be found. Currently Bluefish comes with a PHP reference, a CSS 2.0 reference, an HTML reference and a Python reference. The functions are grouped depending on the language, by type, module, object, etc.
The function reference browser can show a info window on the bottom. Check the 'Show info window' checkbox. In this window some information about the currently selected item can be shown. What exactly is shown can be chosen in the right-click context menu.
SCREENSHOT BY ????
Every item in the function reference can simply insert text, show an info window, or show a dialog that can be used to insert text. In the right-click context menu each of these functions are accessible. One of these functions can be bound to a left-double-click action. This is also configurable from the context menu.
HTML is obviously the most supported language in Bluefish. There is a special HTML tool bar with many dialogs, and several menu sections to work with tags. You can also right-click a tag and bring up the dialog from there. The preferences have several settings on HTML style under HTML.
In the reference tree on the left panel there is also HTML reference available.
There are several special search and replace actions in the menu Edit-Replace special. These can be used to convert special characters (like < and &), or ISO characters to their HTML entities.
Bluefish can automatically generate thumbnails for images. ..... TO BE WRITTEN BY ???
SCREENSHOT BY ????
The quick bar is a user defined tool bar. All HTML tool bar buttons can be added to the quick bar by simply right-clicking them and selecting "Add to quick bar". If you want to remove items from the Quick bar, right-click them and select "Remove from Quick bar"
SCREENSHOT BY ????
The custom menu allows you to add "often used" strings or search and replace patterns to a menu. Upon install Bluefish will create some default entries, these will give you an idea what can be done with the custom menu.
The location for entries in the custom menu is defined by their menu path. A menu path looks like /Main menu/submenu/item or /Main menu/item.
There are two types of items in the custom menu. First is the Custom dialog, which will insert a string, optionally based on values asked in a dialog. Second is the Custom Find and Replace, which will run a replace, also optionally based on values asked in a dialog.
The most simple custom dialog item has a menupath, for example /MySite/author, and a Formatstring before, for example 'written by Olivier'. If you add this item, you can add this string by selecting the menu item.
SCREENSHOT BY ????
In another example, you have a string you often need to set before and after some block of text. For example <div class="MyClass"></div>. Now you choose menupath /MySite/div with class and you choose <div class="MyClass"> as formatstring before, and you choose </div> as formatstring after. Click add, and the item is in the menu. If you now select some text, and activate this menu item, you will see that the first bit of text is added before the selection, and the second bit is added after the selection.
Suppose you want to improve this last example. You have both MyClass1 and MyClass2. Now use 'Number of variables' 1 in the custom menu editor. As you see a new entry appears where you can enter the name for variable %0. As name we enter 'MyClass number', and now we change the formatstring before to <div class="MyClass%0">. If you now activate this menu, it will ask you for a value for 'MyClass number', and then insert the strings, using the value you provided.
SCREENSHOT BY ????
Find and replace items are no different. The dialog has some more options, each of these options correspond to the regular replace dialog. Again you can use variables like %0, %1 etc. to make a certain menu item more flexible.
SCREENSHOT BY ????
You can integrate external commands such as browsers, or text filters. If you want to use for example a sed command as a filter, you can add it like this to the external commands and filters (in the preferences dialog): sed -e 'some sed command' > '%f' < '%s'
To add items to the external menu:
Edit > Preferences
Choose the "External Programs" tab.
Click "Add" to add a new item
Double-click on the name field to give the command a name (this name will become an option in the "External" menu).
Double-click on the command field to type the command to be executed.
I WILL ADD AN EXAMPLE HERE LATER
Items within External > Outputbox allow for programs to give feedback by opening an output box within Bluefish's main window. To create an Outputbox menu item:
Edit > Preferences
Choose the "Output parsers" tab.
Click "Add" to add a new item
Double-click on the name field to give the command a name (this name will become an option in the "External" menu).
Double-click on the pattern field and give a regular expression pattern with subpatterns, such as line ([0-9]+) column [0-9]+ - (.*).
Double-click on the "File #" field and give the number for the subpattern matching the filename (-1 for none)
Double-click on the "Line #" field and give the number for the subpattern matching the line number
Double-click on the "Output #" field and give the number for the subpattern matching the actual error message
Double-click on the "Command" field and the command to execute, %s is the current filename
Toggle the "Show all output" check box to show output NOT matching the regular expression.