Package | system.web.widgets |
---|---|
Inheritance | class CMarkdown » COutputProcessor » CFilterWidget » CWidget » CBaseController » CComponent |
Implements | IFilter |
Since | 1.0 |
Source Code | framework/web/widgets/CMarkdown.php |
Property | Type | Description | Defined By |
---|---|---|---|
actionPrefix | string | the prefix to the IDs of the actions. | CWidget |
controller | CController | Returns the controller that this widget belongs to. | CWidget |
cssFile | mixed | the CSS file used for the widget. | CMarkdown |
id | string | Returns the ID of the widget or generates a new one if requested. | CWidget |
isFilter | boolean | whether this widget is used as a filter. | CFilterWidget |
markdownParser | CMarkdownParser | Returns the markdown parser instance. | CMarkdown |
owner | CBaseController | Returns the owner/creator of this widget. | CWidget |
purifyOutput | boolean | whether to use CHtmlPurifier to purify the generated HTML code. | CMarkdown |
skin | mixed | the name of the skin to be used by this widget. | CWidget |
stopAction | boolean | whether to stop the action execution when this widget is used as a filter. | CFilterWidget |
viewPath | string | Returns the directory containing the view files for this widget. | CWidget |
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | CComponent |
__construct() | Constructor. | CFilterWidget |
__get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
__isset() | Checks if a property value is null. | CComponent |
__set() | Sets value of a component property. | CComponent |
__unset() | Sets a component property to be null. | CComponent |
actions() | Returns a list of actions that are used by this widget. | CWidget |
asa() | Returns the named behavior object. | CComponent |
attachBehavior() | Attaches a behavior to this component. | CComponent |
attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
attachEventHandler() | Attaches an event handler to an event. | CComponent |
beginCache() | Begins fragment caching. | CBaseController |
beginClip() | Begins recording a clip. | CBaseController |
beginContent() | Begins the rendering of content that is to be decorated by the specified view. | CBaseController |
beginWidget() | Creates a widget and executes it. | CBaseController |
canGetProperty() | Determines whether a property can be read. | CComponent |
canSetProperty() | Determines whether a property can be set. | CComponent |
createWidget() | Creates a widget and initializes it. | CBaseController |
detachBehavior() | Detaches a behavior from the component. | CComponent |
detachBehaviors() | Detaches all behaviors from the component. | CComponent |
detachEventHandler() | Detaches an existing event handler. | CComponent |
disableBehavior() | Disables an attached behavior. | CComponent |
disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
enableBehavior() | Enables an attached behavior. | CComponent |
enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
endCache() | Ends fragment caching. | CBaseController |
endClip() | Ends recording a clip. | CBaseController |
endContent() | Ends the rendering of content. | CBaseController |
endWidget() | Ends the execution of the named widget. | CBaseController |
evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
filter() | Performs the filtering. | CFilterWidget |
getController() | Returns the controller that this widget belongs to. | CWidget |
getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
getId() | Returns the ID of the widget or generates a new one if requested. | CWidget |
getIsFilter() | Checks whether this widget is used as a filter. | CFilterWidget |
getMarkdownParser() | Returns the markdown parser instance. | CMarkdown |
getOwner() | Returns the owner/creator of this widget. | CWidget |
getViewFile() | Looks for the view script file according to the view name. | CWidget |
getViewPath() | Returns the directory containing the view files for this widget. | CWidget |
hasEvent() | Determines whether an event is defined. | CComponent |
hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
hasProperty() | Determines whether a property is defined. | CComponent |
init() | Initializes the widget. | COutputProcessor |
onProcessOutput() | Raised when the output has been captured. | COutputProcessor |
processOutput() | Processes the captured output. | CMarkdown |
raiseEvent() | Raises an event. | CComponent |
registerClientScript() | Registers the needed CSS and JavaScript. | CMarkdown |
registerCssFile() | Registers the needed CSS file. | CMarkdown |
render() | Renders a view. | CWidget |
renderFile() | Renders a view file. | CBaseController |
renderInternal() | Renders a view file. | CBaseController |
run() | Executes the widget. | COutputProcessor |
setId() | Sets the ID of the widget. | CWidget |
transform() | Converts the content in markdown syntax to HTML code. | CMarkdown |
widget() | Creates a widget and executes it. | CBaseController |
Method | Description | Defined By |
---|---|---|
createMarkdownParser() | Creates a markdown parser. | CMarkdown |
Event | Description | Defined By |
---|---|---|
onProcessOutput | Raised when the output has been captured. | COutputProcessor |
the CSS file used for the widget. Defaults to null, meaning using the default CSS file included together with the widget. If false, no CSS file will be used. Otherwise, the specified CSS file will be included when using this widget.
Returns the markdown parser instance. This method calls createMarkdownParser to create the parser instance. Call this method multipe times will only return the same instance.
whether to use CHtmlPurifier to purify the generated HTML code. Defaults to false.
protected CMarkdownParser createMarkdownParser()
| ||
{return} | CMarkdownParser | the markdown parser. |
protected function createMarkdownParser()
{
return new CMarkdownParser;
}
Creates a markdown parser. By default, this method creates a CMarkdownParser instance.
public CMarkdownParser getMarkdownParser()
| ||
{return} | CMarkdownParser | the parser instance |
public function getMarkdownParser()
{
if($this->_parser===null)
$this->_parser=$this->createMarkdownParser();
return $this->_parser;
}
Returns the markdown parser instance. This method calls createMarkdownParser to create the parser instance. Call this method multipe times will only return the same instance.
public void processOutput(string $output)
| ||
$output | string | the captured output to be processed |
public function processOutput($output)
{
$output=$this->transform($output);
if($this->purifyOutput)
{
$purifier=new CHtmlPurifier;
$output=$purifier->purify($output);
}
parent::processOutput($output);
}
Processes the captured output. This method converts the content in markdown syntax to HTML code. If purifyOutput is true, the HTML code will also be purified.
public void registerClientScript()
|
public function registerClientScript()
{
if($this->cssFile!==false)
self::registerCssFile($this->cssFile);
}
Registers the needed CSS and JavaScript.
public static void registerCssFile(string $url=NULL)
| ||
$url | string | the CSS URL. If null, a default CSS URL will be used. |
public static function registerCssFile($url=null)
{
CTextHighlighter::registerCssFile($url);
}
Registers the needed CSS file.
public string transform(string $output)
| ||
$output | string | the content to be converted |
{return} | string | the converted content |
public function transform($output)
{
$this->registerClientScript();
return $this->getMarkdownParser()->transform($output);
}
Converts the content in markdown syntax to HTML code. This method uses CMarkdownParser to do the conversion.
CMarkdown usage examples
You can use this class as typical widget:
<?php $this->beginWidget('CMarkdown');?> _Markdown_ *example* <?php $this->endWidget();?>
or directly:
$text = '_Markdown_ *example*'; $md = new CMarkdown; echo $md->transform($text);
Signup or Login in order to comment.