templates/templates/docs/overview.html.twig line 1

Open in your IDE?
  1. {% extends "layouts/master.html.twig" %}
  2. {% block stylesheets %}
  3.     {{ parent() }}
  4.     {{ encore_entry_link_tags('css/styleguide') }}
  5. {% endblock %}
  6. {% block bodyClass %}tpl-generic-page{% endblock %}
  7. {% block pageHeader %}
  8.     {% include 'molecules/page-header.html.twig' with {
  9.         breadcrumb: [
  10.             { path: path('index'), title: 'Libro de estilo web da USC' }
  11.         ],
  12.         title: 'Introdución'
  13.     } %}
  14. {% endblock %}
  15. {% block pageContent %}
  16.     <article class="generic-page-wrapper">
  17.         <div class="generic-page-intro">
  18.             <div class="at-lead-text">
  19.                 <p>O sistema de deseño da USC segue os principios do <a href="http://atomicdesign.bradfrost.com/table-of-contents/">Atomic Design</a>. Con este sistema obtemos un framework modular e reutilizable basado en compoñentes.</p>
  20.                 <br />
  21.                 <ul>
  22.                     <li><a href="#architecture">Arquitectura</a></li>
  23.                     <li><a href="#javascript">Javascript</a></li>
  24.                     <li><a href="#installation">Instalación</a></li>
  25.                     <li><a href="#requirements">Requerimentos e recomendacións no código</a></li>
  26.                     <li><a href="#drupal">Drupal</a></li>
  27.                     <li><a href="#cas">CAS</a></li>
  28.                     <li><a href="#versions">Todas as versións</a></li>
  29.                 </ul>
  30.             </div>
  31.         </div>
  32.         <div class="generic-page-content">
  33.             <div class="org-content-block" id="architecture">
  34.                 <div class="content-block-content-wrapper">
  35.                     <h2>Arquitectura</h2>
  36.                     <p>Cada compoñente da web, segundo a súa tipoloxía e envergadura, clasifícase como átomo, molécula, organismo ou plantilla. Para a súa identificación, empregamos un sistema de clases CSS compostas dun prefixo seguido do nome do compoñente:</p>
  37.                     <ul>
  38.                         <li>Átomos: <code>at-[o-seu-nome]</code></li>
  39.                         <li>Moléculas: <code>ml-[o-seu-nome]</code></li>
  40.                         <li>Organismos: <code>org-[o-seu-nome]</code></li>
  41.                         <li>Plantillas: <code>tpl-[o-seu-nome]</code></li>
  42.                     </ul>
  43.                     <p>Neste framework non se asignan estilos ao que Brad Frost denomina <a href="http://atomicdesign.bradfrost.com/chapter-2/#pages">páxinas</a> no seu sistema, pois é unha clasificación que queda reservada para estilos que, de ser necesarios, se apliquen na implementación final onde se use este sistema de deseño.</p>
  44.                 </div>
  45.             </div>
  46.             <div class="org-content-block" id="javascript">
  47.                 <div class="content-block-content-wrapper">
  48.                     <h2>Javascript</h2>
  49.                     <p>O Javascript está desenvolto basado no framework <a href="https://vuejs.org/">Vue.js</a> e modularizado en <a href="https://vuejs.org/v2/guide/components.html">compoñentes</a> reutilizables.</p>
  50.                 </div>
  51.             </div>
  52.             <div class="org-content-block" id="installation">
  53.                 <div class="content-block-content-wrapper">
  54.                     <h2>Instalación</h2>
  55.                     <p>Para usar este framework, débense incluír no proxecto todos os arquivos da <a href="#versions">última versión</a>, e vinclular os arquivos CSS e fontes de Google Fonts no <code>head</code> e os JS ao peche do <code>body</code>:</p>
  56.                     {%
  57.                         set code = '<head>
  58.     <link href="https://fonts.googleapis.com/css?family=IBM+Plex+Serif:400,400i,500,700&amp;display=swap" rel="stylesheet">
  59.     <link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:400,700&display=swap" rel="stylesheet">
  60.     <link rel="stylesheet" href="/path-to-release/fonts/iconusc.css">
  61.     <link rel="stylesheet" href="/path-to-release/css/app.css">
  62. </head>
  63. <body>
  64.     <div id="app">
  65.         <!-- Código da páxina -->
  66.     </div>
  67.     <script src="/path-to-release/runtime.js"></script>
  68.     <script src="/path-to-release/0.js"></script>
  69.     <script src="/path-to-release/1.js"></script>
  70.     <script src="/path-to-release/js/app.js"></script>
  71. </body>'
  72.                     %}
  73.                     <div class="org-example">
  74.                         <pre class="example-code"><code>{{ code }}</code></pre>
  75.                     </div>
  76.                 </div>
  77.             </div>
  78.             <div class="org-content-block" id="requirements">
  79.                 <div class="content-block-content-wrapper">
  80.                     <h2>Requerimentos e recomendacións no código</h2>
  81.                     <p>Usa o doctype de HTML5:</p>
  82.                     {%
  83.                         set code = '<!DOCTYPE html>'
  84.                     %}
  85.                     <div class="org-example">
  86.                         <pre class="example-code"><code>{{ code }}</code></pre>
  87.                     </div>
  88.                     <p>Engade o meta tag de viewport responsive:</p>
  89.                     {%
  90.                         set code = '<meta name="viewport" content="width=device-width, initial-scale=1">'
  91.                     %}
  92.                     <div class="org-example">
  93.                         <pre class="example-code"><code>{{ code }}</code></pre>
  94.                     </div>
  95.                     <p>Engade un contedor con id <code>#app</code> como punto de arranque da aplicación Javascript que conteña o resto do código <code>body</code>:</p>
  96.                     {%
  97.                         set code = '<body>
  98.     <a href="#main-content" class="is-sr-only">Ir ao contido da páxina</a>
  99.     <div id="app">
  100.         <div class="site-header-wrapper">
  101.             <!-- Cabeceira da páxina -->
  102.         </div>
  103.         <main id="main-content" class="container">
  104.             <!-- Contido da páxina -->
  105.         </main>
  106.     </div>
  107. </body>'
  108.                     %}
  109.                     <div class="org-example">
  110.                         <pre class="example-code"><code>{{ code }}</code></pre>
  111.                     </div>
  112.                     <p>É recomendable engadir unha ligazón ao principio do documento cunha áncora que leve ao contido da páxina, para mellorar a accesibilidade facilitando a navegación mediante lectores de pantalla.</p>
  113.                     <p>Para calquera outra dúbida estrutural do código pódense consultar as plantillas e/ou páxinas de exemplo.</p>
  114.                 </div>
  115.             </div>
  116.             <div class="org-content-block" id="drupal">
  117.                 <div class="content-block-content-wrapper">
  118.                     <h2>Drupal</h2>
  119.                     <p>Para a aplicación do sistema de deseño en Drupal é necesario incluír un arquivo CSS extra para os seus estilos específicos:</p>
  120.                     {%
  121.                         set code = '<head>
  122.     ...
  123.     <link rel="stylesheet" href="/path-to-release/css/drupal.css">
  124. </head>'
  125.                     %}
  126.                     <div class="org-example">
  127.                         <pre class="example-code"><code>{{ code }}</code></pre>
  128.                     </div>
  129.                 </div>
  130.             </div>
  131.             <div class="org-content-block" id="cas">
  132.                 <div class="content-block-content-wrapper">
  133.                     <h2>CAS</h2>
  134.                     <p>Para a aplicación do sistema de deseño no CAS existe unha versión reducida dos assets:</p>
  135.                     {%
  136.                         set code = '<!DOCTYPE html>
  137. <html lang="gl">
  138. <head>
  139.     <meta charset="UTF-8">
  140.     <meta name="viewport" content="width=device-width, initial-scale=1">
  141.     <link href="https://fonts.googleapis.com/css?family=IBM+Plex+Serif:400,400i,700&display=swap" rel="stylesheet">
  142.     <link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans:400,700&display=swap" rel="stylesheet">
  143.     <link rel="stylesheet" href="/path-to-release/fonts/iconusc.css">
  144.     <link rel="stylesheet" href="/path-to-release/css/sites/cas.css">
  145.     ...
  146. </head>
  147. <body class="">
  148.     <a href="#main-content" class="is-sr-only">Ir ao contido da páxina</a>
  149.     <div id="app">
  150.         ...
  151.         <main id="main-content" class="container">
  152.             ...
  153.         </main>
  154.         ...
  155.         <script src="/path-to-release/runtime.js"></script>
  156.         <script src="/path-to-release/0.js"></script>
  157.         <script src="/path-to-release/js/sites/cas/app.js"></script>
  158.     </div>
  159. </body>
  160. </html>'
  161.                     %}
  162.                     <div class="org-example">
  163.                         <pre class="example-code"><code>{{ code }}</code></pre>
  164.                     </div>
  165.                 </div>
  166.             </div>
  167.             <div class="org-content-block" id="versions">
  168.                 <div class="content-block-content-wrapper">
  169.                     <h2>Todas as versións</h2>
  170.                     <ul>
  171.                         <li><a href="{{ asset('releases/v1.1.1/v1.1.1.zip') }}">1.1.1</a> - 31/03/2022</li>
  172.                         <li><a href="{{ asset('releases/v1.1.0/v1.1.0.zip') }}">1.1.0</a> - 07/02/2022</li>
  173.                         <li><a href="{{ asset('releases/v1.0.18/v1.0.18.zip') }}">1.0.18</a> - 03/12/2021</li>
  174.                         <li><a href="{{ asset('releases/v1.0.17/v1.0.17.zip') }}">1.0.17</a> - 08/10/2021</li>
  175.                         <li><a href="{{ asset('releases/v1.0.16/v1.0.16.zip') }}">1.0.16</a> - 23/03/2021</li>
  176.                         <li><a href="{{ asset('releases/v1.0.15/v1.0.15.zip') }}">1.0.15</a> - 22/03/2021</li>
  177.                         <li><a href="{{ asset('releases/v1.0.14/v1.0.14.zip') }}">1.0.14</a> - 28/01/2021</li>
  178.                         <li><a href="{{ asset('releases/v1.0.13/v1.0.13.zip') }}">1.0.13</a> - 12/01/2021</li>
  179.                         <li><a href="{{ asset('releases/v1.0.12/v1.0.12.zip') }}">1.0.12</a> - 09/12/2020</li>
  180.                         <li><a href="{{ asset('releases/v1.0.11/v1.0.11.zip') }}">1.0.11</a> - 02/12/2020</li>
  181.                         <li><a href="{{ asset('releases/v1.0.10/v1.0.10.zip') }}">1.0.10</a> - 29/06/2020</li>
  182.                         <li><a href="{{ asset('releases/v1.0.9/v1.0.9.zip') }}">1.0.9</a> - 16/04/2020</li>
  183.                         <li><a href="{{ asset('releases/v1.0.8/v1.0.8.zip') }}">1.0.8</a> - 08/04/2020</li>
  184.                         <li><a href="{{ asset('releases/v1.0.7/v1.0.7.zip') }}">1.0.7</a> - 17/03/2020</li>
  185.                         <li><a href="{{ asset('releases/v1.0.6/v1.0.6.zip') }}">1.0.6</a> - 04/03/2020</li>
  186.                         <li><a href="{{ asset('releases/v1.0.5/v1.0.5.zip') }}">1.0.5</a> - 06/02/2020</li>
  187.                         <li><a href="{{ asset('releases/v1.0.4/v1.0.4.zip') }}">1.0.4</a> - 30/01/2020</li>
  188.                         <li><a href="{{ asset('releases/v1.0.3/v1.0.3.zip') }}">1.0.3</a> - 24/01/2020</li>
  189.                         <li><a href="{{ asset('releases/v1.0.2/v1.0.2.zip') }}">1.0.2</a> - 13/12/2019</li>
  190.                         <li><a href="{{ asset('releases/v1.0.1/v1.0.1.zip') }}">1.0.1</a> - 12/12/2019</li>
  191.                         <li><a href="{{ asset('releases/v1.0.0/v1.0.0.zip') }}">1.0.0</a> - 09/12/2019</li>
  192.                         <li><a href="{{ asset('releases/v0.3.12/v0.3.12.zip') }}">0.3.12</a> - 04/12/2019</li>
  193.                         <li><a href="{{ asset('releases/v0.3.11/v0.3.11.zip') }}">0.3.11</a> - 27/11/2019</li>
  194.                         <li><a href="{{ asset('releases/v0.3.10/v0.3.10.zip') }}">0.3.10</a> - 20/11/2019</li>
  195.                         <li><a href="{{ asset('releases/v0.3.9/v0.3.9.zip') }}">0.3.9</a> - 06/11/2019</li>
  196.                         <li><a href="{{ asset('releases/v0.3.8/v0.3.8.zip') }}">0.3.8</a> - 30/10/2019</li>
  197.                         <li><a href="{{ asset('releases/v0.3.7/v0.3.7.zip') }}">0.3.7</a> - 12/12/2019</li>
  198.                         <li><a href="{{ asset('releases/v0.3.6/v0.3.6.zip') }}">0.3.6</a> - 28/10/2019</li>
  199.                         <li><a href="{{ asset('releases/v0.3.5/v0.3.5.zip') }}">0.3.5</a> - 28/10/2019</li>
  200.                         <li><a href="{{ asset('releases/v0.3.4/v0.3.4.zip') }}">0.3.4</a> - 22/10/2019</li>
  201.                         <li><a href="{{ asset('releases/v0.3.3/v0.3.3.zip') }}">0.3.3</a> - 22/10/2019</li>
  202.                         <li><a href="{{ asset('releases/v0.3.2/v0.3.2.zip') }}">0.3.2</a> - 21/10/2019</li>
  203.                         <li><a href="{{ asset('releases/v0.3.1/v0.3.1.zip') }}">0.3.1</a> - 21/10/2019</li>
  204.                         <li><a href="{{ asset('releases/v0.3.0/v0.3.0.zip') }}">0.3.0</a> - 09/10/2019</li>
  205.                         <li><a href="{{ asset('releases/v0.2.6/v0.2.6.zip') }}">0.2.6</a> - 27/09/2019</li>
  206.                         <li><a href="{{ asset('releases/v0.2.5/v0.2.5.zip') }}">0.2.5</a> - 13/09/2019</li>
  207.                         <li><a href="{{ asset('releases/v0.2.4/v0.2.4.zip') }}">0.2.4</a> - 13/09/2019</li>
  208.                         <li><a href="{{ asset('releases/v0.2.3/v0.2.3.zip') }}">0.2.3</a> - 05/09/2019</li>
  209.                         <li><a href="{{ asset('releases/v0.2.2/v0.2.2.zip') }}">0.2.2</a> - 04/09/2019</li>
  210.                         <li><a href="{{ asset('releases/v0.2.1/v0.2.1.zip') }}">0.2.1</a> - 03/09/2019</li>
  211.                         <li><a href="{{ asset('releases/v0.2.0/v0.2.0.zip') }}">0.2.0</a> - 03/09/2019</li>
  212.                         <li><a href="{{ asset('releases/v0.1.4/v0.1.4.zip') }}">0.1.4</a> - 23/08/2019</li>
  213.                         <li><a href="{{ asset('releases/v0.1.3/v0.1.3.zip') }}">0.1.3</a> - 21/08/2019</li>
  214.                         <li><a href="{{ asset('releases/v0.1.2/v0.1.2.zip') }}">0.1.2</a> - 02/08/2019</li>
  215.                         <li><a href="{{ asset('releases/v0.1.1/v0.1.1.zip') }}">0.1.1</a> - 26/07/2019</li>
  216.                         <li><a href="{{ asset('releases/v0.1.0/v0.1.0.zip') }}">0.1.0</a> - 17/07/2019</li>
  217.                     </ul>
  218.                 </div>
  219.             </div>
  220.         </div>
  221.     </article>
  222. {% endblock %}