From 1981c821b0159f3c11431efa144c51c9dde4989f Mon Sep 17 00:00:00 2001 From: "David W.H. Swenson" Date: Tue, 5 Dec 2023 11:28:20 -0600 Subject: [PATCH 01/11] Start to ecosystem registry --- README_ecosystem_plugins.md | 56 ++++++++++++++++++++++ _config.yml | 13 ++++++ _ecosystem/_default.md | 19 ++++++++ _ecosystem/example.md | 11 +++++ _ecosystem/example2.md | 11 +++++ _ecosystem/kartograf.md | 13 ++++++ _ecosystem/lomap-mapper.md | 36 +++++++++++++++ _includes/ecosystem-summary.html | 24 ++++++++++ _layouts/ecosystem-entry.html | 27 +++++++++++ _sass/customizations.scss | 79 ++++++++++++++++++++++++++++++++ ecosystem.html | 22 +++++++++ 11 files changed, 311 insertions(+) create mode 100644 README_ecosystem_plugins.md create mode 100644 _ecosystem/_default.md create mode 100644 _ecosystem/example.md create mode 100644 _ecosystem/example2.md create mode 100644 _ecosystem/kartograf.md create mode 100644 _ecosystem/lomap-mapper.md create mode 100644 _includes/ecosystem-summary.html create mode 100644 _layouts/ecosystem-entry.html create mode 100644 ecosystem.html diff --git a/README_ecosystem_plugins.md b/README_ecosystem_plugins.md new file mode 100644 index 0000000..b00653b --- /dev/null +++ b/README_ecosystem_plugins.md @@ -0,0 +1,56 @@ +# Managing the ecosystem catalog + +A subset of this website is devoted to providing a catalog of software that +makes up the broader Open Free Energy ecosystem. This is intended to be a +central clearinghouse where users can find different modular tools that can be +plugged into an Open Free Energy workflow. This page documents that part of the +website. + +## Adding a new catalog entry + +External contributors are most likely to want to add a new catalog entry, +representing some useful code that they have created and wish to share. Adding +new entries is intended to be as easy as possible. + +Basically, all you need to do is fork and clone this repo, and add a new item +under the `_ecosystem/` directory. This will be a Markdown file with YAML +frontmatter. Copy the `_ecosystem/_defaults.md` file to get a template that +you can work from. + +Add that file in a branch on your fork, and make a pull request to have your +new entry added to the catalog! + +NOTE: Each ecosystem catalog entry should fit into exactly one category. If +you've created a package that involves tools from multiple categories, please +create multiple catalog entries. One pull request may contain as many catalog +entries as you would like to add. + +## Customizing ecosystem configuration + +The general idea here is that catalog entries represent different "categories" +of object, with the objects within a category being modular replacements for +each other. As an example, "protocol" is one of the categories for Open Free +Energy. + +Details of the ecosystem configuration are in the `_config.yaml` for the site. +In particular, custom configuration the ecosystem tools are under the +`ecosystem_catalog` top-level heading. This allows you to change, e.g., the +allowed categories. + +Some aspects of configuration are based on Jekyll's standard configuration +tools. In particular, note that `ecosystem` is one the Jekyll `collections`, +and note that we can set the default layout for ecosystem entries within the +standard `defaults` configuration heading. + +## Changing the presentation of catalog entries + +Catalog entries are shown in two different styles: + +1. Full-page mode, where a full web page is dedicated to each entry. This is + intended to provide sufficient details for a reader to learn more about the + entry. You can customize this mode in `_layouts/ecosystem-entry.html`. +2. Summary mode, where a brief summary of each entry is provided, e.g., as part + of a list of other catalog entries. You can customize this mode in + `_includes/ecosystem-summary.html`. + +You can, of course, always create a custom page that loops over the diff --git a/_config.yml b/_config.yml index 2ea8235..5d05fbb 100644 --- a/_config.yml +++ b/_config.yml @@ -32,6 +32,14 @@ collections: projects: jobs: output: true + ecosystem: + output: true + +ecosystem_catalog: + category_labels: + atommapper: "Atom Mappers" + networkplanner: "Network Planners" + protocol: "Protocols" paginate: 10 paginate_path: "/news/:num/" @@ -60,6 +68,11 @@ defaults: type: "jobs" values: layout: "job" + - scope: + path: "" + type: "ecosystem" + values: + layout: "ecosystem-entry" - scope: path: "" values: diff --git a/_ecosystem/_default.md b/_ecosystem/_default.md new file mode 100644 index 0000000..251eae0 --- /dev/null +++ b/_ecosystem/_default.md @@ -0,0 +1,19 @@ +--- +name: +category: +developers: +source: +license: +summary: >- + + +### FOLLOWING ARE OPTIONAL +# docs: +# contact: +# publications: +# - +# thumbnail: +# src: +# alt: +--- + diff --git a/_ecosystem/example.md b/_ecosystem/example.md new file mode 100644 index 0000000..f9a8efa --- /dev/null +++ b/_ecosystem/example.md @@ -0,0 +1,11 @@ +--- +name: An example plugin +category: atommapper +developers: Those cool cats at OpenFE +source: https://github.com/openfreeenergy/openfreeenergy.github.io +license: MIT +summary: >- + An awesome OpenFE plugin +--- + +Now let me tell you all the awesome details about this plugin. diff --git a/_ecosystem/example2.md b/_ecosystem/example2.md new file mode 100644 index 0000000..8e3c05a --- /dev/null +++ b/_ecosystem/example2.md @@ -0,0 +1,11 @@ +--- +name: Another example plugin +category: protocol +developers: more cool cats at OpenFE +source: https://github.com/openfreeenergy/openfreeenergy.github.io +license: MIT +summary: >- + A protocol plugin +--- + + diff --git a/_ecosystem/kartograf.md b/_ecosystem/kartograf.md new file mode 100644 index 0000000..8c67821 --- /dev/null +++ b/_ecosystem/kartograf.md @@ -0,0 +1,13 @@ +--- +name: Kartograf +category: atommapper +developers: Ben Ries and other OpenFE people +source: https://github.com/openfreeenergy/kartograf +license: MIT +summary: >- + Kartograf is a 3D-first atom mapper. This allows it to avoid some problems, + particularly those around chirality, that can occur with 2D mappers (e.g., + those focused on common substructure.) Ben can expand this a little if he wants. +--- + +This is where Ben should write a lot more detail about Kartograf. diff --git a/_ecosystem/lomap-mapper.md b/_ecosystem/lomap-mapper.md new file mode 100644 index 0000000..7554dc4 --- /dev/null +++ b/_ecosystem/lomap-mapper.md @@ -0,0 +1,36 @@ +--- +name: LOMAP Atom Mapper +category: atommapper +developers: Mobley Lab and Open Free Energy +source: https://github.com/openfreeenergy/Lomap +license: MIT +summary: >- + The LOMAP atom mapper is based on a maximum common substructure approach to + detemine the mapping between two ligands. +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor +incididunt ut labore et dolore magna aliqua. Elit duis tristique sollicitudin +nibh sit amet. Vitae auctor eu augue ut lectus. Sit amet dictum sit amet justo +donec enim diam. Id venenatis a condimentum vitae sapien pellentesque habitant +morbi. Ut eu sem integer vitae justo eget magna fermentum iaculis. Vel orci +porta non pulvinar neque laoreet suspendisse interdum. Curabitur vitae nunc sed +velit. Id aliquet risus feugiat in ante metus dictum at. Venenatis cras sed +felis eget velit aliquet sagittis id. Nibh sed pulvinar proin gravida +hendrerit. Eget nullam non nisi est. Viverra maecenas accumsan lacus vel +facilisis volutpat est velit egestas. Lectus vestibulum mattis ullamcorper +velit sed. Pellentesque elit ullamcorper dignissim cras tincidunt lobortis +feugiat. Dolor sed viverra ipsum nunc aliquet bibendum enim. + +Morbi non arcu risus quis varius quam quisque id. Dui sapien eget mi proin sed. +Nunc vel risus commodo viverra maecenas accumsan lacus. Condimentum mattis +pellentesque id nibh tortor id aliquet lectus. In metus vulputate eu +scelerisque felis imperdiet proin. Id velit ut tortor pretium viverra +suspendisse potenti. Ut pharetra sit amet aliquam id. In fermentum et +sollicitudin ac orci phasellus egestas tellus. Ultricies mi eget mauris +pharetra. Nunc id cursus metus aliquam. Nunc non blandit massa enim nec dui +nunc mattis. Mattis aliquam faucibus purus in massa tempor nec feugiat nisl. +Lacus sed turpis tincidunt id aliquet risus feugiat in ante. Nisl purus in +mollis nunc sed. In hac habitasse platea dictumst quisque sagittis. Neque +ornare aenean euismod elementum nisi quis eleifend. Vel quam elementum pulvinar +etiam non quam lacus suspendisse. diff --git a/_includes/ecosystem-summary.html b/_includes/ecosystem-summary.html new file mode 100644 index 0000000..57276ef --- /dev/null +++ b/_includes/ecosystem-summary.html @@ -0,0 +1,24 @@ +{% comment %} +This is the include file for a catalog entry summary card. Style can be done +in SASS/CSS. In this implementation, there's a paragraph for the entry +name (which links to the entry's full page), a paragraph for the developers, +a paramgraph for the entry's summary, and a list of bullet points for the +license and anything else we might want to add to the summary. +{% endcomment %} + +
+

+ {{ include.entry.name }} +

+

+ {{ include.entry.developers }} +

+

+ {{ include.entry.summary }} +

+ +
diff --git a/_layouts/ecosystem-entry.html b/_layouts/ecosystem-entry.html new file mode 100644 index 0000000..ef0c079 --- /dev/null +++ b/_layouts/ecosystem-entry.html @@ -0,0 +1,27 @@ +--- +layout: page +--- + +
+ +
+
+
Developers
+
{{ page.developers }}
+
Source code
+ +
{{ page.source }}
+
License
+
{{ page.license }}
+
+{{ page.summary | markdownify }} +
+ +

+ {% assign label = site.ecosystem_catalog.category_labels[page.category] %} + {{ label | upcase }} +

+ +{{ page.content | markdownify }} + +
diff --git a/_sass/customizations.scss b/_sass/customizations.scss index 68235ec..f0fb0b9 100644 --- a/_sass/customizations.scss +++ b/_sass/customizations.scss @@ -105,3 +105,82 @@ code { } +// for the ecosystem summary entries (e.g., ecosystem.html) +ul.ecosystemSummaryList { + display: flex; + flex-flow: row wrap; + gap: 10px; +} + +li.ecosystemSummaryItem { + display: inline-block; + flex: 0 0 45%; + vertical-align: top; + border: 1px solid var(--other-blue); + padding: 1ex; + box-shadow: 2px 2px 2px var(--beastly-grey); +} + +div.ecosystemSummary { + float: left; + margin-bottom: 0px; + margin-block-start: 0px; + height: 100%; +} + +.ecosystemSummary p { + margin-bottom: 10px; + line-height: normal; +} + +p.ecosystemSummaryTitle { + font-size: 1.0em; + font-weight: 600; + margin-top: 5px; +} + +p.ecosystemSummaryAuthor { + font-size: 0.5em; + font-weight: 300; +} + +p.ecosystemSummarySummary { + font-size: 0.8em; + font-weight: 300; + line-height: 1.1em; +} + +ul.ecosystemSummaryExtras { + font-size: 0.5em; + font-weight: 300; +} + +ul.ecosystemSummaryExtras li { + display: inline-block; +} + +// switch to 1-column layout for mobile +@media screen and (max-width: 639px) { + ul.ecosystemSummaryList { + flex-flow: column nowrap; + } +} + + +// for the ecosystem entries (individual pages) +.ecosystemEntry { + overflow: auto; +} + +div.ecosystemDetailsBox { + width: 45%; + float: right; + color: var(--beastly-grey); + border: 1px solid var(--other-blue); + padding: 1ex; + margin: 1ex; +} + +div.ecosystemDetailsBox p { + font-size: 1.0em; +} diff --git a/ecosystem.html b/ecosystem.html new file mode 100644 index 0000000..d9bc4a7 --- /dev/null +++ b/ecosystem.html @@ -0,0 +1,22 @@ +--- +title: Ecosystem +permalink: /ecosystem/ +description: >- + Other tools in the OpenFE ecosystem. +--- + +{% assign grouped = site.ecosystem | group_by:"category" %} +{% for category in site.ecosystem_catalog.category_labels %} +

{{ category[1] }}

+ {% assign cat_plugins = grouped | where: "name", category[0] %} + {% comment %} + There can only be one object in grouped with the appropriate name, so we + take cat_plugins[0]. We loop over them as li (as opposed to creating a + structure of divs) because that's better for screenreaders. + {% endcomment %} +
    + {% for plugin in cat_plugins[0].items %} +
  • {% include ecosystem-summary.html entry=plugin %}
  • + {% endfor %} +
+{% endfor %} From 1b9589daa25419b5f5562f064bdcfe6bc8a5751c Mon Sep 17 00:00:00 2001 From: "David W.H. Swenson" Date: Tue, 5 Dec 2023 16:21:20 -0600 Subject: [PATCH 02/11] make ecosystem-entry responsive --- _layouts/ecosystem-entry.html | 11 ++++++++--- _sass/customizations.scss | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/_layouts/ecosystem-entry.html b/_layouts/ecosystem-entry.html index ef0c079..85d1bd6 100644 --- a/_layouts/ecosystem-entry.html +++ b/_layouts/ecosystem-entry.html @@ -4,15 +4,20 @@
+
Developers
-
{{ page.developers }}
+
{{ page.developers }}
Source code
-
{{ page.source }}
+
+ {{ page.source }} +
License
-
{{ page.license }}
+
+ {{ page.license }} +
{{ page.summary | markdownify }}
diff --git a/_sass/customizations.scss b/_sass/customizations.scss index f0fb0b9..56782fe 100644 --- a/_sass/customizations.scss +++ b/_sass/customizations.scss @@ -181,6 +181,21 @@ div.ecosystemDetailsBox { margin: 1ex; } +div.ecosystemDetailsBox dd.ecosystemEntrySourceCode { + // if URL for source is too long, use ellipsis + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + div.ecosystemDetailsBox p { font-size: 1.0em; } + +@media screen and (max-width: 639px) { + div.ecosystemDetailsBox { + width: 90%; + float: left; + } + +} From d0165ccbf94adc7e64deec90fa8f4ca2a2e48067 Mon Sep 17 00:00:00 2001 From: "David W.H. Swenson" Date: Wed, 6 Dec 2023 17:16:32 -0600 Subject: [PATCH 03/11] Switch to one page per project --- _config.yml | 8 ++++++++ _ecosystem/example.md | 8 +++++--- _ecosystem/example2.md | 10 +++++----- _ecosystem/kartograf.md | 14 ++++++++------ _ecosystem/{lomap-mapper.md => lomap.md} | 16 +++++++++++----- _includes/ecosystem-summary.html | 17 ++++++++--------- _layouts/ecosystem-entry.html | 21 +++++++++++++++++---- ecosystem.html | 24 ++++++++++++++++-------- 8 files changed, 78 insertions(+), 40 deletions(-) rename _ecosystem/{lomap-mapper.md => lomap.md} (85%) diff --git a/_config.yml b/_config.yml index 5d05fbb..16f6603 100644 --- a/_config.yml +++ b/_config.yml @@ -36,6 +36,14 @@ collections: output: true ecosystem_catalog: + categories: + # name is the name used in YAML; label is the natural language label + - name: "atommappers" + label: "Atom Mappers" + - name: "networkplanners" + label: "Network Planners" + - name: "protocols" + label: "Protocols" category_labels: atommapper: "Atom Mappers" networkplanner: "Network Planners" diff --git a/_ecosystem/example.md b/_ecosystem/example.md index f9a8efa..05b5423 100644 --- a/_ecosystem/example.md +++ b/_ecosystem/example.md @@ -1,11 +1,13 @@ --- -name: An example plugin +title: An example plugin category: atommapper developers: Those cool cats at OpenFE source: https://github.com/openfreeenergy/openfreeenergy.github.io license: MIT -summary: >- - An awesome OpenFE plugin +atommappers: + - name: Example + description: >- + An awesome OpenFE plugin --- Now let me tell you all the awesome details about this plugin. diff --git a/_ecosystem/example2.md b/_ecosystem/example2.md index 8e3c05a..e0208ff 100644 --- a/_ecosystem/example2.md +++ b/_ecosystem/example2.md @@ -1,11 +1,11 @@ --- -name: Another example plugin -category: protocol +title: Another example plugin developers: more cool cats at OpenFE source: https://github.com/openfreeenergy/openfreeenergy.github.io license: MIT -summary: >- - A protocol plugin +protocols: + - name: Another example plugin + description: >- + A protocol plugin --- - diff --git a/_ecosystem/kartograf.md b/_ecosystem/kartograf.md index 8c67821..582ce56 100644 --- a/_ecosystem/kartograf.md +++ b/_ecosystem/kartograf.md @@ -1,13 +1,15 @@ --- -name: Kartograf -category: atommapper +title: Kartograf developers: Ben Ries and other OpenFE people source: https://github.com/openfreeenergy/kartograf license: MIT -summary: >- - Kartograf is a 3D-first atom mapper. This allows it to avoid some problems, - particularly those around chirality, that can occur with 2D mappers (e.g., - those focused on common substructure.) Ben can expand this a little if he wants. +atommappers: + - name: KartografAtomMapper + description: >- + Kartograf is a 3D-first atom mapper. This allows it to avoid some + problems, particularly those around chirality, that can occur with 2D + mappers (e.g., those focused on common substructure.) Ben can expand this + a little if he wants. --- This is where Ben should write a lot more detail about Kartograf. diff --git a/_ecosystem/lomap-mapper.md b/_ecosystem/lomap.md similarity index 85% rename from _ecosystem/lomap-mapper.md rename to _ecosystem/lomap.md index 7554dc4..7bbaf08 100644 --- a/_ecosystem/lomap-mapper.md +++ b/_ecosystem/lomap.md @@ -1,12 +1,18 @@ --- -name: LOMAP Atom Mapper -category: atommapper +title: LOMAP developers: Mobley Lab and Open Free Energy source: https://github.com/openfreeenergy/Lomap +conda-forge: lomap2 license: MIT -summary: >- - The LOMAP atom mapper is based on a maximum common substructure approach to - detemine the mapping between two ligands. +atommappers: + - name: LomapAtomMapper + description: >- + The LOMAP atom mapper is based on a maximum common substructure approach + to detemine the mapping between two ligands. +networkplanners: + - name: LomapNetworkPlanner + description: >- + lorem ipsum --- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor diff --git a/_includes/ecosystem-summary.html b/_includes/ecosystem-summary.html index 57276ef..c48aa09 100644 --- a/_includes/ecosystem-summary.html +++ b/_includes/ecosystem-summary.html @@ -1,24 +1,23 @@ {% comment %} This is the include file for a catalog entry summary card. Style can be done -in SASS/CSS. In this implementation, there's a paragraph for the entry -name (which links to the entry's full page), a paragraph for the developers, -a paramgraph for the entry's summary, and a list of bullet points for the -license and anything else we might want to add to the summary. +in SASS/CSS. + +This `include` takes `package` and `plugin` arguments. {% endcomment %} -
+

- {{ include.entry.name }} + {{ include.plugin.name }}

- {{ include.entry.developers }} + {{ include.project.developers }}

- {{ include.entry.summary }} + {{ include.plugin.description }}

diff --git a/_layouts/ecosystem-entry.html b/_layouts/ecosystem-entry.html index 85d1bd6..aa94ba2 100644 --- a/_layouts/ecosystem-entry.html +++ b/_layouts/ecosystem-entry.html @@ -18,14 +18,27 @@
{{ page.license }}
+
Plugins
+
+
    + {% for category in site.ecosystem_catalog.categories %} + {% for plugin in page[category.name] %} +
  • {{ plugin.name }}
  • + {% endfor %} + {% endfor %} +
+
{{ page.summary | markdownify }}
-

- {% assign label = site.ecosystem_catalog.category_labels[page.category] %} - {{ label | upcase }} -

+
    + {% for category in site.ecosystem_catalog.categories %} + {% if page[category.name] %} +
  • {{ category.label | upcase }}
  • + {% endif %} + {% endfor %} +
{{ page.content | markdownify }} diff --git a/ecosystem.html b/ecosystem.html index d9bc4a7..e4ad56f 100644 --- a/ecosystem.html +++ b/ecosystem.html @@ -4,19 +4,27 @@ description: >- Other tools in the OpenFE ecosystem. --- +{% comment %} +I don't exactly love this setup, because it scales as n_categories * +n_ecosystem_projects. However, AFAICT, Jekyll/liquid doesn't have proper +mappings. +{% endcomment %} {% assign grouped = site.ecosystem | group_by:"category" %} -{% for category in site.ecosystem_catalog.category_labels %} -

{{ category[1] }}

- {% assign cat_plugins = grouped | where: "name", category[0] %} +{% for category in site.ecosystem_catalog.categories %} +

{{ category.label }}

{% comment %} - There can only be one object in grouped with the appropriate name, so we - take cat_plugins[0]. We loop over them as li (as opposed to creating a - structure of divs) because that's better for screenreaders. + Loop as list (as opposed to creating a structure of divs) because that's + better for screenreaders. {% endcomment %}
    - {% for plugin in cat_plugins[0].items %} -
  • {% include ecosystem-summary.html entry=plugin %}
  • + {% for project in site.ecosystem %} + {% assign cat_plugins = project[category.name] %} + {% for plugin in cat_plugins %} +
  • + {% include ecosystem-summary.html plugin=plugin project=project %} +
  • {% endfor %} + {% endfor %}
{% endfor %} From 784fcebd02a86d6026315a021a14311acd5d40d8 Mon Sep 17 00:00:00 2001 From: "David W.H. Swenson" Date: Thu, 7 Dec 2023 11:08:11 -0600 Subject: [PATCH 04/11] per-project cleanup --- _config.yml | 5 +---- ecosystem.html | 1 - 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/_config.yml b/_config.yml index 16f6603..6bac276 100644 --- a/_config.yml +++ b/_config.yml @@ -36,6 +36,7 @@ collections: output: true ecosystem_catalog: + collection: "ecosystem" categories: # name is the name used in YAML; label is the natural language label - name: "atommappers" @@ -44,10 +45,6 @@ ecosystem_catalog: label: "Network Planners" - name: "protocols" label: "Protocols" - category_labels: - atommapper: "Atom Mappers" - networkplanner: "Network Planners" - protocol: "Protocols" paginate: 10 paginate_path: "/news/:num/" diff --git a/ecosystem.html b/ecosystem.html index e4ad56f..77263ab 100644 --- a/ecosystem.html +++ b/ecosystem.html @@ -10,7 +10,6 @@ mappings. {% endcomment %} -{% assign grouped = site.ecosystem | group_by:"category" %} {% for category in site.ecosystem_catalog.categories %}

{{ category.label }}

{% comment %} From 65eadbfb34785acf820429d284e7cff523d7248d Mon Sep 17 00:00:00 2001 From: "David W.H. Swenson" Date: Fri, 8 Dec 2023 10:17:04 -0600 Subject: [PATCH 05/11] update schema for new format --- _ecosystem/_default.md | 36 ++++++++++++++++++++++++++++++++---- _ecosystem/example.md | 1 - 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/_ecosystem/_default.md b/_ecosystem/_default.md index 251eae0..b284021 100644 --- a/_ecosystem/_default.md +++ b/_ecosystem/_default.md @@ -1,15 +1,43 @@ --- name: -category: developers: source: license: -summary: >- - +### SELECT THE TYPES OF PLUGINS YOU PROVIDE +# atommappers: +# - name: +# description: >- +# +# - name: +# description: >- +# +# networkplanners: +# - name: +# description: >- +# +# - name: +# description: >- +# +# scorers: +# - name: +# description: >- +# +# - name: +# description: >- +# +# protocols: +# - name: +# description: >- +# +# - name: +# description: >- +# -### FOLLOWING ARE OPTIONAL +### FOLLOWING ARE OPTIONAL (none used in current template) # docs: # contact: +# conda-forge: +# pypi: # publications: # - # thumbnail: diff --git a/_ecosystem/example.md b/_ecosystem/example.md index 05b5423..8bcbb6e 100644 --- a/_ecosystem/example.md +++ b/_ecosystem/example.md @@ -1,6 +1,5 @@ --- title: An example plugin -category: atommapper developers: Those cool cats at OpenFE source: https://github.com/openfreeenergy/openfreeenergy.github.io license: MIT From 12a6e917eb7311e2391f9059bcc9dc48407d9a45 Mon Sep 17 00:00:00 2001 From: "David W.H. Swenson" Date: Fri, 8 Dec 2023 10:39:05 -0600 Subject: [PATCH 06/11] add support for scorers --- _config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_config.yml b/_config.yml index 6bac276..ff915d5 100644 --- a/_config.yml +++ b/_config.yml @@ -41,6 +41,8 @@ ecosystem_catalog: # name is the name used in YAML; label is the natural language label - name: "atommappers" label: "Atom Mappers" + - name: "scorers" + label: "Mapping Scorers" - name: "networkplanners" label: "Network Planners" - name: "protocols" From ec95ef016e37a9b3d60f652ce7933f096d3c57ca Mon Sep 17 00:00:00 2001 From: "David W.H. Swenson" Date: Fri, 8 Dec 2023 10:47:43 -0600 Subject: [PATCH 07/11] update ecosystem readme --- README_ecosystem_plugins.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/README_ecosystem_plugins.md b/README_ecosystem_plugins.md index b00653b..a6aef08 100644 --- a/README_ecosystem_plugins.md +++ b/README_ecosystem_plugins.md @@ -20,11 +20,6 @@ you can work from. Add that file in a branch on your fork, and make a pull request to have your new entry added to the catalog! -NOTE: Each ecosystem catalog entry should fit into exactly one category. If -you've created a package that involves tools from multiple categories, please -create multiple catalog entries. One pull request may contain as many catalog -entries as you would like to add. - ## Customizing ecosystem configuration The general idea here is that catalog entries represent different "categories" @@ -49,8 +44,6 @@ Catalog entries are shown in two different styles: 1. Full-page mode, where a full web page is dedicated to each entry. This is intended to provide sufficient details for a reader to learn more about the entry. You can customize this mode in `_layouts/ecosystem-entry.html`. -2. Summary mode, where a brief summary of each entry is provided, e.g., as part - of a list of other catalog entries. You can customize this mode in +2. Summary mode (cards), where a brief summary of each entry is provided, e.g., + as part of a list of other catalog entries. You can customize this mode in `_includes/ecosystem-summary.html`. - -You can, of course, always create a custom page that loops over the From 23aeade0e826a517d017a3764bf30b173f0f19a1 Mon Sep 17 00:00:00 2001 From: "David W.H. Swenson" Date: Fri, 8 Dec 2023 12:50:29 -0600 Subject: [PATCH 08/11] improvements on the ecosystem entry mostly on the contents and CSS of the details box --- _includes/ecosystem-summary.html | 7 +++++- _layouts/ecosystem-entry.html | 41 ++++++++++++++++++++++++++++---- _sass/customizations.scss | 38 +++++++++++++++++++++++++---- 3 files changed, 76 insertions(+), 10 deletions(-) diff --git a/_includes/ecosystem-summary.html b/_includes/ecosystem-summary.html index c48aa09..c8a0070 100644 --- a/_includes/ecosystem-summary.html +++ b/_includes/ecosystem-summary.html @@ -12,8 +12,13 @@

{{ include.project.developers }}

+

+ Part of + {{ include.project.title }} + +

- {{ include.plugin.description }} + {{ include.plugin.description | markdownify }}

-
+
+
    {% for category in site.ecosystem_catalog.categories %} diff --git a/_sass/customizations.scss b/_sass/customizations.scss index 56782fe..b42ec9f 100644 --- a/_sass/customizations.scss +++ b/_sass/customizations.scss @@ -139,6 +139,11 @@ p.ecosystemSummaryTitle { margin-top: 5px; } +p.ecosystemSummaryProject { + font-size: 0.5em; + font-weight: 300; +} + p.ecosystemSummaryAuthor { font-size: 0.5em; font-weight: 300; @@ -172,7 +177,7 @@ ul.ecosystemSummaryExtras li { overflow: auto; } -div.ecosystemDetailsBox { +.ecosystemDetailsBox { width: 45%; float: right; color: var(--beastly-grey); @@ -181,21 +186,44 @@ div.ecosystemDetailsBox { margin: 1ex; } -div.ecosystemDetailsBox dd.ecosystemEntrySourceCode { +.ecosystemDetailsBox dd.ecosystemEntryLink { // if URL for source is too long, use ellipsis overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } -div.ecosystemDetailsBox p { +.ecosystemDetailsBox ul { + margin-block-start: 0em; + margin-block-end: 0em; + margin-top: 0em; +} + +.ecosystemEntryInstallation ul { + list-style-type: ""; + padding: 0ex; +} + +.ecosystemEntryInstallation kbd { + margin-bottom: 0em; +} + +.ecosystemDetailsBox li { + font-size: 1em; +} + +.ecosystemDetailsBox pre { + margin-top: 0em; +} + +.ecosystemDetailsBox p { font-size: 1.0em; } @media screen and (max-width: 639px) { - div.ecosystemDetailsBox { + .ecosystemDetailsBox { width: 90%; - float: left; + float: none; } } From 33c9afa3742c049bd11b1744673f5624b9f94675 Mon Sep 17 00:00:00 2001 From: "David W.H. Swenson" Date: Fri, 8 Dec 2023 13:09:53 -0600 Subject: [PATCH 09/11] small CSS and semantic HTML improvements --- _includes/ecosystem-summary.html | 21 ++++++++++++--------- _sass/customizations.scss | 24 ++++++++++++------------ 2 files changed, 24 insertions(+), 21 deletions(-) diff --git a/_includes/ecosystem-summary.html b/_includes/ecosystem-summary.html index c8a0070..95cdd1a 100644 --- a/_includes/ecosystem-summary.html +++ b/_includes/ecosystem-summary.html @@ -9,17 +9,20 @@

    {{ include.plugin.name }}

    -

    +

    {{ include.project.developers }} -

    -

    - Part of - {{ include.project.title }} - -

    -

    +
    + + Part of + {{ include.project.title }} + + +

    +
    +
    +
    {{ include.plugin.description | markdownify }} -

    +
    -
    {{ include.plugin.description | markdownify }}
    diff --git a/_layouts/ecosystem-entry.html b/_layouts/ecosystem-entry.html index 072cdf7..4c4c54f 100644 --- a/_layouts/ecosystem-entry.html +++ b/_layouts/ecosystem-entry.html @@ -62,7 +62,6 @@ {% endif %} -{{ page.summary | markdownify }}
      diff --git a/_sass/customizations.scss b/_sass/customizations.scss index 780a64a..924e22d 100644 --- a/_sass/customizations.scss +++ b/_sass/customizations.scss @@ -144,9 +144,12 @@ li.ecosystemSummaryItem { font-style: normal; } -p.ecosystemSummaryTitle { +.ecosystemSummary h1 { font-weight: 600; + font-size: 1em; + line-height: 1.4em; margin-top: 5px; + margin-bottom: 5px; } .ecosystemSummarySummary p { From 4d439b68afebb794ed6deeb8f77d4ab383de03ff Mon Sep 17 00:00:00 2001 From: "David W.H. Swenson" Date: Fri, 8 Dec 2023 13:48:07 -0600 Subject: [PATCH 11/11] update ecosystem/_default with still-unused --- _ecosystem/_default.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/_ecosystem/_default.md b/_ecosystem/_default.md index b284021..ded0639 100644 --- a/_ecosystem/_default.md +++ b/_ecosystem/_default.md @@ -33,14 +33,14 @@ license: # description: >- # -### FOLLOWING ARE OPTIONAL (none used in current template) +### FOLLOWING ARE OPTIONAL # docs: -# contact: +# contact: (not used) # conda-forge: # pypi: # publications: # - -# thumbnail: +# thumbnail: (not used) # src: # alt: ---