No description
Find a file
Minecon724 1557a47987
Rename site-config to site.yml
Signed-off-by: Minecon724 <git@m724.eu>
2025-02-22 16:35:30 +01:00
.forgejo/workflows ci: Add artifact README 2025-02-10 17:22:44 +01:00
.idea this 2025-01-10 14:43:24 +01:00
.mvn/wrapper feat: add Maven Wrapper and signing setup 2025-02-08 13:41:01 +01:00
example_workdir docs: Update example workdir with YAML 2025-02-12 16:23:04 +01:00
src/main/java/eu/m724/blog Rename site-config to site.yml 2025-02-22 16:35:30 +01:00
.gitignore made it work 2025-01-08 18:40:11 +01:00
mvnw feat: add Maven Wrapper and signing setup 2025-02-08 13:41:01 +01:00
mvnw.cmd feat: add Maven Wrapper and signing setup 2025-02-08 13:41:01 +01:00
pom.xml feat: Compression 2025-02-20 15:29:47 +01:00
README.md docs: Update and improve README 2025-02-12 16:23:26 +01:00
testkeystore.jks feat: add Maven Wrapper and signing setup 2025-02-08 13:41:01 +01:00

blog-software(config, template, content) = blog website

Usage

  1. Download the program from here
  2. Run the program:
     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 for an example.
If you need a Maven dependency, see here

Project format

There's an "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