{{ article.title }}
+{{ article.summary }}
+{{ article.createdAt | date("dd.MM.yyyy") }} by {{ article.createdBy }}
+diff --git a/.forgejo/workflows/build.yml b/.forgejo/workflows/build.yml index 7689f1d..3a5773a 100644 --- a/.forgejo/workflows/build.yml +++ b/.forgejo/workflows/build.yml @@ -16,4 +16,6 @@ jobs: - name: Upload artifacts uses: https://github.com/actions/upload-artifact@v3 with: - path: target/blog-software-java-*.jar \ No newline at end of file + name: built-jar + path: target/blog-software-java-*.jar + if-no-files-found: error \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..8a0c877 --- /dev/null +++ b/README.md @@ -0,0 +1,15 @@ +This program takes a template, posts and config to make you a blog. + +## Usage + +1. [Download the program](https://git.m724.eu/Minecon724/blog-software-java/actions/runs/latest/artifacts/built-jar) +2. Get a working directory. [Example](https://git.m724.eu/Minecon724/blog-software-java/src/branch/master/example_workdir) \ + Don't forget to `git init`! +3. Run the program: + ```shell + java -jar blog-software-java-1.0-SNAPSHOT.jar + ``` + +## 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/` \ No newline at end of file diff --git a/example_workdir/.gitignore b/example_workdir/.gitignore new file mode 100644 index 0000000..070d6e2 --- /dev/null +++ b/example_workdir/.gitignore @@ -0,0 +1 @@ +generated_out/ \ No newline at end of file diff --git a/example_workdir/README.md b/example_workdir/README.md new file mode 100644 index 0000000..dc522c5 --- /dev/null +++ b/example_workdir/README.md @@ -0,0 +1,5 @@ +This is an example working directory. + +It showcases the most important stuff. + +A better site could be [my blog](https://git.m724.eu/Minecon724/m724.eu) \ No newline at end of file diff --git a/example_workdir/assets/another.txt b/example_workdir/assets/another.txt new file mode 100644 index 0000000..8c5d638 --- /dev/null +++ b/example_workdir/assets/another.txt @@ -0,0 +1,2 @@ +this is another static asset +static assets are copied and not processed and can be any kind of file \ No newline at end of file diff --git a/example_workdir/assets/hello.txt b/example_workdir/assets/hello.txt new file mode 100644 index 0000000..78ca7fd --- /dev/null +++ b/example_workdir/assets/hello.txt @@ -0,0 +1 @@ +this is a static asset \ No newline at end of file diff --git a/example_workdir/posts/cool-post.html b/example_workdir/posts/cool-post.html new file mode 100644 index 0000000..c9d7f0f --- /dev/null +++ b/example_workdir/posts/cool-post.html @@ -0,0 +1,24 @@ +title lorem ipsum 2: the lorem ipsuming +summary watch skibidi toilet free online no virus + +
Ut justo ante, tincidunt ut dapibus nec, iaculis maximus dolor. Suspendisse venenatis est a vestibulum semper. Suspendisse vulputate lacinia dictum. Aenean accumsan risus a eleifend tristique. Fusce malesuada massa ac venenatis vulputate. Ut vestibulum condimentum lacus, ornare tristique magna tincidunt ac. Aliquam molestie, ante id tempus pellentesque, urna lectus cursus quam, consequat varius eros ligula sed diam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque in placerat mi. Etiam quis accumsan elit. Cras in arcu magna. Sed euismod velit ac iaculis pretium. Morbi sed est nisi. Vivamus suscipit dui id ligula ornare, cursus efficitur magna convallis. Pellentesque id lacinia mauris.
+ +Nullam sit amet faucibus odio. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis sem ante, porttitor non placerat sed, venenatis at turpis. Maecenas sit amet eros purus. Aliquam congue purus eget urna ullamcorper, sed pellentesque libero faucibus. Suspendisse pharetra nisi a ligula accumsan ultrices. Nulla quam felis, posuere ut purus et, tincidunt auctor mi. Vestibulum vitae maximus justo. Maecenas vitae nulla magna. Ut at ex quis justo rutrum varius et at nibh. Vestibulum ac nunc id elit condimentum sodales nec et urna. Vivamus ac convallis tortor. Aenean ac dui quis magna ultricies commodo. Nulla facilisi. In vehicula lectus a ex dictum auctor. Praesent sit amet dui nec nulla vehicula rhoncus nec vitae lacus.
+ +Nullam mollis metus ut enim imperdiet maximus. Quisque sed turpis id ante mattis maximus ac mattis neque. Sed sed metus tristique, aliquam lacus non, convallis eros. Sed in lorem ac leo egestas tincidunt et quis ex. Pellentesque id nisi et libero posuere rutrum. Aenean malesuada varius mauris. Vivamus in arcu leo. In vel posuere dolor, vitae ornare ante. Quisque dignissim ipsum ac lectus ornare, ut semper orci suscipit. Donec imperdiet nibh elit, ac consequat tellus rhoncus sed. Sed imperdiet elit sit amet felis mollis, ut euismod mauris placerat. Morbi bibendum rutrum ullamcorper. Aliquam facilisis libero eu sapien aliquam rhoncus.
+ +Fusce id felis quis nulla iaculis maximus. Quisque ut consectetur sem. Nulla vel aliquam turpis, vel auctor lorem. In fermentum, massa nec rhoncus sollicitudin, lorem erat malesuada nisi, quis sollicitudin quam turpis et magna. Suspendisse potenti. Aenean in fermentum elit. Phasellus eget eros sollicitudin, rhoncus diam a, suscipit nulla. Vivamus eget egestas metus. Nunc ultricies sit amet diam a mollis.
+ +Nunc in diam id justo sagittis accumsan. Donec et tincidunt velit. Suspendisse luctus libero vitae ipsum pellentesque, ut congue lectus pellentesque. Aenean feugiat metus at auctor suscipit. Morbi quis elit congue, tincidunt ligula ac, posuere ante. Phasellus fermentum erat a sem convallis, eu mollis ipsum varius. Praesent porta augue quam, sit amet viverra enim suscipit sit amet. Vivamus eu augue pulvinar, finibus mauris lacinia, luctus lacus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris aliquam commodo gravida. Mauris quis quam id tortor maximus blandit. Nam id lorem dui.
+ +Morbi orci ex, dignissim a congue accumsan, malesuada faucibus urna. Aenean porttitor tempus purus, et consectetur lorem maximus ac. Ut eget consectetur metus. Praesent sollicitudin convallis urna non finibus. Fusce magna est, accumsan eu est id, dignissim mollis ipsum. Cras id turpis eu massa sodales scelerisque ac ut enim. Fusce suscipit dui id malesuada venenatis. Phasellus eleifend erat at arcu malesuada, sed porttitor risus viverra. Duis blandit dui tortor, id tincidunt tellus iaculis at. Aenean sed purus ut dolor finibus tempus in in leo. Duis vitae elit id velit laoreet varius eu accumsan dui. Maecenas ac sollicitudin mi. Phasellus tristique justo sed est sagittis eleifend in nec ex.
+ +Nulla in pretium tortor. Donec faucibus dapibus urna, vitae vestibulum velit ultricies nec. Mauris ultricies porta purus nec convallis. Aenean varius mi tortor, id mollis nisl scelerisque quis. Donec facilisis nisl vel tristique porttitor. Sed elit turpis, sodales ac neque nec, placerat imperdiet erat. Vestibulum feugiat volutpat convallis. Praesent eu nunc eu justo consectetur bibendum ac eu nisi. Donec velit sem, mattis non scelerisque non, luctus ac felis. Praesent vel orci ligula. Aenean sit amet justo nisl. Suspendisse non turpis magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla urna odio, varius sed neque nec, tincidunt tincidunt lacus.
\ No newline at end of file diff --git a/example_workdir/posts/lorem-ipsum.html b/example_workdir/posts/lorem-ipsum.html new file mode 100644 index 0000000..5f86ab6 --- /dev/null +++ b/example_workdir/posts/lorem-ipsum.html @@ -0,0 +1,23 @@ +title Lorem ipsum dolor sit amet +summary As an AI language model, I can't help you with that. + + +Ut justo ante, tincidunt ut dapibus nec, iaculis maximus dolor. Suspendisse venenatis est a vestibulum semper. Suspendisse vulputate lacinia dictum. Aenean accumsan risus a eleifend tristique. Fusce malesuada massa ac venenatis vulputate. Ut vestibulum condimentum lacus, ornare tristique magna tincidunt ac. Aliquam molestie, ante id tempus pellentesque, urna lectus cursus quam, consequat varius eros ligula sed diam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Pellentesque in placerat mi. Etiam quis accumsan elit. Cras in arcu magna. Sed euismod velit ac iaculis pretium. Morbi sed est nisi. Vivamus suscipit dui id ligula ornare, cursus efficitur magna convallis. Pellentesque id lacinia mauris.
+ +Nullam sit amet faucibus odio. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis sem ante, porttitor non placerat sed, venenatis at turpis. Maecenas sit amet eros purus. Aliquam congue purus eget urna ullamcorper, sed pellentesque libero faucibus. Suspendisse pharetra nisi a ligula accumsan ultrices. Nulla quam felis, posuere ut purus et, tincidunt auctor mi. Vestibulum vitae maximus justo. Maecenas vitae nulla magna. Ut at ex quis justo rutrum varius et at nibh. Vestibulum ac nunc id elit condimentum sodales nec et urna. Vivamus ac convallis tortor. Aenean ac dui quis magna ultricies commodo. Nulla facilisi. In vehicula lectus a ex dictum auctor. Praesent sit amet dui nec nulla vehicula rhoncus nec vitae lacus.
+ +Nullam mollis metus ut enim imperdiet maximus. Quisque sed turpis id ante mattis maximus ac mattis neque. Sed sed metus tristique, aliquam lacus non, convallis eros. Sed in lorem ac leo egestas tincidunt et quis ex. Pellentesque id nisi et libero posuere rutrum. Aenean malesuada varius mauris. Vivamus in arcu leo. In vel posuere dolor, vitae ornare ante. Quisque dignissim ipsum ac lectus ornare, ut semper orci suscipit. Donec imperdiet nibh elit, ac consequat tellus rhoncus sed. Sed imperdiet elit sit amet felis mollis, ut euismod mauris placerat. Morbi bibendum rutrum ullamcorper. Aliquam facilisis libero eu sapien aliquam rhoncus.
+ +Fusce id felis quis nulla iaculis maximus. Quisque ut consectetur sem. Nulla vel aliquam turpis, vel auctor lorem. In fermentum, massa nec rhoncus sollicitudin, lorem erat malesuada nisi, quis sollicitudin quam turpis et magna. Suspendisse potenti. Aenean in fermentum elit. Phasellus eget eros sollicitudin, rhoncus diam a, suscipit nulla. Vivamus eget egestas metus. Nunc ultricies sit amet diam a mollis.
+ +Nunc in diam id justo sagittis accumsan. Donec et tincidunt velit. Suspendisse luctus libero vitae ipsum pellentesque, ut congue lectus pellentesque. Aenean feugiat metus at auctor suscipit. Morbi quis elit congue, tincidunt ligula ac, posuere ante. Phasellus fermentum erat a sem convallis, eu mollis ipsum varius. Praesent porta augue quam, sit amet viverra enim suscipit sit amet. Vivamus eu augue pulvinar, finibus mauris lacinia, luctus lacus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Mauris aliquam commodo gravida. Mauris quis quam id tortor maximus blandit. Nam id lorem dui.
+ +Morbi orci ex, dignissim a congue accumsan, malesuada faucibus urna. Aenean porttitor tempus purus, et consectetur lorem maximus ac. Ut eget consectetur metus. Praesent sollicitudin convallis urna non finibus. Fusce magna est, accumsan eu est id, dignissim mollis ipsum. Cras id turpis eu massa sodales scelerisque ac ut enim. Fusce suscipit dui id malesuada venenatis. Phasellus eleifend erat at arcu malesuada, sed porttitor risus viverra. Duis blandit dui tortor, id tincidunt tellus iaculis at. Aenean sed purus ut dolor finibus tempus in in leo. Duis vitae elit id velit laoreet varius eu accumsan dui. Maecenas ac sollicitudin mi. Phasellus tristique justo sed est sagittis eleifend in nec ex.
+ +Nulla in pretium tortor. Donec faucibus dapibus urna, vitae vestibulum velit ultricies nec. Mauris ultricies porta purus nec convallis. Aenean varius mi tortor, id mollis nisl scelerisque quis. Donec facilisis nisl vel tristique porttitor. Sed elit turpis, sodales ac neque nec, placerat imperdiet erat. Vestibulum feugiat volutpat convallis. Praesent eu nunc eu justo consectetur bibendum ac eu nisi. Donec velit sem, mattis non scelerisque non, luctus ac felis. Praesent vel orci ligula. Aenean sit amet justo nisl. Suspendisse non turpis magna. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla urna odio, varius sed neque nec, tincidunt tincidunt lacus.
\ No newline at end of file diff --git a/example_workdir/site-config.json b/example_workdir/site-config.json new file mode 100644 index 0000000..80d6073 --- /dev/null +++ b/example_workdir/site-config.json @@ -0,0 +1,4 @@ +{ + "name": "my blog", + "baseUrl": "https://example.com" +} \ No newline at end of file diff --git a/example_workdir/template/article_template.html b/example_workdir/template/article_template.html new file mode 100644 index 0000000..13b858f --- /dev/null +++ b/example_workdir/template/article_template.html @@ -0,0 +1,33 @@ + + + + +{{ article.createdAt | date("dd.MM.yyyy") }} by {{ article.createdBy }}
+{{ article.title }}
+{{ article.summary }}
+