-
Notifications
You must be signed in to change notification settings - Fork 23
Massive update for modernization, layout improvements, and content #89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
8dc6878
Add CodeMeta-Pyramids theme files
meldra f3b27db
Cut over to CodeMeta-Pyramids theme from hugo-material
meldra 4f303d7
Removing the hugo-material theme as it is no longer needed.
meldra 397152f
Removing duplicate/unnecessary css.
meldra c99178c
Restore material-kit js, needed for responsive navigation with tweaks
meldra cb4cea2
Tweak the nav js to cope with page refreshes
meldra 34825f6
Add dark mode with toggler switch in nav.
meldra f660161
Make the dark mode js more robust (I hope)
meldra 1214f1f
More darkmode js refactoring
meldra d21d122
Style tweaks; codeblocks now nicer in both modes
meldra 0d8f4a8
Remove unneeded template login.html
meldra dd054c9
Add layout with custom TableOfContents in left sidebar
meldra 4d37dfb
Add sidenav layout to terms, user-guide, developer-guide pages
meldra a665c4f
Move RSS links to a link (with icon) after the footer nav (supercedes…
meldra 3b4a9b2
Add a partial for the supporter acknowledgements
meldra fbd4b95
Add a news partial for landing layout prep.
meldra 9435b67
Add first round of changes for landing layout.
meldra 06044a6
Swap index page to landing layout
meldra df0fd56
Add footer links per #83
meldra 3600b0c
Add sidenav to additional pages
meldra f255450
Display tweaks for supporters section
meldra 46be23c
Add some static news links for now
meldra 11a694e
Make landing columns collapse to one on tiny screens
meldra aa8e9d5
Add buttons where crosswalks may be expected
meldra ee66491
Fix color contrast and link visual indicators for accessibility
meldra 5f9d438
Add missing image alt and label text
meldra bd7e4ed
Add missing label for darkmode toggle
meldra a01d65c
Remove zoom prevention for accessibility
meldra 257115d
Final (tm) sweep of accessibility tweaks
meldra 37d24e2
Fix skip link alignment on tiny screens
meldra 557bde4
Adjust skip id to h1 rather than subsequent content
meldra 97f2fd9
Add missed non-colour visual indicators for main/footer navs
meldra 5606a69
Merge pull request #80 from meldra/refresh-2025
moranegg 4416fd6
Add workflow for periodically fetching the currently decided feed
meldra ce62072
Add carousel for RSMD recommendations
meldra ba9e681
Move original front page content, add less verbose copy with key info…
meldra b88e711
Move the buttons to the left landing region
meldra 9e40000
Make news sidebar rss based, and limitable by config
meldra 9021bee
Add a full news page for everything in the feeds
meldra cebad4a
Add current softwareheritage.org/tag/codemeta/feed/ file
meldra 9da2f09
Make RSMD info on front page driven by a data file
meldra 73cd767
Minor fixes
meldra 08b9c2c
Archive google doc notes for this page
meldra ce95633
Fix accidental omission when converting to data-driven
meldra 655d035
Add more content to sidebar
meldra 48b9360
Add missing supporter cards, fix links.
meldra 87ff7ca
Add JS refreshing to the news displays
meldra 02b0a36
Put codemeta-generator in an iframe on the /create page, with a short…
meldra 73820b1
Remove supporter card text links, fix card aspect ratio
meldra 21083c7
Reword intro content to link to original front page text
meldra 020bc83
Add direct link to the generator on the create page
meldra 2ab77d4
Last sweep of accessibility compliance
meldra 296d046
Merge branch 'master' into content-2025
meldra 8eb1edb
Apply suggestions from code review
meldra ee086cc
Apply suggestions from code review
meldra 10c3c30
Deduplicate news js, make it handle multiple feeds
meldra 7553715
Retire the iframe in favour of a button per review.
meldra File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| name: Update news | ||
|
|
||
| on: | ||
| schedule: | ||
| # Get the feed every day at 1:13 UTC | ||
| - cron: "13 1 * * *" | ||
| # allow manual update | ||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Download File | ||
| run: | | ||
| curl https://www.softwareheritage.org/tag/codemeta/feed/ --output ./data/feeds/softwareheritage.xml | ||
| working-directory: ${{ github.workspace }} | ||
| - name: Commit and Push Changes | ||
| run: | | ||
| git config --global user.name "${{ github.actor }}" | ||
| git config --global user.email "${{ github.actor }}@users.noreply.github.com" | ||
|
|
||
| git add ./data/feeds/ | ||
| git commit -m 'Update news' || true | ||
| git push |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,23 +1,54 @@ | ||
| --- | ||
| title: "The CodeMeta Project" | ||
| layout: landing | ||
| --- | ||
|
|
||
| ## Motivation | ||
| ## Introducing CodeMeta | ||
|
|
||
| Research relies heavily on scientific software, and a large and growing fraction of researchers are engaged in developing software as part of their own research ([Hannay et al 2009](https://doi.org/10.1109/SECSE.2009.5069155 "How do scientists develop and use scientific software?")). Despite this, _infrastructure to support the preservation, discovery, reuse, and attribution of software_ lags substantially behind that of other research products such as journal articles and research data. This lag is driven not so much by a lack of technology as it is by a lack of unity: existing mechanisms to archive, document, index, share, discover, and cite software contributions are heterogeneous among both disciplines and archives and rarely meet best practices ([Howison 2015](https://doi.org/10.1002/asi.23538 "Software in the scientific literature: Problems with seeing, finding, and using software mentioned in the biology literature")). Fortunately, a rapidly growing movement to improve preservation, discovery, reuse and attribution of academic software is now underway: a recent [NIH report](http://softwarediscoveryindex.org), conferences and working groups of [FORCE11](https://www.force11.org/), [WSSSPE](http://wssspe.researchcomputing.org.uk/) & [Software Sustainability Institute](http://www.software.ac.uk/), and the rising adoption of repositories like [GitHub](https://github.com), [Zenodo](https://zenodo.org), [figshare](https://figshare.com) & [DataONE](https://www.dataone.org) by academic software developers. Now is the time to improve how these resources can talk to each other. | ||
| Software development creates changes, and scientific research requires | ||
| reproducibility. Since software is routinely used in research projects, | ||
| this can cause problems. | ||
|
|
||
| ## What can software metadata do for you? | ||
| _**CodeMeta acts as a vital bridge between these disciplines.**_ | ||
|
|
||
| What metadata you want from software is determined by your use case. If your primary concerns are credit for academic software, then you're most interested in _citation_ metadata. If you're trying to replicate some analysis, you worry more about versions and dependencies than about authors and titles. And if you seek to discover software you don't already know about that is suitable for a particular task, well then you are interested more in keywords and descriptions. Frequently, developers of scientific software, repositories that host that software, and users themselves are interested in more than one of these objectives, and others besides. | ||
| [Aiming to solve this problem](/background), CodeMeta was founded in 2016 | ||
| by a consortium of researchers. Using existing standards such as Schema.org | ||
| terms and JSON-LD, CodeMeta is now a recognised framework that is employed | ||
| by a worldwide community of developers, researchers, and archivists. | ||
|
|
||
| Different software repositories, software languages and scientific domains denote this information in different ways, which makes it difficult or impossible for tools to work across these different sources without losing valuable information along the way. For instance, a fantastic collaboration between GitHub and figshare provides researchers a way to import software on the former into the persistent archive of the latter, getting a permanent identifier, a DOI in the process. To assign a DOI, figshare must then pass metadata about the object to DataCite, the central DOI provider for all repositories. While this makes DataCite a powerful aggregator, the lack of a crosswalk table means that much valuable metadata is currently lost along the way, such as the original software license, platform, and so forth. Any tool or approach working across software repositories faces similar challenges without a crosswalk table to translate between these. | ||
| When used and maintained in code repositories and software distribution | ||
| systems, CodeMeta enables the exact version of a library or application, | ||
| that has been used and cited in scientific and other research, to be | ||
| reliably identified and reused. | ||
|
|
||
| For more detail, [visit the project on GitHub](https://github.com/codemeta/codemeta) or check back here soon. | ||
| ### Research Software MetaData Guidelines | ||
|
|
||
| ## Special thanks to our supporters | ||
| CodeMeta is suggested for use by the following | ||
| [Research Software MetaData Guidelines](https://fair-impact.github.io/RSMD-guidelines/) | ||
| recommendations: | ||
|
|
||
| <img width="50px" src="/img/nsf.jpg"/> | ||
| <img width="50px" src="/img/datacite.png"/> | ||
| <img width="50px" src="/img/github.png"/> | ||
| <img width="50px" src="/img/figshare.png"/> | ||
| <img width="50px" src="/img/zenodo.jpg"/> | ||
| {{< rsmd >}} | ||
|
|
||
| ## Use Cases | ||
|
|
||
| Credit | ||
| : CodeMeta's _citation_ metadata is useful for ensuring that authors get | ||
| credit for their software, when it is used for published research. | ||
|
|
||
| Reproducibility | ||
| : Tracking the software libraries and applications used in research, using | ||
| CodeMeta's _versions_ and _dependencies_ metadata, ensures that important | ||
| findings can be reviewed and verified with greater accuracy. | ||
|
|
||
| Discovery | ||
| : Finding software is easier with CodeMeta's _keywords_ and _descriptions_ | ||
| metadata. These terms allow everyone to discover relevant software, and use | ||
| or contribute to it. | ||
|
|
||
| ## Connecting via Crosswalks | ||
|
|
||
| Repositories, software languages, and scientific domains often have different | ||
| vocabularies for their metadata. Our Crosswalks exist to provide a reliable | ||
| path to interoperability. By mapping each of these formats to CodeMeta via a | ||
| Crosswalk, CodeMeta acts as a translation layer for data to be converted | ||
| freely, preserving information that would otherwise be lost. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| --- | ||
| title: "The CodeMeta Project" | ||
| layout: sidenav | ||
| --- | ||
|
|
||
| ## Motivation | ||
|
|
||
| Research relies heavily on scientific software, and a large and growing fraction of researchers are engaged in developing software as part of their own research ([Hannay et al 2009](https://doi.org/10.1109/SECSE.2009.5069155 "How do scientists develop and use scientific software?")). Despite this, _infrastructure to support the preservation, discovery, reuse, and attribution of software_ lags substantially behind that of other research products such as journal articles and research data. This lag is driven not so much by a lack of technology as it is by a lack of unity: existing mechanisms to archive, document, index, share, discover, and cite software contributions are heterogeneous among both disciplines and archives and rarely meet best practices ([Howison 2015](https://doi.org/10.1002/asi.23538 "Software in the scientific literature: Problems with seeing, finding, and using software mentioned in the biology literature")). Fortunately, a rapidly growing movement to improve preservation, discovery, reuse and attribution of academic software is now underway: a recent [NIH report](http://softwarediscoveryindex.org), conferences and working groups of [FORCE11](https://www.force11.org/), [WSSSPE](http://wssspe.researchcomputing.org.uk/) & [Software Sustainability Institute](http://www.software.ac.uk/), and the rising adoption of repositories like [GitHub](https://github.com), [Zenodo](https://zenodo.org), [figshare](https://figshare.com) & [DataONE](https://www.dataone.org) by academic software developers. Now is the time to improve how these resources can talk to each other. | ||
|
|
||
| ## What can software metadata do for you? | ||
|
|
||
| What metadata you want from software is determined by your use case. If your primary concerns are credit for academic software, then you're most interested in _citation_ metadata. If you're trying to replicate some analysis, you worry more about versions and dependencies than about authors and titles. And if you seek to discover software you don't already know about that is suitable for a particular task, well then you are interested more in keywords and descriptions. Frequently, developers of scientific software, repositories that host that software, and users themselves are interested in more than one of these objectives, and others besides. | ||
|
|
||
| Different software repositories, software languages and scientific domains denote this information in different ways, which makes it difficult or impossible for tools to work across these different sources without losing valuable information along the way. For instance, a fantastic collaboration between GitHub and figshare provides researchers a way to import software on the former into the persistent archive of the latter, getting a permanent identifier, a DOI in the process. To assign a DOI, figshare must then pass metadata about the object to DataCite, the central DOI provider for all repositories. While this makes DataCite a powerful aggregator, the lack of a crosswalk table means that much valuable metadata is currently lost along the way, such as the original software license, platform, and so forth. Any tool or approach working across software repositories faces similar challenges without a crosswalk table to translate between these. | ||
|
|
||
| For more detail, [visit the project on GitHub](https://github.com/codemeta/codemeta) or check back here soon. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,46 @@ | ||
| --- | ||
| title: "Create a CodeMeta file" | ||
| #layout: login | ||
| layout: single | ||
| --- | ||
|
|
||
| Need to generate a CodeMeta compliant metadata file? Try out the [CodeMeta Generator](https://codemeta.github.io/codemeta-generator), which was created by the folks at [Software Heritage](https://www.softwareheritage.org). | ||
| Need to generate a CodeMeta compliant metadata file? The folks at | ||
| [Software Heritage](https://www.softwareheritage.org) maintain this tool to | ||
| make that easy. | ||
|
|
||
| Click the button below to open the CodeMeta generator in a new tab. The tool | ||
| is both a generator and a validator for `codemeta.json` files. | ||
|
|
||
| ## Create a new CodeMeta file | ||
|
|
||
| Generate a CodeMeta file by filling out the fields in the form according to | ||
| the [CodeMeta terms](/terms) definitions. The `Name` field in the first | ||
| section is mandatory. | ||
|
|
||
| Providing the `Name` of your software will result in a basic `codemeta.json` | ||
| output in the final textarea. Filling out additional fields will build a | ||
| more complete file. The version of CodeMeta can be selected with the | ||
| `Generate codemeta.json v2.0` or `Generate codemeta.json v3.0` buttons above | ||
| the final textarea. | ||
|
|
||
| Some fields require specific formatting. The example text in the fields will | ||
| hint the required formatting. Errors will be highlighted by the generator as | ||
| they are encountered. | ||
|
|
||
| Your generated file may be copied from the text area, or downloaded with the | ||
| `Download codemeta.json` button above the field. | ||
|
|
||
| ## Check a CodeMeta file | ||
|
|
||
| Pasting the contents of your current `codemeta.json` file into the final | ||
| textarea will allow you to: | ||
| - Validate the syntax with the `Validate codemeta.json` button, and | ||
| - Pre-fill the other form fields with your current values using the | ||
| `Import codemeta.json` button. | ||
|
|
||
|
|
||
| {{< rawhtml >}} | ||
| <a class="fw-bold btn btn-lg btn-primary my-5" href="/codemeta-generator" target="_blank">Open the CodeMeta Generator</a><br> | ||
|
|
||
| <a href="https://www.softwareheritage.org"> | ||
| <img src="/img/swh-logo.png" style="height: 50px;"/> Software Heritage</a> | ||
| <img alt="" src="/img/swh-logo.png" style="height: 50px;"/> Software Heritage</a> | ||
| {{< /rawhtml >}} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| --- | ||
| title: Codemeta News | ||
| layout: single | ||
| --- | ||
|
|
||
| {{< news >}} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,6 @@ | ||
| --- | ||
| title: CodeMeta Terms | ||
| layout: sidenav | ||
| --- | ||
|
|
||
| ## Terms from Schema.org | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,6 @@ | ||
| --- | ||
| title: Tools | ||
| layout: sidenav | ||
| --- | ||
|
|
||
| This page lists some existing tools to help with CodeMeta files. | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,10 @@ | ||
| --- | ||
| layout: single | ||
| --- | ||
|
|
||
| Edited Use cases | ||
| CodeMeta meeting in Portland | ||
| Created 20160415 (use cases group pulled from here 230pm 20160516) https://docs.google.com/document/d/1SalOP_tLw7FC6jnoz5hJBB2jA7xBClKqc88wgmJu5Ro/edit | ||
| Created 20160415 (use cases group pulled from here 230pm 20160516) [PDF export of google doc notes](/CodeMeta_Software_Use_Cases-Day2PM_WrkngGrp.pdf) | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. thx |
||
|
|
||
|
|
||
|
|
||
|
|
@@ -296,4 +300,4 @@ datacite/crossref/orcid -- utility providers | |
| ``Repository'' refers to public software repositories such as GitHub, Netlib, Comprehensive R Archive Network (CRAN), and institutional repositories. \item ` | ||
|
|
||
|
|
||
| ``Citation manager`` refers to people and organizations that create scholarly reference management software and websites including Zotero, Mendeley, EndNote, RefWorks, BibDesk, etc., that manage citation information and semi-automatically insert those citations into research products. | ||
| ``Citation manager`` refers to people and organizations that create scholarly reference management software and websites including Zotero, Mendeley, EndNote, RefWorks, BibDesk, etc., that manage citation information and semi-automatically insert those citations into research products. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,6 @@ | ||
| --- | ||
| title: User Guide | ||
| layout: sidenav | ||
| --- | ||
|
|
||
| ## Generating a CodeMeta file | ||
|
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Off-topic for this PR, but I find that dependency metadata in Codemeta is either missing or unusable because it's underspecified