diff --git a/.github/workflows/register.yml b/.github/workflows/register.yml index 2bf1137..ce171da 100644 --- a/.github/workflows/register.yml +++ b/.github/workflows/register.yml @@ -152,6 +152,7 @@ jobs: mkdir -p $dir cp {metadata,submission}.json index.md $dir/ python scripts/index_page_data.py $dir + python scripts/app_pages.py - name: "🫙 Commit and push docs with generated files" id: create_branch diff --git a/docs/_config.yml b/docs/_config.yml index ec4ca16..d3c9309 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -11,7 +11,7 @@ # https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/#installing-the-theme #theme : "minimal-mistakes-jekyll" -remote_theme : "mmistakes/minimal-mistakes@4.24.0" +remote_theme : "https://github.com/clamsproject/website-theme-minimal-mistakes" minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise" # Site Settings diff --git a/docs/index.md b/docs/index.md index aff4a2b..ae662d3 100644 --- a/docs/index.md +++ b/docs/index.md @@ -15,13 +15,30 @@ toc_sticky: true ## App Directory {% for app in site.data.app-index %} - {%- assign check = app[0] | split:'http://apps.clams.ai/' -%} + {% assign check = app[0] | split:'http://apps.clams.ai/' %} {% if check.size == 2 %} + {% assign versions = app[1]["versions"] %} + {% capture numstr %} {{ versions.size }},3 {% endcapture %} + {% assign numstrs = numstr | split: "," %} + {% assign nums = "" | split: "" %} + {% for num in numstrs %} + {% assign cast = num | to_integer %} + {% assign nums = nums | push: cast %} + {% endfor %} + {% assign to_display = nums | sort | first | to_i %} + {% assign end_loop = to_display | minus: 1 %} + ### {{ check[1] }} + {{ app[1]["description"] }} - {% for version in app[1]["versions"] %} -* [{{ version[0] }}]({{ check[1] }}/{{ version[0] }}) ([`@{{ version[1] }}`](https://github.com/{{ version[1] }})) + + {% for i in (0..end_loop) %} +* [{{ versions[i][0] }}]({{ check[1] }}/{{ versions[i][0] }}) ([`@{{ versions[i][1] }}`](https://github.com/{{ versions[i][1] }})) {% endfor %} + {% if versions.size > to_display %} + +* [all {{ versions.size }} releases]({{ check[1] }}) + {% endif %} {% else %} ### {{ app[0] }} {% for version in app[1] %} diff --git a/scripts/app_pages.py b/scripts/app_pages.py new file mode 100644 index 0000000..7266a88 --- /dev/null +++ b/scripts/app_pages.py @@ -0,0 +1,27 @@ +import os +import json + +docs_dir = os.path.join(os.path.dirname(__file__), '..', 'docs') + +apps = json.load(open(os.path.join(docs_dir, '_data', 'app-index.json'))) + +for app_uri, app_details in apps.items(): + app_title = app_uri.rsplit('/', 1)[1] + app_submitters = {ver: submitter for ver, submitter in app_details['versions']} + app_description = app_details['description'] + + file_name = os.path.join(docs_dir, '_apps', app_title, 'index.md') + + f = open(file_name, "w") + + f.write('---\n') + f.write("layout: posts\n") + f.write("classes: wide\n") + f.write(f"title: {app_title}\n") + f.write("---\n") + f.write(f"{app_description}\n") + + for app_ver, app_submitter in app_submitters.items(): + f.write(f"- [{app_ver}]({app_ver}) ([`@{app_submitter}`](https://github.com/{app_submitter}))\n") + + f.close()