https://github.com/huoyijie/keynote
Keynote is a personal lightweight CMS (Content Management System) tool writing in Golang.
https://github.com/huoyijie/keynote
bootstrap docsify gin-gonic gitbook golang markdown revealjs vue
Last synced: 5 months ago
JSON representation
Keynote is a personal lightweight CMS (Content Management System) tool writing in Golang.
- Host: GitHub
- URL: https://github.com/huoyijie/keynote
- Owner: huoyijie
- License: mit
- Created: 2023-02-18T01:52:06.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-12-25T06:46:08.000Z (over 1 year ago)
- Last Synced: 2025-07-19T07:58:01.307Z (12 months ago)
- Topics: bootstrap, docsify, gin-gonic, gitbook, golang, markdown, revealjs, vue
- Language: Go
- Homepage: https://huoyijie.github.io/keynote
- Size: 857 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Keynote
## Introduction
[Keynote](https://github.com/huoyijie/keynote) is a personal lightweight CMS (Content Management System) tool writing in Golang. It's based on Markdown and stands on top of [Gitbook](https://github.com/GitbookIO/gitbook), [Docsify](https://github.com/docsifyjs/docsify) and [Reveal.js](https://github.com/hakimel/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](https://huoyijie.github.io) is my website built with Keynote.
[Here](https://huoyijie.github.io/keynote) is a demo.

## Prerequisites
* Go 1.20 及以上
* Gitbook
```bash
$ gitbook -V
CLI version: 2.3.2
GitBook version: 3.2.3
```
* Node.js v20.10.0
## Install
```bash
$ git@github.com:huoyijie/keynote.git
$ cd keynote
$ go install .
```
```bash
$ 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")
```
## Run with demo
```bash
$ cd docs
$ keynote -port 8000
```
You can open `http://127.0.0.1:8000`.
## Run with your repo
First, you can create a new repository with the name {your github id}.github.io, just like [huoyijie.github.io](https://github.com/huoyijie/huoyijie.github.io).
Clone the repo and write something.
```bash
$ 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.
### Run a server
```bash
$ cd xxx.github.com
$ keynote -port 8000
```
You can open `http://127.0.0.1:8000`.
### Generate static site
```
$ keynote -gen
```
## About gitbook
Gitbook will take a few more steps:
```bash
cd src
$ gitbook init gitbook-about-keynote
```
edit src/.folder.yaml
```yaml
keynote:
- 'what-is-keynote.md'
gitbook:
- 'gitbook-about-keynote'
docsify: []
ignore:
- 'images'
```
```bash
$ cd src/gitbook-about-keynote
$ gitbook build ./ latest
```