Los bloques de código te permiten presentar código con un buen aspecto y resaltado de sintaxis. Hay dos bloques relacionados:
Bloque de código: un único fragmento en un solo lenguaje.
Pestañas de código: varios fragmentos mostrados como pestañas, por ejemplo el mismo código en diferentes lenguajes.
Para añadir cualquiera de los dos:
Actualmente se admiten los siguientes lenguajes para el resaltado de sintaxis:
Bash, C , C-Like, C++, C#, CSS, CSV, D, Dart, Django, Docker, Go, Groovy, HTML, HTTP, Javascript, Java, JSON, JSX, Kotlin, Lua, Markdown, Markup, Objective-C, Pascal, Perl, PHP, Powershell, Python, R, Rust, Ruby, Sass, Scss, Scala, SQL, Squirrel, Swift, Typescript, VB.NET, Visual Basic, XML.
Si necesitas más lenguajes, estaremos encantados de añadirlos. ¡Avísanos!
Información
El resaltado de errores de sintaxis solo se muestra durante la edición
Un bloque de pestañas de código que muestra la secuencia de Fibonacci en diferentes lenguajes:
function fibonacci(num, memo) {
memo = memo || {};
if (memo[num]) return memo[num];
if (num <= 1) return 1;
return memo[num] = fibonacci(num - 1, memo) + fibonacci(num - 2, memo);
}
# Program to display the Fibonacci sequence up to n-th term
nterms = int(input("How many terms? "))
# first two terms
n1, n2 = 0, 1
count = 0
# check if the number of terms is valid
if nterms <= 0:
print("Please enter a positive integer")
elif nterms == 1:
print("Fibonacci sequence upto",nterms,":")
print(n1)
else:
print("Fibonacci sequence:")
while count < nterms:
print(n1)
nth = n1 + n2
# update values
n1 = n2
n2 = nth
count += 1
func FibonacciRecursion(n int) int {
if n <= 1 {
return n
}
return FibonacciRecursion(n-1) + FibonacciRecursion(n-2)
}
#include <stdio.h>
int main() {
int i, n, t1 = 0, t2 = 1, nextTerm;
printf("Enter the number of terms: ");
scanf("%d", &n);
printf("Fibonacci Series: ");
for (i = 1; i <= n; ++i) {
printf("%d, ", t1);
nextTerm = t1 + t2;
t1 = t2;
t2 = nextTerm;
}
return 0;
}
def fib(n)
first_num, second_num = [0, 1]
(n - 1).times do
first_num, second_num = second_num, first_num + second_num
end
puts first_num
end
Los bloques de código pueden no tener formato si se selecciona el lenguaje "None". Además, si solo se indicó el lenguaje "None" para el bloque de código, el selector de lenguaje desaparecerá, a menos que la pestaña tenga un título. Por ejemplo:
This is a code block with no formatting
- Correct?
Y otro con título:
A titled code block without formatting keeps its title
También puedes asignar títulos a cada pestaña, lo cual es una excelente forma de identificar y agrupar el contenido. Por ejemplo:
[
{
"id": 4,
"published": true,
"name": "v1.0",
"created": "2019-03-20T19:02:14+0000",
"updated": "2019-03-20T19:02:14+0000",
"slug": "developerhub.io-api",
"ordr": 4
}
]
{
"error": {
"message": "Access denied.",
"httpCode": 403,
"code": 403
}
}
Cuando un bloque de código tiene más de 100 líneas, se muestra con sus regiones plegables contraídas, para que un fragmento largo no domine la página. El plegado reconoce el lenguaje: cada función o bloque con sangría se pliega en su propio límite, y los lenguajes sin gramática propia recurren al plegado basado en sangría. Ejemplo:
paths:
/page/{id}:
get:
tags:
- Page
summary: Read page
description: "Read a page including its content in [Darkdown](https://docs.developerhub.io/support-center/exporting-documentation#markdoc) or text format. Rate limit: 600 in 1 minute."
operationId: read_page
parameters:
- name: id
in: path
description: Page ID
required: true
schema:
type: integer
- name: format
in: query
description: Format type (Default `darkdown`)
required: false
schema:
type: string
enum:
- darkdown
- text
responses:
200:
description: OK
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
403:
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDenied'
429:
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
deprecated: false
/documentation/{id}/page:
post:
tags:
- Page
summary: Create a page
description: "Creates a page with draft contents. To insert in a pre-existing category, set the `categoryTitle`. Rate limit: 10800 in 1 hour."
operationId: create_page
parameters:
- name: id
in: path
description: Documentation ID
required: true
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Page object
properties:
title:
type: string
description: Title of the page
example: "Getting Started"
slug:
type: string
description: Slug in the URL. Generated if it was not provided
example: "getting-started"
content:
type: string
description: Draft contents of the page in [Darkdown format](https://docs.developerhub.io/support-center/exporting-documentation#markdoc)
example: "Let's start here\n\n##Step 1\nWelcome to **DeveloperHub**\n"
categoryTitle:
type: string
description: To append the page to a category, provide the pre-existing category title here (case insensitive)
example: Installation
message:
type: string
description: Page history message
default: Created using API
required:
- title
- content
responses:
200:
description: OK
headers:
X-RateLimit-Limit:
$ref: '#/components/headers/X-RateLimit-Limit'
X-RateLimit-Remaining:
$ref: '#/components/headers/X-RateLimit-Remaining'
X-RateLimit-Reset:
$ref: '#/components/headers/X-RateLimit-Reset'
content:
application/json:
schema:
$ref: '#/components/schemas/Page'
403:
description: Access denied
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDenied'
415:
description: Unsupported content-type
content:
application/json:
schema:
$ref: '#/components/schemas/UnsupportedContentType'
429:
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequests'
deprecated: false
Para plegar o desplegar una región manualmente, haz clic en las flechas de plegado del margen a la izquierda del código.
Hay dos formas de mostrar los números de línea:
En cada pestaña, puedes activar la visualización de números de línea desde las opciones de la pestaña.
De forma global, puedes activar la visualización de números de línea para todos los bloques de código del proyecto. Consulta la opción code.showLineNumbers en configuración avanzada.
Se pueden resaltar líneas de código. Desde el menú de opciones de la pestaña, puedes escribir los números de línea que se resaltarán. La sintaxis para resaltar es la siguiente:
Por ejemplo:
5-7: resalta de la línea 5 a la 7.
1,2,3: resalta las líneas 1, 2 y 3.
1,10-20,25: resalta la línea 1, de la 10 a la 20 y la 25.
Consulta los siguientes bloques de código como ejemplos:
/** Returns a stripped Markdown
* @param $html
* @return string
*/
public static function toMarkdown($html)
{
$converter = new HtmlConverter();
$converter->getConfig()->setOption('strip_tags', true);
$converter->getConfig()->setOption('italic_style', '_');
$converter->getConfig()->setOption('bold_style', '**');
$converter->getConfig()->setOption('hard_break', true);
return $converter->convert($html);
}
/** Returns a stripped Markdown
* @param $html
* @return string
*/
public static function toMarkdown($html)
{
$converter = new HtmlConverter();
$converter->getConfig()->setOption('strip_tags', true);
$converter->getConfig()->setOption('italic_style', '_');
$converter->getConfig()->setOption('bold_style', '**');
$converter->getConfig()->setOption('hard_break', true);
return $converter->convert($html);
}
/** Returns a stripped Markdown
* @param $html
* @return string
*/
public static function toMarkdown($html)
{
$converter = new HtmlConverter();
$converter->getConfig()->setOption('strip_tags', true);
$converter->getConfig()->setOption('italic_style', '_');
$converter->getConfig()->setOption('bold_style', '**');
$converter->getConfig()->setOption('hard_break', true);
return $converter->convert($html);
}
De forma predeterminada, las líneas de los bloques de código se ajustan, salvo que una línea supere los 120 caracteres o la vista esté en modo móvil. Sin embargo, puedes activar o desactivar el ajuste de línea según necesites.