From 49f51463c15e73f13238f5223a1b10adf7d3d99a Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 14:34:20 -0700 Subject: [PATCH 01/34] Tweaks to mini-exercise --- modules/05-sharing-and-publishing/index.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 9e0d57d..ce60ea9 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -77,7 +77,8 @@ Markdown text. Let's jump right into a quick example of how this functionality works. -#### Example `{glossary}` directive and `{term}` role +#### Example directive and role + :::{tip} ๐Ÿ’ช Mini-exercise :icon: false @@ -97,6 +98,11 @@ Try hovering over the word "Term" to see a definition. ``` +##### ๐Ÿง  What do we know now? + +The `{glossary}` role enables defining terms, and the `{term}` role enables referencing +terms. + ### MySTMD, the software From ef0c6bdcd6714ab4593d5079ca9e1ee73efa69e6 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 14:59:17 -0700 Subject: [PATCH 02/34] Add environment management dropdown --- modules/05-sharing-and-publishing/index.md | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index ce60ea9..7601596 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -207,6 +207,31 @@ At the top-right is a button with the text "Rebuild". ### ๐Ÿ’ช Exercise B: Build a MyST website _from scratch_ in JupyterLab +:::{important} Not covered: _Environment management!_ +:class: dropdown + +Environment management is an important part of reproducible research. +Always include an environment manifest or specification alongside your publication. + +This exercise works as shown on CryoCloud because CryoCloud has MySTMD and many other +dependencies pre-installed. +When working on your own, you may encounter an error like: + +``` +Command 'myst' not found +``` + +We highly recommend that you try [pixi](https://pixi.sh/) as a dependency manager: +it's fast, user-friendly, and makes following best practices easy or automatic. + +```bash +pixi init +pixi add mystmd +pixi run myst start +``` +::: + + #### Create a new empty GitHub repository In the GitHub UI, click the `+` icon at the top-right. Select "New repository". From 6d7b96883866f6bdb6bd4f806723ed712dcdf538 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 15:04:28 -0700 Subject: [PATCH 03/34] Reinforce normality of GH warning --- modules/05-sharing-and-publishing/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 7601596..aec9e4c 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -278,6 +278,8 @@ This command produces the following output: Cloning into 'myst-exercise'... warning: You appear to have cloned an empty repository. ``` + +The warning is normal! ::: From 044e2453605943ffb2795b7667b3a612c5943eac Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 15:14:25 -0700 Subject: [PATCH 04/34] Fix missing line emphasis Sadly we need to have line numbers enabled --- modules/05-sharing-and-publishing/index.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index aec9e4c..46fe44b 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -381,6 +381,7 @@ Your config file should now look like this: ```{code} yaml :filename: myst.yml +:linenos: :emphasize-lines: 5 # See docs at: https://mystmd.org/guide/frontmatter @@ -429,6 +430,7 @@ Your config file should now look like this: ```{code} yaml :filename: myst.yml +:linenos: :emphasize-lines: 14 # See docs at: https://mystmd.org/guide/frontmatter @@ -473,7 +475,11 @@ chose for your logo text) instead of "Made with MyST". ## Building a PDF with MyST -TODO +MyST enables building a PDF from the same source as you built your website. + +Some features are web-specific, however, and won't be rendered in an output PDF. + + ### ๐Ÿ’ช Exercise C: Render a PDF from the same source as your website From cca831b21675f0c236a74f0df5b509c875f11f77 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 16:13:31 -0700 Subject: [PATCH 05/34] First couple steps of building PDF, including Matt's usual YAML rant --- modules/05-sharing-and-publishing/index.md | 129 ++++++++++++++++++++- reference/00-vocabulary.md | 8 +- 2 files changed, 133 insertions(+), 4 deletions(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 46fe44b..5948d03 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -479,12 +479,137 @@ MyST enables building a PDF from the same source as you built your website. Some features are web-specific, however, and won't be rendered in an output PDF. - +Let's try it out! ### ๐Ÿ’ช Exercise C: Render a PDF from the same source as your website -TODO +#### Attempt to build our current project as PDF + +Building PDF(s) from a MyST project requires on command: + +```bash +myst build --pdf +``` + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +This command fails with: + +``` +๐Ÿ“ญ No file exports with kind "pdf" found. +You may need to add an 'exports' field to the frontmatter of the file(s) you wish to +export: + +--- +exports: +- format: pdf +--- +``` + +This is because we need to tell MyST which pieces of the site should be exportable as +PDF. +::: + + +### Configure the frontmatter to allow PDF export + +To tell MyST that we want a PDF export for a specific document, we need to define {term}`frontmatter`. + +While we're here, let's also set some other metadata like the document's author. + +Add to the top of `index.md`: + +```{code} Markdown +:filename: index.md +:linenos: +:emphasize-lines: 1-12 + +--- +authors: + - name: "Your name" + affiliations: + - "Your employer" + email: "your-email@example.com" + github: "your-github-username" + # Optional: Do you have an ORCID? + # orcid: "0000-0000-0000-0000" +export: + - "pdf" +--- + +Hello, world! +``` + +:::{hint} On quoting in YAML +:class: dropdown + +YAML is intended to be a human-friendly data format. +There are many ways that it excels at this goal, and in other ways, it introduces +pitfalls that are easy to fall in to. + +A single rule will help you avoid many of these pitfalls: +**_always quote strings in your YAML_**. + +**Example: Upgrading the Python version** + +```yaml +requires_python: 3.9 +``` + +โ˜๏ธ +Looks good to me, and it works fine. I'll just upgrade that to 3.10... + +```yaml +requires_python: 3.10 +``` + +๐Ÿ™… +This value isn't a string, it's a number, so it evaluates to 3.1. + +```yaml +requires_python: "3.10" +``` + +โœ… +The only way to get the result you want is to quote the string. + +**Example: ISO country codes** + +```yaml +country_code: gb +``` + +โ˜๏ธ +Looks good to me, and it works fine. I'll just update my program to process data for +Norway... + +```yaml +country_code: no +``` + +๐Ÿ™… +This value isn't a string, it's a **boolean**, so it evaluates to `false`. + +```yaml +country_code: "no" +``` + +โœ… +The only way to get the result you want is to quote the string. + +Save yourself the pain: +**_always defensively quote your YAML strings_**. + +There are many more ways YAML can be confusing. +There are a lot of special rules to remember! +For more, check out +[The YAML document from hell](https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell) +and . +::: + #### ๐Ÿง  What do we know now? diff --git a/reference/00-vocabulary.md b/reference/00-vocabulary.md index 10955df..c714e2e 100644 --- a/reference/00-vocabulary.md +++ b/reference/00-vocabulary.md @@ -1,8 +1,12 @@ # ๐Ÿ” Vocabulary :::{glossary} -Some term -: Some definition +Frontmatter +: A way of embedding metadata with [YAML](https://yaml.org/) at the front (top) of a + document. + Frontmatter can be embedded at the top of a Markdown document or in the first Markdown + cell of a Jupyter Notebook. + [Read more in the official MyST frontmatter docs](https://mystmd.org/guide/frontmatter). ::: Reference to {term}`Some term `. From 601653af76a9f2fcd6a93793200ed9e6075d7289 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 16:16:05 -0700 Subject: [PATCH 06/34] Fix header level --- modules/05-sharing-and-publishing/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 5948d03..30caee6 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -514,7 +514,7 @@ PDF. ::: -### Configure the frontmatter to allow PDF export +#### Configure the frontmatter to allow PDF export To tell MyST that we want a PDF export for a specific document, we need to define {term}`frontmatter`. From 4e15518e2de66fffbb18976e2509ac158b70a5d2 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 16:16:30 -0700 Subject: [PATCH 07/34] Qualify YAML dropdown as a rant Maybe this will warn people against jumping in this rabbit hole ;) --- modules/05-sharing-and-publishing/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 30caee6..1a7e2e5 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -543,7 +543,7 @@ export: Hello, world! ``` -:::{hint} On quoting in YAML +:::{hint} On quoting in YAML, a rant :class: dropdown YAML is intended to be a human-friendly data format. From bd18f5a6e5630b6a18aa5183ffa2c270be92a7b6 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 19:04:13 -0700 Subject: [PATCH 08/34] Add title header to document --- modules/05-sharing-and-publishing/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 1a7e2e5..6ed37ca 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -312,6 +312,8 @@ code block): ```{code} markdown :filename: index.md +# My document title + Hello, world! $$ @@ -540,6 +542,8 @@ export: - "pdf" --- +# My document title + Hello, world! ``` From db581e115ef939750bf98405afa0f0f7f04db57e Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 19:06:37 -0700 Subject: [PATCH 09/34] Adjust language setting for consistency --- modules/05-sharing-and-publishing/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 6ed37ca..e3a0f22 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -524,7 +524,7 @@ While we're here, let's also set some other metadata like the document's author. Add to the top of `index.md`: -```{code} Markdown +```{code} markdown :filename: index.md :linenos: :emphasize-lines: 1-12 From 558a7926c0c3c88959413c6250434da2a1f41c41 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 19:07:00 -0700 Subject: [PATCH 10/34] Use Typst for PDF rendering --- modules/05-sharing-and-publishing/index.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index e3a0f22..e23e753 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -527,7 +527,7 @@ Add to the top of `index.md`: ```{code} markdown :filename: index.md :linenos: -:emphasize-lines: 1-12 +:emphasize-lines: 1-14 --- authors: @@ -539,7 +539,9 @@ authors: # Optional: Do you have an ORCID? # orcid: "0000-0000-0000-0000" export: - - "pdf" + - format: "typst" + template: "plain_typst_book" + output: "paper.pdf" --- # My document title From f9d7b72ec0ead2efd2a530c32ad09e35cad9a010 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 19:23:11 -0700 Subject: [PATCH 11/34] Document building a PDF --- modules/05-sharing-and-publishing/index.md | 41 +++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index e23e753..7c072d1 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -617,9 +617,48 @@ and . ::: +#### Build the PDF + +To build the PDF, try `myst build --pdf` again. + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +``` +๐Ÿ–จ Rendering typst pdf to paper.pdf +``` +::: + +Try opening the PDF! +Double-click `paper.pdf` in the JupyterLab file browser. + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +The content is fairly simple. +There is a title page, a blank table of contents, and then your content on the 3rd page. +::: + +This document was rendered with the `"plain_typst_book"` template. +Other PDF template options are available! + +Try running `myst templates list --typst` to see a list of available templates. + +More information is available on the +[official MyST PDF-building documentation](https://mystmd.org/guide/creating-pdf-documents) + + #### ๐Ÿง  What do we know now? -TODO +* MyST documents can be built to multiple output formats, including PDFs. +* Frontmatter is YAML metadata on a Markdown document that can tell MyST which documents + should be built as PDF. +* [Typst](https://typst.app/) can be used as an alternative document engine to + $ \LaTeX $ for rendering PDFs by specifying `export.format: "typst"` in the frontmatter. +* If you opened the collapsed section on quoting YAML, you know the author of this + document has been burned too many times. **Quote your strings**! ๐Ÿ˜ ## Hosting your website for free From 1fc6bb6b218993f303159c1dd6022c004213d741 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 21:05:27 -0700 Subject: [PATCH 12/34] Remove dangling ref --- reference/00-vocabulary.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/reference/00-vocabulary.md b/reference/00-vocabulary.md index c714e2e..9a9a6a8 100644 --- a/reference/00-vocabulary.md +++ b/reference/00-vocabulary.md @@ -8,5 +8,3 @@ Frontmatter cell of a Jupyter Notebook. [Read more in the official MyST frontmatter docs](https://mystmd.org/guide/frontmatter). ::: - -Reference to {term}`Some term `. From 9a222f5c35c13abeec531006077a0fa969e7b9e1 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 21:06:27 -0700 Subject: [PATCH 13/34] Add exercise D content --- .../github-actions-deploy-successful.jpg | Bin 0 -> 8267 bytes .../github-repo-about-cog.jpg | Bin 0 -> 73535 bytes modules/05-sharing-and-publishing/index.md | 135 +++++++++++++++++- 3 files changed, 128 insertions(+), 7 deletions(-) create mode 100644 modules/05-sharing-and-publishing/github-actions-deploy-successful.jpg create mode 100644 modules/05-sharing-and-publishing/github-repo-about-cog.jpg diff --git a/modules/05-sharing-and-publishing/github-actions-deploy-successful.jpg b/modules/05-sharing-and-publishing/github-actions-deploy-successful.jpg new file mode 100644 index 0000000000000000000000000000000000000000..66c2215588f294a66c9992c4244f70a77c2445c9 GIT binary patch literal 8267 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 Mls^4Dv)@|%FUE>~C;$Ke literal 0 HcmV?d00001 diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 7c072d1..78fdc10 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -663,23 +663,144 @@ More information is available on the ## Hosting your website for free -### GitHub Pages +There are many platforms for hosting a website (and PDF!) for free. +We'll discuss some common options for open source projects. -TODO +### [GitHub Pages](https://docs.github.com/en/pages) -### ReadTheDocs +GitHub Pages is, as it sounds, a GitHub-native solution for hosting web pages. +It doesn't offer any advanced features, it only enables building a website from a GitHub +repository. -TODO +Pages are built using [GitHub Actions](https://github.com/features/actions). -### ๐Ÿ’ช Exercise D: Publish your paper and website to GitHub +### [ReadTheDocs](https://about.readthedocs.com/) + +ReadTheDocs is a community service for building and hosting webpages, most commonly +software documentation. +It provides advanced functionality like website previews for Pull Requests, +multi-language builds, and multi-version builds. + +It uses +[its own unique file format](https://docs.readthedocs.com/platform/stable/config-file/v2.html) +for specifying build processes. + + +### ๐Ÿ’ช Exercise D: Publish your paper and website to GitHub Pages + +We're going to use GitHub Pages because it's more straightforward to configure. +We recommend trying out ReadTheDocs if you need more advanced features! + + +#### Update repository's GitHub Pages settings + +* Open your repository URL in your browser +* Click the "Settings" tab towards the top +* Select "Pages" from the left menu +* Change the "Source" dropdown to "GitHub Actions" + + +#### Add GitHub Actions configuration file + +Now that we've set up our repository to build our website using GitHub Actions, +we need to define the build process in a configuration file. + +MyST can do this automatically! +In the terminal, from your `myst-exercise` project directory: + +```bash +myst init --gh-pages +``` + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +This will create a new file (and its parent directories) at +`.github/workflows/deploy.yml`. + +**You may need to show hidden files so you can see the `.github` directory in the file +browser. +Select View > Show hidden files** from the menu. +::: + + +#### View the action results + +After committing and pushing the GitHub Actions configuration file in the previous step, +we can view the build that was triggered. + +Visit your repository URL in GitHub. +Click the "Actions" tab at the top. + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +There is 1 workflow run, ideally with a green checkmark. +::: + +Click on the workflow run shown on this page. +If it succeeded, you should see a node named "deploy" displayed on the page: + +![](./github-actions-deploy-successful.jpg) + +Click the link in the "deploy" node to view your built website. + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +Your webpage displays on the public Internet! + +At the top-right of this page, there's a "download" icon that looks a bit like this: + +๐Ÿ“ฅ + +When you click that icon, you're presented with an option to download your document as a +PDF. + +When you download your PDF, it looks exactly like the PDF you built manually earlier! +::: + +If your deploy failed, click the "deploy" node to view the error logs. +See if you can solve the error on your own, and let an instructor know if you need help! + + +#### Display your GitHub Pages URL on your repository homepage + +GitHub offers a convenience feature to enable you to view your GitHub Pages URL on the +homepage of your GitHub repo. + +Visit the URL for your GitHub repo homepage. +Towards the top-right, click the cog/gear icon (โš™๏ธ). + +![](./github-repo-about-cog.jpg) + +Finally, check the "Use your GitHub Pages website" checkbox, and then click "Save +changes". + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +Your GitHub Pages URL is visible near the cog/gear icon. +Click the link to immediately open your website. +::: -TODO #### ๐Ÿง  What do we know now? -TODO +* GitHub repositories need some initial setup in the web interface to publish a MyST + site built in GitHub Actions. +* MyST can do most of the work of configuring GitHub Actions deployments for us with a + single command: `myst init --gh-pages`. +* We can see deployment progress and results in the GitHub repository's "Actions" tab. +* MyST will automatically build PDFs when building a website, and generate a download + link on the relevant page. +* A GitHub repository can display a convenient link to the related GitHub Pages website. ## Getting a DOI From f93957a7ce64a143745801f7a04abc9ddda2f28e Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 21:07:51 -0700 Subject: [PATCH 14/34] Move TODOs to dropdown at the beginning --- modules/05-sharing-and-publishing/index.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 78fdc10..6c8261c 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -49,6 +49,14 @@ We'll publish the website and PDF for free on GitHub, and enable automatic gener DOIs for our published product. ::: +:::{note} TODOs +:class: dropdown + +* Step to clone workshop repo as a drop-down or link to reference page (for + participants who may come in late and miss these instructions from earlier modules) +* Add checkpoints to commit and push +::: + ## What is MyST? @@ -159,8 +167,9 @@ myst start ### ๐Ÿ’ช Exercise A: Build _this_ MyST website in JupyterLab -_TODO_: Step to clone workshop repo as a drop-down or link to reference page (for -participants who may come in late and miss these instructions from earlier modules) +This workshop's materials are built with MyST. +We'll build this premade website together on CryoCloud so you can get used to the +process. #### Navigate to the correct directory in the file browser From 76dac5e342b45c3d4e2a8b22e723a4e701cb48e0 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 21:08:52 -0700 Subject: [PATCH 15/34] Add missing period --- modules/05-sharing-and-publishing/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 6c8261c..6419e5b 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -656,7 +656,7 @@ Other PDF template options are available! Try running `myst templates list --typst` to see a list of available templates. More information is available on the -[official MyST PDF-building documentation](https://mystmd.org/guide/creating-pdf-documents) +[official MyST PDF-building documentation](https://mystmd.org/guide/creating-pdf-documents). #### ๐Ÿง  What do we know now? From 7f5c0db20f8a8ed77f7c0a5fa2b730f818649e3c Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 21:09:31 -0700 Subject: [PATCH 16/34] Better "you should notice..." callout --- modules/05-sharing-and-publishing/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 6419e5b..b1a4300 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -634,6 +634,8 @@ To build the PDF, try `myst build --pdf` again. :class: simple :icon: false +The command produces the following output at the end: + ``` ๐Ÿ–จ Rendering typst pdf to paper.pdf ``` From 4a52f629e9fb49283515baf832dbfdb724ee0582 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Mon, 24 Nov 2025 21:11:22 -0700 Subject: [PATCH 17/34] Make "notice" callouts more consistent --- modules/05-sharing-and-publishing/index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index b1a4300..6d36735 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -281,7 +281,7 @@ git clone :class: simple :icon: false -This command produces the following output: +...this command produces the following output: ``` Cloning into 'myst-exercise'... @@ -507,7 +507,7 @@ myst build --pdf :class: simple :icon: false -This command fails with: +...this command fails with: ``` ๐Ÿ“ญ No file exports with kind "pdf" found. @@ -634,7 +634,7 @@ To build the PDF, try `myst build --pdf` again. :class: simple :icon: false -The command produces the following output at the end: +...this command produces the following output at the end: ``` ๐Ÿ–จ Rendering typst pdf to paper.pdf @@ -648,7 +648,7 @@ Double-click `paper.pdf` in the JupyterLab file browser. :class: simple :icon: false -The content is fairly simple. +...the content is fairly simple. There is a title page, a blank table of contents, and then your content on the 3rd page. ::: @@ -729,7 +729,7 @@ myst init --gh-pages :class: simple :icon: false -This will create a new file (and its parent directories) at +...this created a new file (and its parent directories) at `.github/workflows/deploy.yml`. **You may need to show hidden files so you can see the `.github` directory in the file @@ -750,7 +750,7 @@ Click the "Actions" tab at the top. :class: simple :icon: false -There is 1 workflow run, ideally with a green checkmark. +...there is 1 workflow run listed, ideally with a green checkmark. ::: Click on the workflow run shown on this page. @@ -764,7 +764,7 @@ Click the link in the "deploy" node to view your built website. :class: simple :icon: false -Your webpage displays on the public Internet! +...your webpage displays on the public Internet! At the top-right of this page, there's a "download" icon that looks a bit like this: @@ -797,7 +797,7 @@ changes". :class: simple :icon: false -Your GitHub Pages URL is visible near the cog/gear icon. +...your GitHub Pages URL is visible near the cog/gear icon. Click the link to immediately open your website. ::: From b27fbb141ebb7cec228c77c553335a99ef7c09f9 Mon Sep 17 00:00:00 2001 From: Matt Fisher <3608264+mfisher87@users.noreply.github.com> Date: Tue, 25 Nov 2025 15:26:12 -0700 Subject: [PATCH 18/34] Module 5 exercise E (#50) --- .../github-create-a-release.jpg | Bin 0 -> 143790 bytes modules/05-sharing-and-publishing/index.md | 251 +++++++++++++++++- .../zenodo-doi-badge.jpg | Bin 0 -> 24818 bytes .../zenodo-repository-enable.jpg | Bin 0 -> 13362 bytes myst.yml | 3 + reference/00-vocabulary.md | 32 +++ 6 files changed, 284 insertions(+), 2 deletions(-) create mode 100644 modules/05-sharing-and-publishing/github-create-a-release.jpg create mode 100644 modules/05-sharing-and-publishing/zenodo-doi-badge.jpg create mode 100644 modules/05-sharing-and-publishing/zenodo-repository-enable.jpg diff --git a/modules/05-sharing-and-publishing/github-create-a-release.jpg b/modules/05-sharing-and-publishing/github-create-a-release.jpg new file mode 100644 index 0000000000000000000000000000000000000000..64c29cb38c70a8e35ca5d2700be2fa6d261c05ba GIT binary patch literal 143790 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 z zvgHDmTA2gLyDj6RWaOt+Thgb2hB%qb zc#eDYUIBWVwaov>_a2jb>A^23ly7Hg|8rrsLr<$wga>x}Wtj+h&g~~M$8~mpb#BW6~l|SKow0D4CxvCtg zy7bDK2h-ojz+iPj`GAIhcKucJ1!w22`QH{sQd$4B(OS9y!k?-2jn`##V&XoZ&|=28 zd(HjnYo?as$t}G4y#1vir9x};IcCp+ge`WYW^wVa79LJHY zHPpho=?gNC{M5P^U7xw(xraLgA&(lM+#L!MriE>M z5fKyPB+y-l1&w1W0|%mgl5)qNw@O=yJMKSFP}O_c(k^da zhoclUs-LfU#h@9QBCFlox+%_ld<7XKh^V=rSbtMb<{(QmDq9~=dB`IRH+wwX8F0y# zy%A(c>1MI7^Xem~pzTC4)HsqnKXZ!F)y(I{Y_-O8frk(5oTdjLS^{){bnn&yiS85Y z$VElYM^{kP7OlQ2b7s_m#uxpG&VffbY(!y#29HR2qiCZ0LN|_xQ%viXcI>K_t(FI_ z*r;&{)M2DM9b~qM8Xqp3TpznXO^-$oDo+l6X?l}K0j*n|a4(>xX?{@Q-L`t>O1rfV zTWo->5><22yY0-WOONMdBl|&iSl*p#!^{X)L!z*E@*V0O@6&G!EuD3ji?z<9J$MD|6l57+BG-~Fsry+OWB@3_x7p=V@l$>V^5P*wdg>K8 zadUr_N6Dg9okDY_uev|huZL403bsvd|HEMaKJ8is=)&f)=J1K{Cmmy q$<04^SiWf9EbRY1&Ak&CsTzCozx7b#&4bFcor{NDhClfh8{ literal 0 HcmV?d00001 diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 6d36735..def1a2a 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -816,13 +816,260 @@ Click the link to immediately open your website. ## Getting a DOI -TODO +A {term}`DOI` can uniquely identify and track your research products, enabling easy +citing and tracking of citations. +DOIs can even be versioned, enabling citations to reference a research product at a +specific point in time. + +DOIs can be associated with your unique academic identity through the use of +an {term}`ORCID`. + +:::{important} +A DOI and ORCID can help defend your work against {term}`scooping` by providing +verifiable {term}`provenance` for your work, making it clear that your work came first. + +They can also enable credit for the work to be more equitably distributed by crediting +all forms of contributions. +::: + +We can automate the production of DOIs with GitHub and [Zenodo](https://zenodo.org/) (a +**free** DOI registrar developed and operated by [CERN](https://home.cern/)). ### ๐Ÿ’ช Exercise E: Get a DOI for your published content on GitHub -TODO +#### Create an ORCID + +Visit the [ORCID registration page](https://orcid.org/register) and create an account. + +Enter your **personal email** as your primary email. +Be sure to also enter your institutional email as an additional email. +You can more emails after you register. + + +#### Sign up for Zenodo + +Visit the [Zenodo signup page](https://zenodo.org/signup/) and sign up with either your +GitHub account or ORCID. +We recommend using GitHub, as you'll need to link your GitHub account either way. + + +##### Link your GitHub account + +If you didn't signup with GitHub, you'll need to link your GitHub account. + +After you've signed in, click the username dropdown at the top-right of the Zenodo +interface. + +On the left panel, select "Linked accounts". + +On the GitHub row, click "Connect". +You may be prompted to log in, then you'll be prompted to accept some dialogs. + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +Back in the Zenodo "Linked accounts" screen, a green checkmark will be +displayed next to GitHub. +::: + + + +#### Enable auto-DOI for your repository on Zenodo + +After you've signed in to Zenodo, click the username dropdown at the top-right of the +Zenodo interface. + +On the left panel, select "GitHub". + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +...there is a large "Get started" display with a 3-step process you can follow to enable auto-DOI for a +repository. + +At the top right of this "Get started" box, there is a "Sync now" button. +::: + +Click "Sync now". +It may take a moment to complete the sync. + +:::{hint} Help, I received a `504` error! +:class: dropdown + +If you receive a `504` error, +[this is common for users with large numbers of public repositories](https://github.com/zenodo/zenodo-rdm/issues/1118). +Wait a few minutes and refresh the page; eventually your repository list will be updated +::: + +Find your repository in the list and flip the switch for that repository +to "ON". + +![](./zenodo-repository-enable.jpg) + + +#### Create `CITATION.cff` + +A `CITATION.cff` file is the project metadata that enables Zenodo to populate a DOI. + +MyST can generate a `CITATION.cff` for you! +But it needs to be told which documents to use to populate this metadata. + +Edit `index.md` to add another export format of `"cff"`: + +```{code} markdown +:filename: index.md +:linenos: +:emphasize-lines: 14 + +--- +authors: + - name: "Matt Fisher" + affiliations: + - "Schmidt Center for Data Science & Environment" + - "University of California, Berkeley" + email: "matt.fisher@berkeley.edu" + github: "mfisher87" + orcid: "0000-0003-3260-5445" +export: + - format: "typst" + template: "plain_typst_book" + output: "paper.pdf" + - format: "cff" +--- + +# My document title +``` + +Now we can build our `CITATION.cff` file with the command: + +```bash +myst build --cff +``` + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +...the following output: + +``` +๐Ÿ“‘ Exported CFF in 37 ms, copying to CITATION.cff +``` +::: + +As your project grows and changes, you can regenerate this file by repeating +that command. + +You can also edit your citation file by hand -- it's in the YAML format, which may be +familiar to you now! +Check out the +[full CFF specification](https://citation-file-format.github.io/assets/pdf/cff-specifications-1.0.0.pdf) +to see what kind of information you can populate! + + +#### Create a GitHub release + +Zenodo creates DOIs **only** when you create releases in GitHub. + +Visit the URL for your GitHub repository's homepage. + +Click the "Create a new release" button on the right sidebar. + +![](./github-create-a-release.jpg) + +Click the "Tag" dropdown and click "Create new tag". +We'll use tags to create an ascending numerical sequence for our releases. +For simplicity, let's enter the date in `YYYY.MM.DD` format, e.g. `2025.12.18`. + +:::{hint} Versioning schemes +:class: dropdown + +There are many +[versioning schemes](https://nesbitt.io/2024/06/24/from-zerover-to-semver-a-comprehensive-list-of-versioning-schemes-in-open-source.html) +to choose from. +The one we suggested above is called ["CalVer"](https://calver.org/) or "calendar versioning". + +You may want to try an extremely common versioning scheme called +["SemVer"](https://semver.org/) or "semantic versioning" enables embedding +information about the implications of upgrading to any given version in the +version number itself. +::: + +Give your release the title "Initial release". + +You don't need to enter anything in the "Release notes" field, but we recommend +using the "Generate release notes" button as a starting place. + +:::{hint} "Generate release notes" only generates one line of text! +:class: dropdown + +This feature uses +[GitHub Pull Requests (PRs)](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) +to generate a list of changes. +If you don't use PRs, you will only see a "Changelog" link, this is normal. +::: + +Finally, **click "Publish release"**. + +Zenodo will automatically generate your DOI now. + + +#### Add a badge to your README + +Zenodo also automatically generates a beautiful DOI "badge" you can display on +your repository's README or anywhere else on the web. + +To use the badge, click the username dropdown at the top-right of the Zenodo +interface, and select "GitHub". + +Locate your repository on the list of enabled repositories and click on the +blue DOI badge: + +![](./zenodo-doi-badge.jpg) + +Copy the "Markdown" code and paste it into a new `README.md` file in your repository: + +```{code} markdown +:filename: README.md +:linenos: +:emphasize-lines: 1 + +[![DOI](https://zenodo.org/badge/1100194185.svg)](https://doi.org/10.5281/zenodo.17716242) + +# My exercise from the AGU workshop "Open Source Geospatial Workflows in the Cloud" +``` + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +...your repository homepage renders your `README.md` file with a pretty blue badge at the top ๐Ÿคฉ + +Clicking the badge takes you to the Zenodo homepage for your DOI. +From here, you can generate citations in a variety of formats or download your archived repository as a Zip file. +::: + +:::{hint} Writing a useful README +:class: dropdown + +The README is the first thing that a user sees when they interact with your repository. + +Check out +[The Turing Way's README guide](https://book.the-turing-way.org/project-design/pd-overview/project-repo/project-repo-readme/) +for some thoughts that may help you make your README more useful. +::: #### ๐Ÿง  What do we know now? TODO + + +## ๐ŸŽ‰ Congratulations, you're done! + +Great job finishing this module. +If you'd like continued support in applying these skills to your work, please join the +[MyST community on Discord](https://discord.mystmd.org/) and/or ask questions in the +[CryoCloud Slack](https://book.cryointhecloud.com/index-3#slack-account)! diff --git a/modules/05-sharing-and-publishing/zenodo-doi-badge.jpg b/modules/05-sharing-and-publishing/zenodo-doi-badge.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3c44c9cfca9b6a9fa2266301137b1985e6f9d07c GIT binary patch literal 24818 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 R$->h?P;bL*oFD)HCIHiK+_C@w literal 0 HcmV?d00001 diff --git a/modules/05-sharing-and-publishing/zenodo-repository-enable.jpg b/modules/05-sharing-and-publishing/zenodo-repository-enable.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a69959ec0db4a262693c3e034b4826be3322c59 GIT binary patch literal 13362 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 literal 0 HcmV?d00001 diff --git a/myst.yml b/myst.yml index e1a2725..0618032 100644 --- a/myst.yml +++ b/myst.yml @@ -7,6 +7,9 @@ project: # authors: [] license: "MIT" github: "https://github.com/geojupyter/workshop-open-source-geospatial" + error_rules: + - rule: "doi-link-valid" + severity: "warn" exclude: - "_*" - "README.md" diff --git a/reference/00-vocabulary.md b/reference/00-vocabulary.md index 9a9a6a8..312dee9 100644 --- a/reference/00-vocabulary.md +++ b/reference/00-vocabulary.md @@ -1,10 +1,42 @@ # ๐Ÿ” Vocabulary :::{glossary} +DOI +: A "Digital Object Identifier" is a string of characters (e.g. + ) that uniquely identifies an object (_any_ + object: physical, digital, or conceptual). + [Read more on the official DOI website](https://www.doi.org/the-identifier/what-is-a-doi/). + + Frontmatter : A way of embedding metadata with [YAML](https://yaml.org/) at the front (top) of a document. Frontmatter can be embedded at the top of a Markdown document or in the first Markdown cell of a Jupyter Notebook. [Read more in the official MyST frontmatter docs](https://mystmd.org/guide/frontmatter). + +Open science +: A movement to make research products (papers, data, software) and processes accessible + to everyone. + A more stringent interpretation of open science involves enabling not just access, but + collaboration, throughout the scientific process, not just at the end. + [Read more on Wikipedia](https://en.wikipedia.org/wiki/Open_science). + +ORCID +: An "Open Researcher and Contributor ID" that uniquely identifies an academic + contributor and enables tracking and associating their identity with {term}`DOIs `. + [Read more on the official ORCID website](https://info.orcid.org/what-is-orcid/). + +Provenance +: The history or chronology of a thing. + The provenance of your research products can be established and verified by publishing + the source code and creating {term}`DOIs `. + +Scooping +: Being "beaten to the punch" or left in second place in the attempt to publish research + or a discovery. + This term is often used as a counter-argument for {term}`open science` by implying that + sharing your work openly will result in plagiarism. + For more, please read + [Afraid of Scooping โ€“ Case Study on Researcher Strategies against Fear of Scooping in the Context of Open Science](https://doi.org/10.5334/dsj-2017-029). ::: From c68fec7ae7ee5bb65921c051f8141e76149bef8f Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 12:16:43 -0700 Subject: [PATCH 19/34] Remove redundant "notice..." callout --- modules/05-sharing-and-publishing/index.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index def1a2a..6812ad4 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -132,16 +132,6 @@ use of the terminal. To preview a MyST site in JupyterLab, view instructions at [](../../reference/04-using-myst.md). -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - -...when you trigger the build as specified in the instructions linked above, a loading -screen is displayed. - -After a few seconds, the build will complete and you can see your fully-built site! -::: - :::{note} The normal way :class: dropdown From b616ce46d837548c6a89f138ee53f6da7da2326d Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 12:24:03 -0700 Subject: [PATCH 20/34] Add a "Joining late?" callout to clone the repo --- modules/05-sharing-and-publishing/index.md | 37 ++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 6812ad4..435bb4b 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -52,8 +52,6 @@ DOIs for our published product. :::{note} TODOs :class: dropdown -* Step to clone workshop repo as a drop-down or link to reference page (for - participants who may come in late and miss these instructions from earlier modules) * Add checkpoints to commit and push ::: @@ -161,6 +159,41 @@ This workshop's materials are built with MyST. We'll build this premade website together on CryoCloud so you can get used to the process. +::::::{hint} Joining late? You may need to clone the workshop repository +:class: dropdown + +If you're joining late, you may have missed a prior instruction to clone the workshop +website. + +Open a terminal in your CryoCloud JupyterLab server: + +```bash +cd # Move to your home directory +git clone https://github.com/geojupyter/workshop-open-source-geospatial.git +``` + +:::{important} ๐Ÿ‘€ You should notice... +:class: simple +:icon: false + +...this command produces output like: + +``` +Cloning into 'workshop-open-source-geospatial'... +remote: Enumerating objects: 417, done. +remote: Counting objects: 100% (178/178), done. +remote: Compressing objects: 100% (101/101), done. +remote: Total 417 (delta 136), reused 97 (delta 77), pack-reused 239 (from 2) +Receiving objects: 100% (417/417), 1.13 MiB | 7.21 MiB/s, done. +Resolving deltas: 100% (229/229), done. +``` +::: + +It's also critical that you set up authentication. +You'll need this to push to GitHub, which is required in this module. +Please follow the instructions at [](../../reference/03-gh-auth.md). +:::::: + #### Navigate to the correct directory in the file browser From 3e28d8493568de08b1cca85ce13562157c02f3ba Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 12:25:49 -0700 Subject: [PATCH 21/34] Improve late-joiner instructions to setup GH auth --- modules/05-sharing-and-publishing/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 435bb4b..1323918 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -163,7 +163,7 @@ process. :class: dropdown If you're joining late, you may have missed a prior instruction to clone the workshop -website. +website and set up GitHub authentication. Open a terminal in your CryoCloud JupyterLab server: @@ -189,8 +189,8 @@ Resolving deltas: 100% (229/229), done. ``` ::: -It's also critical that you set up authentication. -You'll need this to push to GitHub, which is required in this module. +**You'll need to setup GitHub authentication to push to GitHub**, which is required to +complete this module. Please follow the instructions at [](../../reference/03-gh-auth.md). :::::: From 992f7b77176eed48e37c9833f0ed3746b67b3453 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 12:26:03 -0700 Subject: [PATCH 22/34] Fix typo --- modules/05-sharing-and-publishing/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 1323918..474e0c3 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -212,7 +212,7 @@ file named `myst.yml`. #### Build the MyST website -Location the MyST project configuration file, `myst.yml`, in the file browser. +Locate the MyST project configuration file, `myst.yml`, in the file browser. Right click this file and select the top option from the menu: "Build MyST Project". From d47719af814554497b386958fd227adff0e686b2 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 12:27:52 -0700 Subject: [PATCH 23/34] Add more context to "the normal way" to build with MyST --- modules/05-sharing-and-publishing/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 474e0c3..0107f91 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -130,7 +130,7 @@ use of the terminal. To preview a MyST site in JupyterLab, view instructions at [](../../reference/04-using-myst.md). -:::{note} The normal way +:::{note} The normal way (without JupyterLab) :class: dropdown Because we're working in CryoCloud for this workshop, we'll be following the From c778ff392dc139dfe2183ad3060421dcb661666f Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 12:38:33 -0700 Subject: [PATCH 24/34] Use test tube emoji to denote tests --- modules/05-sharing-and-publishing/index.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 0107f91..6ffd200 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -356,7 +356,7 @@ $$ The `$$` symbols delimit a math equation, and you can write any $ \LaTeX $ within. -#### Build your site +#### ๐Ÿงช Build your site Right-click the `myst.yml` file in the file browser, and select "Build MyST Project". @@ -375,7 +375,7 @@ At the top-right, there is a "Rebuild" button. ::: -#### Try some other MyST features and rebuild +#### Try some other MyST features :::{important} **Keep the tab displaying your website open!** @@ -399,10 +399,13 @@ MyST offers many useful features for technical publishing, including Try out some of these features in your MyST site. + +#### ๐Ÿงช Rebuild your site + **Each time you make changes, rebuild the site by clicking "Rebuild" at the top-right of the site.** -Make changes, rebuild, and view the result as many time as you need! +Make changes, rebuild, and view the result as many time as you want! #### Give your site a title @@ -435,6 +438,8 @@ site: # logo: site_logo.png ``` +#### ๐Ÿงช Rebuild your site + **Save and rebuild your site.** :::{important} ๐Ÿ‘€ You should notice... @@ -485,6 +490,8 @@ site: # logo: site_logo.png ``` +#### ๐Ÿงช Rebuild your site + **Save and rebuild your site.** :::{important} ๐Ÿ‘€ You should notice... @@ -649,7 +656,7 @@ and . ::: -#### Build the PDF +#### ๐Ÿงช Build the PDF To build the PDF, try `myst build --pdf` again. @@ -761,7 +768,7 @@ Select View > Show hidden files** from the menu. ::: -#### View the action results +#### ๐Ÿงช View the action results After committing and pushing the GitHub Actions configuration file in the previous step, we can view the build that was triggered. From 142d64a4085207f3d899a611c83236a25cdfe2e4 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 12:38:51 -0700 Subject: [PATCH 25/34] Fix typo, adjust whitespace --- modules/05-sharing-and-publishing/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 6ffd200..0936830 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -527,7 +527,7 @@ Let's try it out! #### Attempt to build our current project as PDF -Building PDF(s) from a MyST project requires on command: +Building PDF(s) from a MyST project requires one command in the terminal: ```bash myst build --pdf @@ -905,7 +905,6 @@ displayed next to GitHub. ::: - #### Enable auto-DOI for your repository on Zenodo After you've signed in to Zenodo, click the username dropdown at the top-right of the From 38ce8f2ed87f44e195dffb13b7828e5605fd95ac Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 16:12:05 -0700 Subject: [PATCH 26/34] Add checkpoints to commit and push using custom plugin --- modules/05-sharing-and-publishing/index.md | 28 +++++++++++----- myst.yml | 2 ++ plugin-custom-directives.mjs | 39 ++++++++++++++++++++++ 3 files changed, 61 insertions(+), 8 deletions(-) create mode 100644 plugin-custom-directives.mjs diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 0936830..a761efd 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -49,12 +49,6 @@ We'll publish the website and PDF for free on GitHub, and enable automatic gener DOIs for our published product. ::: -:::{note} TODOs -:class: dropdown - -* Add checkpoints to commit and push -::: - ## What is MyST? @@ -162,6 +156,8 @@ process. ::::::{hint} Joining late? You may need to clone the workshop repository :class: dropdown +Foo! + If you're joining late, you may have missed a prior instruction to clone the workshop website and set up GitHub authentication. @@ -440,7 +436,7 @@ site: #### ๐Ÿงช Rebuild your site -**Save and rebuild your site.** +Save and rebuild your site. :::{important} ๐Ÿ‘€ You should notice... :class: simple @@ -492,7 +488,7 @@ site: #### ๐Ÿงช Rebuild your site -**Save and rebuild your site.** +Save and rebuild your site. :::{important} ๐Ÿ‘€ You should notice... :class: simple @@ -502,6 +498,9 @@ site: chose for your logo text) instead of "Made with MyST". ::: +:::{gitCommitCheckpoint} Initialize MyST site +::: + #### ๐Ÿง  What do we know now? @@ -682,6 +681,12 @@ Double-click `paper.pdf` in the JupyterLab file browser. There is a title page, a blank table of contents, and then your content on the 3rd page. ::: +:::{gitCommitCheckpoint} Add PDF export +::: + +:::{note} Other PDF templates +:class: dropdown + This document was rendered with the `"plain_typst_book"` template. Other PDF template options are available! @@ -689,6 +694,7 @@ Try running `myst templates list --typst` to see a list of available templates. More information is available on the [official MyST PDF-building documentation](https://mystmd.org/guide/creating-pdf-documents). +::: #### ๐Ÿง  What do we know now? @@ -767,6 +773,9 @@ browser. Select View > Show hidden files** from the menu. ::: +:::{gitCommitCheckpoint} Set up publish with GitHub Actions +::: + #### ๐Ÿงช View the action results @@ -989,6 +998,9 @@ myst build --cff ``` ::: +:::{gitCommitCheckpoint} Add CITATION.cff for Zenodo DOI +::: + As your project grows and changes, you can regenerate this file by repeating that command. diff --git a/myst.yml b/myst.yml index 0618032..6e2a459 100644 --- a/myst.yml +++ b/myst.yml @@ -7,6 +7,8 @@ project: # authors: [] license: "MIT" github: "https://github.com/geojupyter/workshop-open-source-geospatial" + plugins: + - "plugin-custom-directives.mjs" error_rules: - rule: "doi-link-valid" severity: "warn" diff --git a/plugin-custom-directives.mjs b/plugin-custom-directives.mjs new file mode 100644 index 0000000..cefdbc8 --- /dev/null +++ b/plugin-custom-directives.mjs @@ -0,0 +1,39 @@ +const gitCommitDirective = { + name: "gitCommitCheckpoint", + doc: "Renders a consistent callout when the learner should do a Git commit.", + arg: { + type: String, + doc: "Commit message", + }, + run(data) { + return [{ + type: "block", + children: [{ + type: "admonition", + kind: "important", + icon: false, + children: [ + { + type: "admonitionTitle", + children: [{ + type: "text", + value: "๐Ÿ’พ Commit & push to GitHub", + }], + }, + { + type: "code", + lang: "bash", + value: `git add .\ngit commit -m "${data.arg}"\ngit push -u origin main`, + }, + ], + }], + }] + }, +}; + +const plugin = { + name: "Our custom functionality", + doc: "Custom functionality for this workshop website", + directives: [gitCommitDirective], +} +export default plugin; From 4631c556f1d549b08db07c14647cfc8db72a35ad Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 17:00:03 -0700 Subject: [PATCH 27/34] Extract `{youShouldNotice}` directive --- modules/05-sharing-and-publishing/index.md | 95 +++++----------------- plugin-custom-directives.mjs | 33 +++++++- 2 files changed, 50 insertions(+), 78 deletions(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index a761efd..16dcd93 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -168,10 +168,7 @@ cd # Move to your home directory git clone https://github.com/geojupyter/workshop-open-source-geospatial.git ``` -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...this command produces output like: ``` @@ -197,10 +194,7 @@ On the left panel, ensure the JupyterLab file browser tab (๐Ÿ“ icon) is selecte Double click the folder in the file browser named `workshop-open-source-geospatial`. -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...a listing of around a dozen files and directories, including Markdown files and a file named `myst.yml`. ::: @@ -212,10 +206,7 @@ Locate the MyST project configuration file, `myst.yml`, in the file browser. Right click this file and select the top option from the menu: "Build MyST Project". -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...a new browser tab opens with a loading spinner and the title "Building MyST Site". After around 5 seconds, the build will complete and the website content will display @@ -270,10 +261,7 @@ Select your username as the owner, and enter `myst-exercise` as the repository n Leave everything else as default, and click "Create repository". -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...GitHub shows you a page for your new, empty repository. A "Quick setup" section includes a URL you can copy. @@ -296,10 +284,7 @@ cd git clone ``` -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...this command produces the following output: ``` @@ -356,10 +341,7 @@ The `$$` symbols delimit a math equation, and you can write any $ \LaTeX $ withi Right-click the `myst.yml` file in the file browser, and select "Build MyST Project". -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...like last time, a new browser tab opens showing a loading spinner while your site builds. @@ -438,10 +420,7 @@ site: Save and rebuild your site. -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...the text near the top-left of your site now says "My site" (or whatever you chose for your title) instead of "index". @@ -490,10 +469,7 @@ site: Save and rebuild your site. -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...the text near at the very top-left of your site now says "My logo text" (or whatever you chose for your logo text) instead of "Made with MyST". ::: @@ -532,10 +508,7 @@ Building PDF(s) from a MyST project requires one command in the terminal: myst build --pdf ``` -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...this command fails with: ``` @@ -659,10 +632,7 @@ and . To build the PDF, try `myst build --pdf` again. -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...this command produces the following output at the end: ``` @@ -673,10 +643,7 @@ To build the PDF, try `myst build --pdf` again. Try opening the PDF! Double-click `paper.pdf` in the JupyterLab file browser. -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...the content is fairly simple. There is a title page, a blank table of contents, and then your content on the 3rd page. ::: @@ -761,10 +728,7 @@ In the terminal, from your `myst-exercise` project directory: myst init --gh-pages ``` -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...this created a new file (and its parent directories) at `.github/workflows/deploy.yml`. @@ -785,10 +749,7 @@ we can view the build that was triggered. Visit your repository URL in GitHub. Click the "Actions" tab at the top. -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...there is 1 workflow run listed, ideally with a green checkmark. ::: @@ -799,10 +760,7 @@ If it succeeded, you should see a node named "deploy" displayed on the page: Click the link in the "deploy" node to view your built website. -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...your webpage displays on the public Internet! At the top-right of this page, there's a "download" icon that looks a bit like this: @@ -832,10 +790,7 @@ Towards the top-right, click the cog/gear icon (โš™๏ธ). Finally, check the "Use your GitHub Pages website" checkbox, and then click "Save changes". -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...your GitHub Pages URL is visible near the cog/gear icon. Click the link to immediately open your website. ::: @@ -905,10 +860,7 @@ On the left panel, select "Linked accounts". On the GitHub row, click "Connect". You may be prompted to log in, then you'll be prompted to accept some dialogs. -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} Back in the Zenodo "Linked accounts" screen, a green checkmark will be displayed next to GitHub. ::: @@ -921,10 +873,7 @@ Zenodo interface. On the left panel, select "GitHub". -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...there is a large "Get started" display with a 3-step process you can follow to enable auto-DOI for a repository. @@ -987,10 +936,7 @@ Now we can build our `CITATION.cff` file with the command: myst build --cff ``` -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...the following output: ``` @@ -1083,10 +1029,7 @@ Copy the "Markdown" code and paste it into a new `README.md` file in your reposi # My exercise from the AGU workshop "Open Source Geospatial Workflows in the Cloud" ``` -:::{important} ๐Ÿ‘€ You should notice... -:class: simple -:icon: false - +:::{youShouldNotice} ...your repository homepage renders your `README.md` file with a pretty blue badge at the top ๐Ÿคฉ Clicking the badge takes you to the Zenodo homepage for your DOI. diff --git a/plugin-custom-directives.mjs b/plugin-custom-directives.mjs index cefdbc8..1bb61c8 100644 --- a/plugin-custom-directives.mjs +++ b/plugin-custom-directives.mjs @@ -27,13 +27,42 @@ const gitCommitDirective = { }, ], }], - }] + }]; + }, +}; + +const youShouldNoticeDirective = { + name: "youShouldNotice", + doc: "Renders a consistent callout when the learner should notice something.", + body: { + type: String + }, + run(data, _, ctx) { + return [{ + type: "block", + children: [{ + type: "admonition", + kind: "important", + icon: false, + class: "simple", + children: [ + { + type: "admonitionTitle", + children: [{ + type: "text", + value: "๐Ÿ‘€ You should notice...", + }], + }, + ctx.parseMyst(data.body), + ], + }], + }]; }, }; const plugin = { name: "Our custom functionality", doc: "Custom functionality for this workshop website", - directives: [gitCommitDirective], + directives: [gitCommitDirective, youShouldNoticeDirective], } export default plugin; From d363a15a09f75e4b0f08e5ab1e52037d7da3848e Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 17:00:17 -0700 Subject: [PATCH 28/34] Fix line emphasis --- modules/05-sharing-and-publishing/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index 16dcd93..cbbd8ba 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -445,7 +445,7 @@ Your config file should now look like this: ```{code} yaml :filename: myst.yml :linenos: -:emphasize-lines: 14 +:emphasize-lines: 13-14 # See docs at: https://mystmd.org/guide/frontmatter version: 1 From 37cb6dd890770f77bfde29e1fa4dc03460eabff6 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 17:05:46 -0700 Subject: [PATCH 29/34] Add documentation for new custom helpers --- for-instructors/helpers.md | 37 ++++++++++++++++++++++++++++++++++ for-instructors/style-guide.md | 24 ++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 for-instructors/helpers.md diff --git a/for-instructors/helpers.md b/for-instructors/helpers.md new file mode 100644 index 0000000..fbb3c2f --- /dev/null +++ b/for-instructors/helpers.md @@ -0,0 +1,37 @@ +# ๐Ÿช„ Helpers + +This repository includes a `plugin-custom-directives.mjs` file which defines custom +directives that will save some time authoring certain repeated elements. + +## Git commit checkpoint directive + +```myst +:::{gitCommitCheckpoint} my commit message +::: +``` + +:::{gitCommitCheckpoint} my commit message +::: + + +## "You should notice..." directive + +``````myst +:::{youShouldNotice} +...the `{youShouldNotice}` directive fully supports markdown in the body. +This means you can, for example include some code: + +```python +print("Some code!") +``` +::: +`````` + +:::{youShouldNotice} +...the `{youShouldNotice}` directive fully supports markdown in the body. +This means you can, for example include some code: + +```python +print("Some code!") +``` +::: diff --git a/for-instructors/style-guide.md b/for-instructors/style-guide.md index f5d01a1..f3753bf 100644 --- a/for-instructors/style-guide.md +++ b/for-instructors/style-guide.md @@ -209,6 +209,30 @@ E.g.: ::: ``` +**As a shortcut, you can use the `{youShouldNotice}` directive.** +See [](./helpers.md). + + +#### Committing + +Use ๐Ÿ’พ in a callout to indicate that the user should stop and do a commit now. +Provide the full set of commands the user should run. + +``````{myst} +:::{important} ๐Ÿ’พ Commit & push to GitHub +:icon: false + +```bash +git add . +git commit -m "Commit message" +git push -u origin main +``` +::: +`````` + +**As a shortcut, you can use the `{gitCommitCheckpoint}` directive.** +See [](./helpers.md). + ### Voice / language From f50fdc7b2c57ac5ff94139a7a4f292adde95b044 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Wed, 26 Nov 2025 17:25:00 -0700 Subject: [PATCH 30/34] Populate "What do we know" section for DOIs --- modules/05-sharing-and-publishing/index.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/modules/05-sharing-and-publishing/index.md b/modules/05-sharing-and-publishing/index.md index cbbd8ba..f5c3f7f 100644 --- a/modules/05-sharing-and-publishing/index.md +++ b/modules/05-sharing-and-publishing/index.md @@ -1048,7 +1048,15 @@ for some thoughts that may help you make your README more useful. #### ๐Ÿง  What do we know now? -TODO +* An {term}`ORCID` uniquely identifies ourselves +* A {term}`DOI` uniquely identifies our publication +* A DOI can be associated with an ORCID +* A DOI can help protect us against scooping and more accurately and fairly reflect all + contributions to the work +* Zenodo can "auto-DOI" a GitHub repository + * DOIs are automatically generated from GitHub Releases + * DOIs can be updated over time with changes by creating new GitHub Releases +* We can display our DOI in GitHub with Markdown in our README ## ๐ŸŽ‰ Congratulations, you're done! From 7f244942b603e9bbf593ab96c18b8c99da6f71b3 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Thu, 27 Nov 2025 08:43:21 -0700 Subject: [PATCH 31/34] Remove unnecessary block wrappers Co-authored-by: Rowan Cockett <913249+rowanc1@users.noreply.github.com> --- plugin-custom-directives.mjs | 68 ++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 37 deletions(-) diff --git a/plugin-custom-directives.mjs b/plugin-custom-directives.mjs index 1bb61c8..9d85312 100644 --- a/plugin-custom-directives.mjs +++ b/plugin-custom-directives.mjs @@ -7,26 +7,23 @@ const gitCommitDirective = { }, run(data) { return [{ - type: "block", - children: [{ - type: "admonition", - kind: "important", - icon: false, - children: [ - { - type: "admonitionTitle", - children: [{ - type: "text", - value: "๐Ÿ’พ Commit & push to GitHub", - }], - }, - { - type: "code", - lang: "bash", - value: `git add .\ngit commit -m "${data.arg}"\ngit push -u origin main`, - }, - ], - }], + type: "admonition", + kind: "important", + icon: false, + children: [ + { + type: "admonitionTitle", + children: [{ + type: "text", + value: "๐Ÿ’พ Commit & push to GitHub", + }], + }, + { + type: "code", + lang: "bash", + value: `git add .\ngit commit -m "${data.arg}"\ngit push -u origin main`, + }, + ], }]; }, }; @@ -39,23 +36,20 @@ const youShouldNoticeDirective = { }, run(data, _, ctx) { return [{ - type: "block", - children: [{ - type: "admonition", - kind: "important", - icon: false, - class: "simple", - children: [ - { - type: "admonitionTitle", - children: [{ - type: "text", - value: "๐Ÿ‘€ You should notice...", - }], - }, - ctx.parseMyst(data.body), - ], - }], + type: "admonition", + kind: "important", + icon: false, + class: "simple", + children: [ + { + type: "admonitionTitle", + children: [{ + type: "text", + value: "๐Ÿ‘€ You should notice...", + }], + }, + ctx.parseMyst(data.body), + ], }]; }, }; From 8ce6f46e30222f3b5dac285d8e2854e888dc0e15 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Thu, 27 Nov 2025 08:50:37 -0700 Subject: [PATCH 32/34] Change body type of youShouldKnow directive to "myst", removing need to parse Co-authored-by: Rowan Cockett <913249+rowanc1@users.noreply.github.com> --- plugin-custom-directives.mjs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugin-custom-directives.mjs b/plugin-custom-directives.mjs index 9d85312..0dc05e5 100644 --- a/plugin-custom-directives.mjs +++ b/plugin-custom-directives.mjs @@ -32,9 +32,9 @@ const youShouldNoticeDirective = { name: "youShouldNotice", doc: "Renders a consistent callout when the learner should notice something.", body: { - type: String + type: 'myst', }, - run(data, _, ctx) { + run(data) { return [{ type: "admonition", kind: "important", @@ -48,7 +48,7 @@ const youShouldNoticeDirective = { value: "๐Ÿ‘€ You should notice...", }], }, - ctx.parseMyst(data.body), + ...data.body, ], }]; }, From a35a9dd8c0d8df66379874c758ee2705be1395cf Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Thu, 27 Nov 2025 09:00:25 -0700 Subject: [PATCH 33/34] Create `{myst:static}` directive first draft --- assets/styles/style.css | 39 ++++++++++++++++++ for-instructors/helpers.md | 16 +------- plugin-custom-directives.mjs | 78 ++++++++++++++++++++++++++---------- 3 files changed, 97 insertions(+), 36 deletions(-) diff --git a/assets/styles/style.css b/assets/styles/style.css index e807b22..56900c4 100644 --- a/assets/styles/style.css +++ b/assets/styles/style.css @@ -9,3 +9,42 @@ body { [aria-label="Document Outline"] { max-height: calc(100vh - 100px) !important; } + +.myst-static-input-wrapper { + border: 1px solid #ccc; +} + +.myst-static-input-wrapper::before { + content: "๐Ÿ“ฅ MyST input"; + display: block; + background-color: #f5f5f5; + border-bottom: 1px solid #ccc; + padding: 8px 12px; + font-weight: bold; + font-size: 14px; + color: #333; + margin: 0; +} + +.myst-static-output-wrapper { + border: 1px solid #ccc; + margin-bottom: 20px; +} + +.myst-static-output-wrapper::before { + content: "๐Ÿ“ค MyST output"; + display: block; + background-color: #f5f5f5; + border-bottom: 1px solid #ccc; + padding: 8px 12px; + font-weight: bold; + font-size: 14px; + color: #333; + margin: 0; +} + +.myst-static-content { + padding-left: 12px; + padding-right: 12px; + margin: 0; +} diff --git a/for-instructors/helpers.md b/for-instructors/helpers.md index fbb3c2f..24c78f8 100644 --- a/for-instructors/helpers.md +++ b/for-instructors/helpers.md @@ -5,18 +5,15 @@ directives that will save some time authoring certain repeated elements. ## Git commit checkpoint directive -```myst +```{myst:static} :::{gitCommitCheckpoint} my commit message ::: ``` -:::{gitCommitCheckpoint} my commit message -::: - ## "You should notice..." directive -``````myst +``````{myst:static} :::{youShouldNotice} ...the `{youShouldNotice}` directive fully supports markdown in the body. This means you can, for example include some code: @@ -26,12 +23,3 @@ print("Some code!") ``` ::: `````` - -:::{youShouldNotice} -...the `{youShouldNotice}` directive fully supports markdown in the body. -This means you can, for example include some code: - -```python -print("Some code!") -``` -::: diff --git a/plugin-custom-directives.mjs b/plugin-custom-directives.mjs index 0dc05e5..d96021e 100644 --- a/plugin-custom-directives.mjs +++ b/plugin-custom-directives.mjs @@ -1,27 +1,27 @@ const gitCommitDirective = { - name: "gitCommitCheckpoint", - doc: "Renders a consistent callout when the learner should do a Git commit.", + name: 'gitCommitCheckpoint', + doc: 'Renders a consistent callout when the learner should do a Git commit.', arg: { type: String, - doc: "Commit message", + doc: 'Commit message', }, run(data) { return [{ - type: "admonition", - kind: "important", + type: 'admonition', + kind: 'important', icon: false, children: [ { - type: "admonitionTitle", + type: 'admonitionTitle', children: [{ - type: "text", - value: "๐Ÿ’พ Commit & push to GitHub", + type: 'text', + value: '๐Ÿ’พ Commit & push to GitHub', }], }, { - type: "code", - lang: "bash", - value: `git add .\ngit commit -m "${data.arg}"\ngit push -u origin main`, + type: 'code', + lang: 'bash', + value: `git add .\ngit commit -m '${data.arg}'\ngit push -u origin main`, }, ], }]; @@ -29,23 +29,23 @@ const gitCommitDirective = { }; const youShouldNoticeDirective = { - name: "youShouldNotice", - doc: "Renders a consistent callout when the learner should notice something.", + name: 'youShouldNotice', + doc: 'Renders a consistent callout when the learner should notice something.', body: { type: 'myst', }, run(data) { return [{ - type: "admonition", - kind: "important", + type: 'admonition', + kind: 'important', icon: false, - class: "simple", + class: 'simple', children: [ { - type: "admonitionTitle", + type: 'admonitionTitle', children: [{ - type: "text", - value: "๐Ÿ‘€ You should notice...", + type: 'text', + value: '๐Ÿ‘€ You should notice...', }], }, ...data.body, @@ -54,9 +54,43 @@ const youShouldNoticeDirective = { }, }; +const mystDemoStatic = { + name: 'myst:static', + doc: 'A static/pre-rendered version of the `{myst}` directive which supports plugins.', + body: { + type: 'myst', + }, + run(data) { + return [ + { + type: "div", + class: "myst-static-input-wrapper", + children: [{ + type: "div", + class: "myst-static-content", + children: [{ + type: "code", + language: "text", + value: data.node.value, + }], + }], + }, + { + type: "div", + class: "myst-static-output-wrapper", + children: [{ + type: "div", + class: "myst-static-content", + children: data.body, + }], + }, + ]; + }, +}; + const plugin = { - name: "Our custom functionality", - doc: "Custom functionality for this workshop website", - directives: [gitCommitDirective, youShouldNoticeDirective], + name: 'Our custom functionality', + doc: 'Custom functionality for this workshop website', + directives: [gitCommitDirective, youShouldNoticeDirective, mystDemoStatic], } export default plugin; From f424b4cb38e2b982e0c546d75eed15a52c3e51c6 Mon Sep 17 00:00:00 2001 From: Matt Fisher Date: Thu, 27 Nov 2025 10:10:05 -0700 Subject: [PATCH 34/34] Remove unnecessary newlines --- plugin-custom-directives.mjs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/plugin-custom-directives.mjs b/plugin-custom-directives.mjs index d96021e..4e7df5b 100644 --- a/plugin-custom-directives.mjs +++ b/plugin-custom-directives.mjs @@ -31,9 +31,7 @@ const gitCommitDirective = { const youShouldNoticeDirective = { name: 'youShouldNotice', doc: 'Renders a consistent callout when the learner should notice something.', - body: { - type: 'myst', - }, + body: {type: 'myst'}, run(data) { return [{ type: 'admonition', @@ -57,9 +55,7 @@ const youShouldNoticeDirective = { const mystDemoStatic = { name: 'myst:static', doc: 'A static/pre-rendered version of the `{myst}` directive which supports plugins.', - body: { - type: 'myst', - }, + body: {type: 'myst'}, run(data) { return [ {