Markdown实现代码高亮,注释代码
Markdown的代码高亮时对代码语法的扩展,即通过对代码块进行语法标注,对其在渲染输出时匹配不同的样式。
·
👈点击这里也可查看
前言
Markdown的代码高亮时对代码语法的扩展,即通过对代码块进行语法标注,对其在渲染输出时匹配不同的样式。
语法详解
在 Markdown 文件中,代码块后面标注语法类型,即可完成语法的高亮显示。
实例一:
代码:
```html
<!DOCTYPE html>
<html>
<head><title>highlight</title></head>
<body>
<p>Hello world</p>
</body>
</html>
```
渲染:
<!DOCTYPE html>
<html>
<head><title>highlight</title></head>
<body>
<p>Hello world</p>
</body>
</html>
实例二:
代码:
```python
import pyautogui
# 获取屏幕的大小
screen_width, screen_height = pyautogui.size()
# 捕捉鼠标位置和点击事件的回调函数
def on_mouse_event(event):
print(event)
# 注册回调函数
pyautogui.onMouseEvent = on_mouse_event
# 开始捕捉鼠标事件
pyautogui.PAUSE = 0.1 # 设置每次捕捉的时间间隔
pyautogui.FAILSAFE = True # 如果鼠标移到屏幕的四个角,将会触发 pyautogui.FailSafeException 异常,可进行异常处理
# 捕捉鼠标事件,直到用户按下键盘上的Ctrl+C来停止程序
try:
while True:
pass
except KeyboardInterrupt:
pass
```
渲染:
import pyautogui
# 获取屏幕的大小
screen_width, screen_height = pyautogui.size()
# 捕捉鼠标位置和点击事件的回调函数
def on_mouse_event(event):
print(event)
# 注册回调函数
pyautogui.onMouseEvent = on_mouse_event
# 开始捕捉鼠标事件
pyautogui.PAUSE = 0.1 # 设置每次捕捉的时间间隔
pyautogui.FAILSAFE = True # 如果鼠标移到屏幕的四个角,将会触发 pyautogui.FailSafeException 异常,可进行异常处理
# 捕捉鼠标事件,直到用户按下键盘上的Ctrl+C来停止程序
try:
while True:
pass
except KeyboardInterrupt:
pass
实例三:
代码:
```c
#include <iostream>
#include <windows.h>
int main() {
// 获取屏幕尺寸
int screenWidth = GetSystemMetrics(SM_CXSCREEN);
int screenHeight = GetSystemMetrics(SM_CYSCREEN);
// 创建设备上下文
HDC hScreenDC = GetDC(NULL);
HDC hMemoryDC = CreateCompatibleDC(hScreenDC);
HBITMAP hBitmap = CreateCompatibleBitmap(hScreenDC, screenWidth, screenHeight);
HBITMAP hOldBitmap = (HBITMAP)SelectObject(hMemoryDC, hBitmap);
// 截屏
BitBlt(hMemoryDC, 0, 0, screenWidth, screenHeight, hScreenDC, 0, 0, SRCCOPY);
// 保存截屏到文件
BITMAPINFOHEADER bi;
bi.biSize = sizeof(BITMAPINFOHEADER);
bi.biWidth = screenWidth;
bi.biHeight = -screenHeight;
bi.biPlanes = 1;
bi.biBitCount = 32;
bi.biCompression = BI_RGB;
bi.biSizeImage = 0;
bi.biXPelsPerMeter = 0;
bi.biYPelsPerMeter = 0;
bi.biClrUsed = 0;
bi.biClrImportant = 0;
HANDLE hDib = GlobalAlloc(GHND, sizeof(BITMAPINFOHEADER) + screenWidth * screenHeight * 4);
LPBITMAPINFOHEADER lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDib);
*lpbi = bi;
HANDLE hFile = CreateFile("screenshot.bmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
DWORD dwWritten;
WriteFile(hFile, lpbi, sizeof(BITMAPINFOHEADER), &dwWritten, NULL);
WriteFile(hFile, GetBitmapBits(hBitmap, screenWidth * screenHeight * 4, NULL), screenWidth * screenHeight * 4, &dwWritten, NULL);
CloseHandle(hFile);
// 释放资源
GlobalUnlock(hDib);
GlobalFree(hDib);
SelectObject(hMemoryDC, hOldBitmap);
DeleteDC(hMemoryDC);
DeleteDC(hScreenDC);
std::cout << "截屏已保存为screenshot.bmp" << std::endl;
return 0;
}
```
渲染:
#include <iostream>
#include <windows.h>
int main() {
// 获取屏幕尺寸
int screenWidth = GetSystemMetrics(SM_CXSCREEN);
int screenHeight = GetSystemMetrics(SM_CYSCREEN);
// 创建设备上下文
HDC hScreenDC = GetDC(NULL);
HDC hMemoryDC = CreateCompatibleDC(hScreenDC);
HBITMAP hBitmap = CreateCompatibleBitmap(hScreenDC, screenWidth, screenHeight);
HBITMAP hOldBitmap = (HBITMAP)SelectObject(hMemoryDC, hBitmap);
// 截屏
BitBlt(hMemoryDC, 0, 0, screenWidth, screenHeight, hScreenDC, 0, 0, SRCCOPY);
// 保存截屏到文件
BITMAPINFOHEADER bi;
bi.biSize = sizeof(BITMAPINFOHEADER);
bi.biWidth = screenWidth;
bi.biHeight = -screenHeight;
bi.biPlanes = 1;
bi.biBitCount = 32;
bi.biCompression = BI_RGB;
bi.biSizeImage = 0;
bi.biXPelsPerMeter = 0;
bi.biYPelsPerMeter = 0;
bi.biClrUsed = 0;
bi.biClrImportant = 0;
HANDLE hDib = GlobalAlloc(GHND, sizeof(BITMAPINFOHEADER) + screenWidth * screenHeight * 4);
LPBITMAPINFOHEADER lpbi = (LPBITMAPINFOHEADER)GlobalLock(hDib);
*lpbi = bi;
HANDLE hFile = CreateFile("screenshot.bmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
DWORD dwWritten;
WriteFile(hFile, lpbi, sizeof(BITMAPINFOHEADER), &dwWritten, NULL);
WriteFile(hFile, GetBitmapBits(hBitmap, screenWidth * screenHeight * 4, NULL), screenWidth * screenHeight * 4, &dwWritten, NULL);
CloseHandle(hFile);
// 释放资源
GlobalUnlock(hDib);
GlobalFree(hDib);
SelectObject(hMemoryDC, hOldBitmap);
DeleteDC(hMemoryDC);
DeleteDC(hScreenDC);
std::cout << "截屏已保存为screenshot.bmp" << std::endl;
return 0;
}
使用场景及实例
代码块作为对代码段落的增强功能,目的是使文档中出现的代码块在表现时可以更为清晰有层次。
各式各样的 Hello world
```java
// Java
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
```
``python
# Python
print("Hello, world!")
```
```ruby
# Ruby
puts "Hello, world!"
```
```scala
// Scala
object HelloWorld extends App {
println("Hello, world!")
}
```
```go
// Go
package main
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
```
渲染:
// Java
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
# Python
print("Hello, world!")
# Ruby
puts "Hello, world!"
// Scala
object HelloWorld extends App {
println("Hello, world!")
}
// Go
package main
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
小结
如果对您有帮助,请您点赞、收藏、关注、转发,让更多的人看到。
其他文章
点击此处查看
👉Markdown语法字体字号讲解
👉Markdown如何填充前景色、背景色
👉Markdown代码块,超链接,图片的插入
👉Markdown如何添加任务列表-复选框的添加
👉Markdown中特殊符号的使用
👉Markdown实现代码高亮,注释代码
👉Markdown注释的用法
快来试试吧
更多推荐



所有评论(0)