Keynote is a personal lightweight CMS (Content Management System) tool writing in Golang. It's based on Markdown and stands on top of Gitbook, Docsify and Reveal.js, and powered by Bootstrap and Vue. You can choose any of Gitbook/Docsify/Reveal.js to write docs or slides. If you like keynote, welcome to star or help.
https://huoyijie.github.io is my website built with Keynote. Here is a demo.
-
Go 1.20 及以上
-
Gitbook
$ gitbook -V
CLI version: 2.3.2
GitBook version: 3.2.3
- Node.js v20.10.0
$ git@github.com:huoyijie/keynote.git
$ cd keynote
$ go install .
$ keynote -h
Usage of keynote:
-base string
base path of the static site (default "/")
-conf string
the config of the site (default "keynote.yaml")
-gen
generate static site
-host string
the host that server listen on (default "0.0.0.0")
-output string
where the generated files store (default ".")
-port int
the port that server listen on (default 8000)
-pro
production mode (without auto reload)
-src string
where the keynote sources store (default "src")
$ cd docs
$ keynote -port 8000
You can open http://127.0.0.1:8000
.
First, you can create a new repository with the name {your github id}.github.io, just like huoyijie.github.io.
Clone the repo and write something.
$ cd xxx.github.io
$ ls -l
keynote.yaml
src
keynote.yaml is the conf, and src is the folder you put your markdown files.
In every folder under src, you must new a .folder.yaml
file. You can open the example file and look at it.
$ cd xxx.github.com
$ keynote -port 8000
You can open http://127.0.0.1:8000
.
$ keynote -gen
Gitbook will take a few more steps:
cd src
$ gitbook init gitbook-about-keynote
edit src/.folder.yaml
keynote:
- 'what-is-keynote.md'
gitbook:
- 'gitbook-about-keynote'
docsify: []
ignore:
- 'images'
$ cd src/gitbook-about-keynote
$ gitbook build ./ latest