Utilizza <code>
per il codice in linea e <pre class="prettyprint">
per i blocchi di codice. L'evidenziazione della sintassi funziona bene per molti linguaggi, inclusi gli esempi XML e HTML. Puoi omettere class="prettyprint"
se l'evidenziazione della sintassi non è appropriata per l'esempio, ad esempio per i comandi della console o gli URL endpoint dei servizi lunghi.
Non superare i 100 caratteri di codice per riga in un blocco <pre>
. In DevSite, su schermi più grandi possono essere visualizzati esattamente 100 caratteri di codice prima dell'attivazione dello scorrimento orizzontale. Su schermi più piccoli, i blocchi di codice scorrono orizzontalmente, se necessario. 80 caratteri si adattano a quasi tutti i laptop.
#include <stdio.h>
/* Counting example */
int main(int argc, char** argv) {
int i;
// This counts from 0 to 9.
for (i = 0; i < 10; i++) {
printf("Counting %d\n", i);
}
}
<pre class="prettyprint">
#include <stdio.h>
/* Counting example */
int main(int argc, char** argv) {
int i;
// This counts from 0 to 9.
for (i = 0; i < 10; i++) {
printf("Counting %d\n", i);
}
}
</pre>
In genere, per i comandi della console, omettiamo class="prettyprint"
da <pre>
. Ad esempio:
dev_appserver.py -a $HOST --debug demos/getstarted
<pre>dev_appserver.py -a $HOST --debug demos/getstarted</pre>
Fai clic per copiare
Un pulsante di copia tramite clic viene visualizzato automaticamente su tutti i blocchi di codice con la classe prettyprint
.
Per utilizzare la funzionalità di copia tramite clic su un blocco di codice o su un altro elemento che non ha la classe prettyprint
, aggiungi la classe devsite-click-to-copy
:
some_terminal_command.py --users_should_copy
<pre class="devsite-click-to-copy">some_terminal_command.py --users_should_copy</pre>
Disattivare il clic per copiare in un blocco di codice
Per disattivare la funzionalità di copia tramite clic su un blocco di codice prettyprint
, aggiungi la classe devsite-disable-click-to-copy
:
www.example-url-that-does-not-make-sense-to-copy.com
<pre class="prettyprint devsite-disable-click-to-copy">www.example-url-that-does-not-make-sense-to-copy.com</pre>
Per disattivare il clic per copiare in un blocco di codice Markdown, utilizza la seguente sintassi quando apri le parentesi graffe del codice per applicare lo stile devsite-disable-click-to-copy
:
{:.devsite-disable-click-to-copy}
Disattivare la funzionalità di copia tramite clic su parte di un blocco di codice
Per impedire la copia di parte di un blocco di codice, aggiungi un tag <span>
con una classe no-select
intorno alla parte che non vuoi che venga copiata:
<span class="no-select">C:\> </span>ping google.com
Nell'esempio riportato di seguito, sia la copia manuale sia il pulsante di copia al clic ignorano la parte annotata:
C:\\> ping google.com
Eventi di analisi di Clicca per copiare
Per distinguere gli eventi di analisi dei clic per copiare, imposta l'attributo data-copy-event-label
.
data-copy-event-label
<pre class="devsite-terminal devsite-click-to-copy" data-copy-event-label="unique_identifier"></pre>
Clicca per copiare e accessibilità
Per impostazione predefinita, tutti gli esempi di codice con clic per copiare hanno la stessa etichetta per ogni pulsante: "Copia esempio di codice". Nelle pagine con più esempi di codice, la navigazione con uno screen reader può essere complicata.
Per motivi di accessibilità, fornisci a ogni esempio di codice da copiare con un clic un attributo data-label
che etichetti in modo breve e conciso i contenuti di ogni esempio di codice. Ogni etichetta di esempio di codice deve essere univoca rispetto a tutte le altre etichette di esempio di codice presenti nella pagina. Questa etichetta viene letta dagli screen reader, oltre a "Copia esempio di codice".
{:.devsite-click-to-copy}
<pre class="devsite-click-to-copy" data-label="Installation script"></pre>
Disattivare l'opzione di attivazione/disattivazione della modalità chiara/scura
Per disattivare il pulsante di attivazione/disattivazione modalità chiara/scura in un blocco di codice, aggiungi la classe devsite-disable-code-toggle
:
<pre class="prettyprint devsite-disable-code-toggle"></pre>
Per disattivare il pulsante di attivazione/disattivazione della modalità chiara/scura in un blocco di codice Markdown, utilizza la seguente sintassi quando apri la griglia di codice per applicare la classe devsite-disable-code-toggle
:
``` {.devsite-disable-code-toggle}
Codice scuro per impostazione predefinita
Per fare in modo che un blocco di codice utilizzi lo stile di codice scuro per impostazione predefinita, aggiungi la classe devsite-dark-code-default
:
<pre class="prettyprint devsite-dark-code-default"></pre>
Forzare il ritorno a capo automatico
Per impostazione predefinita, viene aggiunta una barra di scorrimento orizzontale per le righe di un blocco <pre>
che superano i 100 caratteri.
run(dataset: google.cloud.aiplatform.datasets.time_series_dataset.TimeSeriesDataset, target_column: str, time_column: str, time_series_identifier_column: str, unavailable_at_forecast_columns: List[str], available_at_forecast_columns: List[str], forecast_horizon: int, data_granularity_unit: str, data_granularity_count: int, training_fraction_split: Optional[float] = None, validation_fraction_split: Optional[float] = None, test_fraction_split: Optional[float] = None, predefined_split_column_name: Optional[str] = None, weight_column: Optional[str] = None, time_series_attribute_columns: Optional[List[str]] = None, context_window: Optional[int] = None, export_evaluated_data_items: bool = False, export_evaluated_data_items_bigquery_destination_uri: Optional[str] = None, export_evaluated_data_items_override_destination: bool = False, quantiles: Optional[List[float]] = None, validation_options: Optional[str] = None, budget_milli_node_hours: int = 1000, model_display_name: Optional[str] = None, model_labels: Optional[Dict[str, str]] = None, sync: bool = True)
Per eseguire l'override di questo comportamento e troncare le righe, aggiungi class="wrap-code"
al blocco <pre>
.
run(dataset: google.cloud.aiplatform.datasets.time_series_dataset.TimeSeriesDataset, target_column: str, time_column: str, time_series_identifier_column: str, unavailable_at_forecast_columns: List[str], available_at_forecast_columns: List[str], forecast_horizon: int, data_granularity_unit: str, data_granularity_count: int, training_fraction_split: Optional[float] = None, validation_fraction_split: Optional[float] = None, test_fraction_split: Optional[float] = None, predefined_split_column_name: Optional[str] = None, weight_column: Optional[str] = None, time_series_attribute_columns: Optional[List[str]] = None, context_window: Optional[int] = None, export_evaluated_data_items: bool = False, export_evaluated_data_items_bigquery_destination_uri: Optional[str] = None, export_evaluated_data_items_override_destination: bool = False, quantiles: Optional[List[float]] = None, validation_options: Optional[str] = None, budget_milli_node_hours: int = 1000, model_display_name: Optional[str] = None, model_labels: Optional[Dict[str, str]] = None, sync: bool = True)
Codice:
<pre class="wrap-code">
run(dataset: google.cloud.aiplatform.datasets.time_series_dataset.TimeSeriesDataset, target_column: str, time_column: str, time_series_identifier_column: str, unavailable_at_forecast_columns: List[str], available_at_forecast_columns: List[str], forecast_horizon: int, data_granularity_unit: str, data_granularity_count: int, training_fraction_split: Optional[float] = None, validation_fraction_split: Optional[float] = None, test_fraction_split: Optional[float] = None, predefined_split_column_name: Optional[str] = None, weight_column: Optional[str] = None, time_series_attribute_columns: Optional[List[str]] = None, context_window: Optional[int] = None, export_evaluated_data_items: bool = False, export_evaluated_data_items_bigquery_destination_uri: Optional[str] = None, export_evaluated_data_items_override_destination: bool = False, quantiles: Optional[List[float]] = None, validation_options: Optional[str] = None, budget_milli_node_hours: int = 1000, model_display_name: Optional[str] = None, model_labels: Optional[Dict[str, str]] = None, sync: bool = True)
</pre>
Codice terminale
Quando dimostri il codice per il terminale, consigliamo agli autori di utilizzare $
per indicare un nuovo comando del terminale. Per aggiungere $
all'inizio dei contenuti di un contenitore <pre>
senza aggiungerlo al codice copiato dall'utente, applica class="devsite-terminal"
all'elemento <pre>
.
adb devices
Codice:
<pre class="devsite-terminal devsite-click-to-copy">
adb devices
</pre>
Per aggiungere $
all'inizio di una singola riga di codice del terminale, applica class="devsite-terminal"
all'elemento <code>
contenente la riga. Utilizza questa tattica per i casi con $
in più righe.
gradle init --type basic
mkdir -p src/main/java src/main/resources
Codice:
<pre class="prettyprint">
<code class="devsite-terminal">gradle init --type basic</code>
<code class="devsite-terminal">mkdir -p src/main/java src/main/resources</code>
</pre
Per utilizzare un prefisso personalizzato, aggiungi l'attributo data-terminal-prefix
all'elemento <pre>
o <code>
in cui è stata applicata la classe.
Install-Package Google.Apis.Calendar.v3
Codice:
<pre class="devsite-terminal devsite-click-to-copy" data-terminal-prefix="PM> ">
Install-Package Google.Apis.Calendar.v3
</pre>
Tutte le istanze del prefisso aggiunte utilizzando la classe "devsite-terminal" verranno escluse dal codice copiato dell'utente.
Trattamento illuminante
Utilizza <strong>
per attirare l'attenzione sui contenuti all'interno di un blocco <pre>
. In questo modo,
i contenuti circostanti verranno schiariti per mettere in evidenza la sezione evidenziata dal
blocco <strong>
. Ad esempio:
// ... // ... // ... for (i = 0; i < 10; i++) { printf("Counting %d\n", i); if (i % 3 == 0) { someFunc(i); } } // ... // ... // ...
Codice:
<pre class="prettyprint">
// ...
// ...
// ...
for (i = 0; i < 10; i++) {
printf("Counting %d\n", i);
<strong>if (i % 3 == 0) {
someFunc(i);
}</strong>
}
// ...
// ...
// ...
</pre>
Variabili sostituibili
Utilizza <var>
e maiuscole con trattini bassi per il testo sostituibile all'interno di <pre>
. Ad esempio:
dev_appserver.py YOUR_APP_DIR.
Codice:
<pre>dev_appserver.py <var>YOUR_APP_DIR</var></pre>
In Markdown, racchiudi i tag <var>
tra virgolette e utilizza le parentesi delle espressioni Jinja per eseguire l'escapismo dei tag, ad esempio: VAR_NAME
.
Ad esempio:
Hello, my name is YOUR_NAME.
Codice:
```
Hello, my name is YOUR_NAME.
```
Markdown
Puoi anche specificare i blocchi di codice utilizzando Markdown con rientro di 4 spazi nel codice o racchiudendolo tra tre accenti gravi (```).
Ad esempio:
```
print("hello world")
```
print("hello world")
entrambi diventano
<pre class="prettyprint notranslate" translate="no"><code>
print("hello world")
</code></pre>
Se utilizzi blocchi di codice delimitati (e non blocchi di codice con rientro), puoi anche specificare la lingua che prettyprint deve comprendere:
print("hello world")
diventa
<pre class="prettyprint notranslate lang-py" translate="no"><code>
print("hello world")
</code></pre>
Puoi trovare l'elenco delle lingue riconosciute nella documentazione di Prettify.
A tutti i blocchi di codice creati tramite Markdown verrà applicata la classe prettyprint, a meno che non venga impostata esplicitamente la lingua su none. Puoi aggiungere altre classi al blocco di codice utilizzando gli attributi personalizzati:
The program completed successfully.
diventa
<pre class="devsite-disable-click-to-copy"><code>The program completed successfully.
</code></pre>