This article provides a simple demo of code block effects and syntax highlighting using the Expressive Code. For more detailed features, please refer to Expressive Code
Code
#include <stdio.h>
int main(void){ printf("Hello, World!\n"); return 0;}In Markdown:
```c#include <stdio.h>
int main(void){ printf("Hello, World!\n"); return 0;}```Title
#include <stdio.h>
int main(void){ printf("Hello, World!\n"); return 0;}In Markdown:
```c// file: main.c#include <stdio.h>
int main(void){ printf("Hello, World!\n"); return 0;}```or
```c// main.c#include <stdio.h>
int main(void){ printf("Hello, World!\n"); return 0;}```or
```c title="main.c"#include <stdio.h>
int main(void){ printf("Hello, World!\n"); return 0;}```Markers
void do_something() { int* data = malloc(SIZE *sizeof(int)); if (data) { parse(data); } free(data);}
void parse(int* data) { // ... ...}In Markdown:
```c {3-5, 9}void do_something() { int* data = malloc(SIZE *sizeof(int)); if (data) { parse(data); } free(data);}
void parse(int* data) { // ... ...}```#include <stdio.h>
int main(void){ printf("Hello, World!\n"); printf("Hello, Gopher!\n"); return 0;}In Markdown:
```c del={4} ins={5}#include <stdio.h>
int main(void){ printf("Hello, World!\n"); printf("Hello, Gopher!\n"); return 0;}```float cal_bmi(float mass, float height) { if (mass <= 0 || height <= 0) { return -1.0; }
return mass / (height * height);}In Markdown:
```c "return -1.0;"float cal_bmi(float mass, float height) { if (mass <= 0 || height <= 0) { return -1.0; }
return mass / (height * height);}```Line Numbers
void do_something() { int* data = malloc(SIZE *sizeof(int)); if (data) { parse(data); } free(data);}
void parse(int* data) { // ... ...}In Markdown:
```c showLineNumbersvoid do_something() { int* data = malloc(SIZE *sizeof(int)); if (data) { parse(data); } free(data);}
void parse(int* data) { // ... ...}```Terminal
# Clone a repogit clone https://github.com/ziteh/astro-paper-s.gitIn Markdown:
```bash# Clone a repogit clone https://github.com/ziteh/astro-paper-s.git```Frame
The comments in the terminal frame will not be copied by the Copy Button.
# Clone a repogit clone https://github.com/ziteh/astro-paper-s.gitIn Markdown:
```bash frame="terminal"# Clone a repogit clone https://github.com/ziteh/astro-paper-s.git```# Clone a repogit clone https://github.com/ziteh/astro-paper-s.gitIn Markdown:
```bash frame="terminal" title="Getting Started"# Clone a repogit clone https://github.com/ziteh/astro-paper-s.git```Markers
pnpm install --frozen-lockfileIn Markdown:
```bash "--frozen-lockfile"pnpm install --frozen-lockfile```More Languages
list of all language identifiers
// C#include <stdio.h>
int main(void) { printf("Hello, World!\n"); return 0;}# Pythondef main(): print("Hello, World!")// TypeScriptconst message: string = "Hello, World!";console.log(message);// Gopackage main
import "fmt"
func main() { fmt.Println("Hello, World!")}// Rustfn main() { println!("Hello, World!");}# YAMLapp: name: AstroPaper-S version: "1.0.0" debug: true# TOML[app]name = "AstroPaper-S"version = "1.0.0"debug = true/* JSON */{ "app": { "name": "AstroPaper-S", "version": "1.0.0", "debug": true }}# txt
nam: Hello World!version: 1.0.0debug: true# no identifier
nam: Hello World!version: 1.0.0debug: true