MDXtra

MDXtra adalah static site generator berbasis Markdown yang ringan dan cepat untuk membangun dokumentasi maupun website statis. MDXtra mendukung syntax highlighting, komponen HTML, penyisipan source code, live reload, minifikasi otomatis, serta deployment ke GitHub Pages.

Fitur

Instalasi

npm install -g mdxtra

Membuat Project

mdxtra

Struktur project:

project/
├── app/
│   ├── md/
│   ├── css/
│   ├── js/
│   ├── html/
│   └── code/
├── public/
│   └── index.html
├── config.json
├── titles.json
├── cdn.css.json
├── cdn.js.json
├── cdn.highlight.json
└── .prettierignore

Development

Jalankan server pengembangan:

mdxtra dev

Server akan berjalan di:

http://127.0.0.1:3173

Fitur yang tersedia:

Build

Buat versi produksi dengan menjalankan:

mdxtra build

Hasil build akan disimpan di folder dist/.

Struktur Folder

app/md

Berisi file Markdown yang akan dikonversi menjadi halaman HTML.

app/css

Berisi stylesheet global yang diterapkan ke seluruh halaman.

app/js

Berisi JavaScript global.

app/html

Berisi komponen HTML yang dapat disisipkan menggunakan placeholder.

app/code

Berisi source code yang dapat ditampilkan di dalam dokumen Markdown.

Placeholder

HTML

{html.header}
{html.docs.sidebar}

Source Code

{code.example.js}

Template

Template utama berada di:

public/index.html

Placeholder yang tersedia:

Konfigurasi

File config.json:

{
    "outDir": "dist",
    "singleQuote": true,
    "copyButton": false,
    "autoTranslate": false,
    "githubPages": null
}

Penjelasan opsi:

Judul Halaman

File titles.json:

{
    "index": "Beranda",
    "about": "Tentang Kami"
}

Setiap key merepresentasikan nama file Markdown tanpa ekstensi, sedangkan nilainya digunakan sebagai judul halaman.

CDN

CSS

cdn.css.json

["https://cdn.jsdelivr.net/npm/bootstrap/dist/css/bootstrap.min.css"]

JavaScript

cdn.js.json

["https://cdn.jsdelivr.net/npm/bootstrap/dist/js/bootstrap.bundle.min.js"]

Highlight.js

cdn.highlight.json

["https://cdn.jsdelivr.net/npm/highlight.js/styles/github.min.css"]

Contoh

# Selamat Datang

{html.header}

## Contoh

{code.example.js}

[Lanjut](install.html)

Perintah

# Membuat project baru
mdxtra

# Menjalankan development server
mdxtra dev

# Build untuk produksi
mdxtra build