aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--esempi/12.rst28
-rw-r--r--esempi/hello.py6
2 files changed, 34 insertions, 0 deletions
diff --git a/esempi/12.rst b/esempi/12.rst
index 2cb95b7..34ed5fb 100644
--- a/esempi/12.rst
+++ b/esempi/12.rst
@@ -2,4 +2,32 @@
Codice sorgente
===============
+Il modo più ovvio per inserire estratti di codice sorgente
+è usare dei blocchi letterali::
+
+ print "Hello World!"
+
+Le versioni di docutils superiori alla 0.9 hanno introdotto la
+direttiva ``code`` che permette di specificare il linguaggio usato,
+ad esempio per poterne evidenziare la sintassi, e specificare se
+mostrare o meno i numeri di riga.
+
+.. code:: python
+ :number-lines: 4
+
+ print "Hello World!"
+
+Purtroppo all'inizio del 2012 questa direttiva non è ancora disponibile
+ovunque, e va quindi usata con cautela.
+
+Un'altra possibilità è richiamare dei file esterni usando l'opzione
+``literal``. Anche in questo caso docutils 0.9 ha introdotto delle
+opzioni per specificare il linguaggio (``code``) e per specificare se
+inserire o meno i numeri di riga.
+
+.. include:: hello.py
+ :literal:
+ :start-line: 2
+ :number-lines:
+ :code: python
diff --git a/esempi/hello.py b/esempi/hello.py
new file mode 100644
index 0000000..0f2c124
--- /dev/null
+++ b/esempi/hello.py
@@ -0,0 +1,6 @@
+#!/usr/bin/env python
+
+def main():
+ print "Hello World!"
+
+if __name__ == '__main__': main()