diff --git a/.github/workflows/site.yml b/.github/workflows/site.yml index a3127d2f..ee902050 100644 --- a/.github/workflows/site.yml +++ b/.github/workflows/site.yml @@ -10,18 +10,18 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: token: ${{ secrets.GIT_ACCESS_TOKEN }} - name: Setup Java - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: 17 distribution: zulu - name: Cache Jbang - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.jbang/cache/ key: ${{ runner.os }}-jbang-cache-${{ hashFiles('**/*.java') }} @@ -31,7 +31,7 @@ jobs: - name: Parse data run: | cd resources - ./jbang site.java ../java-champions.yml ../podcasts.yml ../site/content/ + ./jbang site.java .. ../site/content/ - name: Generate site run: | diff --git a/CONTRIBUTING.adoc b/CONTRIBUTING.adoc index 0b59bacf..23c8f97b 100644 --- a/CONTRIBUTING.adoc +++ b/CONTRIBUTING.adoc @@ -14,7 +14,7 @@ You may install of these prerequisites with link:https://sdkman.io[Sdkman]. 1. `git clone https://github.com/aalmiray/java-champions.git` 2. `cd java-champions/resources` -3. `jbang site.java ../java-champions.yml ../podcasts.yml ../site/content/` +3. `jbang site.java .. ../site/content/` 4. `cd ../site` 5. `jbake -b` 6. `jbake -s` diff --git a/resources/site.java b/resources/site.java index e8148dac..64a70f67 100644 --- a/resources/site.java +++ b/resources/site.java @@ -49,14 +49,25 @@ public class site { ); public static void main(String... args) throws Exception { - if (null == args || args.length != 3) { - System.out.println("❌ Usage: java site.java [YAML members] [YAML podcasts] [DIRECTORY]"); + if (null == args || args.length != 2) { + System.out.println("❌ Usage: java site.java [YAML DIRECTORY] [OUTPUT DIRECTORY]"); System.exit(1); } - var fileMembers = Path.of(args[0]); - var filePodcasts = Path.of(args[1]); - var directory = Path.of(args[2]); + var inputDirectory = Path.of(args[0]); + var outputDirectory = Path.of(args[1]); + var fileMembers = inputDirectory.resolve("java-champions.yml"); + var filePodcasts = inputDirectory.resolve("podcasts.yml"); + + if (!Files.exists(fileMembers)) { + System.out.printf("❌ %s/java-champions.yml does not exist%n", inputDirectory.toAbsolutePath()); + System.exit(1); + } + + if (!Files.exists(filePodcasts)) { + System.out.printf("❌ %s/podcasts.yml does not exist%n", inputDirectory.toAbsolutePath()); + System.exit(1); + } var mapper = YAMLMapper.builder().build(); var members = new Members(); @@ -77,7 +88,7 @@ public static void main(String... args) throws Exception { membersDoc.append(member.formatted()); } - var outputMembers = directory.resolve("members.adoc"); + var outputMembers = outputDirectory.resolve("members.adoc"); Files.write(outputMembers, membersDoc.toString().getBytes()); // generate stats.adoc @@ -113,11 +124,11 @@ public static void main(String... args) throws Exception { .replace("@COUNTRIES_HEIGHT@", String.valueOf(countries.size() * 30)) .replace("@YEARS@", yearsSb.toString()) .replace("@YEARS_HEIGHT@", String.valueOf(years.size() * 30)); - var outputStats = directory.resolve("stats.adoc"); + var outputStats = outputDirectory.resolve("stats.adoc"); Files.write(outputStats, statsDoc.getBytes()); // generate fediverse CSV file - var mastodonCsv = new PrintWriter(Files.newOutputStream(directory.resolve("resources").resolve("mastodon.csv"))); + var mastodonCsv = new PrintWriter(Files.newOutputStream(outputDirectory.resolve("resources").resolve("mastodon.csv"))); mastodonCsv.println("Account address,Show boosts,Notify on new posts,Languages"); members.members.stream() .filter(JavaChampion::hasMastodon) @@ -141,7 +152,7 @@ public static void main(String... args) throws Exception { podcastsDoc.append(podcast.formatted()); } - var outputPodcasts = directory.resolve("podcasts.adoc"); + var outputPodcasts = outputDirectory.resolve("podcasts.adoc"); Files.write(outputPodcasts, podcastsDoc.toString().getBytes()); } diff --git a/site/templates/menu.ftl b/site/templates/menu.ftl index 415c7097..bc6757dd 100644 --- a/site/templates/menu.ftl +++ b/site/templates/menu.ftl @@ -15,7 +15,7 @@