Skip to content

Commit 34fbdbf

Browse files
etzmclaude
andcommitted
Initial BIO-CODES website
Jekyll-based static site for bio-codes.github.io with: - Hero, Challenge/Solution/Impact, ISCC explanation with SVG flow diagram - Features grid, Tools showcase, Platform integrations - Dark mode, responsive design, scroll-based nav highlighting - GitHub Actions workflow for Pages deployment - Data-driven content via _data/ YAML files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
0 parents  commit 34fbdbf

32 files changed

Lines changed: 2265 additions & 0 deletions

.github/workflows/jekyll.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Deploy Jekyll site to Pages
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: "pages"
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v4
23+
- name: Setup Ruby
24+
uses: ruby/setup-ruby@v1
25+
with:
26+
ruby-version: "3.3"
27+
bundler-cache: true
28+
- name: Setup Pages
29+
id: pages
30+
uses: actions/configure-pages@v5
31+
- name: Build with Jekyll
32+
run: bundle exec jekyll build
33+
env:
34+
JEKYLL_ENV: production
35+
- name: Upload artifact
36+
uses: actions/upload-pages-artifact@v3
37+
38+
deploy:
39+
environment:
40+
name: github-pages
41+
url: ${{ steps.deployment.outputs.page_url }}
42+
runs-on: ubuntu-latest
43+
needs: build
44+
steps:
45+
- name: Deploy to GitHub Pages
46+
id: deployment
47+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
_site/
2+
.sass-cache/
3+
.jekyll-cache/
4+
.jekyll-metadata
5+
vendor/
6+
.DS_Store
7+
.claude/
8+
node_modules/
9+
*.swp
10+
*.swo

Gemfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
source "https://rubygems.org"
2+
3+
gem "jekyll", "~> 4.3"
4+
gem "webrick"
5+
6+
group :jekyll_plugins do
7+
gem "jekyll-seo-tag"
8+
gem "jekyll-sitemap"
9+
end

Gemfile.lock

Lines changed: 241 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,241 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
addressable (2.8.9)
5+
public_suffix (>= 2.0.2, < 8.0)
6+
base64 (0.3.0)
7+
bigdecimal (4.0.1)
8+
colorator (1.1.0)
9+
concurrent-ruby (1.3.6)
10+
csv (3.3.5)
11+
em-websocket (0.5.3)
12+
eventmachine (>= 0.12.9)
13+
http_parser.rb (~> 0)
14+
eventmachine (1.2.7)
15+
ffi (1.17.3)
16+
ffi (1.17.3-aarch64-linux-gnu)
17+
ffi (1.17.3-aarch64-linux-musl)
18+
ffi (1.17.3-arm-linux-gnu)
19+
ffi (1.17.3-arm-linux-musl)
20+
ffi (1.17.3-arm64-darwin)
21+
ffi (1.17.3-x86-linux-gnu)
22+
ffi (1.17.3-x86-linux-musl)
23+
ffi (1.17.3-x86_64-darwin)
24+
ffi (1.17.3-x86_64-linux-gnu)
25+
ffi (1.17.3-x86_64-linux-musl)
26+
forwardable-extended (2.6.0)
27+
google-protobuf (4.34.0)
28+
bigdecimal
29+
rake (~> 13.3)
30+
google-protobuf (4.34.0-aarch64-linux-gnu)
31+
bigdecimal
32+
rake (~> 13.3)
33+
google-protobuf (4.34.0-aarch64-linux-musl)
34+
bigdecimal
35+
rake (~> 13.3)
36+
google-protobuf (4.34.0-arm64-darwin)
37+
bigdecimal
38+
rake (~> 13.3)
39+
google-protobuf (4.34.0-x86-linux-gnu)
40+
bigdecimal
41+
rake (~> 13.3)
42+
google-protobuf (4.34.0-x86-linux-musl)
43+
bigdecimal
44+
rake (~> 13.3)
45+
google-protobuf (4.34.0-x86_64-darwin)
46+
bigdecimal
47+
rake (~> 13.3)
48+
google-protobuf (4.34.0-x86_64-linux-gnu)
49+
bigdecimal
50+
rake (~> 13.3)
51+
google-protobuf (4.34.0-x86_64-linux-musl)
52+
bigdecimal
53+
rake (~> 13.3)
54+
http_parser.rb (0.8.1)
55+
i18n (1.14.8)
56+
concurrent-ruby (~> 1.0)
57+
jekyll (4.4.1)
58+
addressable (~> 2.4)
59+
base64 (~> 0.2)
60+
colorator (~> 1.0)
61+
csv (~> 3.0)
62+
em-websocket (~> 0.5)
63+
i18n (~> 1.0)
64+
jekyll-sass-converter (>= 2.0, < 4.0)
65+
jekyll-watch (~> 2.0)
66+
json (~> 2.6)
67+
kramdown (~> 2.3, >= 2.3.1)
68+
kramdown-parser-gfm (~> 1.0)
69+
liquid (~> 4.0)
70+
mercenary (~> 0.3, >= 0.3.6)
71+
pathutil (~> 0.9)
72+
rouge (>= 3.0, < 5.0)
73+
safe_yaml (~> 1.0)
74+
terminal-table (>= 1.8, < 4.0)
75+
webrick (~> 1.7)
76+
jekyll-sass-converter (3.1.0)
77+
sass-embedded (~> 1.75)
78+
jekyll-seo-tag (2.8.0)
79+
jekyll (>= 3.8, < 5.0)
80+
jekyll-sitemap (1.4.0)
81+
jekyll (>= 3.7, < 5.0)
82+
jekyll-watch (2.2.1)
83+
listen (~> 3.0)
84+
json (2.18.1)
85+
kramdown (2.5.2)
86+
rexml (>= 3.4.4)
87+
kramdown-parser-gfm (1.1.0)
88+
kramdown (~> 2.0)
89+
liquid (4.0.4)
90+
listen (3.10.0)
91+
logger
92+
rb-fsevent (~> 0.10, >= 0.10.3)
93+
rb-inotify (~> 0.9, >= 0.9.10)
94+
logger (1.7.0)
95+
mercenary (0.4.0)
96+
pathutil (0.16.2)
97+
forwardable-extended (~> 2.6)
98+
public_suffix (7.0.5)
99+
rake (13.3.1)
100+
rb-fsevent (0.11.2)
101+
rb-inotify (0.11.1)
102+
ffi (~> 1.0)
103+
rexml (3.4.4)
104+
rouge (4.7.0)
105+
safe_yaml (1.0.5)
106+
sass-embedded (1.97.3)
107+
google-protobuf (~> 4.31)
108+
rake (>= 13)
109+
sass-embedded (1.97.3-aarch64-linux-android)
110+
google-protobuf (~> 4.31)
111+
sass-embedded (1.97.3-aarch64-linux-gnu)
112+
google-protobuf (~> 4.31)
113+
sass-embedded (1.97.3-aarch64-linux-musl)
114+
google-protobuf (~> 4.31)
115+
sass-embedded (1.97.3-arm-linux-androideabi)
116+
google-protobuf (~> 4.31)
117+
sass-embedded (1.97.3-arm-linux-gnueabihf)
118+
google-protobuf (~> 4.31)
119+
sass-embedded (1.97.3-arm-linux-musleabihf)
120+
google-protobuf (~> 4.31)
121+
sass-embedded (1.97.3-arm64-darwin)
122+
google-protobuf (~> 4.31)
123+
sass-embedded (1.97.3-riscv64-linux-android)
124+
google-protobuf (~> 4.31)
125+
sass-embedded (1.97.3-riscv64-linux-gnu)
126+
google-protobuf (~> 4.31)
127+
sass-embedded (1.97.3-riscv64-linux-musl)
128+
google-protobuf (~> 4.31)
129+
sass-embedded (1.97.3-x86_64-darwin)
130+
google-protobuf (~> 4.31)
131+
sass-embedded (1.97.3-x86_64-linux-android)
132+
google-protobuf (~> 4.31)
133+
sass-embedded (1.97.3-x86_64-linux-gnu)
134+
google-protobuf (~> 4.31)
135+
sass-embedded (1.97.3-x86_64-linux-musl)
136+
google-protobuf (~> 4.31)
137+
terminal-table (3.0.2)
138+
unicode-display_width (>= 1.1.1, < 3)
139+
unicode-display_width (2.6.0)
140+
webrick (1.9.2)
141+
142+
PLATFORMS
143+
aarch64-linux-android
144+
aarch64-linux-gnu
145+
aarch64-linux-musl
146+
arm-linux-androideabi
147+
arm-linux-gnu
148+
arm-linux-gnueabihf
149+
arm-linux-musl
150+
arm-linux-musleabihf
151+
arm64-darwin
152+
riscv64-linux-android
153+
riscv64-linux-gnu
154+
riscv64-linux-musl
155+
ruby
156+
x86-linux-gnu
157+
x86-linux-musl
158+
x86_64-darwin
159+
x86_64-linux-android
160+
x86_64-linux-gnu
161+
x86_64-linux-musl
162+
163+
DEPENDENCIES
164+
jekyll (~> 4.3)
165+
jekyll-seo-tag
166+
jekyll-sitemap
167+
webrick
168+
169+
CHECKSUMS
170+
addressable (2.8.9) sha256=cc154fcbe689711808a43601dee7b980238ce54368d23e127421753e46895485
171+
base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
172+
bigdecimal (4.0.1) sha256=8b07d3d065a9f921c80ceaea7c9d4ae596697295b584c296fe599dd0ad01c4a7
173+
colorator (1.1.0) sha256=e2f85daf57af47d740db2a32191d1bdfb0f6503a0dfbc8327d0c9154d5ddfc38
174+
concurrent-ruby (1.3.6) sha256=6b56837e1e7e5292f9864f34b69c5a2cbc75c0cf5338f1ce9903d10fa762d5ab
175+
csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f
176+
em-websocket (0.5.3) sha256=f56a92bde4e6cb879256d58ee31f124181f68f8887bd14d53d5d9a292758c6a8
177+
eventmachine (1.2.7) sha256=994016e42aa041477ba9cff45cbe50de2047f25dd418eba003e84f0d16560972
178+
ffi (1.17.3) sha256=0e9f39f7bb3934f77ad6feab49662be77e87eedcdeb2a3f5c0234c2938563d4c
179+
ffi (1.17.3-aarch64-linux-gnu) sha256=28ad573df26560f0aedd8a90c3371279a0b2bd0b4e834b16a2baa10bd7a97068
180+
ffi (1.17.3-aarch64-linux-musl) sha256=020b33b76775b1abacc3b7d86b287cef3251f66d747092deec592c7f5df764b2
181+
ffi (1.17.3-arm-linux-gnu) sha256=5bd4cea83b68b5ec0037f99c57d5ce2dd5aa438f35decc5ef68a7d085c785668
182+
ffi (1.17.3-arm-linux-musl) sha256=0d7626bb96265f9af78afa33e267d71cfef9d9a8eb8f5525344f8da6c7d76053
183+
ffi (1.17.3-arm64-darwin) sha256=0c690555d4cee17a7f07c04d59df39b2fba74ec440b19da1f685c6579bb0717f
184+
ffi (1.17.3-x86-linux-gnu) sha256=868a88fcaf5186c3a46b7c7c2b2c34550e1e61a405670ab23f5b6c9971529089
185+
ffi (1.17.3-x86-linux-musl) sha256=f0286aa6ef40605cf586e61406c446de34397b85dbb08cc99fdaddaef8343945
186+
ffi (1.17.3-x86_64-darwin) sha256=1f211811eb5cfaa25998322cdd92ab104bfbd26d1c4c08471599c511f2c00bb5
187+
ffi (1.17.3-x86_64-linux-gnu) sha256=3746b01f677aae7b16dc1acb7cb3cc17b3e35bdae7676a3f568153fb0e2c887f
188+
ffi (1.17.3-x86_64-linux-musl) sha256=086b221c3a68320b7564066f46fed23449a44f7a1935f1fe5a245bd89d9aea56
189+
forwardable-extended (2.6.0) sha256=1bec948c469bbddfadeb3bd90eb8c85f6e627a412a3e852acfd7eaedbac3ec97
190+
google-protobuf (4.34.0) sha256=bffaea30fbe2807c80667a78953b15645b3bef62b25c10ca187e4418119be531
191+
google-protobuf (4.34.0-aarch64-linux-gnu) sha256=0ab8a8a97976a2265d647e69b3ff1980c89184abdaf06d36091856c5ab37cc55
192+
google-protobuf (4.34.0-aarch64-linux-musl) sha256=0632a86df6d320eac3b335bd779499d43ad8ee6d1f8c8494b773ed5d3d5c6ab4
193+
google-protobuf (4.34.0-arm64-darwin) sha256=f83967a8095a9da676b79ba372c58fef2ca3878428bd40febfce65b3752c90d1
194+
google-protobuf (4.34.0-x86-linux-gnu) sha256=21108e5cee407cb46c38f96fa93ea1ea8e463a45c8031261df3f9131458db4e3
195+
google-protobuf (4.34.0-x86-linux-musl) sha256=58cb40ce43e2dc559eef112ff8d522aad489ba90f693eb95fdd946eaa6cc81e9
196+
google-protobuf (4.34.0-x86_64-darwin) sha256=4a5b67281993345adca54bb32947f25a289597eafaa240e5b714d0a740f99321
197+
google-protobuf (4.34.0-x86_64-linux-gnu) sha256=bbb333fbe79c16f35a2e2154cf29f3ce26f60390dba286b339861206d5435ef9
198+
google-protobuf (4.34.0-x86_64-linux-musl) sha256=0b75858a388b17e73aa4176df2e722762dbc92551b7075fdc562d33c1c6de0b0
199+
http_parser.rb (0.8.1) sha256=9ae8df145b39aa5398b2f90090d651c67bd8e2ebfe4507c966579f641e11097a
200+
i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
201+
jekyll (4.4.1) sha256=4c1144d857a5b2b80d45b8cf5138289579a9f8136aadfa6dd684b31fe2bc18c1
202+
jekyll-sass-converter (3.1.0) sha256=83925d84f1d134410c11d0c6643b0093e82e3a3cf127e90757a85294a3862443
203+
jekyll-seo-tag (2.8.0) sha256=3f2ed1916d56f14ebfa38e24acde9b7c946df70cb183af2cb5f0598f21ae6818
204+
jekyll-sitemap (1.4.0) sha256=0de08c5debc185ea5a8f980e1025c7cd3f8e0c35c8b6ef592f15c46235cf4218
205+
jekyll-watch (2.2.1) sha256=bc44ed43f5e0a552836245a54dbff3ea7421ecc2856707e8a1ee203a8387a7e1
206+
json (2.18.1) sha256=fe112755501b8d0466b5ada6cf50c8c3f41e897fa128ac5d263ec09eedc9f986
207+
kramdown (2.5.2) sha256=1ba542204c66b6f9111ff00dcc26075b95b220b07f2905d8261740c82f7f02fa
208+
kramdown-parser-gfm (1.1.0) sha256=fb39745516427d2988543bf01fc4cf0ab1149476382393e0e9c48592f6581729
209+
liquid (4.0.4) sha256=4fcfebb1a045e47918388dbb7a0925e7c3893e58d2bd6c3b3c73ec17a2d8fdb3
210+
listen (3.10.0) sha256=c6e182db62143aeccc2e1960033bebe7445309c7272061979bb098d03760c9d2
211+
logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
212+
mercenary (0.4.0) sha256=b25a1e4a59adca88665e08e24acf0af30da5b5d859f7d8f38fba52c28f405138
213+
pathutil (0.16.2) sha256=e43b74365631cab4f6d5e4228f812927efc9cb2c71e62976edcb252ee948d589
214+
public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
215+
rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
216+
rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe
217+
rb-inotify (0.11.1) sha256=a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e
218+
rexml (3.4.4) sha256=19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142
219+
rouge (4.7.0) sha256=dba5896715c0325c362e895460a6d350803dbf6427454f49a47500f3193ea739
220+
safe_yaml (1.0.5) sha256=a6ac2d64b7eb027bdeeca1851fe7e7af0d668e133e8a88066a0c6f7087d9f848
221+
sass-embedded (1.97.3) sha256=c4136da69ae3acfa7b0809f4ec10891125edf57df214a2d1ab570f721f96f7a6
222+
sass-embedded (1.97.3-aarch64-linux-android) sha256=623b2f52fed6e3696c6445406e4efaef57b54442cc35604bfffbb82aef7d5c45
223+
sass-embedded (1.97.3-aarch64-linux-gnu) sha256=81915bb19ce7e224eae534e75e828f4ab5acddcb17e54da0b5ef91d932462836
224+
sass-embedded (1.97.3-aarch64-linux-musl) sha256=508c92fa2f9e58f9072325e02f011bd22c7e428465c67fafaee570d0bc40563b
225+
sass-embedded (1.97.3-arm-linux-androideabi) sha256=e2ef33b187066e09374023e58e72cf3b5baabe6b77ecd74356fe9b4892a1c6e1
226+
sass-embedded (1.97.3-arm-linux-gnueabihf) sha256=ce443b57f3d7f03740267cf0f2cdff13e8055dd5938488967746f29f230222da
227+
sass-embedded (1.97.3-arm-linux-musleabihf) sha256=be3972424616f916ce1f4f41228266d57339e490dfd7ca0cea5588579564d4c0
228+
sass-embedded (1.97.3-arm64-darwin) sha256=8897d3503efe75c30584070a7104095545f5157665029aeb9bff3fa533a73861
229+
sass-embedded (1.97.3-riscv64-linux-android) sha256=201426b3e58611aa8cf34a7574df51905ec42fefb5a69982cc8497ac7fb26a6b
230+
sass-embedded (1.97.3-riscv64-linux-gnu) sha256=d7bac32f4de55c589a036da13ac4482bf5b7dfac980b4c0203d31a1bd9f07622
231+
sass-embedded (1.97.3-riscv64-linux-musl) sha256=621d981d700e2b8d0459b5ea696fff746dfa07d6b6bbc70cd982905214b07888
232+
sass-embedded (1.97.3-x86_64-darwin) sha256=578f167907ee2a4d355a5a40bcf35d2e3eb90c87008dcd9ce31a2c4a877697f6
233+
sass-embedded (1.97.3-x86_64-linux-android) sha256=8f5e179bee8610be432499f228ea4e53ab362b1db0da1ae3cd3e76b114712372
234+
sass-embedded (1.97.3-x86_64-linux-gnu) sha256=173a4d0dbe2fffdf7482bd3e82fb597dfc658c18d1e8fd746aa7d5077ed4e850
235+
sass-embedded (1.97.3-x86_64-linux-musl) sha256=fcc0dcb253ef174ea25283f8781ce9ce95a492663f4bdbb1d66bfae99267a9f7
236+
terminal-table (3.0.2) sha256=f951b6af5f3e00203fb290a669e0a85c5dd5b051b3b023392ccfd67ba5abae91
237+
unicode-display_width (2.6.0) sha256=12279874bba6d5e4d2728cef814b19197dbb10d7a7837a869bab65da943b7f5a
238+
webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131
239+
240+
BUNDLED WITH
241+
4.0.6

_config.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Site settings
2+
title: "BIO-CODES"
3+
description: "Content-Based Identifiers for Bioimaging Data — ISO 24138 ISCC implementation for scientific imaging"
4+
url: "https://bio-codes.github.io"
5+
baseurl: ""
6+
7+
# Project
8+
tagline: "Content-Based Identifiers for Bioimaging Data"
9+
10+
# Build settings
11+
markdown: kramdown
12+
permalink: pretty
13+
14+
# Exclude from build
15+
exclude:
16+
- Gemfile
17+
- Gemfile.lock
18+
- README.md
19+
- .DS_Store
20+
- vendor
21+
- .claude
22+
- files
23+
- Logos
24+
- Copy
25+
- iscc-flow-diagram-v3.html
26+
- node_modules
27+
28+
# Plugins
29+
plugins:
30+
- jekyll-seo-tag
31+
- jekyll-sitemap

_data/challenge.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# _data/challenge.yml
2+
# ─────────────────────────────────────────────────────────────────
3+
# The three-column Challenge / Solution / Scientific Impact cards.
4+
# Each card has an icon, heading, and a list of bullet items.
5+
# Items support optional `strong` for the bold lead-in phrase.
6+
# ─────────────────────────────────────────────────────────────────
7+
8+
section_title: "Enhancing AI-Readiness of Bioimaging Data<br/>with Content-Based Identifiers"
9+
10+
cards:
11+
- id: challenge
12+
icon: ""
13+
heading: Challenge
14+
items:
15+
- strong: "Growing volume of data:"
16+
text: >
17+
Bio(imaging) data exist at different states — raw, repository,
18+
publications — with no shared identity across them.
19+
- strong: "No Audit Trail:"
20+
text: >
21+
Challenges to verify data integrity or detect manipulation
22+
after the fact.
23+
- strong: "Lost Provenance:"
24+
text: >
25+
Published figures are disconnected from raw data and the
26+
processing steps that produced them.
27+
28+
- id: solution
29+
icon: "💡"
30+
heading: Solution
31+
items:
32+
- strong: "International Standard Content Code (ISCC ISO 24138)."
33+
text: >
34+
Open and open-source. Interoperable content identification &
35+
fingerprinting system. Computed directly from the asset itself —
36+
can never be removed or decoupled from the data.
37+
- strong: "Anyone can compute ISCCs"
38+
text: >
39+
from available data — independently and without any central authority.
40+
Use the ISCC Generator at iscc.io/resources.
41+
url: https://iscc.io/resources/
42+
- strong: "Generating, signing, and timestamping ISCCs"
43+
text: >
44+
creates persistent identifiers to securely reference and link
45+
data in repositories with images in papers.
46+
47+
- id: impact
48+
icon: "🔬"
49+
heading: Scientific Impact
50+
items:
51+
- strong: "Cryptographic figure data verification"
52+
text: "via the ISCC audit trail."
53+
- strong: "Improved data integrity, transparency, and reusability."
54+
text: ""
55+
- strong: "Enhanced AI-readiness"
56+
text: "of bioimaging datasets for trusted AI applications."

0 commit comments

Comments
 (0)