Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
fc9c3e2
[DATALAD RUNCMD] Add STAMPED banner from https://github.com/stamped-p…
yarikoptic Oct 6, 2026
0e0634a
[DATALAD RUNCMD] Add STAMPED banner from https://github.com/stamped-p…
yarikoptic Oct 6, 2026
5281f7a
do delete pdf of stamped banner wrongly named
yarikoptic Oct 6, 2026
d1c82ff
draft materials for iEEG group talk on Friday
yarikoptic Oct 7, 2026
eb7d412
Merge branch 'master' into enh-2026-dhmc-ieeg
CodyCBakerPhD Oct 7, 2026
23c95ba
Merge branch 'master' into enh-2026-dhmc-ieeg
CodyCBakerPhD Oct 8, 2026
cc14ad6
Added thread through the slides based on the ecosystem figure
yarikoptic Oct 8, 2026
3fda27c
Merge branch 'enh-2026-dhmc-ieeg' of https://github.com/con/talks int…
yarikoptic Oct 8, 2026
9477ae8
2026-dhmc-ieeg: NWB/NeuroConv + Neurosift event-related slides (#27)
CodyCBakerPhD Oct 8, 2026
5f62b74
2026-dhmc-ieeg: keep small SVGs in git + add svgtune for DANDI Comput…
yarikoptic Oct 8, 2026
2ca53b0
Add Makefile rule for svgtuned targets
yarikoptic Oct 8, 2026
f07f133
[DATALAD RUNCMD] Produce/update dandi-compute-figure_tuned
yarikoptic Oct 8, 2026
9c47f4b
Tune up and notes on neurosift slide
yarikoptic Oct 8, 2026
28e5a5d
Add poster from 2025 SfN - to be reused etc
yarikoptic Oct 8, 2026
513aa62
[DATALAD RUNCMD] Create preview for slide inclusion
yarikoptic Oct 8, 2026
bb961af
2026-dhmc-ieeg: add Cody's website to the title slide
claude Oct 8, 2026
19cdbf9
build_preview: also follow <object data="..."> references
claude Oct 8, 2026
3e73e77
2026-dhmc-ieeg: title the NWB conversion-scale slide
claude Oct 8, 2026
51cf09d
2026-dhmc-ieeg: title the NeuroConv formats slide
claude Oct 8, 2026
c530134
2026-dhmc-ieeg: "Web streaming is on the rise" prelude + Neurosift sl…
claude Oct 8, 2026
87b7520
working on ecosystem overview + archives
yarikoptic Oct 8, 2026
60c25c0
Merge branch 'enh-2026-dhmc-ieeg' of https://github.com/con/talks int…
yarikoptic Oct 8, 2026
39a7c5c
2026-dhmc-ieeg: Neurosift slides: OpenNeuro example wording, lab/subj…
claude Oct 8, 2026
a82eec5
2026-dhmc-ieeg: NWB GUIDE slide ("the TurboTax of file conversions")
claude Oct 8, 2026
80efa0b
2026-dhmc-ieeg: NeuroConv formats as a modality-colored word cloud
claude Oct 8, 2026
2f05d03
More on consent and archives
yarikoptic Oct 8, 2026
8c45a4d
Merge remote-tracking branch 'refs/remotes/gh-con/enh-2026-dhmc-ieeg'…
yarikoptic Oct 8, 2026
82310f5
2026-dhmc-ieeg: two Neurosift spectrogram examples, neurosift.app link
claude Oct 8, 2026
8095f7f
2026-dhmc-ieeg: Neurosift bullet: integrates with major archives
claude Oct 8, 2026
b20416a
2026-dhmc-ieeg: Neurosift bullet: TB-sized files as well as MB-sized
claude Oct 8, 2026
c7606e9
2026-dhmc-ieeg: Neurosift slide: repo link, Jeremy Magland credit, ti…
claude Oct 8, 2026
5b75b3d
preview workflow: also run on pull request pushes
claude Oct 8, 2026
c5606a1
2026-dhmc-ieeg: move Jeremy Magland's photo/credit to the slide's bot…
claude Oct 8, 2026
22f94b3
[DATALAD RUNCMD] Replace with new batch from claude design
yarikoptic Oct 8, 2026
288bde1
2026-dhmc-ieeg: Neurosift slide: repo/JOSS sub-bullets, Flatiron, logo
claude Oct 8, 2026
9dc2be2
Merge remote-tracking branch 'refs/remotes/gh-con/enh-2026-dhmc-ieeg'…
yarikoptic Oct 8, 2026
39da1e0
minor tune ups to archives and intro
yarikoptic Oct 8, 2026
f3d4683
Clauded script for injecting pretty faces, will tune manually for now
yarikoptic Oct 9, 2026
57a01ed
More refinements going from the beginning (moved acknowledgements the…
yarikoptic Oct 9, 2026
a4d2e8d
Merge branch 'master' into enh-2026-dhmc-ieeg
CodyCBakerPhD Oct 9, 2026
fb7482b
Trim leftovers
yarikoptic Oct 9, 2026
ee99abf
Merge branch 'enh-2026-dhmc-ieeg' of https://github.com/con/talks int…
yarikoptic Oct 9, 2026
b431667
2023-bids-dicom: fix whitespace on the "DICOMs in BIDS" slide
claude Oct 9, 2026
eadef15
Neurosift slide: drop OpenNeuro ds008610 example line
claude Oct 9, 2026
dd63b59
Neurosift slide: spectrogram sub-bullets (on-the-fly, configurable)
claude Oct 9, 2026
15972b9
Neurosift slide: persistent URLs bullet
claude Oct 9, 2026
321bc19
Example 5: retitle, add lab/species/task caption
claude Oct 9, 2026
94361b5
on reproin , nwb2bids etc
yarikoptic Oct 9, 2026
545218a
[DATALAD RUNCMD] Replace with new batch from claude design
yarikoptic Oct 9, 2026
6451190
[DATALAD] Download URLs
yarikoptic Oct 9, 2026
0db22c5
Add some datalad
yarikoptic Oct 9, 2026
cbd719e
Merge branch 'enh-2026-dhmc-ieeg' of https://github.com/con/talks int…
yarikoptic Oct 9, 2026
4c795c7
[DATALAD RUNCMD] Revert unintended change to another slide
yarikoptic Oct 9, 2026
b4f178b
Final full draft
yarikoptic Oct 9, 2026
963e567
Saving forgotten extracted page
yarikoptic Oct 9, 2026
a73e9ea
git-annex in yoh@lena:~/proj/CON/talks
yarikoptic Oct 9, 2026
9117c30
minor transition tuneup
yarikoptic Oct 9, 2026
45b095d
2026-dhmc-ieeg: rewrite the deck in markdown
yarikoptic Oct 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 63 additions & 20 deletions .github/workflows/preview.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
name: Preview

# Run manually (Actions -> Preview -> Run workflow) with a pull request
# number to publish, under `pr-preview/pr-<N>/` on the `gh-pages` branch, a
# Runs automatically for pull requests from branches of this repository
# (opened, pushed to, reopened: deploy; closed: remove), and can be run
# manually (Actions -> Preview -> Run workflow) with a pull request number,
# e.g. for pull requests from forks. It publishes, under `pr-preview/pr-<N>/` on the `gh-pages` branch, a
# preview of only the decks (top-level *.html) that pull request adds or
# changes, together with just the files they use (reveal.js, css/, pics/...),
# with git-annex'ed content fetched from datasets.datalad.org.
# Run it with `remove` to delete that preview again.
# Run it manually with `remove` to delete a preview again. Pull requests
# which change no decks get no preview (and no failing check).
#
# The pull request's content is built with a read-only token; only the
# resulting files are handed to the deploy job, which has write access.

on:
pull_request:
types: [opened, synchronize, reopened, closed]
workflow_dispatch:
inputs:
pr:
Expand All @@ -27,15 +32,44 @@ on:
default: deploy

concurrency:
group: preview-${{ inputs.pr }}
group: preview-${{ github.event.pull_request.number || inputs.pr }}
cancel-in-progress: false

env:
ANNEX_REMOTE_URL: https://datasets.datalad.org/centerforopenneuroscience/talks/.git

jobs:
params:
# Pull requests from forks get a read-only token and cannot deploy
# (run the workflow manually for those).
if: github.event_name == 'workflow_dispatch' || github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-latest
outputs:
pr: ${{ steps.p.outputs.pr }}
action: ${{ steps.p.outputs.action }}
steps:
- name: Work out pull request and action
id: p
env:
EVENT: ${{ github.event_name }}
EVENT_ACTION: ${{ github.event.action }}
EVENT_PR: ${{ github.event.pull_request.number }}
INPUT_PR: ${{ inputs.pr }}
INPUT_ACTION: ${{ inputs.action }}
run: |
if [[ "$EVENT" == pull_request ]]; then
PR=$EVENT_PR
if [[ "$EVENT_ACTION" == closed ]]; then ACTION=remove; else ACTION=deploy; fi
else
PR=$INPUT_PR
ACTION=$INPUT_ACTION
fi
echo "pr=$PR" >> "$GITHUB_OUTPUT"
echo "action=$ACTION" >> "$GITHUB_OUTPUT"

build-preview:
if: inputs.action == 'deploy'
needs: params
if: needs.params.outputs.action == 'deploy'
runs-on: ubuntu-latest
permissions:
contents: read
Expand All @@ -48,7 +82,7 @@ jobs:
id: pr
env:
GH_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ inputs.pr }}
PR_NUMBER: ${{ needs.params.outputs.pr }}
run: |
read -r STATE HEAD_SHA < <(gh api "repos/$GITHUB_REPOSITORY/pulls/$PR_NUMBER" --jq '.state + " " + .head.sha')
if [[ "$STATE" != open ]]; then
Expand All @@ -62,7 +96,7 @@ jobs:
with:
# the merge of the pull request into its base, so HEAD^1 is the
# base; full history for git-annex
ref: refs/pull/${{ inputs.pr }}/merge
ref: refs/pull/${{ needs.params.outputs.pr }}/merge
fetch-depth: 0

- name: Find changed decks
Expand All @@ -72,18 +106,25 @@ jobs:
DECKS=$(git diff --name-only --diff-filter=AMR HEAD^1 HEAD -- '*.html' \
| grep -E '^[A-Za-z0-9][A-Za-z0-9._+-]*\.html$' | tr '\n' ' ' || true)
if [ -z "$DECKS" ]; then
echo "::error::Pull request #${{ inputs.pr }} changes no decks; nothing to preview."
if [[ "${{ github.event_name }}" == pull_request ]]; then
echo "::notice::Pull request #${{ needs.params.outputs.pr }} changes no decks; no preview."
echo "decks=" >> "$GITHUB_OUTPUT"
exit 0
fi
echo "::error::Pull request #${{ needs.params.outputs.pr }} changes no decks; nothing to preview."
exit 1
fi
echo "Decks to preview: $DECKS"
echo "decks=$DECKS" >> "$GITHUB_OUTPUT"

- name: Get reveal.js
if: steps.decks.outputs.decks != ''
# not `submodules: true`: 2022-nih-compcore has a relative URL that
# only resolves on datasets.datalad.org
run: git submodule update --init --depth 1 reveal.js reveal.js-mermaid-plugin

- name: Set up git-annex
if: steps.decks.outputs.decks != ''
run: |
sudo apt-get update -qq
sudo apt-get install -y -qq git-annex
Expand All @@ -94,6 +135,7 @@ jobs:
git annex init --quiet

- name: Build site
if: steps.decks.outputs.decks != ''
env:
DECKS: ${{ steps.decks.outputs.decks }}
run: |
Expand All @@ -115,6 +157,7 @@ jobs:
fi

- name: Upload site
if: steps.decks.outputs.decks != ''
uses: actions/upload-artifact@v7
with:
name: preview-site
Expand All @@ -124,9 +167,9 @@ jobs:
retention-days: 1

deploy-preview:
needs: build-preview
needs: [params, build-preview]
# also run for `remove`, where the build is skipped
if: ${{ !cancelled() && (inputs.action == 'remove' || needs.build-preview.result == 'success') }}
if: ${{ !cancelled() && (needs.params.outputs.action == 'remove' || (needs.build-preview.result == 'success' && needs.build-preview.outputs.decks != '')) }}
runs-on: ubuntu-latest
permissions:
contents: write
Expand All @@ -136,7 +179,7 @@ jobs:
uses: actions/checkout@v7

- name: Download site
if: inputs.action == 'deploy'
if: needs.params.outputs.action == 'deploy'
uses: actions/download-artifact@v8
with:
name: preview-site
Expand All @@ -148,16 +191,16 @@ jobs:
with:
source-dir: preview-site
preview-branch: gh-pages
action: ${{ inputs.action }}
pr-number: ${{ inputs.pr }}
deploy-commit-message: Deploy preview for PR ${{ inputs.pr }}
remove-commit-message: Remove preview for PR ${{ inputs.pr }}
action: ${{ needs.params.outputs.action }}
pr-number: ${{ needs.params.outputs.pr }}
deploy-commit-message: Deploy preview for PR ${{ needs.params.outputs.pr }}
remove-commit-message: Remove preview for PR ${{ needs.params.outputs.pr }}
# The action's own comment looks for the pull request in the
# triggering event, which `workflow_dispatch` does not carry.
comment: false

- name: Compose preview comment
if: inputs.action == 'deploy'
if: needs.params.outputs.action == 'deploy'
env:
PREVIEW_URL: ${{ steps.preview.outputs.preview-url }}
HEAD_SHA: ${{ needs.build-preview.outputs.head-sha }}
Expand All @@ -178,18 +221,18 @@ jobs:
} > "$RUNNER_TEMP/comment.md"

- name: Comment preview link
if: inputs.action == 'deploy'
if: needs.params.outputs.action == 'deploy'
uses: marocchino/sticky-pull-request-comment@v3
with:
header: pr-preview
number: ${{ inputs.pr }}
number: ${{ needs.params.outputs.pr }}
path: ${{ runner.temp }}/comment.md

- name: Comment preview removal
if: inputs.action == 'remove'
if: needs.params.outputs.action == 'remove'
uses: marocchino/sticky-pull-request-comment@v3
with:
header: pr-preview
number: ${{ inputs.pr }}
number: ${{ needs.params.outputs.pr }}
message: |
Preview removed.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ node_modules/
.cache
.pki
talk-proposal-draft.pdf
.duct
1 change: 1 addition & 0 deletions 202404xx-NSF-POSE-BIDS.odp
1 change: 1 addition & 0 deletions 202404xx-NSF-POSE-BIDS.pdf
1 change: 1 addition & 0 deletions 2025-sfn-poster-data-standards.jpg
1 change: 1 addition & 0 deletions 2025-sfn-poster-data-standards.pdf
Loading
Loading