-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(lessons): start at zenodo and gh
- Loading branch information
Showing
6 changed files
with
144 additions
and
2 deletions.
There are no files selected for viewing
This file contains 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 |
---|---|---|
|
@@ -227,4 +227,4 @@ Code formatters like: | |
* black | ||
* ruff | ||
|
||
<!-- #endregion --> | ||
<!-- #endregion --> |
This file contains 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 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 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 @@ | ||
--- | ||
jupytext: | ||
text_representation: | ||
extension: .md | ||
format_name: myst | ||
format_version: 0.13 | ||
jupytext_version: 1.16.4 | ||
kernelspec: | ||
display_name: Python 3 (ipykernel) | ||
language: python | ||
name: python3 | ||
--- | ||
|
||
+++ {"editable": true, "slideshow": {"slide_type": ""}} | ||
|
||
# Publish & share your code | ||
|
||
|
||
:::{toctree} | ||
:hidden: | ||
:caption: Share code | ||
:maxdepth: 2 | ||
|
||
Intro <self> | ||
Zenodo <zenodo> | ||
GitHub <share-code-github> | ||
::: |
This file contains 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,57 @@ | ||
--- | ||
jupytext: | ||
text_representation: | ||
extension: .md | ||
format_name: myst | ||
format_version: 0.13 | ||
jupytext_version: 1.16.4 | ||
kernelspec: | ||
display_name: Python 3 (ipykernel) | ||
language: python | ||
name: python3 | ||
--- | ||
|
||
+++ {"editable": true, "slideshow": {"slide_type": ""}} | ||
|
||
(share-github)= | ||
# Share your code on GitHub | ||
|
||
Sharing your code on GitHub or another online version control platform, such as GitLab, is a great way to make your work available for others to see, use, and collaborate on. | ||
|
||
Making your code openly available online promotes collaboration and transparency in support of open science. | ||
|
||
GitHub and GitLab are also powerful collaboration tools. These platforms allow you to make your code open, and have tools that enable others to see your code, review changes, suggest changes, and open issues around broken or desired features. | ||
|
||
Hosting code on GitHub helps you manage your projects, track changes, and keep your work organized over time. | ||
|
||
## Cite your code | ||
|
||
Even if you haven't published your code in an academic Journal, you can create a DOI that allows you to cite it using [Zenodo](zendo). While you can upload code and other types of documents to Zenodo at any time, if you are using GitHub, you can create a direct connection, which will not only provide a DOI for the GitHub repository but also allow you to create new sub-DOIs for every new version of your code that you make. | ||
|
||
|
||
<!-- | ||
This is now commented out because it requires more git skills than I want to teach in our workshop. | ||
## How to get started | ||
There are several ways to place your code on GitHub. Here, we will show you a quick and dirty way to move your code to GitHub! The steps are | ||
1. Make sure that you have a GitHub account | ||
1. Create a repository on GitHub.com | ||
2. Clone that repository | ||
3. Once you have a clone, locally, create a new branch in the clone. | ||
4. Copy your code over to the branch | ||
5. Add & commit your code to the branch. | ||
6. Push the code to GitHub! | ||
And you're done! | ||
TODO: add 5-7 min video on how this works | ||
:::{note} | ||
Another way is to create a repository locally | ||
[Software Carpentry teaches you how to do this locally](https://swcarpentry.github.io/git-novice/03-create.html) but initializing a local. Directory and then pushing it to GitHub | ||
::: | ||
--> |
This file contains 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,50 @@ | ||
--- | ||
jupytext: | ||
text_representation: | ||
extension: .md | ||
format_name: myst | ||
format_version: 0.13 | ||
jupytext_version: 1.16.4 | ||
kernelspec: | ||
display_name: Python 3 (ipykernel) | ||
language: python | ||
name: python3 | ||
--- | ||
|
||
+++ {"editable": true, "slideshow": {"slide_type": ""}} | ||
|
||
# Publish your code with Zenodo | ||
|
||
|
||
## What is a DOI? | ||
|
||
A DOI, or Digital Object Identifier, is a unique, permanent identifier assigned to digital content such as academic papers, datasets, software, and other research outputs. It acts like a stable web link that always directs users to the specific content it refers to, even if the location of the content changes over time. DOIs are commonly used in academic publishing to ensure that citations remain valid and that the referenced materials are easily accessible. By using a DOI, creators can make their work more discoverable and citable, enabling others to locate and reference the material in future research reliably. | ||
|
||
|
||
## CrossRef vs. Zenodo DOIs - What's the difference? | ||
|
||
In research, making your work citable and easy to find is essential. That’s where DOIs (Digital Object Identifiers) come in. But not all DOIs are the same! Let’s look at two common types: CrossRef DOIs and Zenodo DOIs. | ||
|
||
* **CrossRef DOI**: A CrossRef DOI is typically used for formal, peer-reviewed publications like journal articles, books, or conference papers. CrossRef DOIs help ensure that these published works are easy to cite and locate in academic literature. CrossRef DOI's can also be easily connected to your ORCID. | ||
|
||
The Journal of Open Source Software (JOSS), a pyOpenSci partner, offers CrossRef DOI's for scientific software with research applications. | ||
|
||
* **Zenodo DOI**: Zenodo allows you to create DOIs for a wider range of digital content, including datasets, software (like your GitHub repositories), preprints, and event presentations. Zenodo is perfect for making your code or data citable, even if it’s not part of a formal publication. | ||
|
||
Both types of DOIs ensure your work is easily found and cited, but CrossRef is more focused on formal publications, while Zenodo is more flexible, covering a broader range of research outputs. | ||
|
||
By using the right DOI for your work, you help others find and cite it easily, no matter where or how it’s shared! | ||
|
||
|
||
## How does Zenodo work? | ||
|
||
Creating a DOI for your GitHub repository using Zenodo is a straightforward way to ensure your code is citable and easily discoverable. Zenodo integrates seamlessly with GitHub, allowing you to generate a persistent DOI for any release of your project. To start, link your GitHub account to Zenodo by authorizing access through the Zenodo website. Once connected, navigate to the Zenodo settings and enable the repository you want to archive. After pushing a new release on GitHub, Zenodo will automatically archive it and generate a unique DOI. This DOI can be included in your publications or shared with others, ensuring proper credit for your work. Zenodo also supports versioning, so each release will have its own DOI while maintaining a link to the overall repository. | ||
|
||
The video below will walk you through how to set this all up. | ||
|
||
:::{important} 21 October 2024 | ||
This video is a DRAFT and will be updated over the next two months. A more polished version of it will be available soon. | ||
::: | ||
|
||
|
||
<div style="padding:75% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/1021839955?badge=0&autopause=0&player_id=0&app_id=58479" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write" style="position:absolute;top:0;left:0;width:100%;height:100%;" title="zenodo-rough-cut"></iframe></div><script src="https://player.vimeo.com/api/player.js"></script> |