Coder Social home page Coder Social logo

italia / docs-italia-theme Goto Github PK

View Code? Open in Web Editor NEW
15.0 18.0 18.0 9.9 MB

Tema per i documenti pubblicati su Docs Italia

License: BSD 3-Clause "New" or "Revised" License

Ruby 0.03% JavaScript 29.40% Makefile 2.86% Python 14.06% HTML 24.46% SCSS 29.19%
sphinx theme italia-design-system readthedocs docs-italia

docs-italia-theme's Introduction

Join the #design channel Get invited

Docs Italia theme

This is the official theme for any piece of documentation hosted on the upcoming Docs Italia.

How to use Sphinx Italia on your documentation

  • Add the following line to your documentation requirements.txt file:

    $ pip install git+https://github.com/italia/docs-italia-theme.git
    
  • In your conf.py file, you'll need to specify the theme as follows:

    # Add this line at the top of the file within the "import" section
    import docs_italia_theme
    
    # Add the Sphinx extension 'docs_italia_theme' in the extensions list
    extensions = [
      # ...,
      'docs_italia_theme'
    ]
    
    # Edit these lines
    html_theme = "docs_italia_theme"
    html_theme_path = [docs_italia_theme.get_html_theme_path()]
    

Contributing or modifying the theme

  • Clone the repository:

    git clone git+https://github.com/italia/docs-italia-theme.git
    
  • If needed, install Sphinx into a virtual environment:

    pip install sphinx
    
  • If needed, install SASS:

    gem install sass
    
  1. Install node.js and grunt:

    // Install node on OS X
    brew install node
    
    // Install grunt
    npm install -g grunt-cli
    
    // Now that everything is installed, let's install the theme dependecies.
    npm install
    
  2. Run the main script to load a sample docs with the Sphinx Italia theme applied:

    npm start
    

    This will compile static assets and watch files required for the theme to reload at runtime.

TODO: building a release, handling versioning system to enable automatic update on Docs Italia platform

docs-italia-theme's People

Contributors

agjohnson avatar anavarro-wellnet avatar bfabio avatar blendify avatar carreau avatar chebee7i avatar cloudops-wstevens avatar danieloaks avatar dependabot[bot] avatar ehough avatar ericholscher avatar francescozaia avatar gl3n avatar ioggstream avatar ivoz avatar jodal avatar jonathanj avatar jorgesumle avatar kami avatar lmorelli986 avatar pdavide avatar rasky avatar ruphy avatar scop avatar skirpichev avatar snide avatar titilambert avatar tony avatar umbros avatar xrmx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docs-italia-theme's Issues

Output pdf single/twoside

I pdf generati dai documenti di Docs Italia hanno tutti il layout twoside di Latex.
Questo layout è ottimizzato per la stampa: una delle caratteristiche principali è la presenza di pagine bianche prima di ogni capitolo, che fanno in modo che l'inizio del capitolo capiti sempre su una pagina dispari.

Da un lato questo potrebbe essere un bene, dall'altro potrebbe dare fastidio quando si cerca di leggere il pdf sullo schermo (in realtà questo è il comportamento che stiamo cercando di sradicare con Docs Italia...).

Vorrei avere le vostre opinioni al riguardo, che ne pensate?

conf.py snippet is not enough to use this theme

README instructs users to add the following lines to the project's conf.py:

import sphinx_rtd_theme
html_theme = "sphinx_rtd_theme"
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]

However this only applies to local builds, while RTD builds lack the <link> tags for the theme stylesheets. It looks like the following code is needed as well (see the design-doc conf.py):

if not on_rtd:  # only import and set the theme if we're building docs locally
    html_theme = 'sphinx_italia_theme'
    html_theme_path = ["_themes", ]
else:
    # Override default css to get a larger width for ReadTheDoc build
    html_context = {
        'css_files': [
            '_static/css/theme.css',
            '_static/css/custom.css',
        ],
    }

A sample conf.py should be included in this repository (like in the newer https://github.com/italia/docs-italia-theme) and/or the README should be updated.

Leggibilità font bold

Con il nuovo tema ho riscontrato, in alcuni casi, un problema di leggibilità del font in bold (nello screen ad esempio vedi "Top motori di ricerca referenti" e altri titoletti a seguire).

font_web analytics

Permalink a latest

Nel CAD non c'è una versione "latest" e quindi non c'è modo di avere un permalink alla versione più recente, con il risultato che tutti i link in ingresso a questa documentazione punteranno ad una versione storica in caso di aggiornamenti - a meno che l'utente non sia sufficientemente furbo da copiare l'URL della root senza path.

Questa cosa forse si può gestire dando delle linee guida su come creare i tag nei repository (ad esempio: deve esserci sempre un tag latest?) oppure con della logica nel tema?

Note al documento

Le note al documento non sono generalmente visibili. Per vederle, bisogna cliccare su una nota nel testo e aprire in questo modo la sezione.

Vogliamo aggiungere un link al titolo ("Note al paragrafo x.y") per fare in modo che la sezione risulti visibile?

comportamento menù/indice

Usando la documentazione ho incontrando un problema che è particolarmente fastidioso soprattutto quando consulti velocemente il documento passando da un paragrafo all’altro.
Quando clicchi su un paragrafo, il menù di sinistra correttamente apre l’accordion in cui quel paragrafo è contenuto (il blocco diventa grigio). Ma non riposiziona il menù portando quel blocco grigio in alto. Il risultato è che la posizione del blocco grigio è variabile (te lo puoi trovare in alto o in basso) e addirittura potresti non vederla, se il menù è molto lungo potresti dover usare la barra di scorrimento per vederla
Qui l’esempio
http://design-italia.readthedocs.io/it/stable/doc/service-design/accessibilita.html#un-esempio-per-capire-uso-del-colore
Forse nel nuovo tema il comportamento è un po' diverso ma lo stesso problema si ripresenta
http://cloud-pa.readthedocs.io/it/latest/circolari/SaaS/circolare_docs/articolo-7.html
Credo che un comportamento corretto sarebbe posizionare il blocco grigio in alto, lasciando intravere una riga del menù nero sopra per far capire che il menù continua sopra più o meno così
schermata 2018-02-16 alle 09 56 19

"Modifica su GitHub" vs "Vedi su GitHub"

Mi sembra che nel precedente tema ci fosse la possibilità di trasformare il bottone "Modifica su GitHub" in "Vedi su GitHub" per quei repository che non sono orientati alla modifica collaborativa (ad esempio il Piano Triennale o il CAD). Nel nuovo tema mi pare che questa possibilità non ci sia, o perlomeno non la trovo documentata e non è applicata nei due casi sopra citati.
È stato scelto di mantenere sempre "Modifica"?

Esplosione build "manuale utente DAF" con tema nuovo

Sembra che e699da6 non sia sufficente:

  File "/user_builds/daf-dataportal-it-docs/envs/bozza/local/lib/python2.7/site-packages/docs_italia_theme/__init__.py", line 142, in generate_additonal_tocs
    figure_text_string = 'Fig. ' + str(figure_number[0]) + '.' + str(figure_number[1]) + ' - ' + figure_title.capitalize()
IndexError: tuple index out of range

Documentazione 18app - Le immagini vengono distorte

Alcuni immagini sul nuovo tema vengono distorte.
È possibile confrontare le due versioni:

Volevo chiedere come procedere. Sistemiamo i sorgenti RST del documento impostando delle dimensioni (e delle descrizioni per le figure), o è da sistemare in altro modo?

Nuove versioni del tema per i documenti versionati

Al momento, la raccomandazione è di inserire git+https://github.com/italia/[email protected] nel file requirements.txt.

Cosa succede ai documenti versionati con tag quando il tema cambierà versione? Mi riferisco, per esempio, al CAD: cad.readthedocs.io.

Lo scenario è questo:

  1. Creo il doc. Il requirements specifica la versione del tema 1.0beta;
  2. Modifico il doc e taggo la versione 1.0;
  3. Modifico il doc e taggo la versione 2.0;
  4. Modifico il file requirements con il tema alla versione 1.0 release.

Quando arrivo a 4., che tema userà la documentazione? Non userà il file requirements del punto 1., e quindi il vecchio tema? Per cambiare il tema a tutte le versioni sarei costretto a fare un rebase, coi problemi che questo comporta per i tag.

Che ne pensate, @pdavide e @francescozaia ?

Traduzione del motto

Nella versione inglese del tema, il motto "Documenti pubblici, digitali." viene tradotto come "Public Documents, digital."

Propongo di modificarlo in "Public documents, made digital.", che rende meglio il significato italiano.

Pulsante di selezione delle versioni

Vorrei discutere con voi il comportamento del pulsante di selezione delle versioni.

Al momento, la versione selezionata è sempre in cima alla lista. Questo significa che le versioni più recenti del documento si trovano sotto, invece che sopra, la versione corrente. Lo trovo un po' anti-intuitivo, ma forse è solo una mia impressione.

Nel menu a tendina, mi piacerebbe invece vedere la versione corrente nella posizione in cui si trova all'interno della storia del documento. Che ne pensate?

Esempio: http://test-cad-new-theme.readthedocs.io/it/v2012-07-06/

Gestione dei glossari

Al momento il glossario deve essere incluso in un unico file.

Questo causa dei problemi con la Guida al linguaggio, dove tutte le pagine di glossario non appaiono.

Qual è il modo migliore di procedere in questo caso? Modifichiamo il documento?

Formattazione admonitions

  • I riquadri di admonition predefiniti si estendono oltre il corpo del testo. La barra del titolo non ha la stessa larghezza del resto del riquadro. È il comportamento previsto?

  • I riquadri di admonition personalizzati (quelli ottenuti con .. admonition:: <Nome admonition> ) hanno un rientro diverso rispetto al resto del testo.

Esempio: http://admo.readthedocs.io/

Licenza e copyright nel conf.py

Nel file di configurazione conf.py (vedi, per esempio, https://github.com/italia/cloud-pa/blob/master/conf.py) sono presenti le due righe

settings_copyright_copyleft = 'Creative Commons Attribution 4.0'
settings_editor_name = 'Agenzia per l\'Italia Digitale'

Poco più sotto, però, il primo parametro appare come autore nella versione PDF:

# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
#  author, documentclass [howto, manual, or own class]).
latex_documents = [
  ('index', settings_file_name + '.tex', settings_project_name,
   settings_copyright_copyleft, 'manual'),
]

Problemi

  1. È necessario stabilire a cosa servono quei due parametri, usando eventualmente una nomenclatura più chiara.
  2. Il detentore del copyright e la licenza al momento non vengono visualizzati nella versione HTML del documento, come invece accadeva per il vecchio tema.
  3. Vogliamo includere copyright e licenza nei file PDF?

Indicare un codice della versione anche per quella "latest"

Se si guarda un documento pubblicato come...
http://design-italia.readthedocs.io/it/latest/doc/introduzione-linee-guida-design.html
...se uno vuole citare una delle versioni precedenti può facilmente usare i codici 2018.1 e 2017.1
ma se uno volesse citare la versione corrente come fa? La definisce "latest al 10/05/2018"?
Potrebbe esserci un codice facilmente visibile per tutti, magari diverso
dalla codifica usate per le release di tipo "stable"?

Revisione grafica degli spazi

Ho ricevuto da più parti lamentele sul fatto che il nuovo tema abbia una distribuzione degli spazi migliorabile. Mi segnalano in particolare:

  • a sinistra nel menu c'è troppo spazio sprecato
  • nella parte a destra del testo, c'è molto spazio vuoto
  • inoltre non vengono renderizzati bene i blocchi di codice (nel senso che il css utilizzato non è molto chiaro nel distinguere codice dal testo)

Provo a fare un passaggio a voce con @matteodesanti, nel caso commento in seguito.

Menu sempre espansi

È voluto che gli accordion del menu siano sempre espansi, anche quando non selezionati? Ad esempio:

schermata 2018-02-19 alle 22 28 52

Mi aspetterei che solo il 5 fosse espanso, come si comportava del resto il vecchio tema. Ma forse è una cosa voluta?

Ridurre la quantità di parti mobili

Il nuovo tema è davvero molto gradevole, ma sia header che footer funzionano a scomparsa... ed anche la TOC non ha una posizione stabile (a seconda che uno faccia scroll dentro il frame della TOC o sulla parte del testo... in più la posizione dei pulsanti pdf/htmlzip/epub all'improvviso non è più in basso e scorre su (e ciò accade a seconda della lunghezza del testo del paragrafo visualizzato).

Insomma si genera un effetto mal-di-mare in cui tutto si muove. Cercherei di dare una posizione stabile a qualcosa, almeno alla TOC ed ai pulsanti pdf/htmlzip/epub, mettendo header e footer solo nella parte destra che contiene il testo.

Loghi a fondo pagina

Il logo di AgID in calce sembra più grande e leggermente più in basso rispetto a quello del Team Digitale. Dovrebbero forse avere la stessa grandezza ed essere allineati?

Eliminazione pubblicità

D'accordo con gli autori di RTD, dobbiamo inserire il seguente stile per disattivare definitivamente le pubblicità dai nostri repo:

    div.rst-pro {
        display: none !important;
    }

Introdurre meccanismo di prevenzione caching CSS

Abbiamo ricevuto segnalazione di layout visualizzati male, molto probabilmente a causa di cache persistente sui file CSS.

Introdurre un meccanismo che preveda l'utilizzo di nomi di file diversi, querystring o simile per gli asset che possano essere affetti da tale problema (JS e CSS in primis).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.