sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/doc-guide/sphinxmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Simplified)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/zh_CN/doc-guide/sphinxmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hChinese (Traditional)}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/zh_TW/doc-guide/sphinxmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/ja_JP/doc-guide/sphinxmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/ko_KR/doc-guide/sphinxmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/sp_SP/doc-guide/sphinxmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageItalianuh1h hh _documenthsourceNlineNubhwarning)}(hIn caso di dubbi sulla correttezza del contenuto di questa traduzione, l'unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le :ref:`avvertenze `.h]h paragraph)}(hIn caso di dubbi sulla correttezza del contenuto di questa traduzione, l'unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le :ref:`avvertenze `.h](hIn caso di dubbi sulla correttezza del contenuto di questa traduzione, l’unico riferimento valido è la documentazione ufficiale in inglese. Per maggiori informazioni consultate le }(hhhhhNhNubh)}(h!:ref:`avvertenze `h]hinline)}(hhh]h avvertenze}(hhhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]refdoc#translations/it_IT/doc-guide/sphinx refdomainhŒreftyperef refexplicitrefwarn reftarget it_disclaimeruh1hh3Documentation/translations/it_IT/disclaimer-ita.rsthKhhubh.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubhnote)}(hhPer leggere la documentazione originale in inglese: :ref:`Documentation/doc-guide/index.rst `h]h)}(hhPer leggere la documentazione originale in inglese: :ref:`Documentation/doc-guide/index.rst `h](h4Per leggere la documentazione originale in inglese: }(hhhhhNhNubh)}(h4:ref:`Documentation/doc-guide/index.rst `h]h)}(hhh]h!Documentation/doc-guide/index.rst}(hhhhhNhNubah}(h]h ](hstdstd-refeh"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]refdochΌ refdomainjreftyperef refexplicitrefwarnhԌ doc_guideuh1hhQ/var/lib/git/docbuild/linux/Documentation/translations/it_IT/doc-guide/sphinx.rsthKhhubeh}(h]h ]h"]h$]h&]uh1hhjhKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhjhNubhtarget)}(h.. _it_sphinxdoc:h]h}(h]h ]h"]h$]h&]refid it-sphinxdocuh1j"hKhhhhhjubhsection)}(hhh](htitle)}(h-Usare Sphinx per la documentazione del kernelh]h-Usare Sphinx per la documentazione del kernel}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1j5hj2hhhjhK ubh)}(hX[Il kernel Linux usa `Sphinx`_ per la generazione della documentazione a partire dai file `reStructuredText`_ che si trovano nella cartella ``Documentation``. Per generare la documentazione in HTML o PDF, usate comandi ``make htmldocs`` o ``make pdfdocs``. La documentazione così generata sarà disponibile nella cartella ``Documentation/output``.h](hIl kernel Linux usa }(hjEhhhNhNubh reference)}(h `Sphinx`_h]hSphinx}(hjOhhhNhNubah}(h]h ]h"]h$]h&]nameSphinxrefurihttp://www.sphinx-doc.org/uh1jMhjEresolvedKubh< per la generazione della documentazione a partire dai file }(hjEhhhNhNubjN)}(h`reStructuredText`_h]hreStructuredText}(hjfhhhNhNubah}(h]h ]h"]h$]h&]namereStructuredTextj_(http://docutils.sourceforge.net/rst.htmluh1jMhjEjaKubh che si trovano nella cartella }(hjEhhhNhNubhliteral)}(h``Documentation``h]h Documentation}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjEubh>. Per generare la documentazione in HTML o PDF, usate comandi }(hjEhhhNhNubj|)}(h``make htmldocs``h]h make htmldocs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjEubh o }(hjEhhhNhNubj|)}(h``make pdfdocs``h]h make pdfdocs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjEubhD. La documentazione così generata sarà disponibile nella cartella }(hjEhhhNhNubj|)}(h``Documentation/output``h]hDocumentation/output}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjEubh.}(hjEhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK hj2hhubj#)}(h&.. _Sphinx: http://www.sphinx-doc.org/h]h}(h]sphinxah ]h"]sphinxah$]h&]j_j`uh1j"hKhj2hhhj referencedKubj#)}(h>.. _reStructuredText: http://docutils.sourceforge.net/rst.htmlh]h}(h]restructuredtextah ]h"]restructuredtextah$]h&]j_jvuh1j"hKhj2hhhjjKubh)}(hXI file reStructuredText possono contenere delle direttive che permettono di includere i commenti di documentazione, o di tipo kernel-doc, dai file sorgenti. Solitamente questi commenti sono utilizzati per descrivere le funzioni, i tipi e l'architettura del codice. I commenti di tipo kernel-doc hanno una struttura e formato speciale, ma a parte questo vengono processati come reStructuredText.h]hXI file reStructuredText possono contenere delle direttive che permettono di includere i commenti di documentazione, o di tipo kernel-doc, dai file sorgenti. Solitamente questi commenti sono utilizzati per descrivere le funzioni, i tipi e l’architettura del codice. I commenti di tipo kernel-doc hanno una struttura e formato speciale, ma a parte questo vengono processati come reStructuredText.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj2hhubh)}(hInoltre, ci sono migliaia di altri documenti in formato testo sparsi nella cartella ``Documentation``. Alcuni di questi verranno probabilmente convertiti, nel tempo, in formato reStructuredText, ma la maggior parte di questi rimarranno in formato testo.h](hTInoltre, ci sono migliaia di altri documenti in formato testo sparsi nella cartella }(hjhhhNhNubj|)}(h``Documentation``h]h Documentation}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh. Alcuni di questi verranno probabilmente convertiti, nel tempo, in formato reStructuredText, ma la maggior parte di questi rimarranno in formato testo.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhj2hhubj#)}(h.. _it_sphinx_install:h]h}(h]h ]h"]h$]h&]j.it-sphinx-installuh1j"hK+hj2hhhjubj1)}(hhh](j6)}(hInstallazione Sphinxh]hInstallazione Sphinx}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j5hjhhhjhK$ubh)}(hI marcatori ReST utilizzati nei file in Documentation/ sono pensati per essere processati da ``Sphinx`` nella versione 1.7 o superiore.h](h]I marcatori ReST utilizzati nei file in Documentation/ sono pensati per essere processati da }(hj.hhhNhNubj|)}(h ``Sphinx``h]hSphinx}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj.ubh nella versione 1.7 o superiore.}(hj.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK&hjhhubh)}(hrEsiste uno script che verifica i requisiti Sphinx. Per ulteriori dettagli consultate :ref:`it_sphinx-pre-install`.h](hUEsiste uno script che verifica i requisiti Sphinx. Per ulteriori dettagli consultate }(hjNhhhNhNubh)}(h:ref:`it_sphinx-pre-install`h]h)}(hjXh]hit_sphinx-pre-install}(hjZhhhNhNubah}(h]h ](hstdstd-refeh"]h$]h&]uh1hhjVubah}(h]h ]h"]h$]h&]refdochΌ refdomainjdreftyperef refexplicitrefwarnhԌit_sphinx-pre-installuh1hhjhK)hjNubh.}(hjNhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK)hjhhubh)}(hLa maggior parte delle distribuzioni Linux forniscono Sphinx, ma l'insieme dei programmi e librerie è fragile e non è raro che dopo un aggiornamento di Sphinx, o qualche altro pacchetto Python, la documentazione non venga più generata correttamente.h]hLa maggior parte delle distribuzioni Linux forniscono Sphinx, ma l’insieme dei programmi e librerie è fragile e non è raro che dopo un aggiornamento di Sphinx, o qualche altro pacchetto Python, la documentazione non venga più generata correttamente.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK,hjhhubh)}(hXVUn modo per evitare questo genere di problemi è quello di utilizzare una versione diversa da quella fornita dalla vostra distribuzione. Per fare questo, vi raccomandiamo di installare Sphinx dentro ad un ambiente virtuale usando ``virtualenv-3`` o ``virtualenv`` a seconda di come Python 3 è stato pacchettizzato dalla vostra distribuzione.h](hUn modo per evitare questo genere di problemi è quello di utilizzare una versione diversa da quella fornita dalla vostra distribuzione. Per fare questo, vi raccomandiamo di installare Sphinx dentro ad un ambiente virtuale usando }(hjhhhNhNubj|)}(h``virtualenv-3``h]h virtualenv-3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh o }(hjhhhNhNubj|)}(h``virtualenv``h]h virtualenv}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubhO a seconda di come Python 3 è stato pacchettizzato dalla vostra distribuzione.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK1hjhhubh)}(hX#) Viene raccomandato l'uso del tema RTD per la documentazione in HTML. A seconda della versione di Sphinx, potrebbe essere necessaria l'installazione tramite il comando ``pip install sphinx_rtd_theme``. #) Alcune pagine ReST contengono delle formule matematiche. A causa del modo in cui Sphinx funziona, queste espressioni sono scritte utilizzando LaTeX. Per una corretta interpretazione, è necessario aver installato texlive con i pacchetti amdfonts e amsmath.h]henumerated_list)}(hhh](h list_item)}(hViene raccomandato l'uso del tema RTD per la documentazione in HTML. A seconda della versione di Sphinx, potrebbe essere necessaria l'installazione tramite il comando ``pip install sphinx_rtd_theme``. h]h)}(hViene raccomandato l'uso del tema RTD per la documentazione in HTML. A seconda della versione di Sphinx, potrebbe essere necessaria l'installazione tramite il comando ``pip install sphinx_rtd_theme``.h](hViene raccomandato l’uso del tema RTD per la documentazione in HTML. A seconda della versione di Sphinx, potrebbe essere necessaria l’installazione tramite il comando }(hjhhhNhNubj|)}(h ``pip install sphinx_rtd_theme``h]hpip install sphinx_rtd_theme}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK9hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hXAlcune pagine ReST contengono delle formule matematiche. A causa del modo in cui Sphinx funziona, queste espressioni sono scritte utilizzando LaTeX. Per una corretta interpretazione, è necessario aver installato texlive con i pacchetti amdfonts e amsmath.h]h)}(hXAlcune pagine ReST contengono delle formule matematiche. A causa del modo in cui Sphinx funziona, queste espressioni sono scritte utilizzando LaTeX. Per una corretta interpretazione, è necessario aver installato texlive con i pacchetti amdfonts e amsmath.h]hXAlcune pagine ReST contengono delle formule matematiche. A causa del modo in cui Sphinx funziona, queste espressioni sono scritte utilizzando LaTeX. Per una corretta interpretazione, è necessario aver installato texlive con i pacchetti amdfonts e amsmath.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK=hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix)uh1jhjubah}(h]h ]h"]h$]h&]uh1hhjhhhNhNubh)}(hORiassumendo, se volete installare la versione 2.4.4 di Sphinx dovete eseguire::h]hNRiassumendo, se volete installare la versione 2.4.4 di Sphinx dovete eseguire:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKBhjhhubh literal_block)}(h}$ virtualenv sphinx_2.4.4 $ . sphinx_2.4.4/bin/activate (sphinx_2.4.4) $ pip install -r Documentation/sphinx/requirements.txth]h}$ virtualenv sphinx_2.4.4 $ . sphinx_2.4.4/bin/activate (sphinx_2.4.4) $ pip install -r Documentation/sphinx/requirements.txt}hj.sbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1j,hjhKDhjhhubh)}(hXDopo aver eseguito ``. sphinx_2.4.4/bin/activate``, il prompt cambierà per indicare che state usando il nuovo ambiente. Se aprite un nuova sessione, prima di generare la documentazione, dovrete rieseguire questo comando per rientrare nell'ambiente virtuale.h](hDopo aver eseguito }(hj>hhhNhNubj|)}(h``. sphinx_2.4.4/bin/activate``h]h. sphinx_2.4.4/bin/activate}(hjFhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj>ubh, il prompt cambierà per indicare che state usando il nuovo ambiente. Se aprite un nuova sessione, prima di generare la documentazione, dovrete rieseguire questo comando per rientrare nell’ambiente virtuale.}(hj>hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKHhjhhubj1)}(hhh](j6)}(hGenerazione d'immaginih]hGenerazione d’immagini}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j5hj^hhhjhKNubh)}(hIl meccanismo che genera la documentazione del kernel contiene un'estensione capace di gestire immagini in formato Graphviz e SVG (per maggior informazioni vedere :ref:`it_sphinx_kfigure`).h](hIl meccanismo che genera la documentazione del kernel contiene un’estensione capace di gestire immagini in formato Graphviz e SVG (per maggior informazioni vedere }(hjohhhNhNubh)}(h:ref:`it_sphinx_kfigure`h]h)}(hjyh]hit_sphinx_kfigure}(hj{hhhNhNubah}(h]h ](hstdstd-refeh"]h$]h&]uh1hhjwubah}(h]h ]h"]h$]h&]refdochΌ refdomainjreftyperef refexplicitrefwarnhԌit_sphinx_kfigureuh1hhjhKPhjoubh).}(hjohhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKPhj^hhubh)}(hXPer far si che questo funzioni, dovete installare entrambe i pacchetti Graphviz e ImageMagick. Il sistema di generazione della documentazione è in grado di procedere anche se questi pacchetti non sono installati, ma il risultato, ovviamente, non includerà le immagini.h]hXPer far si che questo funzioni, dovete installare entrambe i pacchetti Graphviz e ImageMagick. Il sistema di generazione della documentazione è in grado di procedere anche se questi pacchetti non sono installati, ma il risultato, ovviamente, non includerà le immagini.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKThj^hhubeh}(h]generazione-d-immaginiah ]h"]generazione d'immaginiah$]h&]uh1j0hjhhhjhKNubj1)}(hhh](j6)}(hGenerazione in PDF e LaTeXh]hGenerazione in PDF e LaTeX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j5hjhhhjhKZubh)}(hnAl momento, la generazione di questi documenti è supportata solo dalle versioni di Sphinx superiori alla 2.4.h]hnAl momento, la generazione di questi documenti è supportata solo dalle versioni di Sphinx superiori alla 2.4.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK\hjhhubh)}(hkPer la generazione di PDF e LaTeX, avrete bisogno anche del pacchetto ``XeLaTeX`` nella versione 3.14159265h](hFPer la generazione di PDF e LaTeX, avrete bisogno anche del pacchetto }(hjhhhNhNubj|)}(h ``XeLaTeX``h]hXeLaTeX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh nella versione 3.14159265}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhK_hjhhubh)}(hPer alcune distribuzioni Linux potrebbe essere necessario installare anche una serie di pacchetti ``texlive`` in modo da fornire il supporto minimo per il funzionamento di ``XeLaTeX``.h](hbPer alcune distribuzioni Linux potrebbe essere necessario installare anche una serie di pacchetti }(hjhhhNhNubj|)}(h ``texlive``h]htexlive}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh? in modo da fornire il supporto minimo per il funzionamento di }(hjhhhNhNubj|)}(h ``XeLaTeX``h]hXeLaTeX}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKbhjhhubj#)}(h.. _it_sphinx-pre-install:h]h}(h]h ]h"]h$]h&]j.it-sphinx-pre-installuh1j"hKphjhhhjubeh}(h]generazione-in-pdf-e-latexah ]h"]generazione in pdf e latexah$]h&]uh1j0hjhhhjhKZubj1)}(hhh](j6)}(hVerificare le dipendenze Sphinxh]hVerificare le dipendenze Sphinx}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1j5hj;hhhjhKiubh)}(hEsiste uno script che permette di verificare automaticamente le dipendenze di Sphinx. Se lo script riesce a riconoscere la vostra distribuzione, allora sarà in grado di darvi dei suggerimenti su come procedere per completare l'installazione::h]hEsiste uno script che permette di verificare automaticamente le dipendenze di Sphinx. Se lo script riesce a riconoscere la vostra distribuzione, allora sarà in grado di darvi dei suggerimenti su come procedere per completare l’installazione:}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKkhj;hhubj-)}(hX$ ./scripts/sphinx-pre-install Checking if the needed tools for Fedora release 26 (Twenty Six) are available Warning: better to also install "texlive-luatex85". You should run: sudo dnf install -y texlive-luatex85 /usr/bin/virtualenv sphinx_2.4.4 . sphinx_2.4.4/bin/activate pip install -r Documentation/sphinx/requirements.txt Can't build as 1 mandatory dependency is missing at ./scripts/sphinx-pre-install line 468.h]hX$ ./scripts/sphinx-pre-install Checking if the needed tools for Fedora release 26 (Twenty Six) are available Warning: better to also install "texlive-luatex85". You should run: sudo dnf install -y texlive-luatex85 /usr/bin/virtualenv sphinx_2.4.4 . sphinx_2.4.4/bin/activate pip install -r Documentation/sphinx/requirements.txt Can't build as 1 mandatory dependency is missing at ./scripts/sphinx-pre-install line 468.}hjZsbah}(h]h ]h"]h$]h&]j<j=uh1j,hjhKphj;hhubh)}(hXdL'impostazione predefinita prevede il controllo dei requisiti per la generazione di documenti html e PDF, includendo anche il supporto per le immagini, le espressioni matematiche e LaTeX; inoltre, presume che venga utilizzato un ambiente virtuale per Python. I requisiti per generare i documenti html sono considerati obbligatori, gli altri sono opzionali.h]hXfL’impostazione predefinita prevede il controllo dei requisiti per la generazione di documenti html e PDF, includendo anche il supporto per le immagini, le espressioni matematiche e LaTeX; inoltre, presume che venga utilizzato un ambiente virtuale per Python. I requisiti per generare i documenti html sono considerati obbligatori, gli altri sono opzionali.}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhK|hj;hhubh)}(h&Questo script ha i seguenti parametri:h]h&Questo script ha i seguenti parametri:}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhj;hhubhdefinition_list)}(hhh](hdefinition_list_item)}(h?``--no-pdf`` Disabilita i controlli per la generazione di PDF; h](hterm)}(h ``--no-pdf``h]j|)}(hjh]h--no-pdf}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubah}(h]h ]h"]h$]h&]uh1jhjhKhjubh definition)}(hhh]h)}(h1Disabilita i controlli per la generazione di PDF;h]h1Disabilita i controlli per la generazione di PDF;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hv``--no-virtualenv`` Utilizza l'ambiente predefinito dal sistema operativo invece che l'ambiente virtuale per Python; h](j)}(h``--no-virtualenv``h]j|)}(hjh]h--no-virtualenv}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubah}(h]h ]h"]h$]h&]uh1jhjhKhjubj)}(hhh]h)}(h`Utilizza l'ambiente predefinito dal sistema operativo invece che l'ambiente virtuale per Python;h]hdUtilizza l’ambiente predefinito dal sistema operativo invece che l’ambiente virtuale per Python;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjhhubeh}(h]h ]h"]h$]h&]uh1jhj;hhhjhNubeh}(h](verificare-le-dipendenze-sphinxj2eh ]h"](verificare le dipendenze sphinxit_sphinx-pre-installeh$]h&]uh1j0hjhhhjhKiexpect_referenced_by_name}j j(sexpect_referenced_by_id}j2j(subeh}(h](installazione-sphinxjeh ]h"](installazione sphinxit_sphinx_installeh$]h&]uh1j0hj2hhhjhK$j}jjsj}jjsubj1)}(hhh](j6)}(h'Generazione della documentazione Sphinxh]h'Generazione della documentazione Sphinx}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j5hjhhhjhKubh)}(hXmPer generare la documentazione in formato HTML o PDF si eseguono i rispettivi comandi ``make htmldocs`` o ``make pdfdocs``. Esistono anche altri formati in cui è possibile generare la documentazione; per maggiori informazioni potere eseguire il comando ``make help``. La documentazione così generata sarà disponibile nella sottocartella ``Documentation/output``.h](hVPer generare la documentazione in formato HTML o PDF si eseguono i rispettivi comandi }(hj.hhhNhNubj|)}(h``make htmldocs``h]h make htmldocs}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj.ubh o }(hj.hhhNhNubj|)}(h``make pdfdocs``h]h make pdfdocs}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj.ubh. Esistono anche altri formati in cui è possibile generare la documentazione; per maggiori informazioni potere eseguire il comando }(hj.hhhNhNubj|)}(h ``make help``h]h make help}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj.ubhI. La documentazione così generata sarà disponibile nella sottocartella }(hj.hhhNhNubj|)}(h``Documentation/output``h]hDocumentation/output}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj.ubh.}(hj.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubh)}(hXOvviamente, per generare la documentazione, Sphinx (``sphinx-build``) dev'essere installato. Se disponibile, il tema *Read the Docs* per Sphinx verrà utilizzato per ottenere una documentazione HTML più gradevole. Per la documentazione in formato PDF, invece, avrete bisogno di ``XeLaTeX` e di ``convert(1)`` disponibile in ImageMagick (https://www.imagemagick.org). \ [#ink]_ Tipicamente, tutti questi pacchetti sono disponibili e pacchettizzati nelle distribuzioni Linux.h](h4Ovviamente, per generare la documentazione, Sphinx (}(hjhhhNhNubj|)}(h``sphinx-build``h]h sphinx-build}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh3) dev’essere installato. Se disponibile, il tema }(hjhhhNhNubhemphasis)}(h*Read the Docs*h]h Read the Docs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh per Sphinx verrà utilizzato per ottenere una documentazione HTML più gradevole. Per la documentazione in formato PDF, invece, avrete bisogno di }(hjhhhNhNubj|)}(h``XeLaTeX` e di ``convert(1)``h]hXeLaTeX` e di ``convert(1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh disponibile in ImageMagick (}(hjhhhNhNubjN)}(hhttps://www.imagemagick.orgh]hhttps://www.imagemagick.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurijuh1jMhjubh). }(hjhhhNhNubhfootnote_reference)}(h[#ink]_h]h1}(hjhhhNhNubah}(h]id1ah ]h"]h$]h&]autoKj.inkdocnamehuh1jhjjaKubha Tipicamente, tutti questi pacchetti sono disponibili e pacchettizzati nelle distribuzioni Linux.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubh)}(hPer poter passare ulteriori opzioni a Sphinx potete utilizzare la variabile make ``SPHINXOPTS``. Per esempio, se volete che Sphinx sia più verboso durante la generazione potete usare il seguente comando ``make SPHINXOPTS=-v htmldocs``.h](hQPer poter passare ulteriori opzioni a Sphinx potete utilizzare la variabile make }(hjhhhNhNubj|)}(h``SPHINXOPTS``h]h SPHINXOPTS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubhm. Per esempio, se volete che Sphinx sia più verboso durante la generazione potete usare il seguente comando }(hjhhhNhNubj|)}(h``make SPHINXOPTS=-v htmldocs``h]hmake SPHINXOPTS=-v htmldocs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubh)}(hPotete anche personalizzare l'ouptut html passando un livello aggiuntivo DOCS_CSS usando la rispettiva variabile d'ambiente ``DOCS_CSS``.h](hPotete anche personalizzare l’ouptut html passando un livello aggiuntivo DOCS_CSS usando la rispettiva variabile d’ambiente }(hj'hhhNhNubj|)}(h ``DOCS_CSS``h]hDOCS_CSS}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj'ubh.}(hj'hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubh)}(hXYLa variable make ``SPHINXDIRS`` è utile quando si vuole generare solo una parte della documentazione. Per esempio, si possono generare solo di documenti in ``Documentation/doc-guide`` eseguendo ``make SPHINXDIRS=doc-guide htmldocs``. La sezione dedicata alla documentazione di ``make help`` vi mostrerà quali sotto cartelle potete specificare.h](hLa variable make }(hjGhhhNhNubj|)}(h``SPHINXDIRS``h]h SPHINXDIRS}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjGubh~ è utile quando si vuole generare solo una parte della documentazione. Per esempio, si possono generare solo di documenti in }(hjGhhhNhNubj|)}(h``Documentation/doc-guide``h]hDocumentation/doc-guide}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjGubh eseguendo }(hjGhhhNhNubj|)}(h&``make SPHINXDIRS=doc-guide htmldocs``h]h"make SPHINXDIRS=doc-guide htmldocs}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjGubh-. La sezione dedicata alla documentazione di }(hjGhhhNhNubj|)}(h ``make help``h]h make help}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjGubh6 vi mostrerà quali sotto cartelle potete specificare.}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubh)}(hRPotete eliminare la documentazione generata tramite il comando ``make cleandocs``.h](h?Potete eliminare la documentazione generata tramite il comando }(hjhhhNhNubj|)}(h``make cleandocs``h]hmake cleandocs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubhfootnote)}(hAvere installato anche ``inkscape(1)`` dal progetto Inkscape () potrebbe aumentare la qualità delle immagini che verranno integrate nel documento PDF, specialmente per quando si usando rilasci del kernel uguali o superiori a 5.18 h](hlabel)}(hhh]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhNhNubh)}(hAvere installato anche ``inkscape(1)`` dal progetto Inkscape () potrebbe aumentare la qualità delle immagini che verranno integrate nel documento PDF, specialmente per quando si usando rilasci del kernel uguali o superiori a 5.18h](hAvere installato anche }(hjhhhNhNubj|)}(h``inkscape(1)``h]h inkscape(1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh dal progetto Inkscape () potrebbe aumentare la qualità delle immagini che verranno integrate nel documento PDF, specialmente per quando si usando rilasci del kernel uguali o superiori a 5.18}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjubeh}(h]jah ]h"]inkah$]h&]jajKjhuh1jhjhKhjhhubeh}(h]'generazione-della-documentazione-sphinxah ]h"]'generazione della documentazione sphinxah$]h&]uh1j0hj2hhhjhKubj1)}(hhh](j6)}(hScrivere la documentazioneh]hScrivere la documentazione}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j5hjhhhjhKubh)}(h,Aggiungere nuova documentazione è semplice:h]h,Aggiungere nuova documentazione è semplice:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjhhubj)}(hhh](j)}(hAaggiungete un file ``.rst`` nella sottocartella ``Documentation``h]h)}(hj%h](haggiungete un file }(hj'hhhNhNubj|)}(h``.rst``h]h.rst}(hj.hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj'ubh nella sottocartella }(hj'hhhNhNubj|)}(h``Documentation``h]h Documentation}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj'ubeh}(h]h ]h"]h$]h&]uh1hhjhKhj#ubah}(h]h ]h"]h$]h&]uh1jhj hhhjhNubj)}(h\aggiungete un riferimento ad esso nell'indice (`TOC tree`_) in ``Documentation/index.rst``. h]h)}(h[aggiungete un riferimento ad esso nell'indice (`TOC tree`_) in ``Documentation/index.rst``.h](h1aggiungete un riferimento ad esso nell’indice (}(hj^hhhNhNubjN)}(h `TOC tree`_h]hTOC tree}(hjfhhhNhNubah}(h]h ]h"]h$]h&]nameTOC treej_7http://www.sphinx-doc.org/en/stable/markup/toctree.htmluh1jMhj^jaKubh) in }(hj^hhhNhNubj|)}(h``Documentation/index.rst``h]hDocumentation/index.rst}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj^ubh.}(hj^hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjZubah}(h]h ]h"]h$]h&]uh1jhj hhhjhNubeh}(h]h ]h"]h$]h&]jjjhj.uh1jhjhhhjhKubj#)}(hE.. _TOC tree: http://www.sphinx-doc.org/en/stable/markup/toctree.htmlh]h}(h]toc-treeah ]h"]toc treeah$]h&]j_jvuh1j"hKhjhhhjjKubh)}(hXQuesto, di solito, è sufficiente per la documentazione più semplice (come quella che state leggendo ora), ma per una documentazione più elaborata è consigliato creare una sottocartella dedicata (o, quando possibile, utilizzarne una già esistente). Per esempio, il sottosistema grafico è documentato nella sottocartella ``Documentation/gpu``; questa documentazione è divisa in diversi file ``.rst`` ed un indice ``index.rst`` (con un ``toctree`` dedicato) a cui si fa riferimento nell'indice principale.h](hXEQuesto, di solito, è sufficiente per la documentazione più semplice (come quella che state leggendo ora), ma per una documentazione più elaborata è consigliato creare una sottocartella dedicata (o, quando possibile, utilizzarne una già esistente). Per esempio, il sottosistema grafico è documentato nella sottocartella }(hjhhhNhNubj|)}(h``Documentation/gpu``h]hDocumentation/gpu}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh2; questa documentazione è divisa in diversi file }(hjhhhNhNubj|)}(h``.rst``h]h.rst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh ed un indice }(hjhhhNhNubj|)}(h ``index.rst``h]h index.rst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh (con un }(hjhhhNhNubj|)}(h ``toctree``h]htoctree}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh< dedicato) a cui si fa riferimento nell’indice principale.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubh)}(hX'Consultate la documentazione di `Sphinx`_ e `reStructuredText`_ per maggiori informazione circa le loro potenzialità. In particolare, il `manuale introduttivo a reStructuredText`_ di Sphinx è un buon punto da cui cominciare. Esistono, inoltre, anche alcuni `costruttori specifici per Sphinx`_.h](h Consultate la documentazione di }(hjhhhNhNubjN)}(h `Sphinx`_h]hSphinx}(hj hhhNhNubah}(h]h ]h"]h$]h&]nameSphinxj_j`uh1jMhjjaKubh e }(hjhhhNhNubjN)}(h`reStructuredText`_h]hreStructuredText}(hjhhhNhNubah}(h]h ]h"]h$]h&]namereStructuredTextj_jvuh1jMhjjaKubhK per maggiori informazione circa le loro potenzialità. In particolare, il }(hjhhhNhNubjN)}(h*`manuale introduttivo a reStructuredText`_h]h'manuale introduttivo a reStructuredText}(hj2hhhNhNubah}(h]h ]h"]h$]h&]name'manuale introduttivo a reStructuredTextj_-http://www.sphinx-doc.org/en/stable/rest.htmluh1jMhjjaKubhO di Sphinx è un buon punto da cui cominciare. Esistono, inoltre, anche alcuni }(hjhhhNhNubjN)}(h#`costruttori specifici per Sphinx`_h]h costruttori specifici per Sphinx}(hjGhhhNhNubah}(h]h ]h"]h$]h&]name costruttori specifici per Sphinxj_5http://www.sphinx-doc.org/en/stable/markup/index.htmluh1jMhjjaKubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjhhubj#)}(h\.. _`manuale introduttivo a reStructuredText`: http://www.sphinx-doc.org/en/stable/rest.htmlh]h}(h]'manuale-introduttivo-a-restructuredtextah ]h"]'manuale introduttivo a restructuredtextah$]h&]j_jBuh1j"hKhjhhhjjKubj#)}(h].. _`costruttori specifici per Sphinx`: http://www.sphinx-doc.org/en/stable/markup/index.htmlh]h}(h] costruttori-specifici-per-sphinxah ]h"] costruttori specifici per sphinxah$]h&]j_jWuh1j"hKhjhhhjjKubj1)}(hhh](j6)}(h,Guide linea per la documentazione del kernelh]h,Guide linea per la documentazione del kernel}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1j5hjzhhhjhKubh)}(h[In questa sezione troverete alcune linee guida specifiche per la documentazione del kernel:h]h[In questa sezione troverete alcune linee guida specifiche per la documentazione del kernel:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjzhhubh bullet_list)}(hhh](j)}(hNon esagerate con i costrutti di reStructuredText. Mantenete la documentazione semplice. La maggior parte della documentazione dovrebbe essere testo semplice con una strutturazione minima che permetta la conversione in diversi formati. h]h)}(hNon esagerate con i costrutti di reStructuredText. Mantenete la documentazione semplice. La maggior parte della documentazione dovrebbe essere testo semplice con una strutturazione minima che permetta la conversione in diversi formati.h]hNon esagerate con i costrutti di reStructuredText. Mantenete la documentazione semplice. La maggior parte della documentazione dovrebbe essere testo semplice con una strutturazione minima che permetta la conversione in diversi formati.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhjhNubj)}(hMantenete la strutturazione il più fedele possibile all'originale quando convertite un documento in formato reStructuredText. h]h)}(h~Mantenete la strutturazione il più fedele possibile all'originale quando convertite un documento in formato reStructuredText.h]hMantenete la strutturazione il più fedele possibile all’originale quando convertite un documento in formato reStructuredText.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhjhNubj)}(hgAggiornate i contenuti quando convertite della documentazione, non limitatevi solo alla formattazione. h]h)}(hfAggiornate i contenuti quando convertite della documentazione, non limitatevi solo alla formattazione.h]hfAggiornate i contenuti quando convertite della documentazione, non limitatevi solo alla formattazione.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhjhNubj)}(hXRMantenete la decorazione dei livelli di intestazione come segue: 1. ``=`` con una linea superiore per il titolo del documento:: ====== Titolo ====== 2. ``=`` per i capitoli:: Capitoli ======== 3. ``-`` per le sezioni:: Sezioni ------- 4. ``~`` per le sottosezioni:: Sottosezioni ~~~~~~~~~~~~ Sebbene RST non forzi alcun ordine specifico (*Piuttosto che imporre un numero ed un ordine fisso di decorazioni, l'ordine utilizzato sarà quello incontrato*), avere uniformità dei livelli principali rende più semplice la lettura dei documenti. h](h)}(h@Mantenete la decorazione dei livelli di intestazione come segue:h]h@Mantenete la decorazione dei livelli di intestazione come segue:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhKhjubj)}(hhh](j)}(hX``=`` con una linea superiore per il titolo del documento:: ====== Titolo ====== h](h)}(h;``=`` con una linea superiore per il titolo del documento::h](j|)}(h``=``h]h=}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubh5 con una linea superiore per il titolo del documento:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjubj-)}(h====== Titolo ======h]h====== Titolo ======}hj sbah}(h]h ]h"]h$]h&]j<j=uh1j,hjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(h.``=`` per i capitoli:: Capitoli ======== h](h)}(h``=`` per i capitoli::h](j|)}(h``=``h]h=}(hj7 hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj3 ubh per i capitoli:}(hj3 hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhj/ ubj-)}(hCapitoli ========h]hCapitoli ========}hjO sbah}(h]h ]h"]h$]h&]j<j=uh1j,hjhKhj/ ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(h,``-`` per le sezioni:: Sezioni ------- h](h)}(h``-`` per le sezioni::h](j|)}(h``-``h]h-}(hjk hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjg ubh per le sezioni:}(hjg hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjc ubj-)}(hSezioni -------h]hSezioni -------}hj sbah}(h]h ]h"]h$]h&]j<j=uh1j,hjhKhjc ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(h;``~`` per le sottosezioni:: Sottosezioni ~~~~~~~~~~~~ h](h)}(h``~`` per le sottosezioni::h](j|)}(h``~``h]h~}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh per le sottosezioni:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhj ubj-)}(hSottosezioni ~~~~~~~~~~~~h]hSottosezioni ~~~~~~~~~~~~}hj sbah}(h]h ]h"]h$]h&]j<j=uh1j,hjhKhj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]jjjhjjuh1jhjubh)}(hSebbene RST non forzi alcun ordine specifico (*Piuttosto che imporre un numero ed un ordine fisso di decorazioni, l'ordine utilizzato sarà quello incontrato*), avere uniformità dei livelli principali rende più semplice la lettura dei documenti.h](h.Sebbene RST non forzi alcun ordine specifico (}(hj hhhNhNubj)}(hp*Piuttosto che imporre un numero ed un ordine fisso di decorazioni, l'ordine utilizzato sarà quello incontrato*h]hpPiuttosto che imporre un numero ed un ordine fisso di decorazioni, l’ordine utilizzato sarà quello incontrato}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhY), avere uniformità dei livelli principali rende più semplice la lettura dei documenti.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhjubeh}(h]h ]h"]h$]h&]uh1jhjhhhjhNubj)}(hXPer inserire blocchi di testo con caratteri a dimensione fissa (codici di esempio, casi d'uso, eccetera): utilizzate ``::`` quando non è necessario evidenziare la sintassi, specialmente per piccoli frammenti; invece, utilizzate ``.. code-block:: `` per blocchi più lunghi che beneficeranno della sintassi evidenziata. Per un breve pezzo di codice da inserire nel testo, usate \`\`. h]h)}(hXPer inserire blocchi di testo con caratteri a dimensione fissa (codici di esempio, casi d'uso, eccetera): utilizzate ``::`` quando non è necessario evidenziare la sintassi, specialmente per piccoli frammenti; invece, utilizzate ``.. code-block:: `` per blocchi più lunghi che beneficeranno della sintassi evidenziata. Per un breve pezzo di codice da inserire nel testo, usate \`\`.h](hwPer inserire blocchi di testo con caratteri a dimensione fissa (codici di esempio, casi d’uso, eccetera): utilizzate }(hj hhhNhNubj|)}(h``::``h]h::}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubhj quando non è necessario evidenziare la sintassi, specialmente per piccoli frammenti; invece, utilizzate }(hj hhhNhNubj|)}(h``.. code-block:: ``h]h.. code-block:: }(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh per blocchi più lunghi che beneficeranno della sintassi evidenziata. Per un breve pezzo di codice da inserire nel testo, usate ``.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhKhj ubah}(h]h ]h"]h$]h&]uh1jhjhhhjhNubeh}(h]h ]h"]h$]h&]bullet*uh1jhjhKhjzhhubeh}(h],guide-linea-per-la-documentazione-del-kernelah ]h"],guide linea per la documentazione del kernelah$]h&]uh1j0hjhhhjhKubj1)}(hhh](j6)}(h Il dominio Ch]h Il dominio C}(hjF hhhNhNubah}(h]h ]h"]h$]h&]uh1j5hjC hhhjhMubh)}(h|Il **Dominio Sphinx C** (denominato c) è adatto alla documentazione delle API C. Per esempio, un prototipo di una funzione:h](hIl }(hjT hhhNhNubhstrong)}(h**Dominio Sphinx C**h]hDominio Sphinx C}(hj^ hhhNhNubah}(h]h ]h"]h$]h&]uh1j\ hjT ubhe (denominato c) è adatto alla documentazione delle API C. Per esempio, un prototipo di una funzione:}(hjT hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjC hhubj-)}(h0.. c:function:: int ioctl( int fd, int request )h]h0.. c:function:: int ioctl( int fd, int request )}hjv sbah}(h]h ]h"]h$]h&]j<j=forcelanguagersthighlight_args}uh1j,hjhM hjC hhubh)}(hIl dominio C per kernel-doc ha delle funzionalità aggiuntive. Per esempio, potete assegnare un nuovo nome di riferimento ad una funzione con un nome molto comune come ``open`` o ``ioctl``:h](hIl dominio C per kernel-doc ha delle funzionalità aggiuntive. Per esempio, potete assegnare un nuovo nome di riferimento ad una funzione con un nome molto comune come }(hj hhhNhNubj|)}(h``open``h]hopen}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh o }(hj hhhNhNubj|)}(h ``ioctl``h]hioctl}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjC hhubj-)}(hL.. c:function:: int ioctl( int fd, int request ) :name: VIDIOC_LOG_STATUSh]hL.. c:function:: int ioctl( int fd, int request ) :name: VIDIOC_LOG_STATUS}hj sbah}(h]h ]h"]h$]h&]j<j=j j rstj }uh1j,hjhMhjC hhubh)}(hIl nome della funzione (per esempio ioctl) rimane nel testo ma il nome del suo riferimento cambia da ``ioctl`` a ``VIDIOC_LOG_STATUS``. Anche la voce nell'indice cambia in ``VIDIOC_LOG_STATUS``.h](heIl nome della funzione (per esempio ioctl) rimane nel testo ma il nome del suo riferimento cambia da }(hj hhhNhNubj|)}(h ``ioctl``h]hioctl}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh a }(hj hhhNhNubj|)}(h``VIDIOC_LOG_STATUS``h]hVIDIOC_LOG_STATUS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh(. Anche la voce nell’indice cambia in }(hj hhhNhNubj|)}(h``VIDIOC_LOG_STATUS``h]hVIDIOC_LOG_STATUS}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjC hhubh)}(hXNotate che per una funzione non c'è bisogno di usare ``c:func:`` per generarne i riferimenti nella documentazione. Grazie a qualche magica estensione a Sphinx, il sistema di generazione della documentazione trasformerà automaticamente un riferimento ad una ``funzione()`` in un riferimento incrociato quando questa ha una voce nell'indice. Se trovate degli usi di ``c:func:`` nella documentazione del kernel, sentitevi liberi di rimuoverli.h](h8Notate che per una funzione non c’è bisogno di usare }(hj hhhNhNubj|)}(h ``c:func:``h]hc:func:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh per generarne i riferimenti nella documentazione. Grazie a qualche magica estensione a Sphinx, il sistema di generazione della documentazione trasformerà automaticamente un riferimento ad una }(hj hhhNhNubj|)}(h``funzione()``h]h funzione()}(hj) hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh` in un riferimento incrociato quando questa ha una voce nell’indice. Se trovate degli usi di }(hj hhhNhNubj|)}(h ``c:func:``h]hc:func:}(hj; hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubhA nella documentazione del kernel, sentitevi liberi di rimuoverli.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjC hhubeh}(h] il-dominio-cah ]h"] il dominio cah$]h&]uh1j0hjhhhjhMubj1)}(hhh](j6)}(hTabelle a listeh]hTabelle a liste}(hj^ hhhNhNubah}(h]h ]h"]h$]h&]uh1j5hj[ hhhjhM%ubh)}(hXSIl formato ``list-table`` può essere utile per tutte quelle tabelle che non possono essere facilmente scritte usando il formato ASCII-art di Sphinx. Però, questo genere di tabelle sono illeggibili per chi legge direttamente i file di testo. Dunque, questo formato dovrebbe essere evitato senza forti argomenti che ne giustifichino l'uso.h](h Il formato }(hjl hhhNhNubj|)}(h``list-table``h]h list-table}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjl ubhX< può essere utile per tutte quelle tabelle che non possono essere facilmente scritte usando il formato ASCII-art di Sphinx. Però, questo genere di tabelle sono illeggibili per chi legge direttamente i file di testo. Dunque, questo formato dovrebbe essere evitato senza forti argomenti che ne giustifichino l’uso.}(hjl hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM'hj[ hhubh)}(hsLa ``flat-table`` è anch'essa una lista di liste simile alle ``list-table`` ma con delle funzionalità aggiuntive:h](hLa }(hj hhhNhNubj|)}(h``flat-table``h]h flat-table}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh/ è anch’essa una lista di liste simile alle }(hj hhhNhNubj|)}(h``list-table``h]h list-table}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh' ma con delle funzionalità aggiuntive:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM-hj[ hhubj)}(hhh](j)}(h\column-span: col ruolo ``cspan`` una cella può essere estesa attraverso colonne successive h]h)}(h[column-span: col ruolo ``cspan`` una cella può essere estesa attraverso colonne successiveh](hcolumn-span: col ruolo }(hj hhhNhNubj|)}(h ``cspan``h]hcspan}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh; una cella può essere estesa attraverso colonne successive}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM0hj ubah}(h]h ]h"]h$]h&]uh1jhj hhhjhNubj)}(hWraw-span: col ruolo ``rspan`` una cella può essere estesa attraverso righe successive h]h)}(hVraw-span: col ruolo ``rspan`` una cella può essere estesa attraverso righe successiveh](hraw-span: col ruolo }(hj hhhNhNubj|)}(h ``rspan``h]hrspan}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh9 una cella può essere estesa attraverso righe successive}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM3hj ubah}(h]h ]h"]h$]h&]uh1jhj hhhjhNubj)}(hXauto-span: la cella più a destra viene estesa verso destra per compensare la mancanza di celle. Con l'opzione ``:fill-cells:`` questo comportamento può essere cambiato da *auto-span* ad *auto-fill*, il quale inserisce automaticamente celle (vuote) invece che estendere l'ultima. h]h)}(hXauto-span: la cella più a destra viene estesa verso destra per compensare la mancanza di celle. Con l'opzione ``:fill-cells:`` questo comportamento può essere cambiato da *auto-span* ad *auto-fill*, il quale inserisce automaticamente celle (vuote) invece che estendere l'ultima.h](hqauto-span: la cella più a destra viene estesa verso destra per compensare la mancanza di celle. Con l’opzione }(hj hhhNhNubj|)}(h``:fill-cells:``h]h :fill-cells:}(hj! hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh. questo comportamento può essere cambiato da }(hj hhhNhNubj)}(h *auto-span*h]h auto-span}(hj3 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh ad }(hj hhhNhNubj)}(h *auto-fill*h]h auto-fill}(hjE hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhS, il quale inserisce automaticamente celle (vuote) invece che estendere l’ultima.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM6hj ubah}(h]h ]h"]h$]h&]uh1jhj hhhjhNubeh}(h]h ]h"]h$]h&]j9 j: uh1jhjhM0hj[ hhubh)}(hopzioni:h]hopzioni:}(hji hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhM;hj[ hhubj)}(hhh](j)}(h8``:header-rows:`` [int] conta le righe di intestazioneh]h)}(hj| h](j|)}(h``:header-rows:``h]h :header-rows:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj~ ubh' [int] conta le righe di intestazione}(hj~ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM=hjz ubah}(h]h ]h"]h$]h&]uh1jhjw hhhjhNubj)}(h2``:stub-columns:`` [int] conta le colonne di stubh]h)}(hj h](j|)}(h``:stub-columns:``h]h:stub-columns:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh [int] conta le colonne di stub}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM>hj ubah}(h]h ]h"]h$]h&]uh1jhjw hhhjhNubj)}(h>``:widths:`` [[int] [int] ... ] larghezza delle colonneh]h)}(hj h](j|)}(h ``:widths:``h]h:widths:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh2 [[int] [int] ... ] larghezza delle colonne}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM?hj ubah}(h]h ]h"]h$]h&]uh1jhjw hhhjhNubj)}(hh``:fill-cells:`` invece di estendere automaticamente una cella su quelle mancanti, ne crea di vuote. h]h)}(hg``:fill-cells:`` invece di estendere automaticamente una cella su quelle mancanti, ne crea di vuote.h](j|)}(h``:fill-cells:``h]h :fill-cells:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubhW invece di estendere automaticamente una cella su quelle mancanti, ne crea di vuote.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM@hj ubah}(h]h ]h"]h$]h&]uh1jhjw hhhjhNubeh}(h]h ]h"]h$]h&]j9 j: uh1jhjhM=hj[ hhubh)}(hruoli:h]hruoli:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMChj[ hhubj)}(hhh](j)}(h1``:cspan:`` [int] colonne successive (*morecols*)h]h)}(hj( h](j|)}(h ``:cspan:``h]h:cspan:}(hj- hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj* ubh [int] colonne successive (}(hj* hhhNhNubj)}(h *morecols*h]hmorecols}(hj? hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj* ubh)}(hj* hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMEhj& ubah}(h]h ]h"]h$]h&]uh1jhj# hhhjhNubj)}(h0``:rspan:`` [int] righe successive (*morerows*) h]h)}(h/``:rspan:`` [int] righe successive (*morerows*)h](j|)}(h ``:rspan:``h]h:rspan:}(hje hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hja ubh [int] righe successive (}(hja hhhNhNubj)}(h *morerows*h]hmorerows}(hjw hhhNhNubah}(h]h ]h"]h$]h&]uh1jhja ubh)}(hja hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMFhj] ubah}(h]h ]h"]h$]h&]uh1jhj# hhhjhNubeh}(h]h ]h"]h$]h&]j9 j: uh1jhjhMEhj[ hhubh)}(hXoL'esempio successivo mostra come usare questo marcatore. Il primo livello della nostra lista di liste è la *riga*. In una *riga* è possibile inserire solamente la lista di celle che compongono la *riga* stessa. Fanno eccezione i *commenti* ( ``..`` ) ed i *collegamenti* (per esempio, un riferimento a ``:ref:`last row ``` / :ref:`last row `)h](hnL’esempio successivo mostra come usare questo marcatore. Il primo livello della nostra lista di liste è la }(hj hhhNhNubj)}(h*riga*h]hriga}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh . In una }(hj hhhNhNubj)}(h*riga*h]hriga}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhE è possibile inserire solamente la lista di celle che compongono la }(hj hhhNhNubj)}(h*riga*h]hriga}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh stessa. Fanno eccezione i }(hj hhhNhNubj)}(h *commenti*h]hcommenti}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh ( }(hj hhhNhNubj|)}(h``..``h]h..}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh ) ed i }(hj hhhNhNubj)}(h*collegamenti*h]h collegamenti}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh (per esempio, un riferimento a }(hj hhhNhNubj|)}(h``:ref:`last row ```h]h:ref:`last row `}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj ubh / }(hj hhhNhNubh)}(h:ref:`last row `h]h)}(hj#h]hlast row}(hj%hhhNhNubah}(h]h ](hstdstd-refeh"]h$]h&]uh1hhj!ubah}(h]h ]h"]h$]h&]refdochΌ refdomainj/reftyperef refexplicitrefwarnhԌ it last rowuh1hhjhMHhj ubh)}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMHhj[ hhubj-)}(hX).. flat-table:: table title :widths: 2 1 1 3 * - head col 1 - head col 2 - head col 3 - head col 4 * - row 1 - field 1.1 - field 1.2 with autospan * - row 2 - field 2.1 - :rspan:`1` :cspan:`1` field 2.2 - 3.3 * .. _`it last row`: - row 3h]hX).. flat-table:: table title :widths: 2 1 1 3 * - head col 1 - head col 2 - head col 3 - head col 4 * - row 1 - field 1.1 - field 1.2 with autospan * - row 2 - field 2.1 - :rspan:`1` :cspan:`1` field 2.2 - 3.3 * .. _`it last row`: - row 3}hjKsbah}(h]h ]h"]h$]h&]j<j=j j rstj }uh1j,hjhMNhj[ hhubh)}(h+Che verrà rappresentata nel seguente modo:h]h+Che verrà rappresentata nel seguente modo:}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMdhj[ hhubh block_quote)}(hX*.. flat-table:: table title :widths: 2 1 1 3 * - head col 1 - head col 2 - head col 3 - head col 4 * - row 1 - field 1.1 - field 1.2 with autospan * - row 2 - field 2.1 - :rspan:`1` :cspan:`1` field 2.2 - 3.3 * .. _`it last row`: - row 3 h]htable)}(hhh](j6)}(h table titleh]h table title}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1j5hjhMfhjqubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h head col 1h]h head col 1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMihjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h head col 2h]h head col 2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMjhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h head col 3h]h head col 3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMkhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h head col 4h]h head col 4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMlhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hrow 1h]hrow 1}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMnhj"ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h field 1.1h]h field 1.1}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMohj9ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hfield 1.2 with autospanh]hfield 1.2 with autospan}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMphjPubah}(h]h ]h"]h$]h&]morecolsKuh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hrow 2h]hrow 2}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMrhjqubah}(h]h ]h"]h$]h&]uh1jhjnubj)}(hhh]h)}(h field 2.1h]h field 2.1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMshjubah}(h]h ]h"]h$]h&]uh1jhjnubj)}(hhh]h)}(h%:rspan:`1` :cspan:`1` field 2.2 - 3.3h](h }(hjhhhNhNubh field 2.2 - 3.3}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMthjubah}(h]h ]h"]h$]h&]morerowsKmorecolsKuh1jhjnubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh](j#)}(h.. _`it last row`:h]h}(h]h ]h"]h$]h&]j. it-last-rowuh1j"hMhjubh)}(hrow 3h]hrow 3}(hjhhhNhNubah}(h]jah ]h"] it last rowah$]h&]uh1hhjhMxhjj}jjsj}jjsubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjqubeh}(h]id2ah ]h"]h$]h&]uh1johjkubah}(h]h ]h"]h$]h&]uh1jihjhMfhj[ hhubeh}(h]tabelle-a-listeah ]h"]tabelle a listeah$]h&]uh1j0hjhhhjhM%ubj1)}(hhh](j6)}(hRiferimenti incrociatih]hRiferimenti incrociati}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j5hjhhhjhM{ubh)}(hXAggiungere un riferimento incrociato da una pagina della documentazione ad un'altra può essere fatto scrivendo il percorso al file corrispondende, non serve alcuna sintassi speciale. Si possono usare sia percorsi assoluti che relativi. Quelli assoluti iniziano con "documentation/". Per esempio, potete fare riferimento a questo documento in uno dei seguenti modi (da notare che l'estensione ``.rst`` è necessaria)::h](hXAggiungere un riferimento incrociato da una pagina della documentazione ad un’altra può essere fatto scrivendo il percorso al file corrispondende, non serve alcuna sintassi speciale. Si possono usare sia percorsi assoluti che relativi. Quelli assoluti iniziano con “documentation/”. Per esempio, potete fare riferimento a questo documento in uno dei seguenti modi (da notare che l’estensione }(hj,hhhNhNubj|)}(h``.rst``h]h.rst}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj,ubh è necessaria):}(hj,hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhM}hjhhubj-)}(hVedere Documentation/doc-guide/sphinx.rst. Questo funziona sempre Guardate pshinx.rst, che si trova nella stessa cartella. Leggete ../sphinx.rst, che si trova nella cartella precedente.h]hVedere Documentation/doc-guide/sphinx.rst. Questo funziona sempre Guardate pshinx.rst, che si trova nella stessa cartella. Leggete ../sphinx.rst, che si trova nella cartella precedente.}hjLsbah}(h]h JO]h"]h$]h&]j<j=uh1j,hjhMhjhhubh)}(hSe volete che il collegamento abbia un testo diverso rispetto al titolo del documento, allora dovrete usare la direttiva Sphinx ``doc``. Per esempio::h](hSe volete che il collegamento abbia un testo diverso rispetto al titolo del documento, allora dovrete usare la direttiva Sphinx }(hjZhhhNhNubj|)}(h``doc``h]hdoc}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjZubh. Per esempio:}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjhhubj-)}(h8Vedere :doc:`il mio testo per il collegamento `.h]h8Vedere :doc:`il mio testo per il collegamento `.}hjzsbah}(h]h ]h"]h$]h&]j<j=uh1j,hjhMhjhhubh)}(hNella maggioranza dei casi si consiglia il primo metodo perché è più pulito ed adatto a chi legge dai sorgenti. Se incontrare un ``:doc:`` che non da alcun valore, sentitevi liberi di convertirlo in un percorso al documento.h](hNella maggioranza dei casi si consiglia il primo metodo perché è più pulito ed adatto a chi legge dai sorgenti. Se incontrare un }(hjhhhNhNubj|)}(h ``:doc:``h]h:doc:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hjubhV che non da alcun valore, sentitevi liberi di convertirlo in un percorso al documento.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjhhubh)}(hjPer informazioni riguardo ai riferimenti incrociati ai commenti kernel-doc per funzioni o tipi, consultateh]hjPer informazioni riguardo ai riferimenti incrociati ai commenti kernel-doc per funzioni o tipi, consultate}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhMhjhhubj#)}(h.. _it_sphinx_kfigure:h]h}(h]h ]h"]h$]h&]j.it-sphinx-kfigureuh1j"hMhjhhhjubeh}(h]riferimenti-incrociatiah ]h"]riferimenti incrociatiah$]h&]uh1j0hjhhhjhM{ubeh}(h]scrivere-la-documentazioneah ]h"]scrivere la documentazioneah$]h&]uh1j0hj2hhhjhKubj1)}(hhh](j6)}(hFigure ed immaginih]hFigure ed immagini}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j5hjhhhjhMubh)}(hSe volete aggiungere un'immagine, utilizzate le direttive ``kernel-figure`` e ``kernel-image``. Per esempio, per inserire una figura di un'immagine in formato SVG (:ref:`it_svg_image_example`)::h](h "baz"; }h]h.. kernel-render:: DOT :alt: foobar digraph :caption: Codice **DOT** (Graphviz) integrato digraph foo { "bar" -> "baz"; }}hjsbah}(h]h ]h"]h$]h&]j<j=uh1j,hjhMhjhhubh)}(hLa rappresentazione dipenderà dei programmi installati. Se avete Graphviz installato, vedrete un'immagine vettoriale. In caso contrario, il codice grezzo verrà rappresentato come *blocco testuale* (:ref:`it_hello_dot_render`).h](hLa rappresentazione dipenderà dei programmi installati. Se avete Graphviz installato, vedrete un’immagine vettoriale. In caso contrario, il codice grezzo verrà rappresentato come }(hjhhhNhNubj)}(h*blocco testuale*h]hblocco testuale}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh (}(hjhhhNhNubh)}(h:ref:`it_hello_dot_render`h]h)}(hjh]hit_hello_dot_render}(hjhhhNhNubah}(h]h ](hstdstd-refeh"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]refdochΌ refdomainjreftyperef refexplicitrefwarnhԌit_hello_dot_renderuh1hhjhMhjubh).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjhhubj#)}(h.. _it_hello_dot_render:h]h}(h]h ]h"]h$]h&]j.it-hello-dot-renderuh1j"hMhjhhhjubjX)}(hhh](jQ kernel_render)}(hhh]j-)}(h"digraph foo { "bar" -> "baz"; }h]h"digraph foo { "bar" -> "baz"; }}hjsbah}(h]h ]h"]h$]h&]j<j=uh1j,hjhjubah}(h]h ]h"]h$]h&]altfoobar digraphsrclangDOTuh1jhjubjo)}(h#Codice **DOT** (Graphviz) integratoh](hCodice }(hj1hhhNhNubj] )}(h**DOT**h]hDOT}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1j\ hj1ubh (Graphviz) integrato}(hj1hhhNhNubeh}(h]h ]h"]h$]h&]uh1jnhhhKhjubeh}(h](id5jeh ]h"]it_hello_dot_renderah$]h&]altj.captionj3uh1jWhjhhhhhNj}jVjsj}jjsubh)}(hXMLa direttiva *render* ha tutte le opzioni della direttiva *figure*, con l'aggiunta dell'opzione ``caption``. Se ``caption`` ha un valore allora un nodo *figure* viene aggiunto. Altrimenti verrà aggiunto un nodo *image*. L'opzione ``caption`` è necessaria in caso si vogliano aggiungere dei riferimenti (:ref:`it_hello_svg_render`).h](h La direttiva }(hj]hhhNhNubj)}(h*render*h]hrender}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubh% ha tutte le opzioni della direttiva }(hj]hhhNhNubj)}(h*figure*h]hfigure}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubh", con l’aggiunta dell’opzione }(hj]hhhNhNubj|)}(h ``caption``h]hcaption}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj]ubh. Se }(hj]hhhNhNubj|)}(h ``caption``h]hcaption}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj]ubh ha un valore allora un nodo }(hj]hhhNhNubj)}(h*figure*h]hfigure}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubh4 viene aggiunto. Altrimenti verrà aggiunto un nodo }(hj]hhhNhNubj)}(h*image*h]himage}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubh. L’opzione }(hj]hhhNhNubj|)}(h ``caption``h]hcaption}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j{hj]ubh? è necessaria in caso si vogliano aggiungere dei riferimenti (}(hj]hhhNhNubh)}(h:ref:`it_hello_svg_render`h]h)}(hjh]hit_hello_svg_render}(hjhhhNhNubah}(h]h ](hstdstd-refeh"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]refdochΌ refdomainjreftyperef refexplicitrefwarnhԌit_hello_svg_renderuh1hhjhMhj]ubh).}(hj]hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjhhubh)}(h$Per la scrittura di codice **SVG**::h](hPer la scrittura di codice }(hj hhhNhNubj] )}(h**SVG**h]hSVG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\ hj ubh:}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhjhMhjhhubj-)}(h.. kernel-render:: SVG :caption: Integrare codice **SVG** :alt: so-nw-arrow ... h]h.. kernel-render:: SVG :caption: Integrare codice **SVG** :alt: so-nw-arrow ... }hj-sbah}(h]h ]h"]h$]h&]j<j=uh1j,hjhMhjhhubj#)}(h.. _it_hello_svg_render:h]h}(h]h ]h"]h$]h&]j.it-hello-svg-renderuh1j"hMhjhhhjubjX)}(hhh](j)}(hhh]j-)}(hX? h]hX? }hjLsbah}(h]h ]h"]h$]h&]j<j=uh1j,hjIhjubah}(h]h ]h"]h$]h&]j- so-nw-arrowj/SVGuh1jhjFubjo)}(hIntegrare codice **SVG**h](hIntegrare codice }(hjbhhhNhNubj] )}(h**SVG**h]hSVG}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1j\ hjbubeh}(h]h ]h"]h$]h&]uh1jnhhhKhjFubeh}(h](id6jEeh ]h"]it_hello_svg_renderah$]h&]captionjdaltj`uh1jWhjhhhhhNj}jj;sj}jEj;subeh}(h](figure-ed-immaginijeh ]h"](figure ed immaginiit_sphinx_kfigureeh$]h&]uh1j0hj2hhhjhMj}jjsj}jjsubeh}(h](-usare-sphinx-per-la-documentazione-del-kernelj/eh ]h"](-usare sphinx per la documentazione del kernel it_sphinxdoceh$]h&]uh1j0hhhhhjhK j}jj$sj}j/j$subeh}(h]h ]h"]h$]h&]sourcejuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(j5N generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourcej _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}(sphinx](jOj erestructuredtext](jfjeink]jatoc tree]jfa'manuale introduttivo a restructuredtext]j2a costruttori specifici per sphinx]jGaurefids}(j/]j$aj]jaj2]j(aj]jaj]jajP]jFajN]jDaj]jajE]j;aj]jaunameids}(jj/jjjjjjjjjjjjj8j5j j2j jjjjjjjjjjkjhjwjtj@ j= jX jU jjjjjjjjjjjjPj}jNjVjjjEu nametypes}(jjjjjjjj8j j jjjjjkjwj@ jX jjjjjjj}jVjuh}(j/j2jj2jjjjjjjjjj^j5jj2j;jj;jjjjjjjjjjjhjbjtjnj= jzjU jC jj[ jjjjjjjjjPjTjNjOjjjEjFjjqjjYjtjRjSjjjFu footnote_refs}j]jas citation_refs} autofootnotes]jaautofootnote_refs]jasymbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages]transform_messages](hsystem_message)}(hhh]h)}(hhh]h2Hyperlink target "it-sphinxdoc" is not referenced.}hjBsbah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcejlineKuh1j=ubj>)}(hhh]h)}(hhh]h7Hyperlink target "it-sphinx-install" is not referenced.}hj]sbah}(h]h ]h"]h$]h&]uh1hhjZubah}(h]h ]h"]h$]h&]levelKtypejWsourcejlineK+uh1j=ubj>)}(hhh]h)}(hhh]h;Hyperlink target "it-sphinx-pre-install" is not referenced.}hjwsbah}(h]h ]h"]h$]h&]uh1hhjtubah}(h]h ]h"]h$]h&]levelKtypejWsourcejlineKpuh1j=ubj>)}(hhh]h)}(hhh]h1Hyperlink target "it-last-row" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejWlineMvsourcejuh1j=ubj>)}(hhh]h)}(hhh]h7Hyperlink target "it-sphinx-kfigure" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejWsourcejlineMuh1j=ubj>)}(hhh]h)}(hhh]h:Hyperlink target "it-svg-image-example" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejWsourcejlineMuh1j=ubj>)}(hhh]h)}(hhh]h7Hyperlink target "it-hello-dot-file" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejWsourcejlineMuh1j=ubj>)}(hhh]h)}(hhh]h9Hyperlink target "it-hello-dot-render" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejWsourcejlineMuh1j=ubj>)}(hhh]h)}(hhh]h9Hyperlink target "it-hello-svg-render" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejWsourcejlineMuh1j=ube transformerN include_log]5Documentation/translations/it_IT/doc-guide/sphinx.rst(NNNNta decorationNhhub.