Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yinyanfr/nanako
Yet another static site generator
https://github.com/yinyanfr/nanako
Last synced: about 1 month ago
JSON representation
Yet another static site generator
- Host: GitHub
- URL: https://github.com/yinyanfr/nanako
- Owner: yinyanfr
- License: mit
- Created: 2022-07-08T17:19:06.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-04-17T19:58:35.000Z (over 1 year ago)
- Last Synced: 2024-10-03T14:43:44.587Z (about 2 months ago)
- Language: TypeScript
- Homepage: https://novel.yinyan.fr/
- Size: 499 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nanako
[![npm](https://img.shields.io/npm/v/nanako.svg?style=flat-square)](https://www.npmjs.com/package/nanako)
![react](https://img.shields.io/npm/dependency-version/nanako/react?style=flat-square)
![next](https://img.shields.io/npm/dependency-version/nanako/next?style=flat-square)
![license](https://img.shields.io/npm/l/nanako.svg?style=flat-square)
![size](https://img.shields.io/github/repo-size/yinyanfr/nanako?style=flat-square)Yet another static site generator.
## :star2: Features
- Designed for light novels
- CLI tools
- Sync tool (TODO)## :green_book: Quick start
```bash
npx nanako create my-awesome-blog
```## :wrench: CLI
```bash
Usage: nanako [options] [command]Commands:
add, a Add a book or a chapter, or both.
create, c Create a nanako project.
help Display help
version Display versionOptions:
-h, --help Output usage information
-v, --version Output the version number
-y, --yes Optional: skip the prompts and init the book or the chapter with the default meta.json.Examples:
- Create a nanako instance in folder my-awesome-blog.
$ npx nanako create my-awesome-blog- Create a book.
$ npx nanako add my-awesome-book- Create a chapter under my-awesome-book
$ npx nanako add my-awesome-book my-awesome-chapter
```## :books: Manual Content Management
### Putting your docs
```
docs
└─ lixia // book
├─ chapter2 // chapter
│ ├─ 1.md
│ └─ meta.json
├─ intro
│ ├─ archives
│ │ ├─ 立夏序章简.epub
│ │ └─ 立夏序章繁.epub
│ ├─ images
│ │ ├─ alice.jpg
│ │ ├─ nanzhi1.jpg
│ │ ├─ nanzhi2.jpg
│ │ ├─ yuyao1.jpg
│ │ ├─ yuyao2.jpg
│ │ └─ yuyao3.jpg
│ ├─ 1.md
│ ├─ 10.md
│ ├─ 11.md
│ ├─ 12.md
│ ├─ 13.md
│ ├─ 14.尾声.md
│ ├─ 15.后记.md
│ ├─ 2.md
│ ├─ 3.md
│ ├─ 4.md
│ ├─ 5.md
│ ├─ 6.md
│ ├─ 7.md
│ ├─ 8.md
│ ├─ 9.md
│ └─ meta.json
└─ meta.json
```### Creating `meta.json` for books and chapters
```json
{
"title": "立夏",
"lang": "zh-Hans",
"index": 1,
"category": "novel"
}
```### Using images in markdown
```markdown
![nanzhi1](./images/nanzhi1.jpg)
```Will automatically redirect to `/images/nanzhi1.jpg`
### Modify `src/nanako.json`
```json
{
"port": 20200,
"footer": "对于本网站及展示的作品,作者保留一切权力。",
"title": "小喵新姬的博客",
"headTitle": "咕噜咕噜喵儿",
"cookieConsent": true,
"categories": {
"novel": "小说",
"casual": "随笔",
"tutorial": "教程",
"uncategorized": "未分类"
},
"cacheTTL": 600, // cache ttl for chapters fetch
"cacheTTLLong": 3600 // cache ttl for books and sections fetch
}
```## :rocket: Deployment
```bash
yarn buildyarn start
# or
NODE_ENV=production node nanako.js
```Please refer to the [Next.js documentations](https://nextjs.org/docs) for anything that goes wrong with deployment.