buy valium no prescription discount phentermine xanax online vicodin without prescription diazepam online no prescription adipex online hydrocodone cod drug fioricet zoloft suicide no prescription zovirax akane soma cheapest cialis tramadol online generic ambien herbal viagra smoking weightloss diet oxycodone detox phentermine buy online lamisil tramadol cheap order viagra online buy ultram biaxin buy online buy adipex online buy celexa buy fioricet buy online codeine buy xanax watson soma alcohol and lexapro buy ultracet vicodin valium forum generic celebrex ambien pharmacy buy cialis buy hydrocodone without prescription ephedrine hcl zoloft generic fioricet xanax effect buy phentermine adipex online order ambien biaxin antibiotic buy carisoprodol celebrex side effects canada discount celexa cheapest cialis cheap codeine ephedrine fioricet prescription hydrocodone cod buy hydrocodone online lamisil at lexapro discount phentermine discount prozac soma tramadol cheap buy ultracet no prescription ultram valium without prescription herbal viagra vicodin addiction xanax zoloft side effects buy cheap aciphex actonel bad side effects acyclovir zovirax aldara online allegra beck versace buy online altace amoxicillin rash atenolol and flushing ativan use during pregnancy arizona bextra class action biaxin bupropion hcl buy butalbital buy cialis online claritin buying ephedrine diet pills drug fioricet hydrocodone cod lamisil buying buy cheap levitra online gain weight on lexapro lorcet cheap meridia diet pill nasonex paxil suicide phentermine side effects premarin buying cheap propecia buy cheap proscar buy cheap risperdal buy soma synthroid dosage generic tadalafil discount tenuate buy tramadol valtrex vicodin es vioxx lawyer buy xango yasmin 28 zoloft attorney buy zovirax zyprexahttp://hydrocodone.openswarm.com/ prescription adipex side effects of diazepam fioricet prescription hydrocodone online ionamin forte discount phentermine buy valium vicodin side effects xanax xr hydrocodone apap buy phentermine online adipex hurt me diazepam without prescription buy fioricet online hydrocodone apap ionamin forte phentermine side effects valium without prescription vicodin xanax side effects buy viagra online free blackjack initial d gamble rumble casino gambling forum online roulette strip poker texas holdem poker celebrex cheap amoxicillin antibiotic side effects adipex diet pills ambien effexor side effects clomid success rates california accutane lawyers prozac side effects prednisone side effects lorazepam side effects metformin hydrochloride glucophage xanax forum wellbutrin forum cheap viagra bontril diet pill generic didrex actos prescription alprazolam augmentin online buspar side effects codeine diazepam buy diflucan flexeril buy online buy online imitrex phentermine ionamin buy cheap neurontin buy online protonix buy online provigil cosmetics retin a purchase ultracet generic ultram buy valium cheap vigrx online xenical cheap zocor wellbutrin zyban bupropion side effects buy zyrtec carisoprodol buying canada discount celexa buy ephedra seeds synthroid side effects tadalafil generic propecia zoloft lawsuits xango mangosteen tramadol buy vioxx free cialis acyclovir zovirax hydrocodone apap meridia generic ephedrine hcl soma carisoprodol phentermine online paxil cr yasmin rios side effects of zyprexa vicodin without prescription tenuate on line side effects for valtrex atenolol cheap altace viagra cialis levitra lexapro side effects bupropion sr alaska bextra class action buy aciphex actonel cheap aldara buy online allegra amoxicillin antibiotic side effects ativan biaxin cheap butalbital cheap claritin buy online fioricet prescription lamisil cheap buy lorcet online nasonex buying premarin online proscar buy online risperdal buy zovirax

Wiki Processors

Processors are WikiMacros designed to provide alternative markup formats for the Trac Wiki engine. Processors can be thought of as macro functions to process user-edited text.

The wiki engine uses processors to allow using Restructured Text and raw HTML in any wiki text throughout Trac.

Using Processors

To use a processor on a block of text, use a wiki blockquote, selecting a processor by name using 'hashbang notation' (#!), familiar to most UNIX users from scripts.

Example 1 (inserting raw HTML in a wiki text):

{{{
#!html
<h1 style="color: orange">This is raw HTML</h1>
}}}

Results in:

This is raw HTML


Example 2 (inserting Restructured Text in wiki text):

{{{
#!rst
A header
--------
This is some **text** with a footnote [*]_.

.. [*] This is the footnote.
}}}

Results in:

A header
--------
This is some **text** with a footnote [*]_.

.. [*] This is the footnote.

Example 3 (inserting a block of C source code in wiki text):

{{{
#!c
int main(int argc, char *argv[])
{
  printf("Hello World\n");
  return 0;
}
}}}

Results in:

int main(int argc, char *argv[])
{
  printf("Hello World\n");
  return 0;
}

Available Processors

The following processors are included in the Trac distribution:

Source Code Support

Trac includes processors to provide inline syntax highlighting for these languages:

  • c -- C
  • cpp -- C++
  • python -- Python
  • perl -- Perl
  • ruby -- Ruby
  • php -- PHP
  • asp --- ASP
  • sql -- SQL
  • xml -- XML

Note: Trac relies on external software packages for syntax coloring. See TracSyntaxColoring for more info.

For more processor macros developed and/or contributed by users, visit the processor bazaar:

http://projects.edgewall.com/trac/wiki/ProcessorBazaar


Advanced Topics: Developing Processor Macros

Developing processors is no different than WikiMacros. In fact they work the same way, only the usage syntax differs. See WikiMacros for more information.

Example: (Restructured Text Processor):

from docutils.core import publish_string

def execute(hdf, text):
    html = publish_string(text, writer_name = 'html')
    return html[html.find('<body>')+6:html.find('</body>')].strip()

See also: WikiMacros, WikiHtml, WikiRestructuredText, TracSyntaxColoring, WikiFormatting, TracGuide?