Changeset 74711 in spip-zone


Ignore:
Timestamp:
Aug 11, 2013, 10:21:37 PM (6 years ago)
Author:
marcimat@…
Message:

On continue sur les fichiers en ajoutant l'affichage des tags du phpdoc

Location:
_galaxie_/code.spip.net/autodoc/trunk
Files:
2 added
3 edited

Legend:

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

    r74696 r74711  
    1111use phpDocumentor\Descriptor\FileDescriptor;
    1212use phpDocumentor\Descriptor\ProjectDescriptor;
     13use phpDocumentor\Descriptor\FunctionDescriptor;
    1314
    1415use autodoc\Plugin\Core\Descriptor\DirectoryDescriptor;
     
    2930        $directoryGenerator      = new UrlGenerator\Zora\DirectoryDescriptor();
    3031        $projectGenerator        = new UrlGenerator\Zora\ProjectDescriptor();
     32        $functionGenerator       = new UrlGenerator\Zora\FunctionDescriptor();
    3133
    3234        // @codingStandardsIgnoreStart
     
    3436        $this[] = new Rule(function ($node) { return ($node instanceof DirectoryDescriptor); },  $directoryGenerator);
    3537        $this[] = new Rule(function ($node) { return ($node instanceof ProjectDescriptor); },    $projectGenerator);
    36 
     38        $this[] = new Rule(function ($node) { return ($node instanceof FunctionDescriptor); },   $functionGenerator);
    3739        // @codingStandardsIgnoreEnd
    3840    }
  • _galaxie_/code.spip.net/autodoc/trunk/templates/zora/inclure/descriptions/functions.twig

    r74707 r74711  
    6060                                        </div><!-- .appel.coloration -->
    6161
    62 {#
    63                                         {% set params = fonction.xpath("docblock/tag[@name='param']") %}
    64                                         {% if params|length %}
     62
     63                                        {% if function.arguments.count %}
    6564                                        <div class='partie params coloration'>
    6665                                                <h3>Paramètres</h3>
    6766                                                <ol class='liste'>
    68                                                 {% for param in params %}
     67                                                {% for argument in function.arguments %}
    6968                                                        <li class='item'>
    70                                                         {% set argument = fonction.xpath("argument[name='" ~ param.attributes.variable ~ "']").0 %}
    7169                                                        <div class='param'>
    7270                                                                {% include "inclure/descriptions/argument.twig"
    73                                                                         with {'desc': param, 'argument': argument}
     71                                                                        with {'argument': argument}
    7472                                                                %}
    7573
    76                                                                 {% if param.attributes.description %}
    77                                                                 <div class="description">{{ param.attributes.description|raw }}</div>
     74                                                                {% if argument.description %}
     75                                                                <div class="description">{{argument.description|raw }}</div>
    7876                                                                {% endif %}
    7977                                                        </div><!-- .param -->
     
    8583
    8684
    87 
    88 
    89                                         {% set return = fonction.xpath("docblock/tag[@name='return']").0 %}
     85                                        {% set return = function.tags.return.0 %}
    9086                                        {% if return %}
    9187                                        <div class='partie retours coloration'>
    9288                                                <h3>Retour</h3>
    9389                                                <ul class='liste'>
    94 
    9590                                                        <li class='item'>
    9691                                                        <div class='param'>
    97 
    9892                                                                <span class="retour">
    99                                                                         {% include "inclure/descriptions/type.twig"
    100                                                                                 with {'tag': return}
     93                                                                        {% include "inclure/descriptions/types.twig"
     94                                                                                with {'types': return.types}
    10195                                                                        %}
    102                                                                         <span class='variable'>{{ param.attributes.variable }}</span>
    10396                                                                </span>
    104                                                                 {% if return.attributes.description %}
    105                                                                 <div class="description">{{ return.attributes.description|markdownize|raw }}</div>
     97                                                                {% if return.description %}
     98                                                                <div class="description">{{ return.description|markdown|raw }}</div>
    10699                                                                {% endif %}
    107100                                                        </div><!-- .param -->
    108101                                                        </li>
    109 
    110102                                                </ul>
    111103                                        </div><!-- .return.coloration -->
     
    120112
    121113
     114
    122115                                        {% set tags_principaux = [
    123                                                 {'name':'example',   'inclure': 'tag',   'titre':'Exemples'},
    124                                                 {'name':'link',      'inclure': 'tag',   'titre':'Documentation externe'},
    125                                                 {'name':'see',       'inclure': 'see',   'titre':'Voir également'},
    126                                                 {'name':'uses',      'inclure': 'see',   'titre':'Utilise'},
    127                                                 {'name':'used_by',   'inclure': 'see',   'titre':'Utilisé par'},
    128                                                 {'name':'global',    'inclure': 'tag',   'titre':'Variables globales'},
     116                                                {'name':'example',   'inclure': 'tags',   'titre':'Exemples'},
     117                                                {'name':'link',      'inclure': 'tags',   'titre':'Documentation externe'},
     118                                                {'name':'see',       'inclure': 'see',    'titre':'Voir également'},
     119                                                {'name':'uses',      'inclure': 'see',    'titre':'Utilise'},
     120                                                {'name':'used_by',   'inclure': 'see',    'titre':'Utilisé par'},
     121                                                {'name':'global',    'inclure': 'tags',   'titre':'Variables globales'},
    129122                                        ] %}
    130123
    131124                                        {% for t in tags_principaux %}
    132                                                 {% set tags = fonction.xpath("docblock/tag[@name='" ~ t.name ~ "']") %}
    133                                                 {% if tags|length %}
     125                                                {% set tags = attribute(function.tags, t.name ) %}
     126                                                {% if tags.count %}
    134127                                                        {% include "inclure/descriptions/" ~ t.inclure ~ ".twig"
    135128                                                                with {
     
    142135
    143136
    144                                         {% set autres = fonction.xpath("docblock/tag[
    145                                                     @name!='param'
    146                                                 and @name!='return'
    147                                                 and @name!='api'
    148                                                 and @name!='example'
    149                                                 and @name!='link'
    150                                                 and @name!='see'
    151                                                 and @name!='uses'
    152                                                 and @name!='used_by'
    153                                                 and @name!='global'
    154                                                         ]")
    155                                         %}
    156 
    157                                         {% if autres|length %}
    158                                         {% for autre in autres %}
    159                                                 {% set tags = [autre] %}
     137                                        {% for key,autre in function.tags if key not in [
     138                                                'param', 'return',
     139                                                'api', 'example',
     140                                                'link', 'see', 'uses', 'used_by',
     141                                                'global',
     142                                        ] %}
    160143                                                {% include "inclure/descriptions/tag.twig"
    161                                                 with {
    162                                                         'titre': autre.attributes.name|title,
    163                                                         'tags': tags
    164                                                         }
    165                                         %}
     144                                                        with {
     145                                                                'titre': key|title,
     146                                                                'tags': autre
     147                                                                }
     148                                                %}
    166149                                        {% endfor %}
    167                                         {% endif %}
    168150
    169151
    170 <pre>{{ dump(fonction) }}</pre>
    171 #}
    172 
    173 
    174 {% if (prop and site) %}
    175         <a href="{{ site }}?page=proposer_docblock&fichier={{ fonction.file.path }}&fonction={{ fonction.name }}"
    176                 class="btn proposer clearfix"
    177                 rel="nofollow">
    178                         Proposer une amélioration
    179         </a>
    180 {% endif %}
     152                                {% if (prop and site) %}
     153                                        <a href="{{ site }}?page=proposer_docblock&fichier={{ function.file.path }}&fonction={{ function.name }}"
     154                                                class="btn proposer clearfix"
     155                                                rel="nofollow">
     156                                                        Proposer une amélioration
     157                                        </a>
     158                                {% endif %}
    181159
    182160                                </div><!-- .accordion-inner -->
     
    184162                </div>
    185163        {% endfor %}
     164
     165<pre>{{ dump(function) }}</pre>
     166
    186167</div>
  • _galaxie_/code.spip.net/autodoc/trunk/templates/zora/inclure/descriptions/tags.twig

    r74707 r74711  
    77{% for tag in tags %}
    88                <li class='item'>
    9                         {% if tag.link and tag.summary %}
     9                        {% if tag.link and tag.description %}
    1010                                <div class="description">
    1111                                        <a href="{{ tag.link }}">
    12                                         {{ tag.summary|markdown|ptobr|raw }}
     12                                                {{ tag.description|markdown|ptobr|raw }}
    1313                                        </a>
    1414                                </div>
    15                         {% elseif tag.summary %}
     15                        {% elseif tag.description %}
    1616                                <div class="description">
    17                                         {{ tag.summary|markdown|raw }}
    18                                 </div>
    19                         {% endif %}
    20                         {% if tag.description %}
    21                                 <div class="description">
    22                                         {{ tag.description|markdown|raw }}
     17                                        {{ tag.description|markdown|ptobr|raw }}
    2318                                </div>
    2419                        {% endif %}
Note: See TracChangeset for help on using the changeset viewer.