Test: Code Blocks and Syntax Highlighting

1 min read

Testing code syntax highlighting with various programming languages and code block types

draft: true

Code Blocks and Syntax Highlighting Tests

This page tests our syntax highlighting system with various programming languages and code block formats.

JavaScript/TypeScript

// Basic JavaScript function
function fibonacci(n) {
    if (n <= 1) return n;
    return fibonacci(n - 1) + fibonacci(n - 2);
}

const numbers = [1, 2, 3, 4, 5];
const doubled = numbers.map(x => x * 2);
console.log(doubled);
// TypeScript with interfaces and generics
interface User {
    id: number;
    name: string;
    email?: string;
}

function processUsers<T extends User>(users: T[]): T[] {
    return users.filter(user => user.name.length > 0);
}

const users: User[] = [
    { id: 1, name: "Alice", email: "alice@example.com" },
    { id: 2, name: "Bob" }
];

Python

# Machine learning example
import numpy as np
from sklearn.linear_model import LinearRegression

def gradient_descent(X, y, learning_rate=0.01, epochs=1000):
    """Simple gradient descent implementation"""
    m, n = X.shape
    theta = np.zeros(n)
    
    for i in range(epochs):
        predictions = X.dot(theta)
        errors = predictions - y
        gradient = (1/m) * X.T.dot(errors)
        theta = theta - learning_rate * gradient
        
        if i % 100 == 0:
            cost = np.sum(errors**2) / (2*m)
            print(f"Epoch {i}, Cost: {cost}")
    
    return theta

# Usage
X = np.random.randn(100, 3)
y = X.dot([1.5, -2.0, 1.0]) + np.random.randn(100) * 0.1
theta = gradient_descent(X, y)

React/JSX

// React component with hooks
import React, { useState, useEffect } from 'react';

const BlogPost = ({ post }) => {
    const [isLiked, setIsLiked] = useState(false);
    const [likeCount, setLikeCount] = useState(post.likes);

    useEffect(() => {
        // Simulate API call
        fetch(`/api/posts/${post.id}/likes`)
            .then(res => res.json())
            .then(data => setLikeCount(data.count));
    }, [post.id]);

    const handleLike = async () => {
        setIsLiked(!isLiked);
        const newCount = isLiked ? likeCount - 1 : likeCount + 1;
        setLikeCount(newCount);
        
        await fetch(`/api/posts/${post.id}/like`, {
            method: 'POST',
            headers: { 'Content-Type': 'application/json' },
            body: JSON.stringify({ liked: !isLiked })
        });
    };

    return (
        <article className="bg-white rounded-lg shadow-md p-6">
            <h2 className="text-2xl font-bold mb-4">{post.title}</h2>
            <p className="text-gray-600 mb-4">{post.excerpt}</p>
            <button
                onClick={handleLike}
                className={`flex items-center space-x-2 px-4 py-2 rounded ${
                    isLiked 
                        ? 'bg-red-500 text-white' 
                        : 'bg-gray-200 text-gray-700'
                }`}
            >
                <span>❤️</span>
                <span>{likeCount}</span>
            </button>
        </article>
    );
};

export default BlogPost;

CSS

/* Modern CSS with Grid and Flexbox */
.blog-layout {
    display: grid;
    grid-template-columns: 1fr 3fr 1fr;
    grid-template-areas: 
        "sidebar main aside"
        "footer footer footer";
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

.main-content {
    grid-area: main;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 12px;
    padding: 2rem;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.code-block {
    background: #282c34;
    color: #abb2bf;
    padding: 1rem;
    border-radius: 8px;
    font-family: 'Fira Code', monospace;
    overflow-x: auto;
}

@media (max-width: 768px) {
    .blog-layout {
        grid-template-columns: 1fr;
        grid-template-areas: 
            "main"
            "sidebar"
            "aside"
            "footer";
    }
}

SQL

-- Complex SQL query with CTEs and window functions
WITH monthly_sales AS (
    SELECT 
        DATE_TRUNC('month', order_date) as month,
        customer_id,
        SUM(total_amount) as monthly_total,
        COUNT(*) as order_count
    FROM orders 
    WHERE order_date >= '2024-01-01'
    GROUP BY 1, 2
),
customer_rankings AS (
    SELECT 
        month,
        customer_id,
        monthly_total,
        order_count,
        ROW_NUMBER() OVER (PARTITION BY month ORDER BY monthly_total DESC) as rank,
        LAG(monthly_total) OVER (PARTITION BY customer_id ORDER BY month) as prev_month_total
    FROM monthly_sales
)
SELECT 
    cr.month,
    c.customer_name,
    cr.monthly_total,
    cr.order_count,
    cr.rank,
    ROUND(
        (cr.monthly_total - cr.prev_month_total) / cr.prev_month_total * 100, 
        2
    ) as growth_percentage
FROM customer_rankings cr
JOIN customers c ON cr.customer_id = c.id
WHERE cr.rank <= 10
ORDER BY cr.month DESC, cr.rank ASC;

Bash/Shell

#!/bin/bash

# Deployment script with error handling
set -euo pipefail

DEPLOY_ENV=${1:-staging}
PROJECT_DIR="/var/www/myapp"
BACKUP_DIR="/var/backups/myapp"

log() {
    echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1"
}

backup_database() {
    log "Creating database backup..."
    pg_dump myapp_db > "${BACKUP_DIR}/backup_$(date +%Y%m%d_%H%M%S).sql"
    
    # Keep only last 5 backups
    ls -t "${BACKUP_DIR}"/backup_*.sql | tail -n +6 | xargs -r rm
}

deploy() {
    log "Starting deployment to ${DEPLOY_ENV}"
    
    # Pull latest code
    cd "${PROJECT_DIR}"
    git fetch origin
    git checkout "deploy/${DEPLOY_ENV}"
    git pull origin "deploy/${DEPLOY_ENV}"
    
    # Install dependencies
    npm ci --production
    
    # Build application
    npm run build
    
    # Run migrations
    npm run migrate
    
    # Restart services
    sudo systemctl restart nginx
    sudo systemctl restart myapp
    
    log "Deployment completed successfully!"
}

# Main execution
if [[ "${DEPLOY_ENV}" == "production" ]]; then
    backup_database
fi

deploy

Go

package main

import (
    "context"
    "encoding/json"
    "fmt"
    "log"
    "net/http"
    "time"
    
    "github.com/gorilla/mux"
)

type User struct {
    ID       int       `json:"id"`
    Name     string    `json:"name"`
    Email    string    `json:"email"`
    Created  time.Time `json:"created"`
}

type UserService struct {
    users map[int]*User
    nextID int
}

func NewUserService() *UserService {
    return &UserService{
        users: make(map[int]*User),
        nextID: 1,
    }
}

func (us *UserService) CreateUser(ctx context.Context, name, email string) (*User, error) {
    user := &User{
        ID:      us.nextID,
        Name:    name,
        Email:   email,
        Created: time.Now(),
    }
    
    us.users[user.ID] = user
    us.nextID++
    
    return user, nil
}

func (us *UserService) GetUser(ctx context.Context, id int) (*User, error) {
    user, exists := us.users[id]
    if !exists {
        return nil, fmt.Errorf("user with id %d not found", id)
    }
    return user, nil
}

func (us *UserService) HandleCreateUser(w http.ResponseWriter, r *http.Request) {
    var req struct {
        Name  string `json:"name"`
        Email string `json:"email"`
    }
    
    if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
        http.Error(w, "Invalid JSON", http.StatusBadRequest)
        return
    }
    
    user, err := us.CreateUser(r.Context(), req.Name, req.Email)
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
        return
    }
    
    w.Header().Set("Content-Type", "application/json")
    json.NewEncoder(w).Encode(user)
}

func main() {
    userService := NewUserService()
    
    r := mux.NewRouter()
    r.HandleFunc("/users", userService.HandleCreateUser).Methods("POST")
    
    log.Println("Server starting on :8080")
    log.Fatal(http.ListenAndServe(":8080", r))
}

Inline Code

Here's some inline code: npm install, git commit -m "fix", and const x = 42.

You can also have inline code with special characters: $PATH, ~/.bashrc, and <div>.

Code Without Language Specification

This is a plain code block without syntax highlighting.
It should still be formatted as code but without colors.

function example() {
    return "no highlighting";
}

Indented Code Blocks (Legacy Markdown)

// This is an indented code block (4 spaces)
function oldStyle() {
    console.log("Legacy markdown code block");
    return true;
}

Mixed Content Test

Here's a paragraph followed by code:

def hello_world():
    print("Hello, World!")

And then more text, then inline code print("inline"), and another block:

console.log("Mixed content test");

Final paragraph to test spacing and layout.

Copyright 2025, Ran DingPrivacyTerms
Test: Code Blocks and Syntax Highlighting