lib/Pico.php
public function substituteFileContent($markdown, array $meta = array())
    {
        $variables = array();

        // replace %version%
        $variables['%version%'] = static::VERSION;

        // replace %site_title%
        $variables['%site_title%'] = $this->getConfig('site_title');

        // replace %base_url%
        if ($this->isUrlRewritingEnabled()) {
            // always use `%base_url%?sub/page` syntax for internal links
            // we'll replace the links accordingly, depending on enabled rewriting
            $variables['%base_url%?'] = $this->getBaseUrl();
        } else {
            // actually not necessary, but makes the URL look a little nicer
            $variables['%base_url%?'] = $this->getBaseUrl() . '?';
        }
        $variables['%base_url%'] = rtrim($this->getBaseUrl(), '/');

        // replace %theme_url%
        $variables['%theme_url%'] = $this->getBaseThemeUrl() . $this->getConfig('theme');

        // replace %meta.*%
        if ($meta) {
            foreach ($meta as $metaKey => $metaValue) {
                if (is_scalar($metaValue) || ($metaValue === null)) {
                    $variables['%meta.' . $metaKey . '%'] = (string) $metaValue;
                }
            }
        }

        return str_replace(array_keys($variables), $variables, $markdown);
    }
public function substituteFileContent($markdown, array $meta = array())
    {
        $variables = array();

        // replace %version%
        $variables['%version%'] = static::VERSION;

        // replace %site_title%
        $variables['%site_title%'] = $this->getConfig('site_title');

        // replace %base_url%
        if ($this->isUrlRewritingEnabled()) {
            // always use `%base_url%?sub/page` syntax for internal links
            // we'll replace the links accordingly, depending on enabled rewriting
            $variables['%base_url%?'] = $this->getBaseUrl();
        } else {
            // actually not necessary, but makes the URL look a little nicer
            $variables['%base_url%?'] = $this->getBaseUrl() . '?';
        }
        $variables['%base_url%'] = rtrim($this->getBaseUrl(), '/');

        // replace %theme_url%
        $variables['%theme_url%'] = $this->getBaseThemeUrl() . $this->getConfig('theme');

        // replace %meta.*%
        if ($meta) {
            foreach ($meta as $metaKey => $metaValue) {
                if (is_scalar($metaValue) || ($metaValue === null)) {
                    $variables['%meta.' . $metaKey . '%'] = (string) $metaValue;
                }
            }
        }

        return str_replace(array_keys($variables), $variables, $markdown);
    }
public function substituteFileContent ( $ markdown , array $ meta = array ( ) ) { $ variables = array ( ) ; // replace %version% $ variables [ '%version%' ] = static :: VERSION ; // replace %site_title% $ variables [ '%site_title%' ] = $ this -> getConfig ( 'site_title' ) ; // replace %base_url% if ( $ this -> isUrlRewritingEnabled ( ) ) { // always use `%base_url%?sub/page` syntax for internal links // we'll replace the links accordingly, depending on enabled rewriting $ variables [ '%base_url%?' ] = $ this -> getBaseUrl ( ) ; } else { // actually not necessary, but makes the URL look a little nicer $ variables [ '%base_url%?' ] = $ this -> getBaseUrl ( ) . '?' ; } $ variables [ '%base_url%' ] = rtrim ( $ this -> getBaseUrl ( ) , '/' ) ; // replace %theme_url% $ variables [ '%theme_url%' ] = $ this -> getBaseThemeUrl ( ) . $ this -> getConfig ( 'theme' ) ; // replace %meta.*% if ( $ meta ) { foreach ( $ meta as $ metaKey => $ metaValue ) { if ( is_scalar ( $ metaValue ) || ( $ metaValue === null ) ) { $ variables [ '%meta.' . $ metaKey . '%' ] = ( string ) $ metaValue ; } } } return str_replace ( array_keys ( $ variables ) , $ variables , $ markdown ) ; }
Replaces all %...% placeholders in a page's contents

@param string $markdown Markdown contents of a page
@param array  $meta     meta data to use for %meta.*% replacement

@return string substituted Markdown contents
Replaces all % ... % placeholders in a page s contents