source: documentation/trunk/packages/dokuwiki-2011-05-25a/bin/render.php@ 25031

Last change on this file since 25031 was 25027, checked in by jmt12, 12 years ago

Adding the packages directory, and within it a configured version of dokuwiki all ready to run

  • Property svn:executable set to *
File size: 1.7 KB
Line 
1#!/usr/bin/php
2<?php
3/**
4 * A simple commandline tool to render some DokuWiki syntax with a given
5 * renderer.
6 *
7 * This may not work for plugins that expect a certain environment to be
8 * set up before rendering, but should work for most or even all standard
9 * DokuWiki markup
10 *
11 * @license GPL2
12 * @author Andreas Gohr <[email protected]>
13 */
14if ('cli' != php_sapi_name()) die();
15
16ini_set('memory_limit','128M');
17if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
18define('NOSESSION',1);
19require_once(DOKU_INC.'inc/init.php');
20require_once(DOKU_INC.'inc/common.php');
21require_once(DOKU_INC.'inc/parserutils.php');
22require_once(DOKU_INC.'inc/cliopts.php');
23
24// handle options
25$short_opts = 'hr:';
26$long_opts = array('help','renderer:');
27$OPTS = Doku_Cli_Opts::getOptions(__FILE__,$short_opts,$long_opts);
28if ( $OPTS->isError() ) {
29 fwrite( STDERR, $OPTS->getMessage() . "\n");
30 _usage();
31 exit(1);
32}
33$RENDERER = 'xhtml';
34foreach ($OPTS->options as $key => $val) {
35 switch ($key) {
36 case 'h':
37 case 'help':
38 _usage();
39 exit;
40 case 'r':
41 case 'renderer':
42 $RENDERER = $val;
43 }
44}
45
46
47// do the action
48$source = stream_get_contents(STDIN);
49$info = array();
50$result = p_render($RENDERER,p_get_instructions($source),$info);
51if(is_null($result)) die("No such renderer $RENDERER\n");
52echo $result;
53
54/**
55 * Print usage info
56 */
57function _usage(){
58 print "Usage: render.php <options>
59
60 Reads DokuWiki syntax from STDIN and renders it with the given renderer
61 to STDOUT
62
63 OPTIONS
64 -h, --help show this help and exit
65 -r, --renderer <renderer> the render mode (default: xhtml)
66";
67}
Note: See TracBrowser for help on using the repository browser.