High level markdown notes management tool.
- Collect markdown files in diffrent locations
- Find title / date and generate slug. All automatically. Supports chinese title slug translation.
- Reformat these files and send to a target dir (such as
content
dir for hugo) - Build site and publish to your server.
Run:
make
Configuration
code ~/.config/noteman/config.jsonc
example:
{
"source": {
"directories": [
"/home/pluveto/Workspace/notes/blog-src" // raw source markdown files dir
],
"filters": {
"regex_filter": {
"exclude": [
".*\\.pri.*" // exclude files with .pri. in name
]
}
}
},
"target": {
"mapping": {
// map source dir to target dir
"/Users/zijingzhang/Repo/blogws/blog-src": "/Users/zijingzhang/Repo/blogws/blog/content/{{lang_prefix}}/posts"
}
},
"build": {
"command": "hugo",
"args": [],
"working_directory": "/home/pluveto/Workspace/notes/blog"
},
"preview": {
"command": "hugo",
"args": [
"server"
],
"working_directory": "/home/pluveto/Workspace/notes/blog"
},
"publish": {
"artifacts": "/home/pluveto/Workspace/notes/blog/public",
"service": {
"name": "simple_http_upload",
"params": {
"api": "http://www.example.com/upload",
"auth": "pluveto2xHHm0Z5BLb0M1GlBlpAGgfuxbqzSrDv"
}
},
"preview_url": "https://www.example.com"
}
}
Commands
# Sync notes to target dir (with preprocessing)
noteman sync
# Preview using your browser
noteman preview
# Build site
noteman build
# Compress and publish to your server
noteman publish
Use noteman as a markdown file preprocessor.
mkdir input
mkdir output
vi input
---
Hello world
$$
E = mc^2 \\
F_G = G \frac{m_1 m_2}{r^2}
$$
./noteman sync