1
0
Fork 0
mirror of https://github.com/Oreolek/kohana-markdown.git synced 2024-05-02 00:49:24 +03:00
kohana-markdown/README.md

100 lines
3.2 KiB
Markdown

## Kohana Markdown ##
###### *Last edited: Wed, 07 July 2010 (stroppytux)* ######
A text-to-HTML conversion tool for web writers for Kohana 3.
Based off the php created by Michel Fortin under the gpl lisense. For more
information, please refer to:
<http://michelf.com/projects/php-markdown/>
Original Markdown concept by John Gruber. Please refer to:
<http://daringfireball.net/projects/markdown/>
Markdown is a text-to-HTML filter; it translates an easy-to-read /
easy-to-write structured text format into HTML. Markdown's text format
is most similar to that of plain text email, and supports features such
as headers, *emphasis*, code blocks, blockquotes, and links.
Markdown's syntax is designed not as a generic markup language, but
specifically to serve as a front-end to (X)HTML. You can use span-level
HTML tags anywhere in a Markdown document, and you can use block level
HTML tags (like `<div>` and `<table>` as well).
For more information about Markdown's syntax, see:
<http://daringfireball.net/projects/markdown/>
## Installation ##
1. ### Check out the main source ###
Checkout the main repository from github. In order to do this, you will need
a github key configured. Please check the github documentation for more
details.
git clone git://github.com/stroppytux/kohana-markdown.git modules/markdown
This should give you the following *(in the modules/markdown directory)*:
classes config README.md
2. ### Configure Markdown ###
Copy the configuration file located in markdown/config to your application
configuration directory.
cp modules/markdown/config/markdown.php application/config/
* ####type####
Defines the type of output to produce. This can be one of *html* or *xhtml*.
* ####tab_width####
When producing the output, indentation is applied. The **tab_width**
value sets the tab width to use for the indentation.
3. ### Enable Markdown ###
In order to enable the markdown module, edit the application/bootstrap.php
file and add and enable the markdown module within the `Kohana::modules`
section of the bootstrap file.
'markdown' => MODPATH.'markdown', // Markdown module
4. ### Process strings ###
Now add the markdown transformer in between the value received from the
user, and the storage. eg.
<?php defined('SYSPATH') or die('No direct script access.');
class Model_Description extends Model {
public function add($data)
{
$query = DB::query(Database::INSERT, '
INSERT INTO `Descriptions`
(`d_title`, `d_description`)
VALUES
(:title, :description)');
/* Sort out the description */
$description = Markdown::instance()->transform($data['description']);
/* Add the paramaters to the query */
$query->param(':title', $data['title']);
$query->param(':description', $description);
return $query->execute();
}
}
5. ### Validation rules ###
A helper paramater has been added to the Kohana_markdown class that can be
used in conjunction with the Kohana_Validation class. In order to use this,
add the following to the validation rules:
/* Validate the input */
$validation = Validate::factory(array('description' => $description)
->rule('description', 'regex', array(Markdown::$validate));