Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tenry92/wiki10
Static wiki generation
https://github.com/tenry92/wiki10
static-site-generator wiki
Last synced: 1 day ago
JSON representation
Static wiki generation
- Host: GitHub
- URL: https://github.com/tenry92/wiki10
- Owner: tenry92
- Created: 2023-09-19T22:37:00.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-24T23:37:53.000Z (8 months ago)
- Last Synced: 2024-03-25T00:33:33.546Z (8 months ago)
- Topics: static-site-generator, wiki
- Language: TypeScript
- Homepage:
- Size: 102 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Welcome to wiki10, a wiki-like tool that allows creating a knowledge base by
rendering static markdown files to HTML. No server is needed!Just create a new project, write down your markdown files, build the HTML files
and you are ready to open the generated HTML files in your browser.## Features
- Static generation: no web server required
- Pages as markdown files: no database required
- No sitemap: don't worry about where to put your pages in the tree
- Aliases: give a page aliases so it can be found under different titles
- Graphs and more: plantuml, mermaid, chartjs, lilypond support## Creating a new project
```sh
$ npx wiki10 init path/to/wiki
```## Project structure
A project has the following structure:
- public/ - the generated files
- pages/ - the actual HTML files you open in your browser
- source/
- layout/ - the layout HTML, CSS etc.
- media/ - images and other files you include in your pages
- pages/ - directory where you write your markdown documents
- Meta/ - special pages such as list of all files## Building
In order to build a project, i.e. creating the HTML files from the Markdown
source files, run:```sh
$ npx wiki10 build path/to/wiki
```This command will rebuild all pages that were modified since the last run and
copy the media files into the public folder.### Options
#### --verbose, -v
Enable verbose logging
#### -vv
Enable debug logging
#### --rebuild-pages
Rebuild all pages
#### --rebuild-assets
Rebuild all assets (graphs etc.) of modified files
## External dependencies
- `plantuml` for rendering plantuml graphs
- `lilypond` and `inkscape` for rendering lilypond sheet music
- `fluidsynth` and `ffmpeg` for rendering lilypond music for ogg music files## Generating internal docs
Run the following command to generate internal documentation in the docs folder:
```sh
$ npm run docs
# or:
$ yarn docs
```## Contributing
### git commit messages
The format for git messages is based on [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/):
```
[optional scope]:[optional body]
[optional footer(s)]
````` is one of:
- Fix: patching a bug
- Docs: documentation
- Chore: update dependencies
- Other`` is a short title that describes the applied changes in present
tense, for example `Add files to package.json`.Exception to the message format are tagged version updates (see below).
### Bumping version number
After all code targeting the next version is committed, the version number
(e.g. in package.json) can be updated. For this, use the commands
`npm version major|minor|patch` or `yarn version --major|--minor|--patch`:- Use `patch`, if bugs were patched or documentation was updated
- Use `minor`, if new features were introduced
- Use `major`, if breaking changes were introducedAfter the version has been bumped, publish the new package version using
`npm|yarn publish`.### Running wiki10 during development
Using the `npx wiki10 ...` commands will fetch the latest published version from
the npm registry to run. If you are currently developing on wiki10 itself and
want to run some commands, use `npm start ...` or `yarn start ...` instead.