Changeset 74583 in spip-zone


Ignore:
Timestamp:
Aug 5, 2013, 3:46:02 PM (6 years ago)
Author:
marcimat@…
Message:

On avance un peu, en passant les options aux templates depuis le phpdoc.xml (mais encore une fois en trichant, car pour l'instant, un plugin pour Twig n'a pas accès à l'application phpDocumentor ni à sa configuration). De la même manière, on indique la version de phpDocumentor dans le pied de page.

Location:
_galaxie_/code.spip.net/autodoc/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _galaxie_/code.spip.net/autodoc/trunk/src/autodoc/Plugin/Core/TwigZora.php

    r74575 r74583  
    88namespace autodoc\Plugin\Core;
    99
    10 use \phpDocumentor\Plugin\Core\Twig\ExtensionInterface;
    11 use \phpDocumentor\Transformer\Transformation;
    12 use \phpDocumentor\Descriptor\ProjectDescriptor;
     10use phpDocumentor\Plugin\Core\Twig\ExtensionInterface;
     11use phpDocumentor\Transformer\Transformation;
     12use phpDocumentor\Descriptor\ProjectDescriptor;
     13use Zend\Config\Factory;
     14use Zend\Config\Config;
    1315
    1416/**
     
    2123     */
    2224    protected $data = null;
     25   
     26    /**
     27     * @var Zend\Config\Config
     28     */
     29    protected $configuration = null;
    2330
    2431
     
    4552    {
    4653        $this->data = $project;
     54
     55        // obtenir les informations de configuration (en trichant) afin d'envoyer des options au template zora
     56        // Note (5 aout 2013) :
     57        //   <marcimat> Is there a way to access to the configuration of phpDocumentor (ie. like phpdoc.xml informations)
     58        //              in a TWIG plugin ?  We recieve a ProjectDescriptor and a Transformation but neither seems to have that.
     59        //   <mvriel>   marcimat: not yet, a minor refactoring of the configuration
     60        //              is something that I desire and then to expose it in Twig
     61        $this->configuration = $this->getPhpDocumentorConfiguration();
    4762    }
    48 
    4963
    5064    /**
     
    5872    }
    5973
     74
     75    /**
     76     * Retrouver la configuration de phpDocumentor.
     77     *
     78     * Attention, cette configuration ne tient pas compte d'éventuelles
     79     * surcharge via la ligne de commande de l'application.
     80     *
     81     * On triche en recalculant la configuration, vu qu'on n'y a pas encore
     82     * accès depuis un plugin Twig.
     83     *
     84     * @return Zend\Config\Config
     85     */
     86    protected function getPhpDocumentorConfiguration()
     87    {
     88       // Cf. Application.php (de phpdocumentor).
     89        $user_config_file = (file_exists(getcwd() . DIRECTORY_SEPARATOR . 'phpdoc.xml'))
     90            ? getcwd() . DIRECTORY_SEPARATOR . 'phpdoc.xml'
     91            : getcwd() . DIRECTORY_SEPARATOR . 'phpdoc.dist.xml';
     92        $config_files     = array(__DIR__ . '/../../../../vendor/phpdocumentor/phpdocumentor/data/phpdoc.tpl.xml');
     93        if (is_readable($user_config_file)) {
     94            $config_files[] = $user_config_file;
     95        }
     96
     97        $config = Factory::fromFiles($config_files, true);
     98
     99        // pareil pour la version de phpDocumentor
     100        $phpDocConfiguration = new Config(array(
     101            "phpDocumentor" => array(
     102                "version" => file_get_contents(__DIR__ . '/../../../../vendor/phpdocumentor/phpdocumentor/VERSION')
     103            )
     104        ));
     105
     106        return $config->merge($phpDocConfiguration);
     107    }
     108
     109
     110    /**
     111     * Returns an array of global variables to inject into a Twig template.
     112     *
     113     * @return mixed
     114     */
     115    public function getGlobals()
     116    {
     117        return array(
     118            'configuration' => $this->configuration,
     119        );
     120    }
    60121}
  • _galaxie_/code.spip.net/autodoc/trunk/templates/zora/content/dist.twig

    r74548 r74583  
    11<h1>Bloc Contenu : {{ z_page }}</h1>
     2
    23
    34<pre>
  • _galaxie_/code.spip.net/autodoc/trunk/templates/zora/footer/dist.twig

    r74548 r74583  
    11{% block footer %}
    22        Documentation automatique créée avec
    3         <a href="http://www.phpdoc.org/">PHPDocumentor</a> {{ self.version }}
     3        <a href="http://www.phpdoc.org/">PHPDocumentor</a> {{ configuration.phpDocumentor.version }}
    44        - générée le {{ "now"|date("j/m/Y à H:i") }}
    55{% endblock %}
  • _galaxie_/code.spip.net/autodoc/trunk/templates/zora/head/dist.twig

    r74548 r74583  
    11{% block head %}
    2     <title>{% block title %}{% endblock %} -- TITRE À DÉFINIR (head/dist)</title>
     2    <title>{% block title %}{{ project.title }}{% endblock %} -- TITRE À DÉFINIR (head/dist)</title>
    33{% endblock %}
  • _galaxie_/code.spip.net/autodoc/trunk/templates/zora/header/dist.twig

    r74548 r74583  
     1
     2{% set site   = configuration.options.site.value %}
    13
    24<div class="heading row">
    35        <div class="titre span12">
    4                 <h1>HEADER à remplir (header/dist)</h1>
     6                <h1><a href="{{ site ? site : path('index.html') }}"><span></span>Documentation du code de {{ project.name }}</a></h1>
    57        </div>
    68</div>
     9
  • _galaxie_/code.spip.net/autodoc/trunk/templates/zora/inclure/head.twig

    r74575 r74583  
    22        <base href="{{ path("/") }}" />
    33
    4         <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet" />
    5         <link href="bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet" />
     4        <link href="{{ path('bootstrap/css/bootstrap.min.css') }}" rel="stylesheet" />
     5        <link href="{{ path('bootstrap/css/bootstrap-responsive.min.css') }}" rel="stylesheet" />
    66
    7         <link rel="stylesheet" href="css/perso.css" />
    8         <link rel="shortcut icon" type="image/png" href="favicon.png" />
     7        <link rel="stylesheet" href="{{ path('css/perso.css') }}" />
     8        <link rel="shortcut icon" type="image/png" href="{{ path('favicon.png') }}" />
    99
    10         <script src="js/jquery.min.js"></script>
    11         <script src="bootstrap/js/bootstrap.min.js"></script>
    12         <script src="js/perso.js"></script>
     10        <script src="{{ path('js/jquery.min.js') }}"></script>
     11        <script src="{{ path('bootstrap/js/bootstrap.min.js') }}"></script>
     12        <script src="{{ path('js/perso.js') }}"></script>
  • _galaxie_/code.spip.net/autodoc/trunk/templates/zora/inclure/nav.twig

    r74548 r74583  
    1 Navigation à remplir (inclure/nav)
     1
     2<div class="navbar navbar-static-top">
     3        <div class="navbar-inner">
     4                <div class="container">
     5                        <a data-target=".navbar-responsive-collapse" data-toggle="collapse" class="btn btn-navbar">
     6                                <span class="icon-bar"></span>
     7                                <span class="icon-bar"></span>
     8                                <span class="icon-bar"></span>
     9                        </a>
     10                        <div class='babarre'>
     11                                <a href="{{ path("index.html") }}" class="brand">Autodoc</a>
     12
     13                                <div class="nav-collapse collapse navbar-responsive-collapse">
     14                                        <ul class="nav">
     15                                                <ul class="nav nav-tabs">
     16                                                        <li>
     17                                                                <a href="balises.html" title="xx balises">
     18                                                                        Balises (et autres, à faire !)
     19                                                                </a>
     20                                                        </li>
     21                                                        <li><a href="{{ path('statistiques.html') }}">Statistiques</a></li>
     22                                                </ul>
     23                                        </ul>
     24
     25                                        <form action="{{ path("recherche.html") }}" class="navbar-search pull-right">
     26                                                <input type="text" name="q" placeholder="Recherche" class="search-query span2">
     27                                        </form>
     28                                </div><!-- /.babarre -->
     29                        </div><!-- /.nav-collapse -->
     30                </div>
     31        </div><!-- /navbar-inner -->
     32</div>
Note: See TracChangeset for help on using the changeset viewer.