diff --git a/.github/matrix.json b/.github/matrix.json index c32dc4d71..e2bd77df1 100644 --- a/.github/matrix.json +++ b/.github/matrix.json @@ -1,29 +1,29 @@ { "config": [ { - "name": "Linux GCC 11", + "name": "Linux GCC 13", "compiler": "gcc", - "version": "11", + "version": "13", "os": "ubuntu-22.04" }, { - "name": "Linux Clang 14", + "name": "Linux Clang 15", "compiler": "clang", - "version": "14", + "version": "15", "os": "ubuntu-22.04" }, { - "name": "macOS apple-clang 13.0.0", + "name": "macOS apple-clang 15.1.0", "compiler": "apple-clang", - "version": "13.0.0", - "os": "macos-11" + "version": "15.1.0", + "os": "macos-13" }, { - "name": "Windows VS2019", + "name": "Windows VS2022", "compiler": "Visual Studio", - "version": "16", - "os": "windows-2019", - "cmake_toolset": "Visual Studio 16 2019" + "version": "17", + "os": "windows-2022", + "cmake_toolset": "Visual Studio 17 2022" }, { "name": "Linux Webassembly", diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml new file mode 100644 index 000000000..bd08a2660 --- /dev/null +++ b/.github/workflows/jekyll.yml @@ -0,0 +1,67 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +# Sample workflow for building and deploying a Jekyll site to GitHub Pages +name: Deploy Jekyll site to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: [$default-branch] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + # Build job + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Ruby + uses: ruby/setup-ruby@8575951200e472d5f2d95c625da0c7bec8217c42 # v1.161.0 + with: + # ruby-version: '3.1' # Not needed with a .ruby-version file + bundler-cache: true # runs 'bundle install' and caches installed gems automatically + cache-version: 0 # Increment this number if you need to re-download cached gems + - name: Setup Pages + id: pages + uses: actions/configure-pages@v4 + - name: Build with Jekyll + # Outputs to the './_site' directory by default + # run: cd ./docs + run: cd ./docs && bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" + env: + JEKYLL_ENV: production + - name: Upload artifact + # Automatically uploads an artifact from the './_site' directory by default + uses: actions/upload-pages-artifact@v3 + with: + path: ./docs/_site + + # Deployment job + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/stlab.yml b/.github/workflows/stlab.yml index 26d31c957..e4aa655dd 100644 --- a/.github/workflows/stlab.yml +++ b/.github/workflows/stlab.yml @@ -21,6 +21,7 @@ jobs: run: echo "::set-output name=matrix::$(cat .github/matrix.json | scripts/flatten_json.py)" builds: + # installed tools and runners can be found here: https://github.com/actions/runner-images needs: generate-matrix runs-on: ${{ matrix.config.os }} strategy: @@ -106,7 +107,7 @@ jobs: shell: bash run: | mkdir ../build - cmake -S. -B../build -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=23 + cmake -S. -B../build -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 - name: Configure // Linux Emscripten if: ${{ startsWith(matrix.config.compiler, 'emscripten') }} @@ -120,7 +121,7 @@ jobs: if: ${{ startsWith(matrix.config.os, 'windows') }} shell: cmd run: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 mkdir ..\build cmake -S. -B../build -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake @@ -134,7 +135,7 @@ jobs: if: ${{ startsWith(matrix.config.os, 'windows') }} shell: cmd run: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 + call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 cmake --build ../build/ - name: Test diff --git a/README.md b/README.md index 4c06bacc9..8481322c8 100644 --- a/README.md +++ b/README.md @@ -113,9 +113,7 @@ STLab uses [hyde](https://github.com/adobe/hyde) to generate documentation boile When adding a new public API, you should invoke ``` -docker run --platform linux/x86_64 --mount type=bind,source="$(pwd)/..",target=/mnt/host \ - --tty --interactive \ - hyde bash +docker run --platform linux/x86_64 --mount type=bind,source="$(pwd)/..",target=/mnt/host --tty --interactive hyde bash ``` ``` diff --git a/docs/.ruby-version b/docs/.ruby-version index a4dd9dba4..be94e6f53 100644 --- a/docs/.ruby-version +++ b/docs/.ruby-version @@ -1 +1 @@ -2.7.4 +3.2.2 diff --git a/docs/Gemfile b/docs/Gemfile index 37f5eaa42..a7e9c457e 100644 --- a/docs/Gemfile +++ b/docs/Gemfile @@ -1,2 +1,8 @@ source 'https://rubygems.org' -gem 'github-pages', group: :jekyll_plugins +gem 'jekyll' +gem 'jekyll-redirect-from', group: [:jekyll_plugins] +gem 'jekyll-compose', group: [:jekyll_plugins] +gem "jekyll-remote-theme", group: [:jekyll_plugins] +# don't submit this line to the upstream repo +## Enable this line for local theme development +# gem 'jekyll-theme-adobe-hyde', path: '../../themes' diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock index 1493eb4ad..5e7e16fb8 100644 --- a/docs/Gemfile.lock +++ b/docs/Gemfile.lock @@ -1,261 +1,129 @@ GEM remote: https://rubygems.org/ specs: - activesupport (6.0.5.1) - concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - zeitwerk (~> 2.2, >= 2.2.2) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.11.1) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) colorator (1.1.0) - commonmarker (0.23.5) - concurrent-ruby (1.1.10) - dnsruby (1.61.9) - simpleidn (~> 0.1) + concurrent-ruby (1.2.2) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) - ethon (0.15.0) - ffi (>= 1.15.0) eventmachine (1.2.7) - execjs (2.8.1) - faraday (2.5.1) - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.0) - ffi (1.15.5) + ffi (1.16.3) forwardable-extended (2.6.0) - gemoji (3.0.1) - github-pages (227) - github-pages-health-check (= 1.17.9) - jekyll (= 3.9.2) - jekyll-avatar (= 0.7.0) - jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.2.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.3) - 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.2) - activesupport (>= 2) - nokogiri (>= 1.4) + google-protobuf (3.25.2) + google-protobuf (3.25.2-aarch64-linux) + google-protobuf (3.25.2-arm64-darwin) + google-protobuf (3.25.2-x86-linux) + google-protobuf (3.25.2-x86_64-darwin) + google-protobuf (3.25.2-x86_64-linux) http_parser.rb (0.8.0) - i18n (0.9.5) + i18n (1.14.1) concurrent-ruby (~> 1.0) - jekyll (3.9.2) + jekyll (4.3.3) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) jekyll-watch (~> 2.0) - kramdown (>= 1.17, < 3) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) - mercenary (~> 0.3.3) + mercenary (>= 0.3.6, < 0.5) 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.2.0) - commonmarker (~> 0.23.4) - jekyll (~> 3.9.0) - jekyll-commonmark (~> 1.4.0) - rouge (>= 2.0, < 4.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-compose (0.12.0) jekyll (>= 3.7, < 5.0) - jekyll-gist (1.5.0) - octokit (~> 4.2) - jekyll-github-metadata (2.13.0) - jekyll (>= 3.4, < 5.0) - octokit (~> 4.0, != 4.4.0) - jekyll-include-cache (0.2.1) - 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 (>= 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 (>= 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-sass-converter (3.0.0) + sass-embedded (~> 1.54) 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) + kramdown (2.4.0) rexml kramdown-parser-gfm (1.1.0) kramdown (~> 2.0) - liquid (4.0.3) - listen (3.7.1) + liquid (4.0.4) + listen (3.8.0) 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.16.2) - nokogiri (1.13.8-aarch64-linux) - racc (~> 1.4) - octokit (4.25.1) - faraday (>= 1, < 3) - sawyer (~> 0.9) + mercenary (0.4.0) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (4.0.7) - racc (1.6.0) - rb-fsevent (0.11.1) + public_suffix (5.0.4) + rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) - rexml (3.2.5) - rouge (3.26.0) - ruby2_keywords (0.0.5) + rexml (3.2.6) + rouge (4.2.0) rubyzip (2.3.2) 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) - 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) - thread_safe (0.3.6) - typhoeus (1.4.0) - ethon (>= 0.9.0) - tzinfo (1.2.10) - thread_safe (~> 0.1) - unf (0.1.4) - unf_ext - unf_ext (0.0.8.2) - unicode-display_width (1.8.0) - zeitwerk (2.6.0) + sass-embedded (1.69.7-aarch64-linux-android) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-aarch64-linux-gnu) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-aarch64-linux-musl) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-arm-linux-androideabi) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-arm-linux-gnueabihf) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-arm-linux-musleabihf) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-arm64-darwin) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-x86-linux-android) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-x86-linux-gnu) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-x86-linux-musl) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-x86_64-darwin) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-x86_64-linux-android) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-x86_64-linux-gnu) + google-protobuf (~> 3.25) + sass-embedded (1.69.7-x86_64-linux-musl) + google-protobuf (~> 3.25) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + unicode-display_width (2.5.0) + webrick (1.8.1) PLATFORMS aarch64-linux + aarch64-linux-android + aarch64-linux-gnu + aarch64-linux-musl + arm-linux-androideabi + arm-linux-gnueabihf + arm-linux-musleabihf + arm64-darwin + x86-linux + x86-linux-android + x86-linux-gnu + x86-linux-musl + x86_64-darwin + x86_64-linux-android + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES - github-pages + jekyll + jekyll-compose + jekyll-redirect-from + jekyll-remote-theme BUNDLED WITH - 2.3.20 + 2.5.4 diff --git a/docs/_config.yml b/docs/_config.yml index c034fd7c6..1bec67a0b 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -15,7 +15,10 @@ baseurl: "" # the subpath of your site, e.g. /blog url: "http://www.stlab.cc" # the base hostname & protocol for your site twitter_username: SeanParent github_username: stlab -remote_theme: adobe/hyde-theme@v1.1.0 + +## To build locally, toggle these two. +remote_theme: adobe/hyde-theme@v2.0.1 +# theme: jekyll-theme-adobe-hyde exclude: - _source - build @@ -36,7 +39,8 @@ adobe_hyde: excerpt_separator: markdown: kramdown utterances: - repo: stlab/stlab.github.io + repo: stlab/stlab.github.io label: "utterance" plugins: - jekyll-redirect-from + - jekyll-remote-theme diff --git a/docs/about.md b/docs/about.md index 59fc3e0cf..f7da9d726 100644 --- a/docs/about.md +++ b/docs/about.md @@ -1,8 +1,9 @@ --- layout: page title: About -tab: About permalink: /about/ +hyde: + tab: About --- stlab is the ongoing work of what was Adobe's Software Technology Lab. The Adobe Source Libraries (ASL), Platform Libraries, and new stlab libraries are hosted on [github](https://github.com/stlab). diff --git a/docs/bs-config.js b/docs/bs-config.js index 50525171d..ee0ef0c55 100644 --- a/docs/bs-config.js +++ b/docs/bs-config.js @@ -44,7 +44,7 @@ module.exports = { "logFileChanges": true, "logSnippet": true, "rewriteRules": [], - "open": "local", + "open": "false", "browser": "default", "cors": false, "xip": false, diff --git a/docs/chat.md b/docs/chat.md index 3b38b9e6c..cd64707f9 100644 --- a/docs/chat.md +++ b/docs/chat.md @@ -1,8 +1,9 @@ --- layout: page title: Chat -tab: Chat permalink: /chat/ +hyde: + tab: Chat --- For video chats use the Google Hangout below (requires a Google account). diff --git a/docs/index.html b/docs/index.html index 56ee02198..de32ea08c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2,18 +2,18 @@ layout: default --- -{% assign home_thumbs = site.pages | where_exp:"p","p.icon" | sort:"tab"%} +{% assign home_thumbs = site.pages | where_exp:"p","p.hyde.icon" | sort:"hyde.tab"%}
- {% if page.icon %}
+ {% if page.hyde.icon %}
-
{% endif %}
diff --git a/docs/legacy/index.md b/docs/legacy/index.md
index f5ff9582a..46c6d45b2 100644
--- a/docs/legacy/index.md
+++ b/docs/legacy/index.md
@@ -1,9 +1,10 @@
---
title: Welcome to the stlab.adobe.com Wiki
-tab: Legacy
layout: page
redirect_from: /legacy/index.php/Main_Page
-icon: pagelines
+hyde:
+ tab: Legacy
+ icon: leaf
---
_These pages have been migrated from stlab.adobe.com/wiki for preservation. They may eventually be revised and moved into a more appropriate location on the site._
diff --git a/docs/libraries/algorithm/reverse.hpp/f_reverse.md b/docs/libraries/algorithm/reverse.hpp/f_reverse.md
index b14ee1328..4ed5bc476 100644
--- a/docs/libraries/algorithm/reverse.hpp/f_reverse.md
+++ b/docs/libraries/algorithm/reverse.hpp/f_reverse.md
@@ -1,20 +1,27 @@
---
layout: function
title: reverse
-owner: __MISSING__
-brief: __MISSING__
-tags:
- - function
-defined_in_file: algorithm/reverse.hpp
-overloads:
- "template
- {{page.tab}}
+
+ {{page.hyde.tab}}
|