Static website generator targetting the Dreamcast
Go to file
Marco Cawthorne e8cc5e66ec
Support for sub-pages, and custom page left/right
2023-12-12 23:11:05 -08:00
sites Add support for image based buttons. see sites/y2kfan.net for examples. 2023-03-25 18:18:39 -07:00
.gitignore Initial commit. 2023-03-09 22:35:04 -08:00
build.sh Support for sub-pages, and custom page left/right 2023-12-12 23:11:05 -08:00
readme.txt Support for sub-pages, and metadata powered markdown files. 2023-11-09 17:09:13 -08:00

readme.txt

# DC WEB GEN 1.0

DC Web Gen is a static web page generator.  Ideally, no HTML knowledge
is required.

As the name implies, it targets the SEGA Dreamcast.  This means it
outputs an HTML3-ish type dialect.

# Features

- looks for plain text files and directories
- page content can be written purely using Markdown, Plain Text or HTML
- custom styling & colors done with ease
- dynamic parsing of pages with navigation on either left, right or
  both sides
- support for multiple sites
- news/blog pages with their own archive

# Documentation

Create a sub-directory for your site under `./sites/`.

Under which you will need to create a file titled `domain`.
That should contain the name of your domain + tld.

You can then start producing content for your site.

The `./sites/???/news/` directory shall contain one sub-directory for every news/blog
article. In each of those sub-directories, we need 4 files. `author`, `date`, `title` and `content.md`. If you don't specify them, dcwebgen will fill them with 'Unknown' entries.

For pages, you can list them on either the left, right or both sides of the website.
Simply have a sub-directory under `./sites/???/pages_right/` or `./sites/???/pages_left/` with two files: `title` and `content.md`.

Instead of content.md, you can also have a `content.txt`, or `content.html`.
If you don't have the pandoc tool installed, you can only write using `content.html`.

Then, run `./build.sh` and it will put your website into the `./out/???/` directory.

# Custom styling

You can override specific parts of the website you generate.

`./sites/???/etc/body` - Set parameters on the body of the site (affects all)
`./sites/???/etc/navtd` - Set parameters on the navigation bar.
`./sites/???/etc/table` - Set parameters on tables.
`./sites/???/etc/td` - Set parameters on regular columns.

If you want to make your URLs on the left/right side panels
use images instead of text, you can supply either a .gif, .jpg, or .png
file inside your page directory. Name it the same thing as your page.
Same can be done for the 'News' button, just name it 'news' and place it
inside the `./sites/???/news/` directory with the file format of your choosing.

# Sub-pages

Pages can have sub-pages. Simply have another page-styled directory within
a page directory. For example, `./sites/???/pages_left/games/files/` containing both
a `title` and a `content.md` file.

# Metadata within pages

You can use metadata within Markdown pages. If your `content.md` has a `content.yaml` file
alongside it, it will be used within the page accordingly. Please see this page for detailed
information:

https://pandoc.org/MANUAL.html#extension-yaml_metadata_block

# LICENSE

Licensed under the ISC license.  Everything in here was written by
eukara <marco@icculus.org>