blog-software(config, template, content) = blog website ## Usage 1. [Download the program from here](/Minecon724/blog-software-java/releases) 2. Run the program: ```shell java -jar blog-0.0.1-shaded.jar -s example_workdir ``` For tips on how to create your own project (workdir), see [Project format](#Project format) below. ## Important caveats Generated site must be the root of a subdomain, like `https://example.com/`. \ You can't put it in a directory, like `https://example.com/blog/` ## API There's no "API," but it's possible to integrate this into your Java project. See [Main.java](/Minecon724/blog-software-java/src/branch/master/src/main/java/eu/m724/blog/Main.java) for an example. \ If you need a Maven dependency, [see here](/Minecon724/-/packages/maven/eu.m724-blog) ## Project format There's an ["Example workdir"](/Minecon724/blog-software-java/src/branch/master/example_workdir) which you can take inspiration from. Basically: - `assets/` - contains static assets - `posts/` - contains posts. Post format: - Header / metadata: - `title A title` - post title - `summary This is a post with a title` - post summary - `live` - is the post live (not draft), doesn't need an argument - Custom properties, which are Strings - ` ` - Empty line separates header from content - Post content in HTML. Generally not sanitized, but depends on template. - `template/` - contains the template, see [Template format](#Template format) below - `site-config.yml` - the site configuration - `name: my blog` property - site name - `baseUrl: https://example.com` property - URL of the site. It must be a root URL - folders are currently not supported. This is used only for the RSS feed. - Custom properties, which can be anything as they are Objects ## Template format https://pebbletemplates.io is used - `static/` - contains static assets - `article_template.html` - post template - `index_template.html` - index.html template