Skip to main content
  • Home
  • Development
  • Documentation
  • Donate
  • Operational login
  • Browse the archive

swh logo
SoftwareHeritage
Software
Heritage
Archive
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • 35eec47
  • /
  • semantic-class
  • /
  • index.html.twig
Raw File Download

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge
swh:1:cnt:0dbdaec905186022c29109766b39bbb74ad3c88c
directory badge
swh:1:dir:92ee5dbea94d11a0c38ff317ba9724cbc824a27e

This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.

  • content
  • directory
(requires biblatex-software package)
Generating citation ...
(requires biblatex-software package)
Generating citation ...
index.html.twig
{% extends "base.html.twig" %}
{% block title %} {{parent()}} Classification {% endblock %}

{% block body %}

<h1 class="display-1 mb-4">{{"lst_classification"|trans}}</h1>

<div class="row mb-2">
  <div class="col-6">
    <div class="btn-group mr-2" role="group" aria-label="First group">
    <a class="btn {{syntacCat is defined ? "btn-secondary" : "btn-light" }}" href="{{path('classification')}}">Tout</a>
      {% for cat in syntacCats %}
        <a class="btn {{((syntacCat is defined) and (cat.id == syntacCat.id)) ? "btn-light" : "btn-secondary"}}" href="{{path('classification_categorie', {'id': cat.id} )}}">
          {{cat.value|trans}}
        </a>
      {% endfor %}
    </div>
  </div>
  <div class="col text-right">
    {% set cat = (syntacCat is defined) ? syntacCat : null %}
    {% if syntacCat is defined %}
    <h2>
      <span class="badge badge-dark block p-3">{{syntacCat.value|trans}}</span>
    </h2>
    {% endif %}
  </div>
</div>

  {% set lastClass = null %}
  {% for i, currentSClass in semanticClassesSubClasses %}
    {% set nextClass = (semanticClassesSubClasses[ i + 1] is defined) ? semanticClassesSubClasses[ i + 1].semanticClass : null %}
    {% set nextSubClassValue = (nextClass) ? semanticClassesSubClasses[ i + 1].semanticSubClass.value : null %}
    {% set realClass =  currentSClass.semanticClass %}
    {% set realSubClass = currentSClass.semanticSubClass %}
    {% set isNewClass = (realClass != lastClass) %}
    {% set isFirstClass = (i == 0) %}
    {% set semanticClassProperties = currentSClass.descriptionClass ~  ' <i>' ~ currentSClass.testAppartClass ~ '</i>' %}
    {% set semanticSubClassesProperties = currentSClass.descriptionSubClass ~ ' <i>' ~ currentSClass.testAppartSubClass ~ '</i>' %}

     {% if isNewClass %}
       {% set lastClass = realClass %}

        <div class="card">
          <div class="card-header">
            <div class="row">
              <div class="col-4">
                <button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="collapse" data-target="#collapse-sc-{{realClass.id}}">
                {{realClass.value}}
                </button>
              </div>
              <div class="col-8 text-right">
                {{semanticClassProperties|raw}}
              </div>
            </div>
          </div> <!-- fin header -->


          <div id="collapse-sc-{{realClass.id}}" class="collapse">
            <div class="card-body">
      {% endif %}

              <div class="row pb-2">
                <div class="col-2">
                    {% if (i > 0 and semanticClassesSubClasses[i-1].semanticSubClass.value != currentSClass.semanticSubClass.value) or (i == 0) %}
                    <span class="btn btn-sm btn-info">
                      {{currentSClass.semanticSubClass.value}}
                    </span>
                    {% endif %}
                  </div>
                  <div class="col">
                    {% if syntacCat is not defined %}
                      <span class="btn btn-sm btn-outline-secondary mr-2">
                        {{currentSClass.syntacCatClassSubClass.value}}
                      </span>
                    {% endif %}

                    {% for lexicalEntry in currentSClass.lexicalEntries %}
                      {% if (cat and lexicalEntry.cat == syntacCat) or (cat is null) %}
                      <a class="classmembers" href="{{ path("lexicalentry_display", {'id': lexicalEntry.id}) }}">{{lexicalEntry.lemma.value}}</a>,
                      {% endif %}
                    {% endfor %}
                    <br/><span class="text-muted">{{semanticSubClassesProperties | raw}}</span>
                  </div>
              </div>

        <!--Si prochain classSubClass a une class différent, on ferme le body / collapse / card -->
        {% if nextClass is null or nextClass.value != currentSClass.semanticClass.value %}
          </div>
         </div>
        </div>
        {% endif %}

    {% endfor %}

{%  endblock %}

back to top

Software Heritage — Copyright (C) 2015–2026, The Software Heritage developers. License: GNU AGPLv3+.
The source code of Software Heritage itself is available on our development forge.
The source code files archived by Software Heritage are available under their own copyright and licenses.
Terms of use: Archive access, API— Content policy— Contact— JavaScript license information— Web API