代码高亮测试

2024年01月15日博主

测试博客中的代码高亮功能,包含多种编程语言的代码示例。

测试代码高亮技术

代码高亮测试

这篇文章用来测试博客中的代码高亮功能,包含多种编程语言的代码示例。

JavaScript 代码

// JavaScript 函数示例
function fibonacci(n) {
  if (n <= 1) return n;
  return fibonacci(n - 1) + fibonacci(n - 2);
}

// 使用 async/await
async function fetchData(url) {
  try {
    const response = await fetch(url);
    const data = await response.json();
    return data;
  } catch (error) {
    console.error("Error fetching data:", error);
    throw error;
  }
}

// ES6 箭头函数和解构
const users = [
  { name: "Alice", age: 25 },
  { name: "Bob", age: 30 },
];

const getAdultUsers = (users) => {
  return users
    .filter(({ age }) => age >= 18)
    .map(({ name, age }) => ({ name, age }));
};

React 组件

import React, { useState, useEffect } from "react";

const UserProfile = ({ userId }) => {
  const [user, setUser] = useState(null);
  const [loading, setLoading] = useState(true);

  useEffect(() => {
    const fetchUser = async () => {
      try {
        const response = await fetch(`/api/users/${userId}`);
        const userData = await response.json();
        setUser(userData);
      } catch (error) {
        console.error("Failed to fetch user:", error);
      } finally {
        setLoading(false);
      }
    };

    fetchUser();
  }, [userId]);

  if (loading) {
    return <div className="spinner">Loading...</div>;
  }

  return (
    <div className="user-profile">
      <h2>{user?.name}</h2>
      <p>Email: {user?.email}</p>
      <p>Age: {user?.age}</p>
    </div>
  );
};

export default UserProfile;

Python 代码

# Python 类和装饰器示例
from functools import wraps
import time

def timer(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        start_time = time.time()
        result = func(*args, **kwargs)
        end_time = time.time()
        print(f"{func.__name__} took {end_time - start_time:.4f} seconds")
        return result
    return wrapper

class DataProcessor:
    def __init__(self, data):
        self.data = data
        self.processed = False

    @timer
    def process_data(self):
        """处理数据的方法"""
        processed_data = []
        for item in self.data:
            if isinstance(item, (int, float)):
                processed_data.append(item * 2)
            elif isinstance(item, str):
                processed_data.append(item.upper())

        self.data = processed_data
        self.processed = True
        return self.data

# 使用示例
processor = DataProcessor([1, 2, 'hello', 3.14, 'world'])
result = processor.process_data()
print(f"Processed data: {result}")

CSS 样式

/* 现代 CSS 样式示例 */
.container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  padding: 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.card {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  border-radius: 12px;
  padding: 2rem;
  color: white;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
}

/* CSS Grid 和 Flexbox 结合 */
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 2rem;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
}

@media (max-width: 768px) {
  .container {
    grid-template-columns: 1fr;
    padding: 1rem;
  }

  .header {
    flex-direction: column;
    gap: 1rem;
  }
}

SQL 查询

-- 复杂的 SQL 查询示例
WITH user_stats AS (
  SELECT
    u.id,
    u.name,
    u.email,
    COUNT(o.id) as order_count,
    SUM(o.total_amount) as total_spent,
    AVG(o.total_amount) as avg_order_value
  FROM users u
  LEFT JOIN orders o ON u.id = o.user_id
  WHERE u.created_at >= '2023-01-01'
  GROUP BY u.id, u.name, u.email
),
top_customers AS (
  SELECT *,
    RANK() OVER (ORDER BY total_spent DESC) as spending_rank
  FROM user_stats
  WHERE order_count > 0
)
SELECT
  name,
  email,
  order_count,
  total_spent,
  avg_order_value,
  spending_rank,
  CASE
    WHEN spending_rank <= 10 THEN 'VIP'
    WHEN spending_rank <= 50 THEN 'Premium'
    ELSE 'Regular'
  END as customer_tier
FROM top_customers
WHERE spending_rank <= 100
ORDER BY spending_rank;

JSON 数据

{
  "name": "代码高亮测试",
  "version": "1.0.0",
  "description": "测试各种编程语言的代码高亮效果",
  "author": {
    "name": "博主",
    "email": "blogger@example.com"
  },
  "languages": [
    {
      "name": "JavaScript",
      "extension": ".js",
      "features": ["动态类型", "函数式编程", "异步编程"]
    },
    {
      "name": "Python",
      "extension": ".py",
      "features": ["简洁语法", "丰富库", "数据科学"]
    },
    {
      "name": "CSS",
      "extension": ".css",
      "features": ["样式设计", "响应式布局", "动画效果"]
    }
  ],
  "config": {
    "highlightTheme": "github-dark",
    "showLineNumbers": true,
    "enableCopyButton": false
  }
}

内联代码测试

在文本中使用内联代码:const message = 'Hello World',或者引用函数名 useState,以及文件路径 /src/components/Header.jsx

总结

这篇文章展示了博客系统中的代码高亮功能,支持多种编程语言:

  • JavaScript/JSX: 前端开发的核心语言
  • Python: 数据科学和后端开发
  • CSS: 样式和布局设计
  • SQL: 数据库查询语言
  • JSON: 数据交换格式

代码高亮功能让代码更易读,提升了技术博客的阅读体验。

评论

欢迎在下方留言讨论

加载评论中...