Sintaxis de Código
El código es un elemento crucial en la documentación técnica. Markdown proporciona varias formas de mostrar código, incluyendo código en línea y bloques de código.
Código en Línea
Sintaxis Básica
Usa acentos graves `
para encerrar el código:
Este es un ejemplo de `código en línea`.
Usa la función `console.log()` para mostrar información.
Visualización Renderizada:
Este es un ejemplo de código en línea
. Usa la función console.log()
para mostrar información.
Código que Contiene Acentos Graves
Cuando el propio código contiene acentos graves, usa doble acento grave:
``Usa la función `console.log()```
Visualización Renderizada:
``Usa la función `console.log()```
Manejo de Múltiples Acentos Graves
```Código con varios acentos graves `` ` ``` aquí```
Visualización Renderizada:
Código con varios acentos graves `` `
aquí```
Bloques de Código
Bloques de Código Indentados
Usa 4 espacios o 1 tabulación para indentar:
function hola() {
console.log("¡Hola, Mundo!");
}
Visualización Renderizada:
function hola() {
console.log("¡Hola, Mundo!");
}
Bloques de Código Delimitados
Usa tres acentos graves ``` o virgulillas ~~~ para encerrar el código:
```
function hola() {
console.log("¡Hola, Mundo!");
}
```
Visualización Renderizada:
function hola() {
console.log("¡Hola, Mundo!");
}
Especificar Lenguaje de Programación
Especifica el nombre del lenguaje después de los acentos graves para habilitar el resaltado de sintaxis:
```javascript
function hola(nombre) {
console.log(`¡Hola, ${nombre}!`);
}
```
Visualización Renderizada:
function hola(nombre) {
console.log(`¡Hola, ${nombre}!`);
}
Ejemplos Comunes de Lenguajes de Programación
JavaScript
```javascript
// Ejemplo de función async
async function obtenerDatos(url) {
try {
const response = await fetch(url);
const data = await response.json();
return data;
} catch (error) {
console.error('Error:', error);
}
}
```
Visualización Renderizada:
// Ejemplo de función async
async function obtenerDatos(url) {
try {
const response = await fetch(url);
const data = await response.json();
return data;
} catch (error) {
console.error('Error:', error);
}
}
Python
```python
# Ejemplo de definición de clase
class Calculadora:
def __init__(self):
self.resultado = 0
def sumar(self, x, y):
return x + y
def multiplicar(self, x, y):
return x * y
# Ejemplo de uso
calc = Calculadora()
print(calc.sumar(5, 3))
```
Visualización Renderizada:
# Ejemplo de definición de clase
class Calculadora:
def __init__(self):
self.resultado = 0
def sumar(self, x, y):
return x + y
def multiplicar(self, x, y):
return x * y
# Ejemplo de uso
calc = Calculadora()
print(calc.sumar(5, 3))
HTML
```html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Página de Ejemplo</title>
</head>
<body>
<h1>Bienvenido a Markdown</h1>
<p>Este es un párrafo de ejemplo.</p>
</body>
</html>
```
Visualización Renderizada:
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Página de Ejemplo</title>
</head>
<body>
<h1>Bienvenido a Markdown</h1>
<p>Este es un párrafo de ejemplo.</p>
</body>
</html>
CSS
```css
/* Ejemplo de diseño responsivo */
.contenedor {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
@media (max-width: 768px) {
.contenedor {
padding: 0 10px;
}
}
.boton {
background-color: #007bff;
color: white;
border: none;
padding: 10px 20px;
border-radius: 4px;
cursor: pointer;
}
.boton:hover {
background-color: #0056b3;
}
```
Visualización Renderizada:
/* Ejemplo de diseño responsivo */
.contenedor {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
@media (max-width: 768px) {
.contenedor {
padding: 0 10px;
}
}
.boton {
background-color: #007bff;
color: white;
border: none;
padding: 10px 20px;
border-radius: 4px;
cursor: pointer;
}
.boton:hover {
background-color: #0056b3;
}
Bash/Shell
```bash
#!/bin/bash
# Ejemplo de script: procesar archivos por lotes
for file in *.txt; do
if [ -f "$file" ]; then
echo "Procesando $file"
cp "$file" "backup_$file"
fi
done
# Definición de función
function verificar_dependencias() {
command -v git >/dev/null 2>&1 || {
echo "Se requiere Git pero no está instalado."
exit 1
}
}
verificar_dependencias
echo "Todas las dependencias satisfechas."
```
Visualización Renderizada:
#!/bin/bash
# Ejemplo de script: procesar archivos por lotes
for file in *.txt; do
if [ -f "$file" ]; then
echo "Procesando $file"
cp "$file" "backup_$file"
fi
done
# Definición de función
function verificar_dependencias() {
command -v git >/dev/null 2>&1 || {
echo "Se requiere Git pero no está instalado."
exit 1
}
}
verificar_dependencias
echo "Todas las dependencias satisfechas."
JSON
```json
{
"name": "tutorial-markdown",
"version": "1.0.0",
"description": "Tutorial de Markdown en Español",
"main": "index.js",
"scripts": {
"dev": "vitepress dev docs",
"build": "vitepress build docs",
"preview": "vitepress preview docs"
},
"dependencies": {
"vitepress": "^1.0.0"
},
"author": "Tu Nombre",
"license": "MIT"
}
```
Visualización Renderizada:
{
"name": "tutorial-markdown",
"version": "1.0.0",
"description": "Tutorial de Markdown en Español",
"main": "index.js",
"scripts": {
"dev": "vitepress dev docs",
"build": "vitepress build docs",
"preview": "vitepress preview docs"
},
"dependencies": {
"vitepress": "^1.0.0"
},
"author": "Tu Nombre",
"license": "MIT"
}
Funciones Avanzadas de Bloques de Código
Mostrar Números de Línea
Algunos procesadores de Markdown permiten mostrar números de línea:
```javascript {1}
// Esta es la línea uno
function ejemplo() {
console.log("Hola");
}
```
Resaltado de Líneas
Resalta líneas específicas:
```javascript {2-3}
function ejemplo() {
console.log("Esta línea está resaltada"); // resaltada
return true; // resaltada
}
```
Mostrar Nombre de Archivo
Muestra el nombre del archivo de código:
```javascript title="app.js"
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('¡Hola Mundo!');
});
```
Errores Comunes y Soluciones
1. Número de Acentos Graves Incorrecto
❌ Incorrecto:
```javascript
function hola() {
console.log("Hola");
}
`` ← Número de acentos graves incorrecto
✅ Correcto:
```javascript
function hola() {
console.log("Hola");
}
```
2. Indentación Inconsistente
❌ Incorrecto: Bloque de código indentado
Primera línea (4 espacios)
Segunda línea (2 espacios) ← Indentación inconsistente
✅ Correcto: Bloque de código indentado
Primera línea (4 espacios)
Segunda línea (4 espacios)
3. Nombre de Lenguaje Incorrecto
❌ Incorrecto:
```js ← debería ser javascript
function hola() {}
```
✅ Correcto:
```javascript
function hola() {}
```
Lista de Lenguajes Soportados
Identificadores comunes de lenguajes:
Lenguaje | Identificador | Ejemplo |
---|---|---|
JavaScript | javascript , js | function(){} |
Python | python , py | def funcion(): |
Java | java | public class{} |
C++ | cpp , c++ | #include <iostream> |
C# | csharp , cs | public class{} |
Go | go | func main(){} |
Rust | rust , rs | fn main(){} |
TypeScript | typescript , ts | interface{} |
PHP | php | <?php |
Ruby | ruby , rb | def metodo |
SQL | sql | SELECT * FROM |
HTML | html | <div></div> |
CSS | css | .clase{} |
XML | xml | <root></root> |
YAML | yaml , yml | clave: valor |
Markdown | markdown , md | # Título |
Bash | bash , sh | #!/bin/bash |
PowerShell | powershell , ps1 | Get-Process |
Dockerfile | dockerfile | FROM ubuntu |
Buenas Prácticas
1. Elige el Formato de Código Apropiado
✅ Recomendado: Usa formato en línea para código corto
Usa el método `Array.map()` para procesar arreglos.
✅ Recomendado: Usa bloques de código para código largo
function procesarArreglo(arr) {
return arr.map(item => item * 2);
}
2. Añade Comentarios Adecuados
✅ Recomendado: Incluye comentarios explicativos
```javascript
// Calcular el promedio de los elementos de un arreglo
function calcularPromedio(numeros) {
const suma = numeros.reduce((acc, num) => acc + num, 0);
return suma / numeros.length;
}
```
3. Usa Identificadores de Lenguaje Correctos
✅ Recomendado: Identificador de lenguaje claro
```typescript
interface Usuario {
id: number;
nombre: string;
}
```
❌ No recomendado: Identificador de lenguaje vago
```text
interface Usuario {
id: number;
nombre: string;
}
```
4. Mantén el Código Conciso
✅ Recomendado: Muestra la lógica principal
```javascript
// Autenticación de usuario
function autenticar(token) {
return validarToken(token);
}
```
❌ No recomendado: Demasiado detalle irrelevante
```javascript
// Este es un código largo con muchos detalles no relacionados...
```
Salida HTML
El código en Markdown se convierte a HTML:
`código en línea`
Se convierte en:
<code>código en línea</code>
Bloque de código:
```javascript
function hola() {}
```
Se convierte en:
<pre><code class="language-javascript">
function hola() {}
</code></pre>
Ejemplos Prácticos
Documentación de API
## Inicio de Sesión de Usuario
Envía una solicitud POST a `/api/login`:
```bash
curl -X POST https://api.example.com/login \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "password123"
}'
```
Respuesta de ejemplo:
```json
{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": 1,
"email": "user@example.com",
"name": "Zhang San"
}
}
```
Ejemplo de Archivo de Configuración
## Configuración del Proyecto
Crea un archivo `config.json`:
```json
{
"database": {
"host": "localhost",
"port": 5432,
"name": "myapp"
},
"server": {
"port": 3000,
"host": "0.0.0.0"
}
}
```
Actualiza los scripts de `package.json`:
```json
{
"scripts": {
"start": "node server.js",
"dev": "nodemon server.js",
"test": "jest"
}
}
```
Guía de Instalación
## Configuración del Entorno
1. Instala Node.js:
```bash
# macOS (usando Homebrew)
brew install node
# Ubuntu/Debian
sudo apt update
sudo apt install nodejs npm
# Windows (usando Chocolatey)
choco install nodejs
```
2. Verifica la instalación:
```bash
node --version
npm --version
```
3. Inicializa el proyecto:
```bash
mkdir mi-proyecto
cd mi-proyecto
npm init -y
```
Sintaxis Relacionada
- Bloques de Código Delimitados - Funciones extendidas de código
- Sintaxis de Énfasis - Formato de texto
- Sintaxis de Enlaces - Crear enlaces
- Caracteres de Escape - Manejo de caracteres especiales
Práctica
Intenta crear lo siguiente:
- Una colección de ejemplos de código en varios lenguajes de programación
- Un tutorial de uso de API con código de solicitud y respuesta
- Una guía de instalación con instrucciones de línea de comandos para diferentes sistemas
- Una plantilla de archivo de configuración con comentarios detallados