From 037e383b74c02004dcdfa9ee0ec6d7da9d321fd2 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 25 May 2023 13:58:40 +0200 Subject: [PATCH 1/3] Use native Hugo templating to generate crosswalks Instead of .Rmd files, which require having .html files as input to Hugo, which need to be committed to git. This makes it easier to keep the website up-to-date with the main crosswalk. This also updates `.github/workflows/deploy.yml` to run daily, in order to apply such changes from github.com/codemeta/codemeta without the need for specific commits in this repository (github.com/codemeta/codemeta.github.io/) --- .github/workflows/check.yml | 4 + .github/workflows/deploy.yml | 3 + Makefile | 9 + README.md | 9 +- content/crosswalk/R.Rmd | 19 - content/crosswalk/R.html | 159 ------ content/crosswalk/R.md | 9 + content/crosswalk/datacite.Rmd | 21 - content/crosswalk/datacite.html | 152 ------ content/crosswalk/datacite.md | 11 + content/crosswalk/debian.Rmd | 19 - content/crosswalk/debian.html | 64 --- content/crosswalk/debian.md | 10 + content/crosswalk/doap.Rmd | 19 - content/crosswalk/doap.html | 151 ----- content/crosswalk/doap.md | 10 + content/crosswalk/dublincore.Rmd | 18 - content/crosswalk/dublincore.html | 93 ---- content/crosswalk/dublincore.md | 7 + content/crosswalk/figshare.Rmd | 18 - content/crosswalk/figshare.html | 102 ---- content/crosswalk/figshare.md | 9 + content/crosswalk/github.Rmd | 18 - content/crosswalk/github.html | 110 ---- content/crosswalk/github.md | 9 + content/crosswalk/java.Rmd | 20 - content/crosswalk/java.html | 96 ---- content/crosswalk/java.md | 11 + content/crosswalk/node.Rmd | 19 - content/crosswalk/node.html | 159 ------ content/crosswalk/node.md | 10 + content/crosswalk/python.Rmd | 20 - content/crosswalk/python.html | 120 ---- content/crosswalk/python.md | 11 + content/crosswalk/ruby.Rmd | 19 - content/crosswalk/ruby.html | 104 ---- content/crosswalk/ruby.md | 11 + content/crosswalk/swo.html | 71 --- content/crosswalk/{swo.Rmd => swo.md} | 13 +- content/crosswalk/trove.Rmd | 18 - content/crosswalk/trove.html | 102 ---- content/crosswalk/trove.md | 9 + content/crosswalk/wikidata.html | 256 --------- .../crosswalk/{wikidata.Rmd => wikidata.md} | 11 +- content/crosswalk/zenodo.html | 126 ----- content/crosswalk/{zenodo.Rmd => zenodo.md} | 11 +- data/.gitignore | 2 + data/.gitkeep | 0 data/crosswalk.json | 515 ------------------ data/parse_data.R | 13 - layouts/shortcodes/crosswalk.md | 28 + scripts/crosswalk_to_json.py | 46 ++ 52 files changed, 219 insertions(+), 2655 deletions(-) create mode 100644 Makefile delete mode 100644 content/crosswalk/R.Rmd delete mode 100644 content/crosswalk/R.html create mode 100644 content/crosswalk/R.md delete mode 100644 content/crosswalk/datacite.Rmd delete mode 100644 content/crosswalk/datacite.html create mode 100644 content/crosswalk/datacite.md delete mode 100644 content/crosswalk/debian.Rmd delete mode 100644 content/crosswalk/debian.html create mode 100644 content/crosswalk/debian.md delete mode 100644 content/crosswalk/doap.Rmd delete mode 100644 content/crosswalk/doap.html create mode 100644 content/crosswalk/doap.md delete mode 100644 content/crosswalk/dublincore.Rmd delete mode 100644 content/crosswalk/dublincore.html create mode 100644 content/crosswalk/dublincore.md delete mode 100644 content/crosswalk/figshare.Rmd delete mode 100644 content/crosswalk/figshare.html create mode 100644 content/crosswalk/figshare.md delete mode 100644 content/crosswalk/github.Rmd delete mode 100644 content/crosswalk/github.html create mode 100644 content/crosswalk/github.md delete mode 100644 content/crosswalk/java.Rmd delete mode 100644 content/crosswalk/java.html create mode 100644 content/crosswalk/java.md delete mode 100644 content/crosswalk/node.Rmd delete mode 100644 content/crosswalk/node.html create mode 100644 content/crosswalk/node.md delete mode 100644 content/crosswalk/python.Rmd delete mode 100644 content/crosswalk/python.html create mode 100644 content/crosswalk/python.md delete mode 100644 content/crosswalk/ruby.Rmd delete mode 100644 content/crosswalk/ruby.html create mode 100644 content/crosswalk/ruby.md delete mode 100644 content/crosswalk/swo.html rename content/crosswalk/{swo.Rmd => swo.md} (59%) delete mode 100644 content/crosswalk/trove.Rmd delete mode 100644 content/crosswalk/trove.html create mode 100644 content/crosswalk/trove.md delete mode 100644 content/crosswalk/wikidata.html rename content/crosswalk/{wikidata.Rmd => wikidata.md} (53%) delete mode 100644 content/crosswalk/zenodo.html rename content/crosswalk/{zenodo.Rmd => zenodo.md} (51%) create mode 100644 data/.gitignore create mode 100644 data/.gitkeep delete mode 100644 data/crosswalk.json delete mode 100644 data/parse_data.R create mode 100644 layouts/shortcodes/crosswalk.md create mode 100644 scripts/crosswalk_to_json.py diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 031fe44..65f886c 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -4,6 +4,10 @@ on: # Runs on pushes targeting any branch and on pull requests push: pull_request: + schedule: + # rebuild every day at 2:13 UTC, to apply any change to the crosswalk + # table made in https://github.com/codemeta/codemeta + - cron: "13 2 * * *" # Allows you to run this workflow manually from the Actions tab workflow_dispatch: diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 5771486..b59293d 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -36,6 +36,9 @@ jobs: - name: Setup Pages id: pages uses: actions/configure-pages@v3 + - name: Prepare data files + run: | + make - name: Build with Hugo env: # For maximum backward compatibility with Hugo modules diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..366d4e1 --- /dev/null +++ b/Makefile @@ -0,0 +1,9 @@ +all: data/crosswalk.json + +# Download the latest crosswalk +data/crosswalk.csv: + wget https://github.com/codemeta/codemeta/raw/master/crosswalk.csv -O data/crosswalk.csv + +# Convert crosswalk.csv to crosswalk.json so Hugo can parse it +data/crosswalk.json: data/crosswalk.csv + python3 scripts/crosswalk_to_json.py diff --git a/README.md b/README.md index f77e7d5..e0bef48 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ # CodeMeta Website -This website is written in [Hugo](https://hugodocs.info). Hugo is the static website engine behind the wonderful RStudio package `blogdown`, and is fast, popular, and easy to install and theme. See the [Hugo docs](https://hugodocs.info) for a quick orientation on how the site is organized. `blogdown` makes it easy to run Hugo from the RStudio editor and include R code in `.Rmd` content in Hugo sites. +This website is written in [Hugo](https://hugodocs.info). Hugo is a static website engine, which is fast, popular, and easy to install and theme. See the [Hugo docs](https://hugodocs.info) for a quick orientation on how the site is organized. -To build and preview the site from RStudio, just use `blogdown::serve_site()`. `blogdown::install_hugo()` will get you set up the first time. +Before building the site, you should run the `make` command, in order to download the crosswalk locally; which is used by Hugo to generate the content of crosswalk pages. + +Then, at your option: + +* To build the site to `../website`, run `hugo`. You may then open that folder in your browser, or +* To previous the site directly without RStudio, run `hugo serve`, which will make the site available at http://localhost:1313/ diff --git a/content/crosswalk/R.Rmd b/content/crosswalk/R.Rmd deleted file mode 100644 index 9578f20..0000000 --- a/content/crosswalk/R.Rmd +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Crosswalk for R Packages" -image: "/img/R.png" -date: "2017-06-01" ---- - -The following table displays the crosswalk mapping of terms from the R package DESCRIPTION file to codemeta properties. - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `R Package Description`) %>% - filter(!is.na(`R Package Description`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/R.html b/content/crosswalk/R.html deleted file mode 100644 index c054685..0000000 --- a/content/crosswalk/R.html +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: "Crosswalk for R Packages" -image: "/img/R.png" -date: "2017-06-01" ---- - - - -

The following table displays the crosswalk mapping of terms from the R package DESCRIPTION file to codemeta properties.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -R Package Description -
-codeRepository - -URL -
-softwareRequirements - -Depends, SystemRequirements -
-author - -[aut] in Author -
-contributor - -[ctb] in Author -
-creator - -[cre] in Author -
-datePublished - -Date -
-license - -License -
-description - -Description -
-identifier - -Package -
-name - -Title -
-url - -URL -
-givenName - -givenName -
-familyName - -familyName -
-email - -email -
-softwareSuggestions - -Suggests -
-maintainer - -Maintainer -
-issueTracker - -BugReports -
diff --git a/content/crosswalk/R.md b/content/crosswalk/R.md new file mode 100644 index 0000000..5544477 --- /dev/null +++ b/content/crosswalk/R.md @@ -0,0 +1,9 @@ +--- +title: "Crosswalk for R Packages" +image: "/img/R.png" +date: "2017-06-01" +--- + +The following table displays the crosswalk mapping of terms from the R package DESCRIPTION file to codemeta properties. + +{{< crosswalk name="R Package Description" >}} diff --git a/content/crosswalk/datacite.Rmd b/content/crosswalk/datacite.Rmd deleted file mode 100644 index 575407a..0000000 --- a/content/crosswalk/datacite.Rmd +++ /dev/null @@ -1,21 +0,0 @@ ---- -title: "Crosswalk for DataCite metadata" -image: "/img/datacite.png" -date: "2017-06-01" - ---- - - - - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `DataCite`) %>% - filter(!is.na(`DataCite`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/datacite.html b/content/crosswalk/datacite.html deleted file mode 100644 index 457481b..0000000 --- a/content/crosswalk/datacite.html +++ /dev/null @@ -1,152 +0,0 @@ ---- -title: "Crosswalk for DataCite metadata" -image: "/img/datacite.png" -date: "2017-06-01" - ---- - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -DataCite -
-programmingLanguage - -Format -
-author - -creators -
-dateCreated - -date -
-dateModified - -date -
-datePublished - -publicationYear -
-fileFormat - -Format -
-license - -rights -
-publisher - -publisher -
-version - -version -
-description - -description -
-identifier - -identifier -
-relatedLink - -RelateIdentifier -
-givenName - -givenName -
-familyName - -familyName -
-affiliation - -affiliation -
-identifier - -nameIdentifier -
diff --git a/content/crosswalk/datacite.md b/content/crosswalk/datacite.md new file mode 100644 index 0000000..519ca01 --- /dev/null +++ b/content/crosswalk/datacite.md @@ -0,0 +1,11 @@ +--- +title: "Crosswalk for DataCite metadata" +image: "/img/datacite.png" +date: "2017-06-01" + +--- + + + + +{{< crosswalk name="DataCite" >}} diff --git a/content/crosswalk/debian.Rmd b/content/crosswalk/debian.Rmd deleted file mode 100644 index a61c880..0000000 --- a/content/crosswalk/debian.Rmd +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Crosswalk for Debian packages" -image: "/img/debian.png" -date: "2017-06-01" - ---- - -The [Debian package system](https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_archive_meta_data) defines archive metadata that is used by the popular `apt` package managment system on Debian and Ubuntu Linux distributions. - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `Debian Package`) %>% - filter(!is.na(`Debian Package`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/debian.html b/content/crosswalk/debian.html deleted file mode 100644 index 47846cb..0000000 --- a/content/crosswalk/debian.html +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: "Crosswalk for Debian packages" -image: "/img/debian.png" -date: "2017-06-01" - ---- - - - -

The Debian package system defines archive metadata that is used by the popular apt package managment system on Debian and Ubuntu Linux distributions.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -Debian Package -
-codeRepository - -HomePage -
-dateCreated - -Date -
-version - -numeric_version -
-description - -Description -
-identifier - -Package -
diff --git a/content/crosswalk/debian.md b/content/crosswalk/debian.md new file mode 100644 index 0000000..407048f --- /dev/null +++ b/content/crosswalk/debian.md @@ -0,0 +1,10 @@ +--- +title: "Crosswalk for Debian packages" +image: "/img/debian.png" +date: "2017-06-01" + +--- + +The [Debian package system](https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_archive_meta_data) defines archive metadata that is used by the popular `apt` package managment system on Debian and Ubuntu Linux distributions. + +{{< crosswalk name="Debian Package" >}} diff --git a/content/crosswalk/doap.Rmd b/content/crosswalk/doap.Rmd deleted file mode 100644 index 1307838..0000000 --- a/content/crosswalk/doap.Rmd +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Crosswalk for DOAP Ontology" -image: "/img/codemeta.png" -date: "2017-06-01" ---- - -[DOAP](https://github.com/ewilderj/doap) (Description of a Project) is an XML/RDF vocabulary to describe software projects, and in particular open source projects. - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `DOAP`) %>% - filter(!is.na(`DOAP`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/doap.html b/content/crosswalk/doap.html deleted file mode 100644 index 4d2d3b7..0000000 --- a/content/crosswalk/doap.html +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: "Crosswalk for DOAP Ontology" -image: "/img/codemeta.png" -date: "2017-06-01" ---- - - - -

DOAP (Description of a Project) is an XML/RDF vocabulary to describe software projects, and in particular open source projects.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -DOAP -
-codeRepository - -repository -
-programmingLanguage - -programming-language -
-runtimePlatform - -platform -
-downloadUrl - -download-page -
-installUrl - -download-mirror -
-operatingSystem - -os -
-softwareVersion - -release -
-author - -developer -
-contributor - -developer -
-keywords - -category -
-license - -license -
-publisher - -vendor -
-url - -homepage -
-maintainer - -maintainer -
-issueTracker - -bug-database -
-referencePublication - -blog -
diff --git a/content/crosswalk/doap.md b/content/crosswalk/doap.md new file mode 100644 index 0000000..0e43d29 --- /dev/null +++ b/content/crosswalk/doap.md @@ -0,0 +1,10 @@ +--- +title: "Crosswalk for DOAP Ontology" +image: "/img/codemeta.png" +date: "2017-06-01" +--- + +[DOAP](https://github.com/ewilderj/doap) (Description of a Project) is an XML/RDF vocabulary to describe software projects, and in particular open source projects. + + +{{< crosswalk name="DOAP" >}} diff --git a/content/crosswalk/dublincore.Rmd b/content/crosswalk/dublincore.Rmd deleted file mode 100644 index 8824486..0000000 --- a/content/crosswalk/dublincore.Rmd +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Crosswalk for Dublin Core metadata" -image: "/img/dcmi.png" ---- - - - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `Dublin Core`) %>% - filter(!is.na(`Dublin Core`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/dublincore.html b/content/crosswalk/dublincore.html deleted file mode 100644 index 595c006..0000000 --- a/content/crosswalk/dublincore.html +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: "Crosswalk for Dublin Core metadata" -image: "/img/dcmi.png" ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -Dublin Core -
-creator - -creator -
-dateCreated - -created -
-datePublished - -date -
-license - -license -
-publisher - -publisher -
-version - -dcterms:hasVersion -
-description - -description -
-identifier - -identifier -
-name - -title -
diff --git a/content/crosswalk/dublincore.md b/content/crosswalk/dublincore.md new file mode 100644 index 0000000..e519bd9 --- /dev/null +++ b/content/crosswalk/dublincore.md @@ -0,0 +1,7 @@ +--- +title: "Crosswalk for Dublin Core metadata" +image: "/img/dcmi.png" +--- + + +{{< crosswalk name="Dublin Core" >}} diff --git a/content/crosswalk/figshare.Rmd b/content/crosswalk/figshare.Rmd deleted file mode 100644 index ba48bda..0000000 --- a/content/crosswalk/figshare.Rmd +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Crosswalk for figshare metadata" -image: "/img/figshare.jpg" ---- - -[figshare](https://figshare.com) is a general purpose scientific data repository that provides DataCite DOIs. - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `Figshare`) %>% - filter(!is.na(`Figshare`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/figshare.html b/content/crosswalk/figshare.html deleted file mode 100644 index af27945..0000000 --- a/content/crosswalk/figshare.html +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: "Crosswalk for figshare metadata" -image: "/img/figshare.jpg" ---- - - - -

figshare is a general purpose scientific data repository that provides DataCite DOIs.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -Figshare -
-codeRepository - -relatedLink -
-applicationCategory - -categories -
-datePublished - -date_retrieved -
-keywords - -tags -
-license - -License -
-description - -Description -
-name - -Title -
-identifier - -ORCID -
-name - -name -
-embargoDate - -embargo_date -
diff --git a/content/crosswalk/figshare.md b/content/crosswalk/figshare.md new file mode 100644 index 0000000..76fa16a --- /dev/null +++ b/content/crosswalk/figshare.md @@ -0,0 +1,9 @@ +--- +title: "Crosswalk for figshare metadata" +image: "/img/figshare.jpg" +--- + +[figshare](https://figshare.com) is a general purpose scientific data repository that provides DataCite DOIs. + + +{{< crosswalk name="Figshare" >}} diff --git a/content/crosswalk/github.Rmd b/content/crosswalk/github.Rmd deleted file mode 100644 index 157b362..0000000 --- a/content/crosswalk/github.Rmd +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Crosswalk for GitHub API" -image: "/img/github.png" -date: "2017-06-01" ---- - - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `GitHub`) %>% - filter(!is.na(`GitHub`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/github.html b/content/crosswalk/github.html deleted file mode 100644 index f1828aa..0000000 --- a/content/crosswalk/github.html +++ /dev/null @@ -1,110 +0,0 @@ ---- -title: "Crosswalk for GitHub API" -image: "/img/github.png" -date: "2017-06-01" ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -GitHub -
-codeRepository - -html_url -
-programmingLanguage - -languages_url -
-downloadUrl - -archive_url -
-author - -login -
-dateCreated - -created_at -
-dateModified - -updated_at -
-license - -license -
-description - -description -
-identifier - -id -
-name - -full_name -
-issueTracker - -issues_url -
diff --git a/content/crosswalk/github.md b/content/crosswalk/github.md new file mode 100644 index 0000000..870a4fc --- /dev/null +++ b/content/crosswalk/github.md @@ -0,0 +1,9 @@ +--- +title: "Crosswalk for GitHub API" +image: "/img/github.png" +date: "2017-06-01" +--- + + + +{{< crosswalk name="GitHub" >}} diff --git a/content/crosswalk/java.Rmd b/content/crosswalk/java.Rmd deleted file mode 100644 index 33f33de..0000000 --- a/content/crosswalk/java.Rmd +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "Crosswalk for Java's Maven metadata" -image: "/img/java.png" -date: "2017-06-01" - ---- - -[Maven](https://maven.apache.org/what-is-maven.html) is a popular packaging/build system for Java-based projects. - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `Java (Maven)`) %>% - filter(!is.na(`Java (Maven)`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/java.html b/content/crosswalk/java.html deleted file mode 100644 index 04b82e7..0000000 --- a/content/crosswalk/java.html +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: "Crosswalk for Java's Maven metadata" -image: "/img/java.png" -date: "2017-06-01" - ---- - - - -

Maven is a popular packaging/build system for Java-based projects.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -Java (Maven) -
-codeRepository - -repositories -
-softwareRequirements - -prerequisites -
-license - -licesnse -
-version - -version -
-description - -description -
-identifier - -groupId -
-name - -name -
-contIntegration - -ciManagement -
-issueTracker - -issuesManagement -
diff --git a/content/crosswalk/java.md b/content/crosswalk/java.md new file mode 100644 index 0000000..55ba316 --- /dev/null +++ b/content/crosswalk/java.md @@ -0,0 +1,11 @@ +--- +title: "Crosswalk for Java's Maven metadata" +image: "/img/java.png" +date: "2017-06-01" + +--- + +[Maven](https://maven.apache.org/what-is-maven.html) is a popular packaging/build system for Java-based projects. + + +{{< crosswalk name="Java (Maven)" >}} diff --git a/content/crosswalk/node.Rmd b/content/crosswalk/node.Rmd deleted file mode 100644 index 72681ff..0000000 --- a/content/crosswalk/node.Rmd +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Crosswalk for NodeJS package.json" -image: "/img/npm.png" -date: "2017-06-01" ---- - -The `npm` package manager for NodeJS [defines](https://docs.npmjs.com/files/package.json) software metadata using a `package.json` file. - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `NodeJS`) %>% - filter(!is.na(`NodeJS`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/node.html b/content/crosswalk/node.html deleted file mode 100644 index 1b2ad47..0000000 --- a/content/crosswalk/node.html +++ /dev/null @@ -1,159 +0,0 @@ ---- -title: "Crosswalk for NodeJS package.json" -image: "/img/npm.png" -date: "2017-06-01" ---- - - - -

The npm package manager for NodeJS defines software metadata using a package.json file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -NodeJS -
-codeRepository - -repository -
-operatingSystem - -os -
-processorRequirements - -cpu / engines -
-softwareRequirements - -dependencies / bundledDependencies / peerDependencies -
-author - -author -
-contributor - -contributor -
-creator - -author -
-keywords - -keywords -
-license - -license -
-version - -version -
-description - -description -
-identifier - -name -
-name - -name -
-email - -author.email -
-name - -author.name -
-softwareSuggestions - -devDependencies / optionalDependencies -
-issueTracker - -bugs -
diff --git a/content/crosswalk/node.md b/content/crosswalk/node.md new file mode 100644 index 0000000..27eb3f0 --- /dev/null +++ b/content/crosswalk/node.md @@ -0,0 +1,10 @@ +--- +title: "Crosswalk for NodeJS package.json" +image: "/img/npm.png" +date: "2017-06-01" +--- + +The `npm` package manager for NodeJS [defines](https://docs.npmjs.com/files/package.json) software metadata using a `package.json` file. + + +{{< crosswalk name="NodeJS" >}} diff --git a/content/crosswalk/python.Rmd b/content/crosswalk/python.Rmd deleted file mode 100644 index d671d31..0000000 --- a/content/crosswalk/python.Rmd +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: "Crosswalk for Python distutils" -image: "/img/python.png" -date: "2017-06-01" - ---- - -[Python `distutils`](https://docs.python.org/3.6/distutils/) allows users to associate a range of metadata information when packaging and distributing python-based applications or source code. - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `Python Distutils (PyPI)`) %>% - filter(!is.na(`Python Distutils (PyPI)`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` diff --git a/content/crosswalk/python.html b/content/crosswalk/python.html deleted file mode 100644 index 94dc0a7..0000000 --- a/content/crosswalk/python.html +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: "Crosswalk for Python distutils" -image: "/img/python.png" -date: "2017-06-01" - ---- - - - -

Python distutils allows users to associate a range of metadata information when packaging and distributing python-based applications or source code.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -Python Distutils (PyPI) -
-codeRepository - -url -
-programmingLanguage - -classifiers[‘Programming Language’] -
-applicationCategory - -classifiers[‘Topic’] -
-operatingSystem - -classifiers[‘Operating System’] -
-softwareRequirements - -install_requires -
-keywords - -keywords -
-license - -license -
-version - -Version -
-description - -description, long_description -
-name - -name -
-email - -author_email -
-developmentStatus - -classifiers[‘Development Status’] -
diff --git a/content/crosswalk/python.md b/content/crosswalk/python.md new file mode 100644 index 0000000..b9592e3 --- /dev/null +++ b/content/crosswalk/python.md @@ -0,0 +1,11 @@ +--- +title: "Crosswalk for Python distutils" +image: "/img/python.png" +date: "2017-06-01" + +--- + +[Python `distutils`](https://docs.python.org/3.6/distutils/) allows users to associate a range of metadata information when packaging and distributing python-based applications or source code. + + +{{< crosswalk name="Python Distutils (PyPI)" >}} diff --git a/content/crosswalk/ruby.Rmd b/content/crosswalk/ruby.Rmd deleted file mode 100644 index c74d0d3..0000000 --- a/content/crosswalk/ruby.Rmd +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: "Crosswalk for Ruby gems" -image: "/img/ruby.png" -date: "2017-06-01" - ---- - -Ruby gems [specify metadata](http://guides.rubygems.org/specification-reference/) in a `.gemspec` file. - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `Ruby Gem`) %>% - filter(!is.na(`Ruby Gem`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/ruby.html b/content/crosswalk/ruby.html deleted file mode 100644 index b71b777..0000000 --- a/content/crosswalk/ruby.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: "Crosswalk for Ruby gems" -image: "/img/ruby.png" -date: "2017-06-01" - ---- - - - -

Ruby gems specify metadata in a .gemspec file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -Ruby Gem -
-codeRepository - -homepage -
-runtimePlatform - -platform -
-softwareRequirements - -requirements, add_runtime_dependency -
-author - -author -
-license - -license/licenses -
-version - -version -
-description - -summary, description -
-name - -name -
-email - -email -
-softwareSuggestions - -add_development_dependency -
diff --git a/content/crosswalk/ruby.md b/content/crosswalk/ruby.md new file mode 100644 index 0000000..0eebd69 --- /dev/null +++ b/content/crosswalk/ruby.md @@ -0,0 +1,11 @@ +--- +title: "Crosswalk for Ruby gems" +image: "/img/ruby.png" +date: "2017-06-01" + +--- + +Ruby gems [specify metadata](http://guides.rubygems.org/specification-reference/) in a `.gemspec` file. + + +{{< crosswalk name="Ruby Gem" >}} diff --git a/content/crosswalk/swo.html b/content/crosswalk/swo.html deleted file mode 100644 index 1a15850..0000000 --- a/content/crosswalk/swo.html +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: "Crosswalk" -image: "/img/swo.png" -date: "2017-01-05" ---- - - - -

The Software Ontology (SWO) is a resource for describing software tools, their types, tasks, versions, provenance and data associated. SWO is part of the JISC funded SWORD project (Software Ontology for Resource Description), an inter-disciplinary effort to capture software descriptions used in the preservation of data. The work is a collaboration between the European Bioinformatics Institute and the University of Manchester.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -Software Ontology -
-programmingLanguage - -programming language -
-license - -software license -
-publisher - -software publisher organization -
-version - -Version -
-description - -software -
-name - -SoftwareTitle -
diff --git a/content/crosswalk/swo.Rmd b/content/crosswalk/swo.md similarity index 59% rename from content/crosswalk/swo.Rmd rename to content/crosswalk/swo.md index 7cac06c..b528eb7 100644 --- a/content/crosswalk/swo.Rmd +++ b/content/crosswalk/swo.md @@ -7,15 +7,4 @@ date: "2017-01-05" The [Software Ontology (SWO)](http://theswo.sourceforge.net/) is a resource for describing software tools, their types, tasks, versions, provenance and data associated. SWO is part of the JISC funded SWORD project (Software Ontology for Resource Description), an inter-disciplinary effort to capture software descriptions used in the preservation of data. The work is a collaboration between the European Bioinformatics Institute and the University of Manchester. - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `Software Ontology`) %>% - filter(!is.na(`Software Ontology`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file +{{< crosswalk name="Software Ontology" >}} diff --git a/content/crosswalk/trove.Rmd b/content/crosswalk/trove.Rmd deleted file mode 100644 index 3e4bab4..0000000 --- a/content/crosswalk/trove.Rmd +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: "Crosswalk for Trove Software Map" -image: "/img/sourceforge.png" ---- - -[Trove Software Map](https://sourceforge.net/p/easyhtml5/tracinst/Software%20Map%20and%20Trove/#what-is-trove). Trove is the system used by SourgeForce.net to classify software projects. - - -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `Trove Software Map`) %>% - filter(!is.na(`Trove Software Map`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file diff --git a/content/crosswalk/trove.html b/content/crosswalk/trove.html deleted file mode 100644 index f62e19f..0000000 --- a/content/crosswalk/trove.html +++ /dev/null @@ -1,102 +0,0 @@ ---- -title: "Crosswalk for Trove Software Map" -image: "/img/sourceforge.png" ---- - - - -

Trove Software Map. Trove is the system used by SourgeForce.net to classify software projects.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -Trove Software Map -
-programmingLanguage - -Programming Language -
-applicationCategory - -Topic -
-operatingSystem - -Operating System -
-softwareRequirements - -Database Environment -
-dateModified - -last-updated -
-license - -license -
-version - -version -
-description - -description -
-name - -Title -
-developmentStatus - -Development Status -
diff --git a/content/crosswalk/trove.md b/content/crosswalk/trove.md new file mode 100644 index 0000000..e81ac6d --- /dev/null +++ b/content/crosswalk/trove.md @@ -0,0 +1,9 @@ +--- +title: "Crosswalk for Trove Software Map" +image: "/img/sourceforge.png" +--- + +[Trove Software Map](https://sourceforge.net/p/easyhtml5/tracinst/Software%20Map%20and%20Trove/#what-is-trove). Trove is the system used by SourgeForce.net to classify software projects. + + +{{< crosswalk name="Trove Software Map" >}} diff --git a/content/crosswalk/wikidata.html b/content/crosswalk/wikidata.html deleted file mode 100644 index 1e13306..0000000 --- a/content/crosswalk/wikidata.html +++ /dev/null @@ -1,256 +0,0 @@ ---- -title: "Crosswalk for WikiData Properties" -image: "/img/wikidata.png" -date: "2017-06-04" - ---- - - - -

Wikidata provides internationalized set of properties for machine-readable linked data. (Surprisingly wikidata does not have a native JSON-LD format, distributing in plain json.)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -Wikidata -
-codeRepository - -P1324 -
-programmingLanguage - -P277 -
-runtimePlatform - -P400 -
-downloadUrl - -P4945 -
-fileSize - -P3575 -
-operatingSystem - -P306 -
-softwareRequirements - -P1547 -
-softwareVersion - -P348 -
-author - -P50 -
-citation - -P2860 -
-contributor - -P767 -
-dateCreated - -P571 -
-dateModified - -P5017 -
-datePublished - -P577 -
-editor - -P98 -
-fileFormat - -P2701 -
-funder - -P859 -
-keywords - -P921 -
-license - -P275 -
-producer - -P162 -
-publisher - -P123 -
-isPartOf - -P361 -
-hasPart - -P527 -
-sameAs - -P2888 -
-url - -P856 -
-givenName - -P735 -
-familyName - -P734 -
-email - -P968 -
-issueTracker - -bug tracking system -
diff --git a/content/crosswalk/wikidata.Rmd b/content/crosswalk/wikidata.md similarity index 53% rename from content/crosswalk/wikidata.Rmd rename to content/crosswalk/wikidata.md index b3352ce..74f8871 100644 --- a/content/crosswalk/wikidata.Rmd +++ b/content/crosswalk/wikidata.md @@ -8,13 +8,4 @@ date: "2017-06-04" [Wikidata](https://www.wikidata.org/wiki/Wikidata:Introduction) provides internationalized set of properties for machine-readable linked data. (Surprisingly wikidata does not have a native JSON-LD format, [distributing in plain json](https://www.wikidata.org/wiki/Wikidata:Database_download).) -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `Wikidata`) %>% - filter(!is.na(`Wikidata`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file +{{< crosswalk name="Wikidata" >}} diff --git a/content/crosswalk/zenodo.html b/content/crosswalk/zenodo.html deleted file mode 100644 index 3818311..0000000 --- a/content/crosswalk/zenodo.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: "Crosswalk for Zenodo metadata" -image: "/img/zenodo.jpg" ---- - - - -

Zenodo.org is a data archive based at CERN which is popularly used to archive and provide DOIs to academic software from GitHub, as described in the official GitHub guide to Making your code citable.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-Property - -Zenodo -
-codeRepository - -relatedLink -
-applicationCategory - -communities -
-author - -creators -
-datePublished - -date_published -
-funder - -contributors.Funder -
-keywords - -keywords -
-license - -license -
-description - -description/notes -
-identifier - -id -
-name - -title -
-affiliation - -affiliation -
-identifier - -ORCID -
-name - -name -
diff --git a/content/crosswalk/zenodo.Rmd b/content/crosswalk/zenodo.md similarity index 51% rename from content/crosswalk/zenodo.Rmd rename to content/crosswalk/zenodo.md index 761abf3..225cb36 100644 --- a/content/crosswalk/zenodo.Rmd +++ b/content/crosswalk/zenodo.md @@ -8,13 +8,4 @@ image: "/img/zenodo.jpg" [Zenodo.org](https://zenodo.org) is a data archive based at CERN which is popularly used to archive and provide DOIs to academic software from GitHub, as described in the official GitHub guide to [Making your code citable](https://guides.github.com/activities/citable-code/). -```{r echo = FALSE, message=FALSE, warning=FALSE, output="asis"} -library("tidyverse") -crosswalk <- "https://github.com/codemeta/codemeta/raw/master/crosswalk.csv" -cw <- read_csv(crosswalk) -cw %>% - select(Property, `Zenodo`) %>% - filter(!is.na(`Zenodo`)) -> df - -knitr::kable(df, "html", table.attr="class=\"table table-striped\"") -``` \ No newline at end of file +{{< crosswalk name="Zenodo" >}} diff --git a/data/.gitignore b/data/.gitignore new file mode 100644 index 0000000..985a6a7 --- /dev/null +++ b/data/.gitignore @@ -0,0 +1,2 @@ +crosswalk.csv +crosswalk.json diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/data/crosswalk.json b/data/crosswalk.json deleted file mode 100644 index 140bca1..0000000 --- a/data/crosswalk.json +++ /dev/null @@ -1,515 +0,0 @@ -[ - { - "Concept": "Agent", - "Keep Concept?": "y", - "CodeMeta Field": "agents", - "Schema.org": "agent", - "DataCite": "Creator", - "OntoSoft": "hasCreator", - "Zenodo": "creators", - "GitHub": "owner", - "code.jsonld": "author", - "Dublin Core": "creator", - "R Package Description": "Authors@R" - }, - { - "Concept": "AuthorAffiliation", - "Keep Concept?": "y", - "CodeMeta Field": "affiliation", - "Schema.org": "affiliation", - "DataCite": "affilliation", - "OntoSoft": "hasCreator", - "Zenodo": "creators.affiliation", - "Use Cases": "3, 4, 5" - }, - { - "Concept": "AuthorEmail", - "Keep Concept?": "y", - "CodeMeta Field": "email", - "Schema.org": "email", - "OntoSoft": "hasCreator", - "R Package Description": "Authors@R person(email)", - "Python Distutils (PyPI)": "author_email", - "Perl Module Description (CPAN::Meta)": "author:email-address", - "JavaScript package descption (npm)": "author.email", - "Octave": "DESCRIPTION/Author, DESCRIPTION/Maintainer", - "Ruby Gem": "email", - "ASCL": "email", - "Use Cases": "3, 4, 5" - }, - { - "Concept": "AuthorId", - "Keep Concept?": "y", - "CodeMeta Field": "@id", - "Schema.org": "identifier, @id", - "DataCite": "nameIdentifier", - "OntoSoft": "hasCreator", - "Zenodo": "creators.orcid", - "GitHub": "-", - "Figshare": "id(internal id/ORCID)", - "Use Cases": "3, 4, 5" - }, - { - "Concept": "AuthorName", - "Keep Concept?": "y", - "CodeMeta Field": "name", - "Schema.org": "name, givenName, FamilyName", - "OntoSoft": "hasCreator", - "R Package Description": "Authors@R person(given, family)", - "Perl Module Description (CPAN::Meta)": "author:contact-name", - "JavaScript package descption (npm)": "author.name", - "Use Cases": "3,4,5" - }, - { - "Concept": "BuildLink", - "Keep Concept?": "y", - "CodeMeta Field": "buildInstructions", - "Zenodo": "r_i.relation", - "Use Cases": "2,3,4" - }, - { - "Concept": "CILink", - "Keep Concept?": "y", - "CodeMeta Field": "contIntegration", - "Zenodo": "r_i.relation", - "Java (Maven)": "ciManagement", - "Use Cases": "2, 3, 9" - }, - { - "Concept": "CodeRepositoryLink", - "Keep Concept?": "y", - "CodeMeta Field": "codeRepository", - "Schema.org": "codeRepository", - "OntoSoft": "os:hasCodeLocation os:hasExecutableLocation", - "Zenodo": "r_i.relation", - "GitHub": "git_url", - "code.jsonld": "codeRepository", - "Software Discovery Index": "Links to code repository", - "R Package Description": "URL", - "Debian Package Metadata": "HomePage", - "Python Distutils (PyPI)": "url", - "Perl Module Description (CPAN::Meta)": "resources.repository", - "JavaScript package descption (npm)": "repository", - "Java (Maven)": "repositories", - "Ruby Gem": "homepage", - "ASCL": "site_list", - "Use Cases": "1, 2, 3, 7, 9, (11), (12)" - }, - { - "Concept": "ControlledTerms", - "Keep Concept?": "y", - "CodeMeta Field": "controlledTerms", - "Schema.org": "keywords", - "OntoSoft": "hasSoftwareCategory hasDomainKeywords", - "Zenodo": "communities", - "Figshare": "category", - "Python Distutils (PyPI)": "classifiers['Topic']", - "Trove Software Map": "Topic", - "Perl Module Description (CPAN::Meta)": "CATEGORIES", - "Octave": "DESCRIPTION/Categories", - "Use Cases": "1,3" - }, - { - "Concept": "DateCreated", - "Keep Concept?": "y", - "CodeMeta Field": "dateCreated", - "Schema.org": "dateCreated", - "DataCite": "Date (dateType = Created)", - "GitHub": "created_at", - "code.jsonld": "dateCreated", - "Dublin Core": "created", - "Debian Package Metadata": "Date", - "Use Cases": "3" - }, - { - "Concept": "DateModified", - "Keep Concept?": "y", - "CodeMeta Field": "dateModified", - "Schema.org": "dateModified", - "DataCite": "Date (dateType = Issued)", - "GitHub": "updated_at", - "code.jsonld": "dateModified", - "Trove Software Map": "last-updated", - "Use Cases": "3" - }, - { - "Concept": "DatePublished", - "Keep Concept?": "y", - "CodeMeta Field": "datePublished", - "Schema.org": "datePublished", - "DataCite": "PublicationYear", - "Zenodo": "date_published", - "Figshare": "date_retrieved", - "Software Ontology": "-", - "code.jsonld": "datePublished", - "Dublin Core": "date", - "R Package Description": "Date", - - "Java (Maven)": "-", - "Octave": "DESCRIPTION/Date", - "Use Cases": "3,5,6" - }, - { - "Concept": "Dependency", - "Keep Concept?": "y", - "CodeMeta Field": "depends", - "Schema.org": "softwareRequirements", - "OntoSoft": "hasDependency -> Software", - "code.jsonld": "dependency", - "Software Discovery Index": "Platform, environment, and dependencies", - "Dublin Core": "requires", - "R Package Description": "Depends; Imports; Enhances; LinkingTo; Additional_repositories", - "Debian Package Metadata": "-", - "Python Distutils (PyPI)": "install_requires", - "Trove Software Map": "Database Environment", - "Perl Module Description (CPAN::Meta)": "prereqs", - "JavaScript package descption (npm)": "dependencies / devDependencies / peerDependencies / bundledDependencies / optionalDependencies / cpu / engines", - "Java (Maven)": "prerequisites", - "Octave": "DESCRIPTION/Depends, DESCRIPTION/SystemRequirements, DESCRIPTION/BuildRequires", - "Ruby Gem": "requirements, add_development_dependency, add_runtime_dependency", - "Use Cases": "1, 2, 3, 4, 7, 8, 9" - }, - { - "Concept": "Description", - "Keep Concept?": "y", - "CodeMeta Field": "description", - "Schema.org": "description", - "DataCite": "Description", - "OntoSoft": "hasShortDescription hasUsesAndAssumptions hasUseLimitations", - "Zenodo": "description/notes", - "GitHub": "description", - "Figshare": "Description", - "Software Ontology": "software", - "code.jsonld": "description", - "Software Discovery Index": "Human-readable synopsis", - "Dublin Core": "description", - "R Package Description": "Description", - "Debian Package Metadata": "Description", - "Python Distutils (PyPI)": "description, long_description", - "Trove Software Map": "description", - "Perl Module Description (CPAN::Meta)": "abstract, description", - "JavaScript package descption (npm)": "description", - "Java (Maven)": "description", - "Octave": "DESCRIPTION/Title, DESCRIPTION/Description", - "Ruby Gem": "summary, description", - "ASCL": "abstract", - "Use Cases": "(1), 3, (4), (9)" - }, - { - "Concept": "DownloadLink", - "Keep Concept?": "y", - "CodeMeta Field": "downloadLink", - "Schema.org": "downloadUrl" - }, - { - "Concept": "EmbargoDate", - "Keep Concept?": "y", - "CodeMeta Field": "embargoDate", - "DataCite": "Date (dateType = Available)", - "Zenodo": "embargo_date", - "Figshare": "embargo_date", - "Use Cases": "3" - }, - { - "Concept": "Funding", - "Keep Concept?": "y", - "CodeMeta Field": "funding", - "OntoSoft": "hasFundingSource", - "Zenodo": "contributors.Funder", - "Software Discovery Index": "Associated grants", - "Use Cases": "3" - }, - { - "Concept": "MustBeCited", - "Keep Concept?": "y", - "CodeMeta Field": "mustBeCited" - }, - { - "Concept": "isMaintainer", - "Keep Concept?": "y", - "CodeMeta Field": "isMaintainer" - }, - { - "Concept": "isRightsHolder", - "Keep Concept?": "y", - "CodeMeta Field": "isRightsHolder" - }, - { - "Concept": "IssueLink", - "Keep Concept?": "y", - "CodeMeta Field": "issueTracker", - "OntoSoft": "sort of os:hasSoftwarefSupport (see Software Support below)", - "Zenodo": "r_i.relation", - "GitHub": "issues_url", - "R Package Description": "BugReports", - "Perl Module Description (CPAN::Meta)": "resources.bugtracker", - "JavaScript package descption (npm)": "bugs", - "Java (Maven)": "issuesManagement", - "Octave": "DESCRIPTION/Problems", - "Ruby Gem": "-", - "Use Cases": "1, 2, 3, 7, 8, 11" - }, - { - "Concept": "License", - "Keep Concept?": "y", - "CodeMeta Field": "licenseId", - "Schema.org": "license", - "DataCite": "Rights", - "OntoSoft": "License", - "Zenodo": "license", - "GitHub": "license (https://developer.github.com/v3/licenses/#get-a-repositorys-license)", - "Figshare": "License", - "Software Ontology": "software license", - "code.jsonld": "license", - "Software Discovery Index": "Software license", - "Dublin Core": "license", - "R Package Description": "License", - "Debian Package Metadata": "-", - "Python Distutils (PyPI)": "license, classifiers['License']", - "Trove Software Map": "License", - "Perl Module Description (CPAN::Meta)": "license", - "JavaScript package descption (npm)": "license", - "Java (Maven)": "license", - "Octave": "DESCRIPTION/License", - "Ruby Gem": "license/licenses", - "Use Cases": "3, 10" - }, - { - "Concept": "ObjectType", - "Keep Concept?": "y", - "CodeMeta Field": "@type", - "Schema.org": "@type", - "DataCite": "ResourceType(resourceTypeGeneral=Software)", - "Zenodo": "upload_type", - "Figshare": "file_type", - "code.jsonld": "type", - "Dublin Core": "type", - "R Package Description": "Type", - "Debian Package Metadata": "Package-Type", - "Java (Maven)": "type", - "Use Cases": "1-12" - }, - { - "Concept": "OperatingSystem", - "Keep Concept?": "y", - "CodeMeta Field": "operatingSystems", - "Schema.org": "operatingSystems", - "OntoSoft": "SupportsOperatingSystem", - "Python Distutils (PyPI)": "classifiers['Operating System']", - "Trove Software Map": "Operating System", - "Perl Module Description (CPAN::Meta)": "OSNAMES", - "JavaScript package descption (npm)": "os" - }, - { - "Concept": "ProgrammingLanguage", - "Keep Concept?": "y", - "CodeMeta Field": "programmingLanguage", - "Schema.org": "programmingLanguage", - "DataCite": "Format", - "OntoSoft": "hasProgrammingLanguage", - "GitHub": "languages_url", - "Software Ontology": "programming language", - "Python Distutils (PyPI)": "classifiers['Programming Language']", - "Trove Software Map": "Programming Language", - "Use Cases": "1, 2, 3, 7, 8, 9" - }, - { - "Concept": "Publisher", - "Keep Concept?": "y", - "CodeMeta Field": "publisher", - "Schema.org": "publisher", - "DataCite": "Publisher", - "OntoSoft": "os:hasPublisher means metadata author", - "Software Ontology": "software publisher organization", - "code.jsonld": "publisher", - "Use Cases": "3" - }, - { - "Concept": "ReadmeLink", - "Keep Concept?": "y", - "CodeMeta Field": "readme", - "Schema.org": "releaseNotes", - "OntoSoft": "hasDocumentation hasInstallationInstructions", - "Zenodo": "r_i.relation", - "Perl Module Description (CPAN::Meta)": "README", - "JavaScript package descption (npm)": "files", - "Use Cases": "1, 2, 3" - }, - { - "Concept": "RelatedLink", - "Keep Concept?": "y", - "CodeMeta Field": "relatedLink", - "OntoSoft": "hasProjectWebSite", - "Zenodo": "related_identifiers", - "GitHub": "homepage", - "Figshare": "links", - "code.jsonld": "codeRepository", - "Dublin Core": "relation", - "Trove Software Map": "homepage", - "Perl Module Description (CPAN::Meta)": "resources", - "JavaScript package descption (npm)": "homepage", - "Octave": "DESCRIPTION/Url", - "Ruby Gem": "homepage", - "Use Cases": "1-9, 11-12" - }, - { - "Concept": "RelatedPublications", - "Keep Concept?": "y", - "CodeMeta Field": "relatedPublications", - "OntoSoft": "hasSimilarSoftware", - "Zenodo": "related_identifiers", - "Software Discovery Index": "Associated publications", - "ASCL": "used_in", - "Use Cases": "3" - }, - { - "Concept": "Relationship", - "Keep Concept?": "y", - "CodeMeta Field": "relationships", - "DataCite": "RelatedIdentifier(relationType=isPartOf), RelatedIdentifier(relationType=isVariantFormOf), RelatedIdentifier(relationType=isPreviousVersionOf), RelatedIdentifier(relationType=isNextVersionOf)", - "OntoSoft": "hasRelevantDataSources" - - - }, - { - "Concept": "Role", - "Keep Concept?": "y", - "CodeMeta Field": "role" - }, - { - "Concept": "SoftwareIdentifier", - "Keep Concept?": "y", - "CodeMeta Field": "identifier", - "Schema.org": "identifier, @id", - "DataCite": "Identifier", - "OntoSoft": "hasUniqueId", - "Zenodo": "id", - "GitHub": "id", - "Figshare": "?", - "code.jsonld": "identifier", - "Software Discovery Index": "Persistent identifier", - "Dublin Core": "identifier", - "R Package Description": "Package", - "Debian Package Metadata": "Package", - "JavaScript package descption (npm)": "name", - "Java (Maven)": "groupId", - "ASCL": "ascl_id", - "Use Cases": "1-12" - }, - { - "Concept": "SoftwarePaperCitation", - "Keep Concept?": "y", - "CodeMeta Field": "softwarePaperCitationIdentifiers", - "Zenodo": "notes ?", - "Software Ontology": "Citation", - "ASCL": "described_in", - "Use Cases": "3, 4, 5, 6" - }, - { - "Concept": "SoftwareTitle", - "Keep Concept?": "y", - "CodeMeta Field": "title", - "Schema.org": "title", - "DataCite": "Title", - "OntoSoft": "hasName", - "Zenodo": "title", - "GitHub": "full_name", - "Figshare": "Title", - "Software Ontology": "software", - "code.jsonld": "title", - "Software Discovery Index": "Software title", - "Dublin Core": "title", - "R Package Description": "Title", - "Python Distutils (PyPI)": "name", - "Trove Software Map": "Title", - "Perl Module Description (CPAN::Meta)": "name", - "JavaScript package descption (npm)": "name", - "Java (Maven)": "name", - "Octave": "DESCRIPTION/Name", - "Ruby Gem": "name", - "ASCL": "title", - "Use Cases": "1, 3, 4, 5" - }, - { - "Concept": "Suggests", - "Keep Concept?": "y", - "CodeMeta Field": "suggests", - "DataCite": "-", - "OntoSoft": "hasSimilarSoftware hasInteroperableSoftware hasCompositionDescription", - "Zenodo": "related_identifiers", - "R Package Description": "Suggests", - "Perl Module Description (CPAN::Meta)": "optional_features", - "Use Cases": "1, 2" - }, - { - "Concept": "Tags", - "Keep Concept?": "y", - "CodeMeta Field": "tags", - "Schema.org": "keywords", - "DataCite": "Subject", - "OntoSoft": "hasSoftwareCategory hasDomainKeywords", - "Zenodo": "keywords", - "Figshare": "tags", - "code.jsonld": "keywords", - "Dublin Core": "subject", - "Python Distutils (PyPI)": "keywords", - "Perl Module Description (CPAN::Meta)": "keywords", - "JavaScript package descption (npm)": "keywords", - "Use Cases": "1, 3" - }, - { - "Concept": "UploadedBy", - "Keep Concept?": "y", - "CodeMeta Field": "uploadedBy", - "OntoSoft": "hasPublisher", - "Zenodo": "owners (?)", - "code.jsonld": "uploadedBy", - "R Package Description": "*Three letter code can specify other roles like author above: http://www.loc.gov/marc/relators/relaterm.html, https://journal.r-project.org/archive/2012-1/RJournal_2012-1_Hornik~et~al.pdf", - "ASCL": "added_by", - "Use Cases": "3, 4, 5" - }, - { - "Concept": "Version", - "Keep Concept?": "y", - "CodeMeta Field": "version", - "Schema.org": "version", - "DataCite": "Version", - "OntoSoft": "hasSoftwareVersion hasVersionReleaseDate supersedes supersededBy", - "Software Ontology": "Version", - "Software Discovery Index": "Software version", - "R Package Description": "Version", - "Debian Package Metadata": "numeric_version", - "Python Distutils (PyPI)": "Version", - "Trove Software Map": "version", - "JavaScript package descption (npm)": "version", - "Java (Maven)": "version", - "Octave": "version", - "Ruby Gem": "DESCRIPTION/Version", - "ASCL": "5,8,9", - "Use Cases": "version" - }, - { - "Concept": "ZippedCodeLink", - "Keep Concept?": "y", - "CodeMeta Field": "zippedCode", - "Zenodo": "filename", - "GitHub": "archive_url", - "Figshare": "file", - "Python Distutils (PyPI)": "download_url" - }, - { - "Concept": "DevelopmentStatus", - "Keep Concept?": "y", - "CodeMeta Field": "developmentStatus", - "OntoSoft": "activeDevelopment", - "Python Distutils (PyPI)": "classifiers['Development Status']", - "Trove Software Map": "Development Status", - "Perl Module Description (CPAN::Meta)": "release_status" - }, - { - "Concept": "TestCoverage", - "Keep Concept?": "? - only in ontosoft", - "OntoSoft": "hasTestData has TestInstructions", - "Use Cases": "3" - } -] diff --git a/data/parse_data.R b/data/parse_data.R deleted file mode 100644 index b6df217..0000000 --- a/data/parse_data.R +++ /dev/null @@ -1,13 +0,0 @@ - -library(jsonlite) -library(readr) - -write_json(list(codemetaterms = fromJSON(toJSON(read_csv("data/codemetaterms.csv")))), - "data/codemetaterms.json", - pretty=TRUE, auto_unbox=TRUE) - - - -write_json(list(schematerms = fromJSON(toJSON(read_csv("data/schematerms.csv")))), - "data/schematerms.json", - pretty=TRUE, auto_unbox=TRUE) diff --git a/layouts/shortcodes/crosswalk.md b/layouts/shortcodes/crosswalk.md new file mode 100644 index 0000000..90526eb --- /dev/null +++ b/layouts/shortcodes/crosswalk.md @@ -0,0 +1,28 @@ +{{ $crosswalkName := .Params.name }} + + + + + + + + + +{{- range $property := .Site.Data.crosswalk }} +{{- if index $property $crosswalkName }} + + + + +{{- end -}} +{{ end }} + +
+Property + +{{ $crosswalkName }} +
+{{ $property.Property }} + +{{ index $property $crosswalkName }} +
diff --git a/scripts/crosswalk_to_json.py b/scripts/crosswalk_to_json.py new file mode 100644 index 0000000..1ba0404 --- /dev/null +++ b/scripts/crosswalk_to_json.py @@ -0,0 +1,46 @@ +"""Transforms a CSV into JSON processable by Hugo + +For example, this turns this: + +.. code-block: csv + + titleA,titleB,titleC + row1A,row1B,row1C + row2A,row2B,row2C + +into: + +.. code-block: json + + [ + { + "titleA": "row1A", + "titleB": "row1B", + "titleC": "row1C" + }, + { + "titleA": "row2A", + "titleB": "row2B", + "titleC": "row2C" + } + ] +""" + +import csv +import json +import pathlib + +DIR = pathlib.Path(__file__).parent.parent +CSV_PATH = DIR / "data/crosswalk.csv" +JSON_PATH = DIR / "data/crosswalk.json" + +# header = ["titleA", "titleB", "titleC"] +# rows = [["row1A", "row1B", "row1C"], ["row2A", "row2B", "row2C"]] +(header, *rows) = list(csv.reader(CSV_PATH.open())) + +json_items = [] + +for row in rows: + json_items.append(dict(zip(header, row))) + +JSON_PATH.write_text(json.dumps(json_items, indent=" ")) From 081ce20e86697ebc5141dfa7df39f202d280a981 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 25 May 2023 14:28:04 +0200 Subject: [PATCH 2/3] Remove unnecessary file --- data/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 data/.gitkeep diff --git a/data/.gitkeep b/data/.gitkeep deleted file mode 100644 index e69de29..0000000 From 54a709304a374a7504f05f5225cc8ac59629d17e Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Thu, 25 May 2023 14:28:15 +0200 Subject: [PATCH 3/3] Fetch data files for non-deploy builds too --- .github/workflows/check.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 65f886c..b612e47 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -25,6 +25,9 @@ jobs: DEBIAN_FRONTEND=noninteractive sudo apt-get install -y hugo - name: Checkout uses: actions/checkout@v3 + - name: Prepare data files + run: | + make - name: Build with Hugo run: | hugo