Skip to content

Commit 83ebdcf

Browse files
authored
Merge pull request #89 from meldra/content-2025
Massive update for modernization, layout improvements, and content
2 parents 217472f + 7553715 commit 83ebdcf

File tree

303 files changed

+32827
-44381
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

303 files changed

+32827
-44381
lines changed

.github/workflows/news.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: Update news
2+
3+
on:
4+
schedule:
5+
# Get the feed every day at 1:13 UTC
6+
- cron: "13 1 * * *"
7+
# allow manual update
8+
workflow_dispatch:
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- uses: actions/checkout@v4
16+
- name: Download File
17+
run: |
18+
curl https://www.softwareheritage.org/tag/codemeta/feed/ --output ./data/feeds/softwareheritage.xml
19+
working-directory: ${{ github.workspace }}
20+
- name: Commit and Push Changes
21+
run: |
22+
git config --global user.name "${{ github.actor }}"
23+
git config --global user.email "${{ github.actor }}@users.noreply.github.com"
24+
25+
git add ./data/feeds/
26+
git commit -m 'Update news' || true
27+
git push

config.toml

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
theme = "hugo-material"
1+
theme = "CodeMeta-Pyramids"
22
baseurl = "/"
33
relativeurls = true
44
title = "The CodeMeta Project"
@@ -7,7 +7,6 @@ disqusShortname = ""
77
ignoreFiles = ["\\.Rmd$", "_files$", "_cache$", "\\.csv", "\\.R"]
88
publishDir = "../website"
99

10-
1110
[[menu.main]]
1211
name = "Home"
1312
url = "/index.html"
@@ -41,24 +40,35 @@ publishDir = "../website"
4140
url = "/tools"
4241
weight = 8
4342

43+
[[menu.footer]]
44+
name = "Source code on Github"
45+
url = "https://github.com/codemeta/"
46+
pre = "<i class='bi-github'></i>"
47+
weight = 1
48+
[[menu.footer]]
49+
name = "Governance"
50+
url = "https://codemeta.github.io/governance/"
51+
weight = 2
52+
[[menu.footer]]
53+
name = "Scicodes Consortium"
54+
url = "https://scicodes.net/"
55+
weight = 3
56+
4457

4558
[params]
4659
name = "codemeta"
4760
github = "codemeta"
48-
custom_css = ["glyphicon.css"]
49-
#custom_css = ["cboettig.css"]
5061
repo = "codemeta.github.io"
5162
background = "img/pyramids.jpg"
63+
64+
newslimit = 5
65+
feeds = [
66+
"https://softwareheritage.org/tag/codemeta/feed/"
67+
]
5268

5369
date_format = "Mon, Jan 2, 2006"
5470
description = "A Rosetta Stone for Software Metadata"
5571

56-
# options for highlight.js (version, additional languages, and theme)
57-
highlightjsVersion = "9.10.0"
58-
highlightCDN = "//cdn.bootcss.com"
59-
highlightjsLang = ["r", "yaml", "json"]
60-
highlightjsTheme = "github"
61-
6272
[params.logo]
6373
url = "logo.png"
6474
width = 50
@@ -69,3 +79,5 @@ publishDir = "../website"
6979
[markup.goldmark]
7080
[markup.goldmark.renderer]
7181
unsafe = true
82+
[markup.highlight]
83+
style = 'pygments'

content/_index.md

Lines changed: 43 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,54 @@
11
---
22
title: "The CodeMeta Project"
3+
layout: landing
34
---
45

5-
## Motivation
6+
## Introducing CodeMeta
67

7-
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.
8+
Software development creates changes, and scientific research requires
9+
reproducibility. Since software is routinely used in research projects,
10+
this can cause problems.
811

9-
## What can software metadata do for you?
12+
_**CodeMeta acts as a vital bridge between these disciplines.**_
1013

11-
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.
14+
[Aiming to solve this problem](/background), CodeMeta was founded in 2016
15+
by a consortium of researchers. Using existing standards such as Schema.org
16+
terms and JSON-LD, CodeMeta is now a recognised framework that is employed
17+
by a worldwide community of developers, researchers, and archivists.
1218

13-
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.
19+
When used and maintained in code repositories and software distribution
20+
systems, CodeMeta enables the exact version of a library or application,
21+
that has been used and cited in scientific and other research, to be
22+
reliably identified and reused.
1423

15-
For more detail, [visit the project on GitHub](https://github.com/codemeta/codemeta) or check back here soon.
24+
### Research Software MetaData Guidelines
1625

17-
## Special thanks to our supporters
26+
CodeMeta is suggested for use by the following
27+
[Research Software MetaData Guidelines](https://fair-impact.github.io/RSMD-guidelines/)
28+
recommendations:
1829

19-
<img width="50px" src="/img/nsf.jpg"/>
20-
<img width="50px" src="/img/datacite.png"/>
21-
<img width="50px" src="/img/github.png"/>
22-
<img width="50px" src="/img/figshare.png"/>
23-
<img width="50px" src="/img/zenodo.jpg"/>
30+
{{< rsmd >}}
31+
32+
## Use Cases
33+
34+
Credit
35+
: CodeMeta's _citation_ metadata is useful for ensuring that authors get
36+
credit for their software, when it is used for published research.
37+
38+
Reproducibility
39+
: Tracking the software libraries and applications used in research, using
40+
CodeMeta's _versions_ and _dependencies_ metadata, ensures that important
41+
findings can be reviewed and verified with greater accuracy.
42+
43+
Discovery
44+
: Finding software is easier with CodeMeta's _keywords_ and _descriptions_
45+
metadata. These terms allow everyone to discover relevant software, and use
46+
or contribute to it.
47+
48+
## Connecting via Crosswalks
49+
50+
Repositories, software languages, and scientific domains often have different
51+
vocabularies for their metadata. Our Crosswalks exist to provide a reliable
52+
path to interoperability. By mapping each of these formats to CodeMeta via a
53+
Crosswalk, CodeMeta acts as a translation layer for data to be converted
54+
freely, preserving information that would otherwise be lost.

content/background.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
title: "The CodeMeta Project"
3+
layout: sidenav
4+
---
5+
6+
## Motivation
7+
8+
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.
9+
10+
## What can software metadata do for you?
11+
12+
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.
13+
14+
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.
15+
16+
For more detail, [visit the project on GitHub](https://github.com/codemeta/codemeta) or check back here soon.

content/create.md

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,46 @@
11
---
22
title: "Create a CodeMeta file"
3-
#layout: login
3+
layout: single
44
---
55

6-
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).
6+
Need to generate a CodeMeta compliant metadata file? The folks at
7+
[Software Heritage](https://www.softwareheritage.org) maintain this tool to
8+
make that easy.
9+
10+
Click the button below to open the CodeMeta generator in a new tab. The tool
11+
is both a generator and a validator for `codemeta.json` files.
12+
13+
## Create a new CodeMeta file
14+
15+
Generate a CodeMeta file by filling out the fields in the form according to
16+
the [CodeMeta terms](/terms) definitions. The `Name` field in the first
17+
section is mandatory.
18+
19+
Providing the `Name` of your software will result in a basic `codemeta.json`
20+
output in the final textarea. Filling out additional fields will build a
21+
more complete file. The version of CodeMeta can be selected with the
22+
`Generate codemeta.json v2.0` or `Generate codemeta.json v3.0` buttons above
23+
the final textarea.
24+
25+
Some fields require specific formatting. The example text in the fields will
26+
hint the required formatting. Errors will be highlighted by the generator as
27+
they are encountered.
28+
29+
Your generated file may be copied from the text area, or downloaded with the
30+
`Download codemeta.json` button above the field.
31+
32+
## Check a CodeMeta file
33+
34+
Pasting the contents of your current `codemeta.json` file into the final
35+
textarea will allow you to:
36+
- Validate the syntax with the `Validate codemeta.json` button, and
37+
- Pre-fill the other form fields with your current values using the
38+
`Import codemeta.json` button.
39+
740

841
{{< rawhtml >}}
42+
<a class="fw-bold btn btn-lg btn-primary my-5" href="/codemeta-generator" target="_blank">Open the CodeMeta Generator</a><br>
43+
944
<a href="https://www.softwareheritage.org">
10-
<img src="/img/swh-logo.png" style="height: 50px;"/> Software Heritage</a>
45+
<img alt="" src="/img/swh-logo.png" style="height: 50px;"/> Software Heritage</a>
1146
{{< /rawhtml >}}

content/developer-guide.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: CodeMeta Developer Guide
3+
layout: sidenav
34
---
45

56
This guide is intended for software developers who require detailed information about the CodeMeta project's

content/jsonld.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: "The CodeMeta JSON-LD Representation"
3+
layout: sidenav
34
---
45

56
CodeMeta uses JSON-LD to represent and translate between software metadata formats.

content/news.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
title: Codemeta News
3+
layout: single
4+
---
5+
6+
{{< news >}}

content/terms.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: CodeMeta Terms
3+
layout: sidenav
34
---
45

56
## Terms from Schema.org

content/tools.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
22
title: Tools
3+
layout: sidenav
34
---
45

56
This page lists some existing tools to help with CodeMeta files.

0 commit comments

Comments
 (0)