From 7e1c37d801b9ec7ed7c0b0b06c2f10287f9f5c38 Mon Sep 17 00:00:00 2001 From: jsjiang Date: Mon, 24 Aug 2026 15:08:14 -0700 Subject: [PATCH 01/12] Upgrade ruby and Jekyll Ruby: from 3.2 to 3.4 Jekyll: from 3.9 to 4.4.1 --- Gemfile | 14 +-- Gemfile.lock | 296 ++++++++++++++------------------------------------- 2 files changed, 90 insertions(+), 220 deletions(-) diff --git a/Gemfile b/Gemfile index ab04463..a0298c1 100644 --- a/Gemfile +++ b/Gemfile @@ -1,12 +1,14 @@ source "https://rubygems.org" -#gem "jekyll", "~> 4.3.2" -# This is the default theme for new Jekyll sites. You may change this to anything you like. -# If you want to use GitHub Pages, remove the "gem "jekyll"" above and -# uncomment the line below. To upgrade, run `bundle update github-pages`. -gem "github-pages", group: :jekyll_plugins -# If you have any plugins, put them here! +gem "jekyll", "~> 4.4.1" + group :jekyll_plugins do gem "jekyll-feed", "~> 0.12" + gem "jekyll-redirect-from" + gem "jekyll-seo-tag" + gem "jekyll-sitemap" + gem "jekyll-relative-links" + gem "jekyll-github-metadata" + gem "jekyll-include-cache" end # Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem diff --git a/Gemfile.lock b/Gemfile.lock index 1647de6..f33ed8f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,271 +1,139 @@ GEM remote: https://rubygems.org/ specs: - activesupport (7.0.7.2) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 1.6, < 2) - minitest (>= 5.1) - tzinfo (~> 2.0) - addressable (2.8.5) - public_suffix (>= 2.0.2, < 6.0) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.11.1) + addressable (2.9.0) + public_suffix (>= 2.0.2, < 8.0) + base64 (0.3.0) + bigdecimal (4.1.2) colorator (1.1.0) - commonmarker (0.23.10) - concurrent-ruby (1.2.2) - dnsruby (1.70.0) - simpleidn (~> 0.2.1) + concurrent-ruby (1.3.8) + csv (3.3.6) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) - ethon (0.16.0) - ffi (>= 1.15.0) eventmachine (1.2.7) - execjs (2.8.1) - faraday (2.7.10) - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.2) - ffi (1.15.5) + faraday (2.14.3) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.4) + net-http (~> 0.5) + ffi (1.17.4-arm64-darwin) + ffi (1.17.4-x86_64-darwin) + ffi (1.17.4-x86_64-linux-gnu) forwardable-extended (2.6.0) - gemoji (3.0.1) - github-pages (228) - github-pages-health-check (= 1.17.9) - jekyll (= 3.9.3) - jekyll-avatar (= 0.7.0) - jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.4.0) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.15.1) - jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.13.0) - jekyll-include-cache (= 0.2.1) - jekyll-mentions (= 1.6.0) - jekyll-optional-front-matter (= 0.3.2) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.3.0) - jekyll-redirect-from (= 0.16.0) - jekyll-relative-links (= 0.6.1) - jekyll-remote-theme (= 0.4.3) - jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.8.0) - jekyll-sitemap (= 1.4.0) - jekyll-swiss (= 1.0.0) - jekyll-theme-architect (= 0.2.0) - jekyll-theme-cayman (= 0.2.0) - jekyll-theme-dinky (= 0.2.0) - jekyll-theme-hacker (= 0.2.0) - jekyll-theme-leap-day (= 0.2.0) - jekyll-theme-merlot (= 0.2.0) - jekyll-theme-midnight (= 0.2.0) - jekyll-theme-minimal (= 0.2.0) - jekyll-theme-modernist (= 0.2.0) - jekyll-theme-primer (= 0.6.0) - jekyll-theme-slate (= 0.2.0) - jekyll-theme-tactile (= 0.2.0) - jekyll-theme-time-machine (= 0.2.0) - jekyll-titles-from-headings (= 0.5.3) - jemoji (= 0.12.0) - kramdown (= 2.3.2) - kramdown-parser-gfm (= 1.1.0) - liquid (= 4.0.4) - mercenary (~> 0.3) - minima (= 2.5.1) - nokogiri (>= 1.13.6, < 2.0) - rouge (= 3.26.0) - terminal-table (~> 1.4) - github-pages-health-check (1.17.9) - addressable (~> 2.3) - dnsruby (~> 1.60) - octokit (~> 4.0) - public_suffix (>= 3.0, < 5.0) - typhoeus (~> 1.3) - html-pipeline (2.14.3) - activesupport (>= 2) - nokogiri (>= 1.4) - http_parser.rb (0.8.0) - i18n (1.14.1) + google-protobuf (4.36.0-arm64-darwin) + bigdecimal + rake (~> 13.3) + google-protobuf (4.36.0-x86_64-darwin) + bigdecimal + rake (~> 13.3) + google-protobuf (4.36.0-x86_64-linux-gnu) + bigdecimal + rake (~> 13.3) + http_parser.rb (0.8.1) + i18n (1.15.2) concurrent-ruby (~> 1.0) - jekyll (3.9.3) + jekyll (4.4.1) addressable (~> 2.4) + base64 (~> 0.2) colorator (~> 1.0) + csv (~> 3.0) em-websocket (~> 0.5) - i18n (>= 0.7, < 2) - jekyll-sass-converter (~> 1.0) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) jekyll-watch (~> 2.0) - kramdown (>= 1.17, < 3) + json (~> 2.6) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) - mercenary (~> 0.3.3) + mercenary (~> 0.3, >= 0.3.6) pathutil (~> 0.9) - rouge (>= 1.7, < 4) + rouge (>= 3.0, < 5.0) safe_yaml (~> 1.0) - jekyll-avatar (0.7.0) - jekyll (>= 3.0, < 5.0) - jekyll-coffeescript (1.1.1) - coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) - jekyll-commonmark (1.4.0) - commonmarker (~> 0.22) - jekyll-commonmark-ghpages (0.4.0) - commonmarker (~> 0.23.7) - jekyll (~> 3.9.0) - jekyll-commonmark (~> 1.4.0) - rouge (>= 2.0, < 5.0) - jekyll-default-layout (0.1.4) - jekyll (~> 3.0) - jekyll-feed (0.15.1) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-feed (0.17.0) jekyll (>= 3.7, < 5.0) - jekyll-gist (1.5.0) - octokit (~> 4.2) - jekyll-github-metadata (2.13.0) + jekyll-github-metadata (2.16.1) jekyll (>= 3.4, < 5.0) - octokit (~> 4.0, != 4.4.0) - jekyll-include-cache (0.2.1) + octokit (>= 4, < 7, != 4.4.0) + jekyll-include-cache (0.2.2) jekyll (>= 3.7, < 5.0) - jekyll-mentions (1.6.0) - html-pipeline (~> 2.3) - jekyll (>= 3.7, < 5.0) - jekyll-optional-front-matter (0.3.2) - jekyll (>= 3.0, < 5.0) - jekyll-paginate (1.1.0) - jekyll-readme-index (0.3.0) - jekyll (>= 3.0, < 5.0) jekyll-redirect-from (0.16.0) jekyll (>= 3.3, < 5.0) - jekyll-relative-links (0.6.1) + jekyll-relative-links (0.8.0) jekyll (>= 3.3, < 5.0) - jekyll-remote-theme (0.4.3) - addressable (~> 2.0) - jekyll (>= 3.5, < 5.0) - jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0) - rubyzip (>= 1.3.0, < 3.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-seo-tag (2.8.0) + jekyll-sass-converter (3.1.0) + sass-embedded (~> 1.75) + jekyll-seo-tag (2.9.0) jekyll (>= 3.8, < 5.0) jekyll-sitemap (1.4.0) jekyll (>= 3.7, < 5.0) - jekyll-swiss (1.0.0) - jekyll-theme-architect (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-cayman (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-dinky (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-leap-day (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-merlot (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-midnight (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-minimal (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-modernist (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.6.0) - jekyll (> 3.5, < 5.0) - jekyll-github-metadata (~> 2.9) - jekyll-seo-tag (~> 2.0) - jekyll-theme-slate (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-tactile (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-theme-time-machine (0.2.0) - jekyll (> 3.5, < 5.0) - jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.3) - jekyll (>= 3.3, < 5.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.12.0) - gemoji (~> 3.0) - html-pipeline (~> 2.2) - jekyll (>= 3.0, < 5.0) - kramdown (2.3.2) - rexml + json (2.21.2) + kramdown (2.5.2) + rexml (>= 3.4.4) kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) liquid (4.0.4) - listen (3.8.0) + listen (3.10.0) + logger rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - mercenary (0.3.6) - minima (2.5.1) - jekyll (>= 3.5, < 5.0) - jekyll-feed (~> 0.9) - jekyll-seo-tag (~> 2.1) - minitest (5.19.0) - nokogiri (1.18.9-arm64-darwin) - racc (~> 1.4) - nokogiri (1.18.9-x86_64-darwin) - racc (~> 1.4) - nokogiri (1.18.9-x86_64-linux-gnu) - racc (~> 1.4) - octokit (4.25.1) + logger (1.7.0) + mercenary (0.4.0) + net-http (0.9.1) + uri (>= 0.11.1) + octokit (6.1.1) faraday (>= 1, < 3) sawyer (~> 0.9) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (4.0.7) - racc (1.8.1) + public_suffix (7.0.5) + rake (13.4.2) rb-fsevent (0.11.2) - rb-inotify (0.10.1) + rb-inotify (0.11.1) ffi (~> 1.0) - rexml (3.4.2) - rouge (3.26.0) - ruby2_keywords (0.0.5) - rubyzip (2.3.2) + rexml (3.4.4) + rouge (4.7.0) safe_yaml (1.0.5) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.9.2) + sass-embedded (1.103.1-arm64-darwin) + google-protobuf (~> 4.31) + sass-embedded (1.103.1-x86_64-darwin) + google-protobuf (~> 4.31) + sass-embedded (1.103.1-x86_64-linux-gnu) + google-protobuf (~> 4.31) + sawyer (0.9.3) addressable (>= 2.3.5) faraday (>= 0.17.3, < 3) - simpleidn (0.2.1) - unf (~> 0.1.4) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) - unicode-display_width (1.8.0) - webrick (1.8.2) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.6.0) + uri (1.1.1) + webrick (1.9.2) PLATFORMS arm64-darwin-22 + arm64-darwin-24 x86_64-darwin-23 x86_64-linux DEPENDENCIES - github-pages http_parser.rb (~> 0.6.0) + jekyll (~> 4.4.1) jekyll-feed (~> 0.12) + jekyll-github-metadata + jekyll-include-cache + jekyll-redirect-from + jekyll-relative-links + jekyll-seo-tag + jekyll-sitemap tzinfo (>= 1, < 3) tzinfo-data wdm (~> 0.1.1) webrick (~> 1.8) BUNDLED WITH - 2.3.26 + 2.6.9 From b479781f4f3646cc0a2bef49e4b1b0525e27729f Mon Sep 17 00:00:00 2001 From: jsjiang Date: Wed, 26 Aug 2026 15:18:50 -0700 Subject: [PATCH 02/12] testing jekyll build --- .github/workflows/jekyll-build.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/jekyll-build.yml diff --git a/.github/workflows/jekyll-build.yml b/.github/workflows/jekyll-build.yml new file mode 100644 index 0000000..e49bca3 --- /dev/null +++ b/.github/workflows/jekyll-build.yml @@ -0,0 +1,28 @@ +name: Jekyll Build + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: "3.4.10" + bundler-cache: true + + - name: Build site + run: bundle exec jekyll build --destination _site + + - name: Upload built site + uses: actions/upload-artifact@v4 + with: + name: site + path: _site From 27f3c5c54779d5ad163d4d8e0c9e34b5b7e21851 Mon Sep 17 00:00:00 2001 From: jsjiang Date: Wed, 26 Aug 2026 15:28:28 -0700 Subject: [PATCH 03/12] remove upload built site task --- .github/workflows/jekyll-build.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/jekyll-build.yml b/.github/workflows/jekyll-build.yml index e49bca3..36caedf 100644 --- a/.github/workflows/jekyll-build.yml +++ b/.github/workflows/jekyll-build.yml @@ -21,8 +21,3 @@ jobs: - name: Build site run: bundle exec jekyll build --destination _site - - name: Upload built site - uses: actions/upload-artifact@v4 - with: - name: site - path: _site From d0ac23610f437a5490653db24c380f94f5749240 Mon Sep 17 00:00:00 2001 From: jsjiang Date: Wed, 26 Aug 2026 16:13:41 -0700 Subject: [PATCH 04/12] add jekyll build instructions to readme --- README | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 1 deletion(-) diff --git a/README b/README index 4cf64e3..ad04807 100644 --- a/README +++ b/README @@ -1,3 +1,68 @@ # arks.org -Built with Jekyll. +This site is built with Jekyll. + +## Build environment + +The project uses: + +- Ruby 3.4.10, selected by `.ruby-version` +- Bundler 2.6.9, recorded in `Gemfile.lock` +- Jekyll 4.4.1 or later within the `Gemfile` constraint + +## Install Ruby + +Install Ruby 3.4.10 using a Ruby version manager, `rbenv` for example. +From the project directory, run: + +```sh +rbenv install 3.4.10 +rbenv local 3.4.10 +ruby --version +``` + +The last command should report Ruby 3.4.10. + +## Install dependencies + +Install the Bundler version recorded in the lockfile, then install the locked gems: + +```sh +gem install bundler -v 2.6.9 +bundle --version +bundle install +``` + +Verify the resolved Jekyll version: + +```sh +bundle exec jekyll --version +``` + +The current lockfile resolves Jekyll 4.4.1. To intentionally update dependencies after changing `Gemfile`, run: + +```sh +bundle update +``` + +## Build the site + +Generate the static site in `_site/`: + +```sh +bundle exec jekyll build --destination _site +``` + +The `_site/` directory is generated output and should not be edited directly. + +## Preview locally + +Start a local server with live reload: + +```sh +bundle exec jekyll serve --livereload +``` + +Open in a browser. + + From f281e332a91ff474b07e0276d6736fdfa86af6ca Mon Sep 17 00:00:00 2001 From: jsjiang Date: Wed, 26 Aug 2026 16:24:47 -0700 Subject: [PATCH 05/12] upgrade github actions/checkout to v4 --- .github/workflows/jekyll-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/jekyll-build.yml b/.github/workflows/jekyll-build.yml index 36caedf..e28ee3a 100644 --- a/.github/workflows/jekyll-build.yml +++ b/.github/workflows/jekyll-build.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Ruby uses: ruby/setup-ruby@v1 From 44a0ebb01776aea02955c7d5c72050baf0c8929e Mon Sep 17 00:00:00 2001 From: jsjiang Date: Tue, 1 Sep 2026 10:24:28 -0700 Subject: [PATCH 06/12] rename readme file --- README => README.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename README => README.md (100%) diff --git a/README b/README.md similarity index 100% rename from README rename to README.md From 39683d96b2b5196bd6a56ee371550c9449432d51 Mon Sep 17 00:00:00 2001 From: jsjiang Date: Thu, 3 Sep 2026 11:51:05 -0700 Subject: [PATCH 07/12] Update README with Ruby 3.4.8 compatibility note Added note about compatibility with Ruby 3.4.8. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ad04807..32f25da 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ The project uses: - Bundler 2.6.9, recorded in `Gemfile.lock` - Jekyll 4.4.1 or later within the `Gemfile` constraint +Note: also works with Ruby 3.4.8. + ## Install Ruby Install Ruby 3.4.10 using a Ruby version manager, `rbenv` for example. From b0d1a6ea20ade3ccec6a6f19d641891b6458ff48 Mon Sep 17 00:00:00 2001 From: jsjiang Date: Fri, 4 Sep 2026 09:40:10 -0700 Subject: [PATCH 08/12] Update README with Ruby, Bundler, and Jekyll info Added compatibility note for Ruby version and included Bundler and Jekyll configuration details. --- README.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 32f25da..0cc3723 100644 --- a/README.md +++ b/README.md @@ -6,11 +6,21 @@ This site is built with Jekyll. The project uses: -- Ruby 3.4.10, selected by `.ruby-version` +- Ruby 3.4.10, selected by `.ruby-version` (Note: also works with Ruby 3.4.8) - Bundler 2.6.9, recorded in `Gemfile.lock` - Jekyll 4.4.1 or later within the `Gemfile` constraint -Note: also works with Ruby 3.4.8. +Bundler version in `Gemfile.lock`: +``` +BUNDLED WITH + 2.6.9 +``` + +Jekyll constrain in `Gemfile`: +``` +source "https://rubygems.org" +gem "jekyll", "~> 4.4.1" +``` ## Install Ruby From 522cdb160ab8e1bdbb00e4ff8078c885be0b9aed Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 22 Sep 2026 13:32:28 -0700 Subject: [PATCH 09/12] Improve ARK site accessibility --- .gitignore | 2 + Gemfile.lock | 1 + _brand/includes/content/anatomy2.html | 10 - _brand/includes/content/anatomy2.txt | 8 + _brand/includes/content/anatomy3.html | 16 - _brand/includes/content/anatomy3.txt | 15 + _brand/includes/content/anatomy4.txt | 6 + _brand/includes/content/ascii_art.html | 39 + _brand/includes/content/fig.html | 41 + _brand/includes/content/image.html | 4 - _brand/includes/content/owl_bike_key.txt | 24 + .../content/pid-comparison-table.html | 17 + _brand/includes/content/section.html | 21 + _brand/includes/content/side-by-side.html | 44 + _brand/includes/content/sitemap-list.html | 2 +- _brand/includes/footer/footer.html | 21 +- _brand/includes/footer/social.html | 6 +- _brand/includes/head/color-scheme.script.html | 22 + _brand/includes/header/callout.html | 7 + _brand/includes/header/header.html | 37 +- _brand/includes/navigation/breadcrumbs.html | 36 + _brand/includes/navigation/top.html | 93 +- _brand/layouts/default.html | 46 +- _brand/layouts/post.html | 4 +- _brand/layouts/posts.html | 65 +- _brand/sass/_utils.scss | 4 + _brand/sass/ark.scss | 451 +- _config.yml | 24 +- _data/navigation.yml | 2 +- _data/organization_map.json | 6772 +++++++++++++++++ assets/css/ark-organizations.css | 208 + assets/images/posts/arka_blog_default.png | Bin 0 -> 57606 bytes assets/images/share/ark-anatomy-es.svg | 42 + assets/images/share/ark-anatomy-fr.svg | 42 + assets/images/share/ark-anatomy.svg | 57 + .../images/share/durable-identifier-key.svg | 48 + .../share/learn_spt_in_action_static.svg | 18 + assets/js/ark-organizations.js | 406 + content/_pages/404.md | 5 +- .../about-ark-community-code-of-conduct.md | 12 +- content/_pages/about-ark-faq-en.md | 140 +- content/_pages/about-ark-faq-es.md | 254 +- content/_pages/about-ark-faq-fr.md | 252 +- content/_pages/about-ark-features.md | 8 + content/_pages/about-ark-naans-and-systems.md | 203 +- content/_pages/about-ark-namespaces.md | 14 +- content/_pages/about-ark-overview.md | 80 +- content/_pages/about-ark-shoulders-faq-en.md | 18 +- .../_pages/about-ark-suffix-passthrough.md | 56 +- content/_pages/about-ark-training.md | 4 + content/_pages/about-best-practices.md | 4 + ...ut-comparing-arks-and-other-identifiers.md | 17 +- ...out-identifier-concepts-and-conventions.md | 101 +- content/_pages/about-n2t-global-resolver.md | 26 +- .../about-running-minters-and-resolvers.md | 24 +- content/_pages/about-shoulders.md | 19 +- content/_pages/about-testing-arks.md | 11 +- content/_pages/about-the-ark-origin-story.md | 29 +- content/_pages/about.md | 53 +- content/_pages/accessibility.md | 25 + content/_pages/blog-post-template.md | 4 + content/_pages/calendar.md | 6 +- content/_pages/community-ark-organizations.md | 144 + .../community-ark-summit-experts-meetings.md | 22 +- content/_pages/community-groups.md | 63 +- .../_pages/community-organization-map-list.md | 40 + content/_pages/community.md | 105 +- content/_pages/contact-us.md | 4 + content/_pages/index.md | 43 +- content/_pages/maintenance.md | 9 +- content/_pages/naan-stats.md | 396 - content/_pages/privacy-policy.md | 8 +- content/_pages/resources-noid.md | 20 +- .../_pages/{specs.md => resources-specs.md} | 26 +- content/_pages/resources.md | 86 +- content/_pages/sitemap.md | 4 + ...ting-getting-started-implementing-arks.md} | 11 +- ...se-arks-and-igsns-with-physical-objects.md | 14 +- ...tent-myths-about-persistent-identifiers.md | 3 +- .../_posts/2021-01-20-new-service-arketype.md | 3 +- .../2021-01-26-announcing-the-ark-alliance.md | 5 +- ...collection-goes-online-with-483000-arks.md | 4 +- ...ark-plugin-for-open-journal-systems-ojs.md | 5 +- content/_posts/2021-10-05-community-update.md | 3 +- .../_posts/2021-11-01-the-ark-origin-story.md | 8 +- .../_posts/2021-11-03-arks-at-ipres-2021.md | 4 +- ...-12-08-the-frick-collection-to-use-arks.md | 8 +- .../2021-12-16-ark-alliance-2021-wrap-up.md | 6 +- content/_posts/2022-02-22-community-update.md | 3 +- ...iversity-of-toronto-scarborough-library.md | 16 +- ...mages-and-the-promise-of-arks-with-iiif.md | 62 +- ...p-2022-with-over-1000-ark-organizations.md | 19 +- ...s-added-to-new-version-of-the-pid-guide.md | 3 +- ...-cultural-heritage-data-more-persistent.md | 4 +- ...date-stickers-tutorials-code-of-conduct.md | 3 +- ...ing-up-2023-with-1200-ark-organizations.md | 17 +- ...24-11-04-ark-community-highlight-wacren.md | 5 +- ...community-update-1400-ark-organizations.md | 8 +- ...1-arklet-frick-ark-minter-resolver-tool.md | 4 +- ...-data-at-the-national-library-of-france.md | 8 +- ...tion-change-from-classic-to-modern-arks.md | 4 +- ...-12-ioi-supports-la-referencia-and-dark.md | 3 +- ...ing-up-2025-with-1720-ark-organizations.md | 13 +- scripts/check_accessibility.rb | 119 + scripts/check_accessibility_interactions.cjs | 171 + scripts/check_browser_accessibility.cjs | 87 + scripts/check_organization_data.cjs | 39 + scripts/update_organization_map.py | 53 + 108 files changed, 10500 insertions(+), 1211 deletions(-) delete mode 100644 _brand/includes/content/anatomy2.html create mode 100644 _brand/includes/content/anatomy2.txt delete mode 100644 _brand/includes/content/anatomy3.html create mode 100644 _brand/includes/content/anatomy3.txt create mode 100644 _brand/includes/content/anatomy4.txt create mode 100644 _brand/includes/content/ascii_art.html create mode 100644 _brand/includes/content/fig.html delete mode 100644 _brand/includes/content/image.html create mode 100644 _brand/includes/content/owl_bike_key.txt create mode 100644 _brand/includes/content/pid-comparison-table.html create mode 100644 _brand/includes/content/section.html create mode 100644 _brand/includes/content/side-by-side.html create mode 100644 _brand/includes/header/callout.html create mode 100644 _brand/includes/navigation/breadcrumbs.html create mode 100644 _data/organization_map.json create mode 100644 assets/css/ark-organizations.css create mode 100644 assets/images/posts/arka_blog_default.png create mode 100644 assets/images/share/ark-anatomy-es.svg create mode 100644 assets/images/share/ark-anatomy-fr.svg create mode 100644 assets/images/share/ark-anatomy.svg create mode 100644 assets/images/share/durable-identifier-key.svg create mode 100644 assets/images/share/learn_spt_in_action_static.svg create mode 100644 assets/js/ark-organizations.js create mode 100644 content/_pages/accessibility.md create mode 100644 content/_pages/community-ark-organizations.md create mode 100644 content/_pages/community-organization-map-list.md delete mode 100644 content/_pages/naan-stats.md rename content/_pages/{specs.md => resources-specs.md} (50%) rename content/_pages/{about-getting-started-implementing-arks.md => starting-getting-started-implementing-arks.md} (93%) create mode 100644 scripts/check_accessibility.rb create mode 100644 scripts/check_accessibility_interactions.cjs create mode 100644 scripts/check_browser_accessibility.cjs create mode 100644 scripts/check_organization_data.cjs create mode 100644 scripts/update_organization_map.py diff --git a/.gitignore b/.gitignore index f9e9b93..8207146 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ _site vendor/ .bundle/ **/.DS_Store +__pycache__/ +docs/ diff --git a/Gemfile.lock b/Gemfile.lock index 1647de6..e4d8e87 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -255,6 +255,7 @@ GEM PLATFORMS arm64-darwin-22 + arm64-darwin-24 x86_64-darwin-23 x86_64-linux diff --git a/_brand/includes/content/anatomy2.html b/_brand/includes/content/anatomy2.html deleted file mode 100644 index b1a9122..0000000 --- a/_brand/includes/content/anatomy2.html +++ /dev/null @@ -1,10 +0,0 @@ - https://example.org/ark:12345/x54xz321/s3/f8.05v.tiff - \_________________/ \__/\___/ \______/\____/\_______/ - | | | | | | - | ARK Label | | Sub-parts Variants - | | | - Name Mapping Authority (NMA) | Assigned Name - | - Name Assigning Authority Number (NAAN) -{: .bg-secondary-subtle } - diff --git a/_brand/includes/content/anatomy2.txt b/_brand/includes/content/anatomy2.txt new file mode 100644 index 0000000..d520d76 --- /dev/null +++ b/_brand/includes/content/anatomy2.txt @@ -0,0 +1,8 @@ + https://example.org/ark:12345/x54xz321/s3/f8.05v.tiff + \_________________/ \__/\___/ \______/\____/\_______/ + | | | | | | + | ARK Label | | Sub-parts Variants + | | | + Name Mapping Authority (NMA) | Assigned Name + | + Name Assigning Authority Number (NAAN) diff --git a/_brand/includes/content/anatomy3.html b/_brand/includes/content/anatomy3.html deleted file mode 100644 index 435f524..0000000 --- a/_brand/includes/content/anatomy3.html +++ /dev/null @@ -1,16 +0,0 @@ - ARK ANATOMY -   Compact ARK - _______________________________ -                     /                     \ -   Resolver Service   Base Object Name  Qualifiers - __________________  ________________  _____________ -   /                  \/        ...     \/             \ -   https://example.org/ark:12345/x54xz321/s3/f8.05v.tiff -   \_________/ \__/\___/ \______/\____/\_______/ -              |         |   |  ...  |     |       | -              |  ARK Label  |   |   | Sub-parts  Variants -              |            |   |   | - Name Mapping Authority (NMA) |   |  Assigned Name     ... -                             |   +---------- Shoulder: /x5 -     Name Assigning Authority Number (NAAN) ... -{: .bg-secondary-subtle } diff --git a/_brand/includes/content/anatomy3.txt b/_brand/includes/content/anatomy3.txt new file mode 100644 index 0000000..a5a6d56 --- /dev/null +++ b/_brand/includes/content/anatomy3.txt @@ -0,0 +1,15 @@ + ARK ANATOMY +   Compact ARK + _______________________________ +                     /                     \ +   Resolver Service   Base Object Name  Qualifiers + __________________  ________________  _____________ +   /                  \/        ...     \/             \ +   https://example.org/ark:12345/x54xz321/s3/f8.05v.tiff +   \_________/ \__/\___/ \______/\____/\_______/ +              |         |   |  ...  |     |       | +              |  ARK Label  |   |   | Sub-parts  Variants +              |            |   |   | + Name Mapping Authority (NMA) |   |  Assigned Name     ... +                             |   +---------- Shoulder: /x5 +     Name Assigning Authority Number (NAAN) ... diff --git a/_brand/includes/content/anatomy4.txt b/_brand/includes/content/anatomy4.txt new file mode 100644 index 0000000..34ce1f5 --- /dev/null +++ b/_brand/includes/content/anatomy4.txt @@ -0,0 +1,6 @@ + Resolver Service Compact ARK + __________________ _______________________________ + / \/ \ + https://example.org/ark:/12345/x6np1wh8k/c3/s5.v7.xsl + \____________________________/\________/\___________/ + Prefixes Base Name Suffixes diff --git a/_brand/includes/content/ascii_art.html b/_brand/includes/content/ascii_art.html new file mode 100644 index 0000000..07c436f --- /dev/null +++ b/_brand/includes/content/ascii_art.html @@ -0,0 +1,39 @@ +{% comment %} + Usage: + {% include content/ascii_art.html url="/assets/images/aart.txt" description="This is an ASCII art image." link="https://example.com" nocaption=true %} +{% endcomment %} + +{%- assign width = include.width | default: "100%" -%} +{%- assign label = include.label | default: "Text diagram" -%} +{% if include.nocaption == nil %} +
+{% else %} +
+{% endif %} + + {% if include.link != nil %} + + {% endif %} + +
+      {%- include {{ include.url }} -%}
+    
+ + {% if include.link != nil %} +
+ {% endif %} + + {% if include.nocaption == nil %} +
+ {{ include.description | markdownify }} +
+ {% endif %} + +{% if include.nocaption == nil %} +
+{% else %} + +{% endif %} diff --git a/_brand/includes/content/fig.html b/_brand/includes/content/fig.html new file mode 100644 index 0000000..47ada0c --- /dev/null +++ b/_brand/includes/content/fig.html @@ -0,0 +1,41 @@ +{% comment %} + Usage: + {% include content/fig.html url="/assets/images/example.jpg" alt="A concise image description." description="This is an example image." label="Example image" link="https://example.com" nocaption=true %} + If no alt text is provided, tries to use the first sentence of description. +{% endcomment %} + +{% if include.nocaption == nil %} +
+{% else %} +
+{% endif %} + + {%- assign width = include.width | default: "100%" -%} + {%- if include.alt != nil -%} + {%- assign alt = include.alt -%} + {%- else -%} + {%- assign alt = include.description | default: "" | strip_html | split: ". " | first -%} + {%- endif -%} + {% if include.link != nil %} + + {% endif %} + + {{ alt | escape }} + + {% if include.link != nil %} + + {% endif %} + + {% if include.nocaption == nil %} +
+ {{ include.description | markdownify | remove: '

' | remove: '

' }} +
+ {% endif %} + +{% if include.nocaption == nil %} +
+{% else %} + +{% endif %} diff --git a/_brand/includes/content/image.html b/_brand/includes/content/image.html deleted file mode 100644 index abad65b..0000000 --- a/_brand/includes/content/image.html +++ /dev/null @@ -1,4 +0,0 @@ -
- {{ include.description }} -
{{ include.description }}
-
diff --git a/_brand/includes/content/owl_bike_key.txt b/_brand/includes/content/owl_bike_key.txt new file mode 100644 index 0000000..6bdb002 --- /dev/null +++ b/_brand/includes/content/owl_bike_key.txt @@ -0,0 +1,24 @@ + _____ slips on _____ + .-' ,_,'-.. ----> .-' '-. + / (o,o) \\ / \ + : {`"'} || : `____ + / .-. -"-"- || / .-. '--^. .^--^. .^. + { ( ) || { ( ) `-' `-^--^-' '--^. + \ `-' _o || \ '-' ===================================} + : _|<,_ || : __________________________________/ + \ (*)/(*) / \ / + `-._____.-' `-._____.-' + |....................|...............|....|..........................|..| + ^ ^ ^ ^ ^ + : : : : : + Cover= Bow= Shoulder .------ Blade Tip + NMA Scheme+NAAN : : .-------------------' + : : : : : : + v v v v v v + |..........................|....+.....|...|......|.| + https://OwlBike.example.org/ark:13030/tqb3kh97gh8w <---- Example Key + doi:10.30/tqb3kh97gh8w with parallel + hdl:13030/tqb3kh97gh8w parts in other + urn:13030:tqb3kh97gh8w id schemes. + |..........................|.......................|.... + Name Mapping Authority Base object name ... diff --git a/_brand/includes/content/pid-comparison-table.html b/_brand/includes/content/pid-comparison-table.html new file mode 100644 index 0000000..3ec0d59 --- /dev/null +++ b/_brand/includes/content/pid-comparison-table.html @@ -0,0 +1,17 @@ +
+ + + + + + + + + + + + + + +
Capabilities defined for five types of persistent identifier in the original comparison.
Major causes of broken links, and some featuresPURLHandleURNDOIARK
Prevents fire, war, flood, attack, bankruptcy, ...NoNoNoNoNo
Prevents human errorNoNoNoNoNo
Guarantees your links, or fixes them for youNoNoNoNoNo
Decentralized admin plus inferenceable syntaxNoNoNoNoYes
Flexible metadata and persistence statementsNoNoNoNoYes
Identifiers extensible during resolutionYesNoYesNoYes
Free, non-paywalled, in unlimited numbersYesNoYesNoYes
+
diff --git a/_brand/includes/content/section.html b/_brand/includes/content/section.html new file mode 100644 index 0000000..4d5359a --- /dev/null +++ b/_brand/includes/content/section.html @@ -0,0 +1,21 @@ +{% comment %} + Start, change, or end a section. Arguments: + - do: "start", "end", or "changeto" + - color: "warm" (default) or "cool" + + Usage: + include content/section.html do="start" color="main" + include content/section.html do="changeto" color="cool" + include content/section.html do="end" + + Surrounding blank lines and no indentation to protect markdown content. +{% endcomment %} + +{% if include.do == "end" or include.do == "changeto" %} + + +{% endif %} +{% if include.do == "start" or include.do == "changeto" %} +
+
+{% endif %} diff --git a/_brand/includes/content/side-by-side.html b/_brand/includes/content/side-by-side.html new file mode 100644 index 0000000..c95995f --- /dev/null +++ b/_brand/includes/content/side-by-side.html @@ -0,0 +1,44 @@ +{% comment %} + + Usage: Use capture to get formatted markdown, for example (without { and }), + % capture my_text % + ### Project Details + This section contains a complex list: + * **Timeline**: 4 weeks + * **Tools**: Jekyll, Liquid + * **Goal**: Responsive layout + + Can have [multiple paragraphs](https://jekyllrb.com) and links here. + % endcapture % + Then use the side-by-side include with same arguments as fig include, eg, + url="/assets/images/example.jpg" + description="This is an example image." + link="https://example.com" + nocaption=true + plus the content and an optional reverse flag: + content=my_text + reverse=true + For example (args must all be on one line): + {% include content/side-by-side.html content=my_text reverse=true url="..." description="..." nocaption=true %} + +{% endcomment %} + +{%- assign direction = "row" -%} +{%- if include.reverse -%} + {%- assign direction = "row-reverse" -%} +{%- endif -%} +
+ +
+ {{ include.content }} +
+ +
+ {%- assign url = include.url -%} + {%- assign description = include.description -%} + {%- assign link = include.link | default: nil -%} + {%- assign nocaption = include.nocaption | default: "1" -%} + {% include content/fig.html url=url description=description link=link nocaption=nocaption %} +
+
diff --git a/_brand/includes/content/sitemap-list.html b/_brand/includes/content/sitemap-list.html index 1ad542b..1b15a66 100644 --- a/_brand/includes/content/sitemap-list.html +++ b/_brand/includes/content/sitemap-list.html @@ -8,7 +8,7 @@

Pages

{% for page in sorted_pages %} {% if page.title and page.permalink != "/404.html" %}
  • - + {{ page.title }}
  • diff --git a/_brand/includes/footer/footer.html b/_brand/includes/footer/footer.html index 3b79cc3..1989851 100644 --- a/_brand/includes/footer/footer.html +++ b/_brand/includes/footer/footer.html @@ -1,23 +1,28 @@ -