Table of contents
No headers

One very powerful capability of MindTouch Deki is the ability to display the contents of certain files which are attached to the MindTouch Deki without having to cut and paste the contents of the file onto the page.  This makes it very easy to display the contents and quickly change the contents displayed when the file is updated or changed.

This feature which uses the web.text function is very handy for software documentation when used in conjunction with the Syntax function.

Note that the filed displayed can be located on any page within the wiki or anywhere on the Net or Internet.

{{ syntax.php(web.text("http://wiki.developer.mindtouch.com/@api/deki/files/2939/=core.get_include_path.php")) }}

<?php
/**
 * Smarty plugin
 * @package Smarty
 * @subpackage plugins
 */

/**
 * Get path to file from include_path
 *
 * @param string $file_path
 * @param string $new_file_path
 * @return boolean
 * @staticvar array|null
 */

//  $file_path, &$new_file_path

function smarty_core_get_include_path(&$params, &$smarty)
{
    static $_path_array = null;

    if(!isset($_path_array)) {
        $_ini_include_path = ini_get('include_path');

        if(strstr($_ini_include_path,';')) {
            // windows pathnames
            $_path_array = explode(';',$_ini_include_path);
        } else {
            $_path_array = explode(':',$_ini_include_path);
        }
    }
    foreach ($_path_array as $_include_path) {
        if (@is_readable($_include_path . DIRECTORY_SEPARATOR . $params['file_path'])) {
               $params['new_file_path'] = $_include_path . DIRECTORY_SEPARATOR . $params['file_path'];
            return true;
        }
    }
    return false;
}

/* vim: set expandtab: */

?>

Go to top

alternatively, you can index a file attached to the current page by name using:

{{ syntax.php(web.text(page.files["core.get_include_path.php"].uri)) }}
Tag page

Files 1

FileSizeDateAttached by 
 core.get_include_path.php
No description
1046 bytes15:48, 15 Jun 2008auroraActions
Viewing 4 of 4 comments: view all
This doesn't really tell me how to display contents of a file unless it's code I want to show. What if I want to displaly the contents of a Word document? How do I use the Web.Text extension?
Posted 16:37, 7 Nov 2008
If this could only work with excel files, it would greatly improve the table capability of the wiki
Posted 20:47, 10 Feb 2009
I don't understand why I am getting "(unable to fetch text document from uri [status: 401 (Unauthorized)]) " when I have added the attachment myself.
This happens in my own wiki. in developer.mindtouch.com it functions fine...
Posted 17:54, 28 Jun 2009
@gouwzee your wiki is probably set to private, which means that web.* functions will fail since they always operate as an anonymous user. If you're retrieving XML, you can use wiki.api instead. Or you can append your authentication toke to the uri of the document by doing: web.text(doc.uri & { authtoken: user.authtoken }).
Posted 13:55, 29 Jun 2009
Viewing 4 of 4 comments: view all
You must login to post a comment.