How it works
This page explains how MDMT works.
It maybe useful for customizing.
File structure
MDMT is composed of the following files / directories:
pages/: Markdown files corresponding to pagescomponents/: React componentspublic/: Static files like imageslib/: Core application sourcesscripts/: Scripts for build phasedocs/: Output directoryconfig.js: Configuration of MDMT
See pages/ to add / edit articles, see components to edit design, and see lib/ to customize
the data flow.
Data flow
MDMT uses Redux-like dataflow system built with React Hooks.
See lib/store.ts for state definition and actions, and see lib/context.ts for data passing.
Build scripts
Build script is defined in package.json like thi:
"build": "NODE_ENV=production run-s clean build:manifest build:build build:export build:nojekyll build:preload build:sw",
It seems complicated, but it just runs following scripts in order.
- clean: Remove old outputs
- build:manifest: Generate manifest.json from config.js
- build:build, build:export: Output static files to
docs/ - build:nojekyll: Workaround for GitHub Pages
- build:preload: Workaround for GitHub Pages
- build:sw: Generate ServiceWorker file