You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Custom Go SSG**: The site is not built with off-the-shelf frameworks like Hugo or Jekyll. The entire build logic—from parsing Markdown files to rendering HTML—is handled by a custom Go.
16
+
- Custom Go SSG
17
17
18
-
-**Markdown-Based Content**: All posts and pages are written in Markdown with YAML front matter for metadata.
18
+
- Markdown-Based Content
19
19
20
-
-**Build-Time Syntax Highlighting**: Code blocks are highlighted at build time using the pure-Go Chroma library, ensuring fast page loads with no client-side JavaScript dependency for styling.
20
+
- Build-Time Syntax Highlighting
21
21
22
-
-**Image Zooming**: Integrated the medium-zoom library to allow users to click and zoom into images for a better viewing experience.
22
+
- Image Zooming
23
23
24
-
-**Frontend Tooling**: The project uses pnpm to manage a modern frontend pipeline featuring Sass for advanced styling and esbuild for fast TypeScript bundling and minification.
24
+
- Frontend Tooling
25
25
26
-
-**Automated CI/CD Pipeline**: The build and deployment process is fully automated with GitHub Actions. Pushing a specially formatted Git tag triggers the workflow, which builds the site and deploys it to GitHub Pages.
26
+
- Automated CI/CD Pipeline
27
+
28
+
- Manual Anchor Links for Headings
27
29
28
30
## Tech Stack
29
-
-**Static Site Generator (SSG)**: Go
30
-
-**Content**: Markdown with YAML Front Matter parsed with Goldmark
31
-
-**Styling**: SCSS compiled with Dart Sass
32
-
-**JavaScript**: TypeScript (bundled with esbuild)
33
-
-**Image Zoom**: medium-zoom
34
-
-**Package Manager**: pnpm
35
-
-**Deployment**: GitHub Actions
31
+
- Static Site Generator (SSG): Go
32
+
- Content: Markdown with YAML Front Matter parsed with Goldmark
33
+
- Styling: SCSS compiled with Dart Sass
34
+
- JavaScript: TypeScript (bundled with esbuild)
35
+
- Image Zoom: medium-zoom
36
+
- Package Manager: pnpm
37
+
- Deployment: GitHub Actions
36
38
37
39
## How to Run
38
40
### Install Dependencies
@@ -75,6 +77,40 @@ devd -ol DIR_NAME # Run the server and open a browser using livereload
75
77
killall devd # Kill devd process
76
78
```
77
79
80
+
## How to Create Manual Anchor Links
81
+
You can create links that jump to specific headings within a page. This is useful for building a table of contents.
82
+
83
+
### Assign a Custom ID to a Heading
84
+
Append {#your-custom-id} directly after your heading text. This ID will be the target for your link.
85
+
86
+
```md
87
+
## My Awesome Section {#section-1}
88
+
```
89
+
90
+
### Link to the Heading
91
+
Use the standard Markdown link syntax. The URL part should be a # followed by the custom ID you created.
92
+
93
+
```md
94
+
[Go to my awesome section](#section-1)
95
+
```
96
+
97
+
### Example
98
+
99
+
```md
100
+
## Table of Contents
101
+
-[Go to Section 1](#section-1)
102
+
-[Go to Section 2](#section-2)
103
+
104
+
## My Awesome Section {#section-1}
105
+
Here is the content for the first section.
106
+
107
+
## Another Awesome Section {#section-2}
108
+
Here is the content for the second section.
109
+
```
110
+
111
+
### Note
112
+
It is recommended to use only letters, numbers, and hyphens (-) for IDs to ensure URL compatibility. Special characters (like ?, &) should be avoided. Korean characters are also supported.
113
+
78
114
## How to Deploy
79
115
To publish a new post or deploy changes, you must push a specially formatted Git tag. The deployment is handled automatically by GitHub Actions.
0 commit comments