Compose tips

  • Lines and paragraphs are automatically recognized. The <br /> line break, <p> paragraph and </p> close paragraph tags are inserted automatically. If paragraphs are not recognized simply add a couple blank lines.
  • Syntax highlighting of source code can be enabled with the following tags:

    • Generic syntax highlighting tags: "<code>", "<blockcode>".
    • Language specific syntax highlighting tags: "<as3>" for ActionScript 3 source code, "<c>" for C source code, "<cpp>" for C++ source code, "<drupal5>" for Drupal 5 source code, "<drupal6>" for Drupal 6 source code, "<java>" for Java source code, "<javascript>" for Javascript source code, "<php>" for PHP source code, "<python>" for Python source code, "<ruby>" for Ruby source code.

    Options and tips:

    • The language for the generic syntax highlighting tags can be specified with one of the attribute(s): type, lang, language. The possible values are: "actionscript3" (for ActionScript 3), "as3" (for ActionScript 3), "c" (for C), "cpp" (for C++), "drupal5" (for Drupal 5), "drupal6" (for Drupal 6), "java" (for Java), "javascript" (for Javascript), "php" (for PHP), "python" (for Python), "ruby" (for Ruby).
    • Line numbering can be enabled/disabled with the attribute "linenumbers". Possible values are: "off" for no line numbers, "normal" for normal line numbers and "fancy" for fancy line numbers (every nth line number highlighted). The start line number can be specified with the attribute "start", which implicitly enables normal line numbering. For fancy line numbering the interval for the highlighted line numbers can be specified with the attribute "fancy", which implicitly enables fancy line numbering.
    • If the source code between the tags contains a newline (e.g. immediatly after the opening tag), the highlighted source code will be displayed as a code block. Otherwise it will be displayed inline.
    • Beside the tag style "<foo>" it is also possible to use "[foo]".

    Defaults:

    • Default highlighting mode for generic syntax highlighting tags: when no language attribute is specified, no syntax highlighting will be done.
    • Default line numbering: no line numbers.

    Examples:

    You typeYou get
    <code>foo = "bar";</code>Inline code with the default syntax highlighting mode.
    <code>
    foo = "bar";
    baz = "foz";
    </code>
    Code block with the default syntax highlighting mode.
    <code lang="drupal6" linenumbers="normal">
    foo = "bar";
    baz = "foz";
    </code>
    Code block with syntax highlighting for Drupal 6 source code
    and normal line numbers.
    <code language="drupal6" start="23" fancy="7">
    foo = "bar";
    baz = "foz";
    </code>
    Code block with syntax highlighting for Drupal 6 source code,
    line numbers starting from 23
    and highlighted line numbers every 7th line.
    <as3>
    foo = "bar";
    baz = "foz";
    </as3>
    Code block with syntax highlighting for ActionScript 3 source code.
    <as3 start="23" fancy="7">
    foo = "bar";
    baz = "foz";
    <as3>
    Code block with syntax highlighting for ActionScript 3 source code,
    line numbers starting from 23
    and highlighted line numbers every 7th line.
  • Using custom PHP code

    Custom PHP code may be embedded in some types of site content, including posts and blocks. While embedding PHP code inside a post or block is a powerful and flexible feature when used by a trusted user with PHP experience, it is a significant and dangerous security risk when used improperly. Even a small mistake when posting PHP code may accidentally compromise your site.

    If you are unfamiliar with PHP, SQL, or Drupal, avoid using custom PHP code within posts. Experimenting with PHP may corrupt your database, render your site inoperable, or significantly compromise security.

    Notes:

    • Remember to double-check each line for syntax and logic errors before saving.
    • Statements must be correctly terminated with semicolons.
    • Global variables used within your PHP code retain their values after your script executes.
    • register_globals is turned off. If you need to use forms, understand and use the functions in the Drupal Form API.
    • Use a print or return statement in your code to output content.
    • Develop and test your PHP code using a separate test script and sample database before deploying on a production site.
    • Consider including your custom PHP code within a site-specific module or template.php file rather than embedding it directly into a post or block.
    • Be aware that the ability to embed PHP code within content is provided by the PHP Filter module. If this module is disabled or deleted, then blocks and posts with embedded PHP may display, rather than execute, the PHP code.

    A basic example: Creating a "Welcome" block that greets visitors with a simple message.

    • Add a custom block to your site, named "Welcome". With its input format set to "PHP code" (or another format supporting PHP input), add the following in the Block body:

      print t('Welcome visitor! Thank you for visiting.');
      
    • To display the name of a registered user, use this instead:

      global $user;
      if ($user->uid) {
        print t('Welcome @name! Thank you for visiting.', array('@name' => $user->name));
      }
      else {
        print t('Welcome visitor! Thank you for visiting.');
      }
      

    Drupal.org offers some example PHP snippets, or you can create your own with some PHP experience and knowledge of the Drupal system.

  • SWF Tools Filter

    The basic syntax for embedding a flash file (.swf), flash movie (.flv) or audio file (.mp3) is:

    [swf file="filename.swf"]

    If you would like to override SWF Tools and flash player default settings, you can specify additional parameters. For example:

    [swf file="song.mp3" flashvars="backcolor=#AABBCC&&forecolor=#11AA11"]

    If you would like to output a list of files then the format is:

    [swf files="image1.jpg&&image2.jpg&&..."]
    SWF Tools Filter will accept following:
    • params : You can specify values for parameters to be passed to Flash to control the appearance of the output. Typical values are bgcolor and wmode. Example: params="wmode=true&&bgcolor="#00FF00" Alternatively you can supply each parameter individually without using params. Example wmode="true" bgcolor="#00FF00"
    • flashvars : You can specify values for output as flashvars, which become available to the Flash movie that is playing. This is often done to control a media player. Refer to the documentation of the flash player you are using to know what flashvar options are available. Example: flashvars="autostart=true&&volume=80"
    • methods : Optional information about how to display the file. The most common usage is to specify a particular media player and thus override the default specified on the settings page. Example: methods="player=onepixelout_mp3"

    WARNING: with params, flashvars and othervars, pass multiple values separated by &&.